﻿/sysadm///AJAX
var isIE = window.attachEvent==undefined?false:true;

var req;

function loadXMLDoc(url,fun,method,args) {
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = fun;
        req.open(method, url, true);
		if(method=='POST')
	        req.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
        req.send(args);
    } else if (window.ActiveXObject) {
        isIE = true;
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = fun;
            req.open(method, url, true);
			if(method=='POST')
				req.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
            req.send(args);
        }
    }
}

function getElementTextNS(prefix, local, parentElem, index) {
	try{
		var result = "";
		if (prefix && isIE) {
			result = parentElem.getElementsByTagName(prefix + ":" + local)[index];
		} else {
			result = parentElem.getElementsByTagName(local)[index];
		}
		if (result) {
			if (result.childNodes.length > 1) {
				return result.childNodes[1].nodeValue;
			} else {
				return result.firstChild.nodeValue;
			}
		} else {
			return "n/a";
		}
	}catch(e){
		return "";
	}
}

function keC(str){
	return encodeURIComponent(str);
}
function dT(timer){
	clearInterval(timer);
}
function sT(fun,second){
	return setInterval(fun,second);
}
function getObj(name){
	return kDoc.getElementById(name);
}

function makeObj(name){
	return kDoc.createElement(name);
}

function rC(name) {
  var cookieValue = "";
  var search = name + "=";
  if(kDoc.cookie.length > 0) {
	offset = kDoc.cookie.indexOf(search);
	if (offset != -1) {
	  offset += search.length;
	  end = kDoc.cookie.indexOf(";", offset);
	  if (end == -1) end = kDoc.cookie.length;
	  cookieValue = unescape(kDoc.cookie.substring(offset, end))
	}
  }
  return cookieValue;
}

function wC(name, value, hours) {
  var expire = "";
  if(hours != null){
	expire = new Date((new Date()).getTime() + hours * 3600000);
	expire = "; expires=" + expire.toGMTString();
  }
  kDoc.cookie = name + "=" + escape(value) + expire;
}
/*
表单检查函数

在form 的onsubmit事件中加入return ckForm(....)

格式:
	ckForm('输入框名','类型','是否必要')

输入框名:在Form中的输入框名

类型:
	MAIL---邮件
	NUM ---数字
	MIN ---至少多少个字符
	MAX ---至多多少个字符
	MAXLENGTH100:1000 ---长度必需在100和1000个字符之间.
	NUMB1:100----介于1到100的数字
	USERID---帐号(必需以字母开头)
	PASSWD---密码
	CHECKBOX:num --- 多选框(必须选择num个)
	CHECKMIN:num --- 多选框(至少选择num个)
	CHECKMAX:num --- 多选框(至多选择num个)
	RADIO --- 单选框
	SELECT:-1 --- 下拉框
	MUST:1  --必须至少选择一项（对应checkbox）

是否必要:
	R---必要
	空--不一定

注：在每一个输入框必要加上一个"title"的属性，值为该输入框的中文解释！
	例:<input type="text" name="user_name" title="用户名" value="">

*/

function findObj(n, d) {
  var p,i,x;
  if(!d) d=document;
  if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document;
	n=n.substring(0,p);
	}
  if(!(x=d[n])&&d.all) x=d.all[n];
  for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
