﻿var agent = navigator.userAgent;
var userAgent = navigator.userAgent;
//JS去前后空格 zhy
String.prototype.trim = function()
{
    return this.replace(/(^\s*)|(\s*$)/g, "");
}
String.prototype.inc = function(k1, k2)
{
	return k2 == null ? this.indexOf(k1) > -1 ? true : false : (k2 + this + k2) .indexOf(k2 + k1 + k2) > -1 ? true : false;
}
String.prototype.realLength   = function()  //获取真实字符串长度 
{   
    return this.replace(/[^\x00-\xff]/g,"**").length;   
    //return   this.replace(/[^\0xa1-\0xff]/g,"**").length
} 
function isChinese(str)//是否是汉字
{
	if(str.length == str.realLength())//表示不是一个汉字	
		return false;
	else
		return true;
}
var is_Kon = userAgent.indexOf('konqueror') != -1;
var is_Saf = userAgent.indexOf('applewebkit') != -1 || navigator.vendor == 'Apple Computer, Inc.';
var is_Mac = userAgent.indexOf('mac') != -1;
var is_Opr = agent.inc("Opera");
var is_IE = agent.inc("IE") && !is_Opr;
var is_IE4 = agent.inc("IE 4");
var is_IE5 = agent.inc("IE 5") || agent.inc("IE 4");
var is_IE5_5 = agent.inc("IE 5.5");
var is_IE6 = is_IE && !is_IE5;
var is_Moz = agent.inc("Mozilla") && !is_Opr && !is_IE;

if(is_IE4)
{
	oo=function(key){return document.all[key]}
	document.getElementsByName=function(key){var a=new Array(),ol=document.all;for(i=0;i<ol.length;i++){if(ol[i].name==key)a[a.length]=ol[i];}return a;}
	document.getElementsByTagName=function(key){var a=new Array(),ol=document.all;for(i=0;i<ol.length;i++){if(ol[i].tagName.toLowerCase()==key)a[a.length]=ol[i];}return a;}
}

if(is_Moz)
{
	Event.prototype.__defineGetter__("srcElement",function(){var node=this.target;while(node.nodeType!=1){node=node.parentNode;}return node;});
	HTMLElement.prototype.__defineGetter__("children",function(){return this.childNodes});
	HTMLElement.prototype.__defineGetter__("parentElement",function(){return this.parentNode});
}


