/**
*Author: lion.wei
*Version: 1.0
*date:10:49 2007-12-28
**/

//去掉字符串两边的空格
String.prototype.trim = function()
{
var reExtraSpace = /(^\s*)|(\s*$)/g;
return this.replace(reExtraSpace,"");
}

//去掉所有空格
String.prototype.trimAll = function()
{
var reExtraSpace = /(\s*)/g;
return this.replace(reExtraSpace,"");
}

//截取字符串，超长的部分用省略号代替
String.prototype.overHide = function(length)
{
    var tmp = 0;
    var len = 0;
    var okLen = 0;
    var okStr = "";
    for(var i = 0;i < length;i++){
        if(this.charCodeAt(i) > 255) tmp += 2;
        else len += 1;
        okLen += 1;
        if(tmp + len == length){
            okStr = this.substring(0,okLen);
            break;
        }
        if(tmp + len > length){
            okStr = this.substring(0,okLen - 1); 
            break;
        }
    }
    if(okStr < this) return okStr + "...";
    else return this;
}


//替换字符串中的HTML代码
String.prototype.replaceHTML = function()
{
    return this.replace(/\&/g,"&amp;").replace(/\</g,"&lt;").replace(/\>/g,"&gt;").replace(/\"/g,"&quot;").replace(/\s/g,"&nbsp;");
}

String.prototype.isRealFreePP = function(){
   // var reg = /^2[4-8]\d*$/;
   // var reg = new RegExp(freeppreg);
    return freeppreg.test(this);
}

function getFreePPColor(name){
    //alert(111);
    
    Event.observe(name,"propertychange",function(e){
        obj = Event.element(e);
        obj.style.color = obj.value.isRealFreePP()?"#00a200":"";
    })
    
}
/**
*********************************************************************************
* 对字符串进行URL编码
* @param String this 字符串对象本身
* @return String
* <code>
*   var samplestr=" abc ";
*   abc.toUrl();
*   //return "%20abc%20";
* </code>
*********************************************************************************
*/
String.prototype.toUrl = function(){
    return encodeURIComponent(this);
}

/**
*******************************************************************************
* 验证Email是否正确
* @return boolean
* <code>
*   var samplestr="mail@sina.com";
*   var returnflag = samplestr.isEmail();
*   //return true;
* </code>
*******************************************************************************
*/
String.prototype.isEmail = function()
{
    var reg = new RegExp("^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[0-9a-zA-Z]+))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil|MIL|org|ORG|edu|EDU|int|INT)$");
    return reg.test(this);
}
/**
*******************************************************************************
* 验证FreePP和移动号码是否为纯数字，不以数字0开头
* @return boolean
* <code>
*   var samplestr="123456";
*   var returnflag = samplestr.isDigits();
*   //return true;
* </code>
*******************************************************************************
*/
String.prototype.isDigits = function()
{
    var patrn=/^[1-9]\d*$/;  
    if (!patrn.exec(this)) 
        return false;  
    return true;  
}
/**
*******************************************************************************
* 验证号码是由纯数字组成，并且可以以0开头
* @return boolean
* <code>
*   var samplestr="0123456";
*   var returnflag = samplestr.isDigits2();
*   //return true;
* </code>
*******************************************************************************
*/
String.prototype.isDigits2 = function()
{
    var patrn=/^\d*$/;  
    if (!patrn.exec(this)) 
        return false;  
    return true;  
}
/**
*******************************************************************************
* 验证号码是由纯数字组成，并且可以以0开头
* @return boolean
* <code>
*   var samplestr="0123456";
*   var returnflag = samplestr.isDigits2();
*   //return true;
* </code>
*******************************************************************************
*/
String.prototype.isFloat = function()
{
    var patrn = /^(0|[1-9][0-9]*)(\.\d+)?$/;
    if(!patrn.exec(this)) 
        return false;  
    return true;  
}
/**
*******************************************************************************
* 验证带时间的日期格式 格式为：yyyy-mm-dd h:i:s
* @return boolean
* <code>
*   var samplestr="2008-10-10 06:05:05";
*   var returnflag = samplestr.isTime();
*   //return true;
* </code>
*******************************************************************************
*/
String.prototype.isTime = function()
{
    var YEARMIN     = 1;            
    var YEARMAX     = Infinity;     
    var MONTHMIN    = 1;           
    var MONTHMAX    = 12;           
    var DAYMIN      = 1;           
    var DAYMAX      = 31;  
    var HOURMIN     = 0;
    var HOURMAX     = 23;
    var TIMEMIN     = 0;
    var TIMEMAX     = 59;
    if (this == "")
        return true;
    
    var year = "";
    var month = "";
    var day = "";
    var hour = "";
    var minute = "";
    var second = "";
    if(this.length == 19)
    {
        if(!this.match(/^([0-9]{4})\-([0-9]{2})\-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})$/))
            return false;

        year = RegExp.$1;
        month = RegExp.$2;
        day = RegExp.$3;
        hour = RegExp.$4;
        minute = RegExp.$5;
        second = RegExp.$6;
    }else
        return false;

    var Monthdays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);// 每个月的天数
    // 判断闰年
    if(((year%4 == 0) && (year%100 != 0)) || (year%400 == 0)) 
        Monthdays[1] = 29;
    // 判断年
    if(isNaN(year) || year < YEARMIN || year > YEARMAX) 
        return false;
    // 判断月
    if(isNaN(month) || month < MONTHMIN || month > MONTHMAX) 
        return false;
    
    // 日期计算
    DAYMAX = Monthdays[month-1];
    if(isNaN(day) || day < DAYMIN || day > DAYMAX) 
        return false;
    // 判断小时
    if(isNaN(hour) || hour < HOURMIN || hour > HOURMAX) 
        return false;
    // 判断分钟
    if(isNaN(minute) || minute < TIMEMIN || minute > TIMEMAX) 
        return false;
    // 判断秒
    if(isNaN(second) || second < TIMEMIN || second > TIMEMAX) 
        return false;
    return true;
}
/**
*******************************************************************************
* 验证固定电话号码是否由数字和*号组成，且以数字开头
* @return boolean
* <code>
*   var samplestr="12345678*123";
*   var returnflag = samplestr.isTelephone();
*   //return true;
* </code>
*******************************************************************************
*/
String.prototype.isTelephone = function()
{
    //var patrn=/^[0-9][0-9\*]*$/;  
    var patrn=/^[0-9]+([\*]+[0-9]+|\d*)$/;  
    if (!patrn.exec(this)) 
        return false;  
    return true;  
}
/**
*******************************************************************************
* 验证字符串是否包含全角字符
* @return boolean
* @<code>
* @  var samplestr = "中国";
* @  var returnflag = samplestr.isWords(); // return true;
* @</code>
*******************************************************************************
*/
String.prototype.isWords = function()
{
    /*var patrn1 = /[\u4e00-\u9fa5]/; 
    var patrn2 = /^[\uFF00-\uFFFF]*$/;
    if(patrn1.test(this) || patrn2.test(this))
        return true; */
    var wordPatrn = /[^\x00-\xff]/;
    if(wordPatrn.test(this))
        return true;

    return false;
}
/**
*******************************************************************************
* 验证字符串是否为空
* @return boolean
* <code>
*   var samplestr="";
*   var returnflag = samplestr.checkNull(obj);
*   //return true;
* </code>
*******************************************************************************
*/
 function checkNull( obj ){
    if ( obj == null || obj.length == 0 ){
        return true;
    }
    if(obj.match(/.*[\t].*/)) {
        return false;
    }
    chkstr=obj.replace(/^\s+|\s+$/g,"");
    if ( chkstr == null || chkstr.length == 0  ){
        return true;
    }
    return false;
}
/**
*******************************************************************************
* 验证号码是否为FreePP
* @
* <code>
*   var samplestr="24000000";
*   var returnflag = samplestr.checkFreePP(obj);
*   //
* </code>
*******************************************************************************
*/
function checkFreePP( obj )
{
    var value = obj.value;
   // var reg = new RegExp(freeppreg);
    if(value.match(freeppreg))    
        obj.className += " WM_user_freeppColor";
    else {
        while(obj.className.indexOf(" WM_user_freeppColor") != -1){
            obj.className = obj.className.replace(" WM_user_freeppColor","");
        }
    }
        
}

