// JavaScript Document

var _jQuery_datepicker_option = {
    clearText: '清空',
    closeText: '空闭',
    prevText: '上月',
    nextText: '下月',
    hideIfNoPrevNext: true,
    currentText: '',
    yearRange: '2005-2010',
    monthNames: ['一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月'],
    dateFormat: 'yy-mm-dd',
    dayNamesMin: ['日','一','二','三','四','五','六'],
    speed: 'fast'
};


String.prototype.endWith=function(str){
	if(str==null||str==""||this.length==0||str.length>this.length)
		return false;
	if(this.substring(this.length-str.length)==str)
		return true;
	else
		return false;
	return true;
}
String.prototype.startWith=function(str){
	if(str==null||str==""||this.length==0||str.length>this.length)
		return false;
	if(this.substr(0,str.length)==str)
		return true;
	else
		return false;
	return true;
}

function strlen(str){
    var len;
    var i;
    len = 0;
    for (i=0;i<str.length;i++){
        if (str.charCodeAt(i)>255)
            len+=2;
        else len++;
    }
    return len;
}
function trim(str){
    for(var i=0;i<str.length&&str.charAt(i)==" ";i++){}
    for(var j=str.length;j>0&&str.charAt(j-1)==" ";j--){}
    if(i>j) return "";
    return str.substring(i,j);
}
function explode(inputstring, separators, includeEmpties) {
    inputstring = new String(inputstring);
    separators = new String(separators);
	
    if(separators == "undefined") {
        separators = " :;";
    }

    fixedExplode = new Array(1);
    currentElement = "";
    count = 0;

    for(x=0; x < inputstring.length; x++) {
        var char1 = inputstring.charAt(x);
        if(separators.indexOf(char1) != -1) {
            if ( ( (includeEmpties <= 0) || (includeEmpties == false)) && (currentElement == "")) { }
            else{
                 fixedExplode[count] = currentElement;
                 count++;
                 currentElement = "";
                 }
        }
        else { currentElement += char1; }
    }

    if (( ! (includeEmpties <= 0) && (includeEmpties != false)) || (currentElement != "")) {
    fixedExplode[count] = currentElement; }
    return fixedExplode;
}
function UrlEncode(str){
  var ret="";
  var strSpecial="!\"#$%&'()*+,/:;<=>?[]^`{|}~%";
  for(var i=0;i<str.length;i++){
   var chr = str.charAt(i);
    var c=str2asc(chr);
    if(parseInt("0x"+c) > 0x7f){
      ret+="%"+c.slice(0,2)+"%"+c.slice(-2);
    }else{
      if(chr==" ")
        ret+="+";
      else if(strSpecial.indexOf(chr)!=-1)
        ret+="%"+c.toString(16);
      else
        ret+=chr;
    }
  }
  return ret;
}
function url_encode(str){
   var ret="";
   var strSpecial="!\"#$%&'()*+,/:;<=>?[]^`{|}~%";
   for(var i=0;i<str.length;i++){
    var chr = str.charAt(i);
     var c=str2asc(chr);
     tt += chr+":"+c+"n";
     if(parseInt("0x"+c) > 0x7f){
       ret+="%"+c.slice(0,2)+"%"+c.slice(-2);
     }else{
       if(chr==" ")
         ret+="+";
       else if(strSpecial.indexOf(chr)!=-1)
         ret+="%"+c.toString(16);
       else
         ret+=chr;
     }
   }
   return ret;
}
function checkIp(ip){
    if(ip.indexOf(".")==-1) return false;

    var ipPattern = new RegExp(    "^(([1-9][0-9]?)|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\\.((0)|([1-9][0-9]?)|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\\.((0)|([1-9][0-9]?)|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\\.((0)|([1-9][0-9]?)|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))$","g");

    var ip6Pattern=new RegExp(    "^(^::$)|(^([\\d|a-fA-F]{1,4}:){7}([\\d|a-fA-F]{1,4})$)|(^(::(([\\d|a-fA-F]{1,4}):){0,5}([\\d|a-fA-F]{1,4}))$)|(^(([\\d|a-fA-F]{1,4})(:|::)){0,6}([\\d|a-fA-F]{1,4})$)$","g");

    if(ipPattern.test(ip)){
        return true;
    }
    if (ip6Pattern.test(ip)){
        var pos=ip.indexOf("::");
        if (pos>-1)
        {
            pos=ip.indexOf("::",pos+2);
            if (pos>-1) return false;
        }
        return true;
    }
    return false;
}
function checkIpSection(ipsection){
    if(checkIp(ipsection)) return true; //check if is valid single ip
    var ip=new Array;
    ip=explode(ipsection,"-",1);
    if(ip.length!=2) return false; //check if is two ip
    if(!checkIp(ip[0])) return false; //else check each ip is valid
    if(!checkIp(ip[1])) return false; //else check each ip is valid
    return true;
}
function convertIptoInt(ip){
    var t=explode(ip,".");
    var re=t[0]*16777216+t[1]*65536+t[2]*256+t[3];
    return re;
}
function getNavigationType()
{
    var OsObject = "";
    if(navigator.userAgent.indexOf("MSIE")>0) {
        return "MSIE";
    }
    if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){
        return "Firefox";
    }
    if(isSafari=navigator.userAgent.indexOf("Safari")>0) {
        return "Safari";
    }
    if(isCamino=navigator.userAgent.indexOf("Camino")>0){
        return "Camino";
    }
    if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0){
        return "Gecko";
    }
}
function removeAllOptions(select_id){
    var com=document.getElementById(select_id);
    var len=com.options.length;
    for(var i=0;i<len;i++){
        com.remove(0);
    }
}
function addOption(e_select,value,text){
   var oOption = document.createElement("option");
   e_select.options.add(oOption);
   if(text!=null){
      var text_node=document.createTextNode(text);
      oOption.appendChild(text_node);
   }
   if(value!=null){
      oOption.value = value;
   }
}
function is_email(email){
    var emailReg = /[\w-]+@{1}[\w-]+\.{1}\w{2,4}(\.{0,1}\w{2}){0,1}/;
    if(!email.match(emailReg)){
        alert('email格式不正确');
        return 0;
    }else return 1;
}
function is_tel(tel){
    if(tel!=""){
        if(tel.length>14){
            alert("请输入小于15位的电话号码!");
            return 0;
        }
        var patrn=/^[0-9]{1,6}-[0-9]{6,10}$/;
        var patrn2=/^[0-9]{6,10}$/;
        if(!patrn.exec(tel) && !patrn2.exec(tel)){
             alert("电话号码输入有误!");
             return 0;
        }
    }
    return 1;
}
function is_mobile(mobile){
    if(mobile!=""){
        if(mobile.length!=11) {
            alert("请输入11位的手机号码!");
            return 0;
        }
        var patrn=/^1{1}\d{10}$/;
        if(!patrn.exec(mobile)){
             alert("手机号码输入有误!");
             return 0;
        }
    }
    return 1;
}
function is_certif(pId){
    var arrVerifyCode = [1,0,"x",9,8,7,6,5,4,3,2];
    var Wi = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];
    var Checker = [1,9,8,7,6,5,4,3,2,1,1];
    
    if(pId.length != 15 && pId.length != 18){
        alert("身份证号共有15位或18位");
        return false;
    }
    
    var Ai=pId.length==18 ?  pId.substring(0,17)   :   pId.slice(0,6)+"19"+pId.slice(6,16);
    
    if (!/^\d+$/.test(Ai)){
        alert("身份证除最后一位外，必须为数字！");
        return false;
    }
    
    var yyyy=Ai.slice(6,10) ,  mm=Ai.slice(10,12)-1  ,  dd=Ai.slice(12,14);

    var d=new Date(yyyy,mm,dd) ,  now=new Date();
     var year=d.getFullYear() ,  mon=d.getMonth() , day=d.getDate();

    if (year!=yyyy || mon!=mm || day!=dd || d>now || year<1940){
        alert("身份证输入错误！");
        return false;
    }

    for(var i=0,ret=0;i<17;i++)  ret+=Ai.charAt(i)*Wi[i];    
    Ai+=arrVerifyCode[ret %=11];
    //alert(Ai);
    if(pId.length ==18 && pId == Ai){
        return true;
    }else{
        alert("身份证输入错误！");
        return false;
    }
}