function isIE()
{	
	return is_IE;
}
//is firefox
function isFF()
{
	return is_Moz;
}
function isObject(o) 
{
	return (o && typeof o == 'object') || isFunction(o);
}
function isFunction(o) 
{
	return typeof o == 'function';
}
function resetPage()//重新加载页面
{
	window.location.href = window.location.href;
}
function bytes(str){
    if(typeof(str)!='string'){
	    str = str.value;
    }
    var len = 0;
    for(var i = 0; i < str.length; i++){
	    if(str.charCodeAt(i) > 127){
		    len++;
	    }
	    len++;
    }
   return len;
}
String.prototype.replaceURL   =   function()   
{   
      var   str   =   this;   
      str   =   str.replace(/%/g,"%25");   
      str   =   str.replace(/&/g,"%26");   
      str   =   str.replace(/=/g,"%3d");   
      str   =   str.replace(/#/g,"%23");   
      return   str;   
}
function chkstr(str){//判断是否是汉字或者下划线和英文 
	if(typeof(str)!='string'){
		str = str.value;
	}
	for(var i = 0; i < str.length; i++){
		if (str.charCodeAt(i) < 127 && !str.substr(i,1).match(/^\w+$/ig)){
			return false;
		}
	}
	return true;
}
//起始IP地址大于结束IP地址时返回false
function completeIPAddress(IP1,IP2)
{
	var ip_1=IP1.split(".")[0]+IP1.split(".")[1]+IP1.split(".")[2]+IP1.split(".")[3];
	var ip_2=IP2.split(".")[0]+IP2.split(".")[1]+IP2.split(".")[2]+IP2.split(".")[3];
	if(parseInt(ip_1)>parseInt(ip_2))
	{
	    alert("起始IP地址不能大于结束IP地址.")
		return false;
	}
	else
	{ 
		return true; 
	}
}

//针对格式为yyyy-MM-dd格式的日期进行比较date1比date2早就返回true或者相等，否则返回false
function dateComplete(date1,date2)
{		    
    var d1 = date1.replace(/-/g , "");
    var d2 = date2.replace(/-/g , "");   
    if(parseFloat(d1) <= parseFloat(d2))    
        return true;
    else
        return false;
}

//验证IP地址、登录帐号、密码、EMAIL、电话号码[包括手机和固定电话]zhy 2006.12.2
function verifyString(obj,i,showstr)
{     
	var patterns = new Object();
	var thePat;
	var r, re;
    patterns.ip = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])(\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])){3}$/g;    
    patterns.id = /^[A-Za-z0-9_]{1,20}$/g;  
    patterns.psw = /^[a-zA-Z0-9]{6,20}/g;  
    patterns.email = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/g; 
    patterns.num =  /^\d{1,10}$/g;
    patterns.post =  /^[1-9]\d{5}$/g;     
    patterns.tel =  /^(1(3|5)[0-9]\d{8})|(0[1-9]{3}[-][1-9]\d{6,7}[-]\d{1,5})|(0[1-9]{2}[-][1-9]\d{7}[-]\d{1,5}|([1-9]{1}\d{6,7})|(0[1-9]{3}[-][1-9]\d{6,7})|(0[1-9]{2}[-][1-9]\d{7}))$/g;
    patterns.net =  /^http:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/g;
    patterns.date =  /^[1-9]\d{3}[-]((0[1-9])|(1[0-2]))[-]((0[1-9])|(1[0-9])|(2[0-9])|(3[0-1]))$/g;//yyyy-MM-dd
    patterns.variable =  /^[A-Za-z_][A-Za-z0-9_]{0,120}$/g;//变量名，以下划线或者字母开头,的由字母、数字和下划线组成的字符串
    
    var control=oo(obj);
	var str=vv(obj);
 
	switch(i)
	{
		case 0:
			thePat = patterns.ip;
			break;
		case 1:
			thePat = patterns.id;
			break;
		case 2:
			thePat = patterns.psw;
			break;
		case 3:
			thePat = patterns.email;
			break;
		case 4:
			thePat = patterns.num;
			break;
		case 5:
			thePat = patterns.post;
			break;	
		case 6:
			thePat = patterns.tel;
			break;	
		case 7:
			thePat = patterns.net;
			break;	
	    case 8:
			thePat = patterns.date;
			break;
	    case 9:
			thePat = patterns.variable;
			break;		
		default:
			break;
	}	   
	var reg = new RegExp(thePat);
	r = reg.exec(str);
	//alert("r:"+ r.length + "    r:"+ r + "   str:" + str + "  r[0]:" + r[0]);
	if (r == null || str != r[0])
	{
		alert(showstr);
		control.focus();
		return false;
	}
	else
	{
		return true;
	}	 
}	
//验证IP地址、登录帐号、密码、EMAIL、电话号码[包括手机和固定电话]zhy 2007.04.25
function verifyStr(str,i)
{     
	var patterns = new Object();
	var thePat;
	var r, re;
    patterns.ip = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])(\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])){3}$/g;    
    patterns.id = /^[A-Za-z0-9_]{1,20}$/g;  
    patterns.psw = /^[a-zA-Z0-9]{6,20}/g;  
    patterns.email = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/g; 
    patterns.num =  /^\d{1,10}$/g;
    patterns.post =  /^[1-9]\d{5}$/g;     
    patterns.tel =  /^(1(3|5)[0-9]\d{8})|(0[1-9]{3}[-][1-9]\d{6,7}[-]\d{1,5})|(0[1-9]{2}[-][1-9]\d{7}[-]\d{1,5}|([1-9]{1}\d{6,7})|(0[1-9]{3}[-][1-9]\d{6,7})|(0[1-9]{2}[-][1-9]\d{7}))$/g;
    patterns.net =  /^http:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/g;
    patterns.date =  /^[1-9]\d{3}[-]((0[1-9])|(1[0-2]))[-]((0[1-9])|(1[0-9])|(2[0-9])|(3[0-1]))$/g;//yyyy-MM-dd
    patterns.variable =  /^[A-Za-z_][A-Za-z0-9_]{0,120}$/g;//变量名，以下划线或者字母开头,的由字母、数字和下划线组成的字符串
	switch(i)
	{
		case 0:
			thePat = patterns.ip;
			break;
		case 1:
			thePat = patterns.id;
			break;
		case 2:
			thePat = patterns.psw;
			break;
		case 3:
			thePat = patterns.email;
			break;
		case 4:
			thePat = patterns.num;
			break;
		case 5:
			thePat = patterns.post;
			break;	
		case 6:
			thePat = patterns.tel;
			break;	
		case 7:
			thePat = patterns.net;
			break;	
	    case 8:
			thePat = patterns.date;
			break;
	    case 9:
			thePat = patterns.variable;
			break;		
		default:
			break;
	}	   
	var reg = new RegExp(thePat);
	r = reg.exec(str);
	//alert("r:"+ r.length + "    r:"+ r + "   str:" + str + "  r[0]:" + r[0]);
	if (r == null || str != r[0]) 
		return false; 
	else 
		return true; 
}	
//验证身份证号码function isIdCardNo(num){   
      if (!isNumber(num)) 
           return false;  
      var len = num.length;
      var re;  
      if (len == 15)   
          re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);   
      else if(len == 18)   
          re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/);   
      else
          return  false;   
      var a = num.match(re);  
      if (a != null){   
          if (len==15){   
              var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);   
              var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];   
          }else{   
              var D = new   Date(a[3]+"/"+a[4]+"/"+a[5]);   
              var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];   
          }    
          if (!B)return false;   
      }   
      return true;   
}
function checkString(source)//验证字符串中是否包含了特殊字符zhy 2007.04.12
{
	var arr=new Array("@","#","$","%","^","&","*","|","\\","/",":","'","\"","?","<",">");	
	var str=vv(source);
	var len=arr.length;
	var Flag = false;
	for(var i=0;i<len;i++)		    
	{
		if(str.indexOf(arr[i])>=0)
		{　
			alert("文本中不允许包含下列字符：@、#、$、%、^、&、*、|、\\、/、:、'、\"、?、<、>");
			Focus(source)
			Flag = true;
			break;
		}		 
	}
	return Flag;//包含了特殊字符就返回true;否则返回false
}
//创建对象
function co(elm)
{
	return document.createElement(elm);
}
//获得控件对象
function oo(obj)
{
	return typeof(obj) != "string" ? obj : (is_IE5 ? document.all(obj) : document.getElementById(obj));
}
//获取控件的value，去掉了前后空格
function vv(obj)
{
	return oo(obj).value;
}
//获得焦点
function Focus(obj)
{ 
	if(oo(obj).style.display.toLowerCase()!="none")
		oo(obj).focus();
}
//判断是否输入为空
function isNull(obj)
{   
	if(vv(obj).length==0)
	{ 
		return true;		   
	}
	else
	{ 
		return false;
	}
}  
function getcookie(name) {
	var cookie_start = document.cookie.indexOf(name);
	var cookie_end = document.cookie.indexOf(";", cookie_start);
	return cookie_start == -1 ? '' : unescape(document.cookie.substring(cookie_start + name.length + 1, (cookie_end > cookie_start ? cookie_end : document.cookie.length)));
}