/**
*******************************************************************************
* 判断是否是整数
* @param Integer str 要判断的参数值
* @return boolean
* <code>
*   var samplestr=1234.34;
*   var returnflag = samplestr.isInteger();
*   //return false;
* </code>
*******************************************************************************
*/
String.prototype.isInteger = function(){
    if(this == "") return true;
    var regu = /^[-]{0,1}[0-9]{1,}$/;
    return regu.test(this);
}
var __tabClickFlag = new Array(0,0,0,0,0,0,0,0,0);//存储标签是否已经被点击

function changeTab(tabIndex){
    
    var __tabs = "tabContent";
    var __iframe = "contentIfrm";
    var __menu = $("uiframeworkTopMainMenu").getElementsByTagName("li");
    var __url = new Array(
        "ctl.php?controller=UserRegInitInfoController&action=InitFirstLoginSet",//初始化URL
        "ctl.php?controller=MeetingManagerController&action=InstantDefault",//即时会议URL
        "ctl.php?controller=MeetingManagerController&action=BookingDefault",//预约会议URL
        "ctl.php?controller=ChargeController&action=Init",//帐户充值
        "ctl.php?controller=UserStatisticController&action=Init",//账单查询
        "ctl.php?controller=UserStatisticController&action=ChargeHistory",//缴费查询
        "ctl.php?controller=UserRegInitInfoController&action=ModifyUserInfo",//修改资料
        "ctl.php?controller=PhoneSetController&action=ShowPhoneSet",//设置电话
        "ctl.php?controller=AddressListController&action=Addresslists"//通讯录管理
    );
    if(tabIndex != 0){
        $(__tabs + "0" ).style.display = "none";
        for(var i = 1; i <= __menu.length ;i++){
            if(tabIndex == i){
                $(__tabs + tabIndex).style.display = "block";
                __menu[tabIndex - 1].className = "current";
                if(__tabClickFlag[tabIndex] != 1){
                    $(__iframe + tabIndex).src = __url[tabIndex];
                    __tabClickFlag[tabIndex] = 1;
                }
            } else {
                $( __tabs + i ).style.display = "none";
                __menu[i - 1].className = "";
            }
        }
    } else {
        $(__tabs + tabIndex ).style.display = "block";
        $(__iframe + tabIndex).src = __url[tabIndex];
        for(var i = 1; i <= __menu.length ;i++){
            $( __tabs + i ).style.display = "none";
            __menu[i - 1].className = "";
        }
    }
}