/*
ckForm() 1.0
*/
function ckForm() {
	var i,p,q,nm,test,num,min,max,errors='',args=ckForm.arguments;
	if(document.flag==undefined){
		for (i=0; i<(args.length-2); i+=3) {
			test=args[i+1];
			test2=args[i+2]
			val=findObj(args[i]);
			val_obj=val;
			if (val) {
				nm=val.title;
				if ((val=val.value)!="") {
					if (test.indexOf('MAIL')!=-1) {
						p=val.indexOf('@');
						point=val.indexOf('.');
						if (p<1 || p==(val.length-1) || point<1 || point==(val.length-1)) errors+= nm+'必须是一个正确的EMAIL地址!\n';
					} else if (test.indexOf('NUM') != -1) {
						num = parseFloat(val);
				        if (isNaN(val)) errors+= nm+'必须是一个正确数字!\n';
				        if (test.indexOf('NUMB') != -1) {
							p=test.indexOf(':');
							min=test.substring(8,p); max=test.substring(p+1);
							if (num<min || max<num) errors+= nm+'必须是一个介于'+min+'和'+max+'的数字!\n';
						}
					}else if(test.indexOf('MAX')!=-1){
						p=test.indexOf(':');
						max=test.substring(p+1,p);
						if(val.length>max)
							errors+=nm+'必需在'+max+'个字符之内.\n';
					}else if(test.indexOf('MAXLENGTH') !=-1){
						p=test.indexOf(':');
						p2=test.indexOf(',');
						min=test.substring(p+1,p2);
						max=test.substring(p2+1);
						if(val.length>max)
							errors+= nm+'长度必需在'+min+'和'+max+'个字符之间.\n';
					} else if (test.indexOf('USERID') !=-1) {
						if(val.length>13){
							errors+= nm+'的长度不能长于12个字符!\n';
						}else if(val.length<4){
							errors+= nm+'的长度不能小于4个字符!\n';
						}
						exp=/\D\S{3,12}\d{0}/;
						aa=exp.test(val);
						if(!aa){ errors+= nm+'的格式不正确请重新检查！\n';}
					} else if (test.indexOf('PASSWD') !=-1) {
						if(val.length>13){
							errors+= nm+'的长度不能长于12个字符!\n';
						}else if(val.length<6){
							errors+= nm+'的长度不能小于6个字符!\n';
						}else if(val!=document.forms[0].comfpasswd.value){
							errors+=nm+'两次输入的密码不相同，请重新输入!\n';
						}
					} else if(test.indexOf('CHECKBOX') !=-1){
						i_count=0;
						for(i=0;i<val_obj.length;i++){
							if(val_obj[i].checked){
								i_count++;
							}
							nm=val_obj[i].title;
						}
						if(i_count<=0)
							errors+=nm+'必需至少选择一个.\n';
					} else if(test.indexOf('RADIO') !=-1){
						i_count=0;
						for(i=0;i<val_obj.length;i++){
							if(val_obj[i].checked){
								i_count++;
							}
							nm=val_obj[i].title;
						}
						if(i_count<=0)
							errors+=nm+'必需至少选择一个.\n';
					} else if(test.indexOf('SELECT') !=-1)
					{
						if(val<0 || val=="") errors+=nm+'必需至少选择一个.\n';
					}
				}else if (test2.charAt(0) == 'R') errors += '请输入'+nm+'!\n';
			}
		 }
		 if (errors){
			 alert('出错:\n'+errors);
			 return false;
		 }else {
	         document.flag="1";
			 return true;
		 }
	}else{
		alert("错误！正在提交，请稍候...");
		return false;
	}
}
/*
ckForm() 1.1
*/
function ckForm_new() {
	var i,p,q,nm,test,num,min,max,tmp='',errors='',args=ckForm_new.arguments;
	if(document.flag!='1'){

		for (i=0; i<(args.length-2); i+=3) 
		{
			test=args[i+1];
			test2=args[i+2];
			test3 = args[i];
			val=findObj(args[i]);
			val_obj=val;

			if (val&&val.style=="display:none")
			{
				continue;
			}
			if (val&&test.indexOf('MUST')==-1) 
			{
				if (!eval("document.all."+val.name+"_title"))
				{
					continue;
				}
				if (!eval("document.all."+val.name+"_tips"))
				{
					continue;
				}
				nm=eval("document.all."+val.name+"_title").innerHTML;
				tips=eval("document.all."+val.name+"_tips");
				if ((val=val.value)!="") 
				{
					if (test.indexOf('MAIL')!=-1) {
						p=val.indexOf('@');
						point=val.indexOf('.');
						if (p<1 || p==(val.length-1) || point<1 || point==(val.length-1)){
							tmp = nm+'必须是一个正确的EMAIL地址!\n';
						}
					} 
					else if (test.indexOf('NUMDEC')!=-1)
					{
						num = parseFloat(val);
				        if (isNaN(val))
						{
							tmp = nm+'必须是一个正确数字!\n';
						}
						dec = test.substr(6,test.length-6);
						tmp = chkFloatDec(val,dec);
					}
					else if (test.indexOf('NUM') != -1) 
					{
						num = parseFloat(val);
				        if (isNaN(val))
						{
							tmp = nm+'必须是一个正确数字!\n';
						}
				        if (test.indexOf('NUMB') != -1) {
							p=test.indexOf(':');
							min=test.substring(4,p-1); 
							max=test.substring(p+1,test.length);
							if (num<min || max<num){
								tmp = nm+'必须是一个介于'+min+'和'+max+'的数字!\n';
							}
						}
					}
					else if (test.indexOf('COST') != -1) {
						
						num = parseFloat(val);
				        if (isNaN(val)){
							tmp = nm+'必须是一个正确数字!\n';
						}
				        	if (num<0 || num>1){
								tmp = nm+'必须是一个介于0和1的数字!\n';
							}
						}
					else if (test.indexOf('INT')!=-1)
					{
						var check =/^\d+$/;
						if (!check.test(val))
						{
							tmp = nm + '必须是一个整数!\n';
						}
					}
					else if(test.indexOf('MAX')!=-1){
						p=test.indexOf(':');
						max=test.substring(p+1,test.length);

						if(val.length>max)
						{
							tmp =nm+'必需在'+max+'个字符之内.\n';
						}
					}else if(test.indexOf('MAXLENGTH') !=-1){
						p=test.indexOf(':');
						p2=test.indexOf(',');
						min=test.substring(p+1,p2);
						max=test.substring(p2+1);
						if(val.length>max){
							tmp = nm+'长度必需在'+min+'和'+max+'个字符之间.\n';
						}
					} else if (test.indexOf('USERID') !=-1) {
						if(val.length>13){
							tmp = nm+'的长度不能长于12个字符!\n';
						}else if(val.length<4){
							tmp = nm+'的长度不能小于4个字符!\n';
						}
						exp=/\D\S{3,12}\d{0}/;
						aa=exp.test(val);
						if(!aa){ tmp = nm+'的格式不正确请重新检查！\n';}
					} else if (test.indexOf('PASSWD') !=-1) {
						if(val.length>13){
							tmp = nm+'的长度不能长于12个字符!\n';
						}else if(val.length<6){
							tmp = nm+'的长度不能小于6个字符!\n';
						}else if(val!=document.forms[0].comfpasswd.value){
							tmp =nm+'两次输入的密码不相同，请重新输入!\n';
						}
					} else if(test.indexOf('CHECKBOX') !=-1)
					{
						alert('checkbox error');
						p = test.indexOf(':');
						num = test.substr(p+1,test.length-1-p);
						i_count=0;
						for(i=0;i<val_obj.length;i++){
							if(val_obj[i].checked){
								i_count++;
							}
							nm=val_obj[i].title;
						}
						if(i_count<num)
							tmp =nm+'必须选择' + num + '个.\n';
						else if (i_count>num)
						{
							tmp = nm + '只能选择' + num + '个.\n';
						}
					} else if(test.indexOf('RADIO') !=-1){
						i_count=0;
						for(i=0;i<val_obj.length;i++){
							if(val_obj[i].checked){
								i_count++;
							}
							nm=val_obj[i].title;
						}
						if(i_count<=0)
							tmp =nm+'必需至少选择一个.\n';
					} 
					else if(test.indexOf('SELECT') !=-1)
					{
						p = test.indexOf(':');
						min = test.substring(p+1,test.length);
						if(val<=min || val=="") 
						{
							tmp = nm+'必需至少选择一个.\n';
						}
					}
				}
				else if (test2.charAt(0) == 'R')
				{
					tmp = '请输入'+nm+'!\n';
					if (tips)
					{
						tips.innerHTML = "<font color=red>" + tmp + "</font>";
					}
				}
			}
			else if (val&&test.indexOf('MUST')!=-1)
			{
				p = test.indexOf(':');
				min = test.substring(p+1,test.length);
				var checkbox_selected=0;
				var temp_obj_name;
				var temp_val;
				var temp_tmp;
				tips = null;
				while (test3.length>0)
				{
					p = test3.indexOf(",");
					if (p>0)
					{
						temp_obj_name = test3.substring(0,p);
						test3 = test3.substring(p+1,test3.length);
					}
					else
					{
						temp_obj_name = test3;
						test3 = '';
					}
					temp_val = findObj(temp_obj_name);
					if (temp_val)
					{
						if (p>0)
						{
							temp_tmp = temp_tmp + eval("document.all."+temp_val.name+"_title").innerHTML + ';';
						}
						else
						{
							temp_tmp = temp_tmp + eval("document.all."+temp_val.name+"_title").innerHTML;
						}
						if (!tips)
						{
							tips=eval("document.all."+temp_obj_name+"_tips");
						}
					}
					if (temp_val&&temp_val.checked)
					{
						checkbox_selected = checkbox_selected + 1;
					}
				}
				if (checkbox_selected<min)
				{
					tmp = temp_tmp + '必须至少选择' + min + '个';
				}
			}
			if(tips)	
			{
				tips.innerHTML="<font color=red>"+tmp+"</font>";
			}
			errors+=tmp;
			tmp="";
		 }
		 if (errors)
		 {
			 return false;
		 }
		 else 
		 {
	         document.flag="1";	         
			 return true;
		 }
	}
	else
	{
		alert("错误！正在提交，请稍候...");
		return false;
	}
}