function setcookie(cookieName, cookieValue, seconds, path, domain, secure) {
	var expires = new Date();
	expires.setTime(expires.getTime() + seconds);
	document.cookie = escape(cookieName) + '=' + escape(cookieValue)
		+ (expires ? '; expires=' + expires.toGMTString() : '')
		+ (path ? '; path=' + path : '/')
		+ (domain ? '; domain=' + domain : '')
		+ (secure ? '; secure' : '');
}

function $(id) {
	return document.getElementById(id);
}

//HTML过滤函数
function HTML(text)
{
	text = text.replace(/&/g, "&amp;") ;
	text = text.replace(/"/g, "&quot;") ;
	text = text.replace(/</g, "&lt;") ;
	text = text.replace(/>/g, "&gt;") ;
	text = text.replace(/'/g, "&#146;") ;
	return text ;
}
function ReHTML(text)
{
	text = text.replace(/&amp;/g, "&") ;
	text = text.replace(/&quot;/g, '"') ;
	text = text.replace(/&lt;/g, "<") ;
	text = text.replace(/&gt;/g, ">") ;
	text = text.replace(/&#146;/g, "'") ;
	return text ;
}


//function: EnDeSelect
//Usage:  EnDeSelect()
//Parametes:
//          theForm: he curForm which the Data in.
//          chkVal: the curCheckBox is checked or unchecked
//          idVal:  the CheckBox's id
//=============================================
//This function checked or unchecked the checkbox in the form
function EnDeSelect(theForm,chkVal, idVal)
{ 
	for (i=0; i<theForm.length; i++)
	{
		if (idVal.indexOf ('SelectAll') != -1)
		{
			if(chkVal == true) 
			{
				if(theForm.elements[i].id.indexOf('SelectThis') != -1)
					theForm.elements[i].checked = true;
			}
			else 
			{
				if(theForm.elements[i].id.indexOf('SelectThis') != -1)
					theForm.elements[i].checked = false;
			}

		}
		else 
		{
			if (idVal.indexOf ('SelectThis') != -1) 
			{
				if(theForm.elements[i].checked == false)
				{
					theForm.elements[1].checked = false; //Uncheck main select all checkbox
				}
			}
		}
	}
}

//全角半角转换
//str:特转换的字符串//flag: false:全角转半角function Dc2Sc(str,flag)
{ 
    var i; 
    var result=''; 
    str = str.replace(/“/g,"\"").replace(/”/g,"\"").replace(/’/g,"'").replace(/‘/g,"'").replace(/、/g,",").replace(/。/g,".");
    for(i=0;i<str.length;i++) 
    {
        str1=str.charCodeAt(i); 
        if(str1<125&&!flag) 
            result+=String.fromCharCode(str.charCodeAt(i)); 
        else if(str.substr(i,1).match(/[\u4e00-\u9fa5]+?/) && !flag)
            result += str.substr(i,1);
        else    
            result+=String.fromCharCode(str.charCodeAt(i)-65248); 
    } 
    return result; 
}
//检测是否在半角状态下输入英文或数字 
function IsSingleChar(str) {
//       if (str == "") return true;
//       var kigouArray = new Array();
//       kigouArray= str.match(new RegExp(/[^0-9a-zA-Z@]/gm));
//       if(kigouArray == null){
//           return true;
//       } else {
//           return false;
//       }
    for(var i = 0;i < str.length;i++) 
    { 
        strCode = str.charCodeAt(i); 
        if(strCode > 65248||strCode == 12288) 
        { 
            return false;
        } 
    } 
    return true;

}
function isNumber(s)//验证字符串中是否是数字  zhy 2006.12.29
{      
	s = s +'';
	var i=s.trim().replace(/e/g,'a').replace(/(\.)/g,'a');   
	if(isNaN(i))
	{     
		return false;		   
	}
	else
	{
		return true;
	}	 
}
//选中radiobutton的某个值function ChooseRadioValue(radioName,Value)
{
    var radio = document.getElementsByName(radioName);
    for(var i = 0;i < radio.length;i++)
    {
        if(radio[i].value == Value)
            radio[i].checked = true;
    }
}

//选中下拉菜单的指定值function ChooseSelectValue(selectName,Value)
{
    var ddl = oo(selectName);
    for(var i = 0;i < ddl.length;i++)
    {
        if(ddl.options[i].value == Value)
            ddl.selectedIndex = i;
    }
}
//选中复选框的指定值function ChooseCheckBoxValue(checkboxName,Value)
{
    if(Value == '') return;
    var ary = Value.split(',');
    var cehckbox = document.getElementsByName(checkboxName);
    for(var k = 0; k < ary.length;k++)
    {
        for(var i = 0;i < cehckbox.length;i++)
        {
            if(cehckbox[i].value == ary[k])
                cehckbox[i].checked = true;
        }
    }
}

//获取下拉列表文字
function GetSelectText(selectId)
{
  
   try
   {
    var sel = oo(selectId);
      return sel.options[sel.selectedIndex].text;
   }catch(e){ return "";}
   
}
//获取下拉列表值function GetSelectValue(selectId)
{
   try
   {
    var sel = oo(selectId); 
    return sel.options[sel.selectedIndex].value;
    }
    catch(e)
    {
        return "";
    }
}
//获取复选框值function GetCheckBoxValue(chkName)
{
   var chk = document.getElementsByName(chkName);
   var str = "";
   for (var i = 0;i < chk.length;i++)
     if(chk[i].checked) 
          str += chk[i].value + ","; 
   if(str != "") str = str.substr(0,str.length-1);       
   return str;
}
//获取列表框值function GetListValue(listId)
{
   var sel = oo(listId);
   var str = "";
   for (i=0;i<sel.length;i++)
     if(sel.options[i].selected) 
          str += sel.options[i].value + "|"; 
   if(str != "") str = str.substr(0,str.length-1);       
   return str;
}

//获取单选按钮值function GetRadioValue(radioName)
{
   var radio = document.getElementsByName(radioName);
      for (i=0;i<radio.length;i++)
        if(radio[i].checked) 
          return radio[i].value; 
  return "";        
}

//使用onload=resizeImage(this,长,宽);
function resizeImage(img,w,h)
{
    var image=new Image();
    image.src = img.src;
    if(image.width > 0 && image.height > 0)
    {
        if(image.width / image.height >= w/h)
        {
            if(image.width > w)
            {
                img.width = w;
                img.height = (image.height * w) / image.width;
            }
            else
            {
                img.width = image.width;
                img.height = image.height;
            }
            //img.alt=image.width+"×"+image.height;
        }
        else
        {
            if(image.height > h)
            {
                img.height = h;
                img.width = (image.width * h) / image.height;
            }
            else
            {
                img.width = image.width;
                img.height = image.height;
            }
        }
    }
}

//生成随机数:
//under:下限
//over:上限 不提供 随机数范围为 1 - under
function Random(under, over)
{ 
    switch(arguments.length)
    { 
        case 1: return parseInt(Math.random()*under+1); 
        case 2: return parseInt(Math.random()*(over-under+1) + under);  
        default: return 0; 
    } 
}

//打开窗口
function OpenWindow(Url,Width,Height,Left,Top,IsCanResize,IsShowScrollBar)
{
	if (Width == "" || Width == undefined ) Width = 400;
	if (Height == "" || Height == undefined ) Height = 360;
	if (Left == "" || Left == undefined ) Left = screen.availwidth / 2 - 200 ;
	if (Top == "" || Top == undefined ) Top = screen.availheight / 2 -130 ;
	if (IsCanResize == "" || IsCanResize == undefined ) IsCanResize = "yes";
	if (IsShowScrollBar == "" || IsShowScrollBar == undefined ) IsShowScrollBar = "no";
	var newwin = window.open(Url,"_blank","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars="+ IsShowScrollBar +",resizable="+ IsCanResize +",top=" + Top + " ,left=" + Left + ",width="+ Width +",height="+ Height +"");
}

function showdiv(id,x,y,w,h){
	var scrollPos;
	if (typeof window.pageYOffset != 'undefined') 
   	    scrollPos = window.pageYOffset;
	else if (typeof document.compatMode != 'undefined' &&document.compatMode != 'BackCompat') 
	   scrollPos = document.documentElement.scrollTop;
	else if (typeof document.body != 'undefined') 
	   scrollPos = document.body.scrollTop;
	   
    if(x == undefined || x == null) x = 360;   
    if(y == undefined || y == null) y = 100;   
    
	oo(id).style.position = 'absolute';
	oo(id).style.left = (window.screen.availWidth - x)/2+'px';
	oo(id).style.top = scrollPos + y + 'px';
	oo(id).style.display = '';
	//oo(id).style.left=x+'px';
	//oo(id).style.top=y+'px';
	if(w != undefined)
	    oo(id).style.width = w + 'px';
}

function hidediv(id){
	oo(id).style.display='none';
}
 