function read_cookie(name)
{
  var cookieValue = "";
  var search = name + "=";
  if(document.cookie.length > 0)
  { 
    offset = document.cookie.indexOf(search);
    if (offset != -1)
    { 
      offset += search.length;
      end = document.cookie.indexOf(";", offset);
      if (end == -1) end = document.cookie.length;
      cookieValue = unescape(document.cookie.substring(offset, end))
    }
  }
  return cookieValue;
}
// Example:
// writeCookie("myCookie", "my name", 24);
// Stores the string "my name" in the cookie "myCookie" which expires after 24 hours.
function write_cookie(name, value, hours)
{
  var expire = "";
  if(hours != null)
  {
    expire = new Date((new Date()).getTime() + hours * 3600000);
    expire = "; expires=" + expire.toGMTString();
  }
  document.cookie = name + "=" + escape(value) + expire;
}

String.prototype.replaceAll  = function(s1,s2){
    return this.replace(new RegExp(s1,"gm"),s2);
}

function AddFavorite(sURL, sTitle)
{
	try
	{
		window.external.addFavorite(sURL, sTitle);
	}
	catch (e)
	{
		try
		{
			window.sidebar.addPanel(sTitle, sURL, "");
		}
		catch (e)
		{
			alert("加入收藏失败，请使用Ctrl+D进行添加");
		}
	}
}

function SetHome(vrl){
	if(document.all){
		document.body.style.behavior='url(#default#homepage)';
		document.body.setHomePage(vrl);
	}else{
		if(window.netscape) {
			try {
				netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
			}
			catch (e) {
				alert("此操作被浏览器拒绝！请在浏览器地址栏输入“about:config”并回车然后将[signed.applets.codebase_principal_support]设置为'true'");
			}
			var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
			prefs.setCharPref('browser.startup.homepage',vrl);
		}
	}
}

function fullDateFormat(d){
	var s = d.getFullYear().toString();
	var m = (d.getMonth()+1).toString();
	if(m.length==1)
		s += '0';
	s += m;
	var d = d.getDate().toString();
	if(d.length==1)
		s += '0';
	s += d;
	return s;
}