function cut_str(str,leng){
	return str.substring(0,leng)+'...';
}

function Trim(str) {
  return str.replace(/(^\s*)|(\s*$)/g,"");
}

function set_button_enabled()
{
	args = set_button_enabled.arguments;
	var isEnabled = args[0];
	var test,val_obj;
	for (i=1;i<args.length ;i++ )
	{
		test = args[i];
		val_obj = document.getElementById(test);
		if (val_obj!=null)
		{
	  		val_obj.disabled = !isEnabled;
		}
	}
}

/*
从数组中获取数据，用于解决多语言版本的显示数据的问题

调用方式:get_array(item_array,val_obj)
参数说明:

item_array:数组变量
val_obj:下拉框的对象
*/

function get_array()
{
	var args = get_array.arguments;
	var item_array = args[0];
	var val_objs = document.getElementsByName(args[1]);
	var id,value;
	
	for (i=0;i<item_array.length ; i++)
	{
		id = item_array[i][0];
		value = item_array[i][1];
		for (j=0;j<val_objs.length;j++)		
		{
			val_objs[j].options[i] = new Option();
			val_objs[j].options[i].text = value;
			val_objs[j].options[i].value = id;
		}
		
	}
}

function get_array_new()
{
	var args = get_array_new.arguments;
	var item_array = args[0];
	var id,value;
	
	for (i=1;i<args.length ; i++)
	{
		val_objs = document.getElementsByName(args[i]);
		for (k=0;k<item_array.length ; k++)
		{

			id = item_array[k][0];
			value = item_array[k][1];
			if(val_objs.length)
			{
				for (j=0;j<val_objs.length;j++)		
				{
					val_objs[j].options[k] = new Option();
					val_objs[j].options[k].text = value;
					val_objs[j].options[k].value = id;
				}
			}
			else
			{
				val_objs.options[k] = new Option();
				val_objs.options[k].text = value;
				val_objs.options[k].value = id;
			}
		}	
	}
}