/*
*function: 取得对象绝对位置
*return : Object
*/
function getIE(e){
    var  t = e.offsetTop;
    var  l = e.offsetLeft;
    while(e = e.offsetParent){
        t += e.offsetTop;  
        l += e.offsetLeft;  
    }
    return {"top":t - 4,"left":l};  
}


function redirect(url){
    window.location = url;
}

/**
 * 日期格式验证: YYYY-MM-DD
 * @params obj 
 * @return  boolean
 */
        
function isDate( obj ){
    var YEARMIN     = 1;            
    var YEARMAX     = Infinity;     
    var MONTHMIN    = 1;           
    var MONTHMAX    = 12;           
    var DAYMIN      = 1;           
    var DAYMAX      = 31;  
    if ( obj.value == null || obj.value.length == 0 )
        return true;
    
    var date = obj.value;
    var year = "";
    var month = "";
    var day = "";
    if(date.length == 10)
    {
        if(!date.match(/^([0-9]{4})\-([0-9]{2})\-([0-9]{2})$/))
            return false;

        year = RegExp.$1;
        month = RegExp.$2;
        day = RegExp.$3;
    }else
        return false;

    var Monthdays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);// 每个月的天数
    // 判断闰年
    if(((year%4 == 0) && (year%100 != 0)) || (year%400 == 0)) 
        Monthdays[1] = 29;
    // 判断年
    if(isNaN(year) || year < YEARMIN || year > YEARMAX) 
        return false;
    // 判断月
    if(isNaN(month) || month < MONTHMIN || month > MONTHMAX) 
        return false;
    
    // 日期计算
    DAYMAX = Monthdays[month-1];
    if(isNaN(day) || day < DAYMIN || day > DAYMAX) 
        return false;

    obj.value = year + "-" + month + "-" + day;
    return true;
}

/*
*function: 判断是否为FreePP号码，并返回CSS样式
*@param number Number 号码
*return : String
*/
function freePPStyle(number){
	//var reg = new RegExp(freeppreg);
    return freeppreg.test(number)?"WM_user_freeppColor":"";    
}
/*
*function: jumpURL Ajax提交时，SESSION超时以后的跳转
*@param str Ajax返回的字符串内容
*return : String
*/
function jumpURL(str)
{
    var reg = /\<script\>(.*)\<\/script\>/;
    var str1 = str.match(reg);
    if(!str1) 
        return false;
    return RegExp.$1;
}