function get_trade_name(id)
{
	for (k=0;k<trade_item.length ; k++)
	{

		id1 = trade_item[k][0];
		value = trade_item[k][1];
		if (id1==id)
		{
			return value;
		}
	}
	return '';
}


/*
在下拉框中添加小时与分的数字
调用方式：
set_time_select('h',obj_name1,obj_name2,...);//添加小时
set_time_select('m',obj_name1,obj_name2,...);//添加分钟

author:sumsung 
date:2007-06-15 
version:1.0
*/
function set_time_select()
{
	var args = set_time_select.arguments;
	var end_num;
	var item_type = args[0];
	var temp_num;
	if (item_type=='h')
	{
		end_num = 23;
	}
	else if (item_type=='m')
	{
		end_num = 59;
	}
	for (i=1;i<args.length ;i++ )
	{
		val_objs = findObj(args[i]);
		if (val_objs.length)
		{
			for (j=0;j<val_objs.length ;j++ )
			{
				for (k=0;k<=end_num ;k++ )
				{
					if (k<10)
					{
						temp_num = '0' + k;
					}
					else
					{
						temp_num = k;
					}
					val_objs[j].options[k] = new Option();
					val_objs[j].options[k].text = temp_num;
					val_objs[j].options[k].value = temp_num;
				}
			}
		}
		else
		{
			for (k=0;k<=end_num ;k++ )
			{
				if (k<10)
				{
					temp_num = '0' + k;
				}
				else
				{
					temp_num = k;
				}				
				val_objs.options[k] = new Option();
				val_objs.options[k].text = temp_num;
				val_objs.options[k].value = temp_num;
			}
		}
	}
}

/*
弹出窗口，并获取返回值

无限制
参数1：弹出窗口的路径
参数2...参数n：将值传入arr的控件的名称
*/
function popwindow()
{
	var args = popwindow.arguments;//获取所有的参数
	var val1;
	var arr = new Array();
	val1 = args[0];

   arr = window.showModalDialog(val1, arr ,'status:no;help:yes;resizable:yes;scroll:no;dialogHeight:360px;dialogWidth:600px;');

    if (arr != null)
    {
	    for (i=1;i<args.length ;i++ )
	    {
			val = findObj(args[i]);
			if (val)
			{
				val.value = arr[0][i-1];
			}
	    }
	}
}
function ReturnTheValues()
{
	var args = ReturnTheValues.arguments;
	var arr = new Array();
	arr[0]		= new Array();
	for (i=0;i<args.length;i++)
	{
		arr[0][i] = args[i];
	}
   window.returnValue = arr;
   window.close();
}
/*
注明那些项目是必填项目

传入必填项目的名称，参数个数不限

必填项目表现形式：在输入框后显示红色*号

date 2007-06-21
author sumsung
version 1.0
*/

function setForm()
{
	var args = setForm.arguments;//获取所有的参数
	var val;
	for (i=0;i<args.length ; i++)
	{
		val = findObj(args[i]);
		if (val)
		{
			alert(val.name);
			val.innerHTML = '<font color="red">*</font>';
		}
	}
}

/*
检查文件大小

date 2007-07-19
author sumsung
version 1.0
*/

function setImgSrc(fileCheck_str,fileName_str)
{
	var fileCheck = findObj(fileCheck_str);
	var fileName = findObj(fileName_str);
	
	if (fileCheck&&fileName)
	{
		fileCheck.src = fileName.value;
	}
}

function checkFileSize(fileCheck_str)
{
	var limit = 2*1024*1024;
	var fileCheck = findObj(fileCheck_str);
	if (fileCheck&&fileCheck.fileSize>limit)
	{
		//
	}
	else
	{
		//
	}
}

function CloseWin() 
{
var ua=navigator.userAgent 
var ie=navigator.appName=="Microsoft Internet Explorer"?true:false 
if(ie){ 
    var IEversion=parseFloat(ua.substring(ua.indexOf("MSIE ")+5,ua.indexOf(";",ua.indexOf("MSIE ")))) 
 if(IEversion< 5.5){ 
    var str  = '<object id=noTipClose classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">'
    str += '<param name="Command" value="Close"></object>'; 
    document.body.insertAdjacentHTML("beforeEnd", str); 
    document.all.noTipClose.Click(); 
    } 
    else{ 
    window.opener =null; 
    window.close(); 
    } 
} 
else{ 
window.close() 
} 
} 

function   tofloat(f,dec)   
{     
  if(dec<0)   return   "Error:dec<0!";     
  result=parseInt(f)+(dec==0?"":".");     
  f-=parseInt(f);     
  if(f==0) 
  {    
  	for(i=0;i<dec;i++)   result+='0';     
  }
  else   
  {     
  	for(i=0;i<dec;i++)   f*=10;     
  		result += parseInt(Math.round(f));     
  }     
  return   result;     
}
  
  function getnum(str)
  {
	 var num;
	 if (str=='')
	 {
		 num = 0.0;
	 }
	 else
	 {
		 num = isNaN(str)?0:parseFloat(str)
	 }
	 return num;
  }

function chkFloatDec(f,dec)
{
 if (isNaN(f))
{
	return '必须是一个正确数字!\n';
}
else{
	if (dec<0)
	{
		return "Error:dec<0!";
	}
	if (f==0||f.indexOf(".")==-1)
	{
		return "";
	}
	else
	{
		f = f.substr(f.indexOf(".")+1,f.length-1-f.indexOf("."));
		if (f.length>dec)
		{
			return "请输入精确到小数点后"+dec+"位的数字";
		}
		else
		{
			return "";
		}
	}
}
}
var  aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"}  

function  cidInfo(sId){  
  var  iSum=0  
  var  info=""  
  if(!/^\d{17}(\d|x)$/i.test(sId)) 
return  "身份证号码错误!";  
  sId=sId.replace(/x$/i,"a");  
  if(aCity[parseInt(sId.substr(0,2))]==null) 
return  "身份证号码错误!";//"非法地区";  
  sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));  
  var  d=new  Date(sBirthday.replace(/-/g,"/"))  
  if(sBirthday!=(d.getFullYear()+"-"+  (d.getMonth()+1)  +  "-"  +  d.getDate())) 
return  "身份证号码错误!";//"非法生日";  
  for(var  i  =  17;i>=0;i  --)  iSum  +=  (Math.pow(2,i)  %  11)  *  parseInt(sId.charAt(17  -  i),11) 
  if(iSum%11!=1) 
return  "身份证号码错误!";//"非法证号";  
return "";
 // return  aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女")  
}

//设置默认图片
function setDefaultImg(obj)
{
	obj.src = '/sysadm/images/small.jpg';
}
//计算结果保留小数位 
function   tofloat(f,dec)   
{ 
 
  var dec_num=1;
  if(dec<0)   return   "Error:dec<0!";     
  result=parseInt(f,10)+(dec==0?"":".");   
  //alert(parseInt(f,10));  
  f-=parseInt(f,10);     
  if(f==0) 
  {    
  	for(i=0;i<dec;i++)   result+='0';     
  }
  else   
  {     
	for(i=0;i<dec;i++)
	{
		dec_num*=10;
		f*=10;
	}
	if (parseInt(Math.round(f),10)>=dec_num)
	{
		result = getnum(result)+1;
	}
	else
	{
		temp_result = parseInt(Math.round(f),10);
		result_len = (""+temp_result).length;
		if (result_len<dec)
		{
			for (i=0;i<dec-result_len;i++ )
			{
				result += '0';
			}
			result += temp_result;
		}
		else
		{
			result += parseInt(Math.round(f),10);
		}
	}
  }     
  return   result;     
}