/*
 公用js 函数
 */
// 允许上传的图片扩展名
var picExt="JPEG|JPG|BMP|GIF|TIF|PNG|ICO|";
// 允许上传的文件扩展名
var fileAllowExt="DOC|XLS|PPT|PDF|RAR|ZIP|VSD|JPEG|JPG|BMP|GIF|TIF|PNG|ICO|AVI|MIDI|MOV|WMA|RM|MP3|SWF|TXT|";

//全角转半角的
function toDBC(Str) {
 var DBCStr = "";    
 for(var i=0; i<Str.length; i++){
  var c = Str.charCodeAt(i);
  if(c == 12288) {
      DBCStr += String.fromCharCode(32);
   continue;
  }
  if (c > 65280 && c < 65375) {
   DBCStr += String.fromCharCode(c - 65248);
   continue;
  }
  DBCStr += String.fromCharCode(c);
 }
 return DBCStr;
}
/*
 返回字符串的字节数 一个汉字是2个字节   
 */
function getStrBytes(varStr) {
    var count=0; 
    for (var i = 0; i< varStr.length; i++) {     
     if (varStr.charCodeAt(i) > 127 || varStr.charCodeAt(i) == 94) { 
        count=count+2;   
        } 
     else { 
        count=count+1 
     }
    } 
    return count;
}
/*
 del head and end space
*/
function strTrim(str){
 return str.replace(/(^\s*)|(\s*$)/g, "");
}


/*
 电话号码验证
*/
function chkTEL(tel)
{
	var i,j,strTemp;
	strTemp="0123456789-()# ";
	for (i=0;i<tel.length;i++)
	{
		j=strTemp.indexOf(tel.charAt(i)); 
		if (j==-1)  return false;
	}
	
	
	
	return true;
}

/*
 Email验证
*/
 function chkemail(a)
{ 
	return /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/.test(a);
}

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    return true;
}

/*
  判断字符串是否纯数字
*/
function isDigit(s) {
  return (s.replace(/\d/g, "").length == 0);
}
function isAlpha(s) {
  return (s.replace(/\w/g, "").length == 0);
}
/*
数字、26个英文字母或者下划线组成外加()的字符串
*/
function isAlphaKH(s) {
  return (s.replace(/\w|\(|\)/g, "").length == 0);
}
/*
 数字、26个英文字母或者下划线组成的字符串
*/
function isAlphaOrNum(s){
  return (s.replace(/^([a-zA-Z]|\d|_)*$/g,"").length ==0);
}


/*
是否全部是英文,/,空格,true表示是
*/
function isEnglish(s){
	return /^[A-Za-z|//|\s]+$/g.test(s);
}
/*
	是否全部是汉字
*/
function isChinese(s){
	return /[^u4E00-u9FA5]$/.test(s)
} 
function isBlank(s){
	if(s==null){
		return true;
	}
	return strTrim(s)=="";
}
/*
 是否包含汉字
*/
function isInChinese(s) {
  return (s.length != s.replace(/[^\x00-\xff]/g,"**").length);
}
/**
判断是否符合ft格式的时间日期
*/
function isDateTime(value,ft){
	   if(isBlank(ft)){ft="yyyy-mm-dd hh:mm";}
	   datevalue=value.substr(0,10);
	   if (!isDate(datevalue)) {
			return false;
	   }else{
			timevalue=value.substr(11);
			timeft=ft.substr(11);
			if(isBlank(timeft)){
				timeft="hh:mm";
			}
			if(isBlank(timevalue)||isBlank(timeft)||value.substr(10,1)!=" " || !isTime(timevalue,timeft)){
				return false;
			}
		}
		return true;
}

/**
*指定是否符合指定格式的时间，没有指定格式兼容hh:mm hh:mm:ss hhmm hhmmss
*/
function isTime(strTime,f){
   if(f=="hh:mm"){
   	   fmtTime = /^(\d{2})\:(\d{2})$/;
   	   return  fmtTime.test(strTime) && RegExp.$1 < 24 && RegExp.$2 < 60;   	   
   }
   if(f=="hh:mm:ss"){
   	   fmtTime = /^(\d{2})\:(\d{2})\:(\d{2})$/;
   	   return  fmtTime.test(strTime) && RegExp.$1 < 24 && RegExp.$2 < 60 && RegExp.$3 < 60;   	   
   }
   if(f=="hhmm"){
   	   fmtTime = /^(\d{2})(\d{2})$/;
   	   return  fmtTime.test(strTime) && RegExp.$1 < 24 && RegExp.$2 < 60;   	   
   }
   if(f=="hhmmss"){
   	   fmtTime = /^(\d{2})(\d{2})(\d{2})$/;
   	   return  fmtTime.test(strTime) && RegExp.$1 < 24 && RegExp.$2 < 60 && RegExp.$3 < 60;   	
   }
}

//日期格式
 Date.prototype.format00000   =   function(format)   
  {   
      var   o   =   {   
          "M+"   :   this.getMonth()+1,   //month   
          "d+"   :   this.getDate(),         //day   
          "h+"   :   this.getHours(),       //hour   
          "m+"   :   this.getMinutes(),   //minute   
          "s+"   :   this.getSeconds(),   //second   
          "q+"   :   Math.floor((this.getMonth()+3)/3),     //quarter   
          "S"   :   this.getMilliseconds()   //millisecond   
      }   
      if(/(y+)/.test(format))   format=format.replace(RegExp.$1,   
          (this.getFullYear()+"").substr(4   -   RegExp.$1.length));   
      for(var   k   in   o)if(new   RegExp("("+   k   +")").test(format))   
          format   =   format.replace(RegExp.$1,   
              RegExp.$1.length==1   ?   o[k]   :     
                  ("00"+   o[k]).substr((""+   o[k]).length));   
      return   format;   
  };   
  function addDate(vdate,s){
  	return new Date(new Date(Date.parse(vdate)).getTime()+s*24*60*60*1000).format00000("yyyy-MM-dd");
  }
  
/**
判断是否是正确的pnr
*/
function isPnrno(value){
    if(value.length<5||!isAlphaOrNum(value.substr(0,1))||value.toUpperCase()!= value|| !isAlphaOrNum(value)||value.indexOf("_")>=0||isDigit(value)||
				value.toUpperCase().indexOf("O")>=0||value.toUpperCase().indexOf("I")>=0){
	 	return false;			
	}else{
		return true;
	}
}
/*
判断是否是票号
*/
function isTicketno(value){
	if(value.length!=10||!isDigit(value)){
		return false;
	}else{
		return true;
	}
}
/* 
返回数值
*/
function isNumber(v) {
  return  (!isNaN(v) && !/^\s+$/.test(v));
}

//验证url合法性
function isUrl(url){
	var urlreg=/^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)((\w+)\.)+(\S)+$/;
	var res=url.match(urlreg);
	if(res==null){
		return false;
	}else{
		return true;
	}
}

//计算天数差的函数，通用
function DateDiff(sDate1, sDate2){  //sDate1和sDate2是2002-12-18格式
    var aDate, oDate1, oDate2, iDays;
    aDate = sDate1.split("-");
    oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);  //转换为12-18-2002格式
    aDate = sDate2.split("-");
    oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);
    iDays = (oDate1 - oDate2) / 1000 / 60 / 60 /24;  //把相差的毫秒数转换为天数
    return iDays;
}

//返回当前日期 格式：yyyy-MM-dd
function getDate(){
	var date = new Date();
	var month = (date.getMonth()+1).toString();
	var day = (date.getDate()).toString();
	if(month.length == 1){
		month = "0" + month;
	}
	if(day.length == 1){
		day = "0" + day;
	}
	return date.getYear() + "-" + month + "-" + day;
}

/*
 日期检查   isDate(str)
*/
var dtCh= "-";
var minYear=1900;
var maxYear=2100;
function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}
function daysInFebruary (year){
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}
function isDate(dtStr){
 	var result=dtStr.match(/^(\d{4})(-)(\d{2})(-)(\d{2})$/);
    if(result==null) return false;


	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	
	var strMonth=dtStr.substring(pos1+1,pos2)
	var strDay=dtStr.substring(pos2+1)
	var strYear=dtStr.substring(0,pos1)
	
	//var strMonth=dtStr.substring(0,pos1)
	//var strDay=dtStr.substring(pos1+1,pos2)
	//var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1){
		//alert("The date format should be : mm/dd/yyyy")
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		//alert("Please enter a valid month")
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		//alert("Please enter a valid day")
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		//alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		//alert("Please enter a valid date")
		return false
	}
	return true
}

function Dformat(date,sFormat)
{
	var dt=date;
	if(sFormat==null || typeof(sFormat)!="string")
		sFormat="";
	sFormat=sFormat.replace(/yyyy/ig,dt.getFullYear());
	var y=""+dt.getYear();
	if(y.length>2)
	{
		y=y.substring(y.length-2,y.length);
	}
	var month=dt.getMonth()+1;
	if(month<10)month="0"+month;
	var day=dt.getDate();
	if(day<10)day="0"+day;
	var hour=dt.getHours();
	if(hour<10)hour="0"+hour;
	var minute=dt.getMinutes();
	if(minute<10)minute="0"+minute;
	var second=dt.getSeconds();
	if(second<10)second="0"+second;
	sFormat=sFormat.replace(/yy/ig,y);
	sFormat=sFormat.replace(/MM/g,month);
	sFormat=sFormat.replace(/dd/ig,day);
	sFormat=sFormat.replace(/HH/ig,hour);
	sFormat=sFormat.replace(/mm/g,minute);
	sFormat=sFormat.replace(/SS/ig,second);
	return sFormat;
}

/*
  校验是否符合yyyy-mm-dd hhmm-hhmm格式并且前面的hhmm 比后面的小
  如果正确返回0  如果 yyyy-mm-dd错误返回1 第一个hhmm格式错误返回2  第二个hhmm格式错误返回3 大小错误返回4
  其他错误5
*/
function ckdt1(yhmhm){
	if(yhmhm==null||yhmhm==""||yhmhm.length!=20){
	   return 5;
	}
	if(yhmhm.substr(15,1)!='-'){
		return 5;
	}
	ymd=yhmhm.substr(0,10); 
	hm1=yhmhm.substr(11,4); 
    hm2=yhmhm.substr(16,4);
    if(!isDate(ymd)){
    	return 1;
    }
    if(!isDigit(hm1)){
    	return 2;
    }
	if(!isDigit(hm2)){
    	return 3;
    }
    if(parseInt(hm1,10)>=parseInt(hm2,10)){
    	return 4;
    }
    hh=hm1.substr(0,2);
    mm=hm1.substr(2,2);
    if(parseInt(hh,10)>=24 || parseInt(hh,10)<0||parseInt(mm,10)>59||parseInt(mm,10)<0){
    	return 2;
    }
    hh=hm2.substr(0,2);
    mm=hm2.substr(2,2);
    if(parseInt(hh,10)>=24 || parseInt(hh,10)<0||parseInt(mm,10)>59||parseInt(mm,10)<0){
    	return 3;
    }
	return 0;
}


function lenb(s) {
  return s.replace(/[^\x00-\xff]/g,"**").length;
}

/**
	判断是否为移动号码 判断是否为手机号码 1是 0不是
*/
function isMobile(v_sjhd){
	return isTrueMobile(v_sjhd);
}

/**
	判断是否为手机号码 1是 0不是
*/
function isTrueMobile(mobile){
	 mobile = mobile.replace(/(^\s*)|(^\u3000*)|(\u3000*$)|(^\ue4c6*)|(\ue4c6*$)|(\s*$)/g,"");
    if(!isDigit(mobile)) return 0;
    if(mobile == null || mobile == "") return 0;
	if(mobile.substr(0,1)=='0'){
	   mobile=mobile.substr(1)
	}
	if(mobile.length != 11){
	   return 0;
    }else{
       return 1;
    }
}

/**
	判断是否为多个正确的手机号码 true是 false不是
*/
function isMoreMobile(v_more_sj){
  var cattwo;
  if(v_more_sj == null || v_more_sj == "") return false;
    cattwo = v_more_sj.toString().split(",");
    for(var i=0;i < cattwo.length;i++){
	  if(isTrueMobile(cattwo[i]) == 0){
	    return false;
	  }  
    }
    return true;
}

/**
*十进制转为2进制字符串
*/
function toBin(intNum)
{
 var answer = "";
 if(/\d+/.test(intNum))
 {
  while(intNum != 0)
  {
   answer = Math.abs(intNum%2)+answer;
   intNum = parseInt(intNum/2);
  }
  if(answer.length == 0)
   answer = "0";
  return answer; 
 }
 else
 {
  //alert("please input a number");
  return null;
 } 
}
 /**
	短信长度提示
	dID:显示提示信息的位置；
	v:短信内容
	m:手机号码
*/
function smslen(dId,v,m){
	var len=64,s="";
	var dc=document.getElementById(dId);
	if(dc==null||v==""||v==null) return;
	nrlength=v.length;
	nrts = parseInt((nrlength / len + (nrlength % len > 0 ? 1 : 0)));
	if(nrts>1){
	   s="请注意每条最多能发送"+len+"个字。您目前输入的短信字数是"+nrlength+"个,将拆分成"+nrts+"条。如果开通长短信每条能发300个汉字。";
	}else{
		s="请注意每条最多能发送"+len+"个字。您目前输入的短信字数是"+nrlength+"个。";
	}
	dc.innerHTML=s;
}
function smslenAlert(v){
	var len=64,s="";
	nrlength=v.length;
	nrts = parseInt((nrlength / len + (nrlength % len > 0 ? 1 : 0)));
	if(nrts>1){
	   s="请注意每条最多能发送"+len+"个字。您目前输入的短信字数是"+nrlength+"个,将拆分成"+nrts+"条。\n如果开通长短信每条能发300个汉字。\n\n继续请按 确定 重新修改 请按 取消。";
	  if( window.confirm(s)==1) 
	   return true;
	  else
	   return false;
	}
	return true;
}
 

 function winopen(url,w,h) {
    window.open(url,"","toolbar=no,width="+w+",height="+h+",top=200 left=300 directories=no,status=yes,scrollbars=yes,resizable=yes,menubar=no")
 }

 function vopen(url, name, w, h) {//	if (! OWinID || OWinID.closed)
    if(w==null||w==""){w=800;}
    if(h==null||h==""){h=500;}
    var top,left;
    var pws=getPageSize();
    top=(pws[5]-h)/2 -20;
    left=(pws[4]-w)/2;
	OWinID = window.open(url, name, "height=" + h + ",width=" + w + ",top="+top+",left="+left+",toolbar=no,menubar=no,scrollbars=yes,resizable=yes,location=no,status=yes");
	OWinID.focus();
}  
//toolbar=yes
 function mopen(url, name, w, h) {//	if (! OWinID || OWinID.closed)
    if(w==null||w==""){w=800;}
    if(h==null||h==""){h=500;}
    var top,left;
    var pws=getPageSize();
    top=(pws[5]-h)/2 -20;
    left=(pws[4]-w)/2;
   // getPageSizenew Array(pageWidth,pageHeight,windowWidth,windowHeight,screen_width,screen_height)
	OWinID = window.open(url, name, "height=" + h + ",width=" + w + ",top="+top+",left="+left+",toolbar=yes,menubar=yes,scrollbars=yes,resizable=yes,location=no,status=yes");
	OWinID.focus();
} 
function showMD(url,name,w,h){
	return window.showModalDialog(url,name,"dialogWidth:"+w+"px; dialogHeight:"+h+"px; directories:no; localtion:no; menubar:no; status:no; toolbar:no; scrollbars:no; resizeable:no;");
}
  
function showtkdetail(tkno){
  winopen("/asms/cpzx/ticket_detail.shtml?tkno="+tkno+"&action=edit",650,450);
}
/*获得下拉框的显示值*/
function  opText(selObj,rv){
   /*如果值为空*/
   if(rv){
   	if(selObj.options[selObj.selectedIndex].value==""){
   		return "";
   	}
   }
	return selObj.options[selObj.selectedIndex].text;
}


/*屏幕尺寸*/
 function getPageSize(){
	var xScroll, yScroll; 
	if (window.innerHeight && window.scrollMaxY) { 
		xScroll = document.body.scrollWidth; 
		yScroll = window.innerHeight + window.scrollMaxY; 
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac 
		xScroll = document.body.scrollWidth; 
		yScroll = document.body.scrollHeight; 
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari 
		xScroll = document.body.offsetWidth; 
		yScroll = document.body.offsetHeight; 
	} 
	var windowWidth, windowHeight; 
	if (self.innerHeight) { // all except Explorer 
		windowWidth = self.innerWidth; 
		windowHeight = self.innerHeight; 
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode 
		windowWidth = document.documentElement.clientWidth; 
		windowHeight = document.documentElement.clientHeight; 
	} else if (document.body) { // other Explorers 
		windowWidth = document.body.clientWidth; 
		windowHeight = document.body.clientHeight; 
	} 
// for small pages with total height less then height of the viewport 
	if(yScroll < windowHeight){ 
		pageHeight = windowHeight; 
	} else { 
		pageHeight = yScroll; 
	} 
// for small pages with total width less then width of the viewport 
	if(xScroll < windowWidth){ 
		pageWidth = windowWidth; 
	} else { 
		pageWidth = xScroll; 
	}
	var screen_height = window.screen.availHeight; 
	var screen_width = window.screen.availWidth; 
	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight,screen_width,screen_height);
	return arrayPageSize; 
}
/*获得事件发生的位置坐标*/
var getEventCoord=function(e) {
	var evt = e||event, d = document,
	scrollEl = /^b/i.test( d.compatMode ) ? d.body : d.documentElement,
	supportPage = typeof evt.pageX == 'number',
	supportLayer = typeof evt.layerX == 'number'
	return {
		pageX : supportPage ? evt.pageX : evt.clientX + scrollEl.scrollLeft,
		pageY : supportPage ? evt.pageY : evt.clientY + scrollEl.scrollTop,
		clientX : evt.clientX,
		clientY : evt.clientY,
		layerX : supportLayer ? evt.layerX : evt.offsetX,
		layerY : supportLayer ? evt.layerY : evt.offsetY
	}
}

// --- 设置cookie
function setCookie(name,value,days) {
	if (days) {
	    var date = new Date();
	    date.setTime(date.getTime()+(days*24*60*60*1000));
	    var expires = "; expires="+date.toGMTString();
	}else {
		expires = "";
	}
	document.cookie = name+"="+value+expires+"; path=/";
}
//--- 获取cookie
function getCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
	    var c = ca[i];
	    while (c.charAt(0)==' ') c = c.substring(1,c.length);
	    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

/*清空使区域中的表单*/
	function cinput(areaqy){
	try{
	   var table
	   if(areaqy==undefined||areaqy==""||areaqy==null){
			table=event.srcElement;
			while(table!=null&&table.tagName.toLowerCase()!="table"){
				table=table.parentElement;
			}			
	   }else{
			table=$(areaqy);
		}
  	  if(table==undefined||table==""||table==null) return;
  	  
		var inputs=table.getElementsByTagName("input");
		for(var i=0;inputs!=null&&i<inputs.length;i++){
			if(inputs[i].type.toLowerCase()=="text"){
			  inputs[i].value="";
			}
			if(inputs[i].type.toLowerCase()=="radio"||inputs[i].type.toLowerCase()=="checkbox"){
			  inputs[i].checked=false;
			}
		}
		var selects=table.getElementsByTagName("select");
		for(var i=0;selects!=null&&i<selects.length;i++){
			selects[i].selectedIndex=0;
		}
		var textareas=table.getElementsByTagName("textarea");
		for(var i=0;textareas!=null&&i<textareas.length;i++){
			textareas[i].value="";
		}
		}catch(ex){}
	}
	
 /*取得扩展名*/  
 function getFileExt(fileName){
 	var fileExt=fileName.substr(fileName.lastIndexOf(".")+1).toUpperCase();
 	return fileExt;
 }
 /*判断是否为图片*/ 
 function isPicFile(fileName){
    	var fileExt=getFileExt(fileName)+"|";
    	if(fileExt!=""&&picExt.indexOf(fileExt)!=-1){
	       return true;
    	}
    	return false;
    }
 /*判断是否为允许的文件扩展名*/
 function isAllowFile(fileName){ 	
 	var fileExt=getFileExt(fileName)+"|"; 	
 	if(fileAllowExt.indexOf(fileExt)!=-1){
	   return true;
    }
    return false;
 }
/*上传文件
	level 等级 如果是图片那么大小不能超过500k  其他的根据等级来判断 

	field 要加入的字段 如果isDispaly  为false 直接加入相对根目录的路径 如果为false 将判断是否为图片或档案 
	isDisplay 是否显示
	id 生成图片的ID
*/
function upLoadFile(level,field,isDisplay,id){
     if(!id){
     	id="";
     }
	 var hh = window.showModalDialog("/init/uploadFile.jsp?level="+level+"&id="+id,"","dialogWidth:600px; dialogHeight:300px; directories:no; localtion:no; menubar:no; status:no; toolbar:no; scrollbars:no; resizeable:no;");
	 if(hh == "undefined" || hh==null || hh == "")
	  return ;
	  var k = new Array();
      k = hh.split("|");
	  var sleft = "/"+k[0];
	  var sright=k[1];
	  var  s=sleft;
	
	  if(isDisplay){
	    //如果是图片	    
	  	if(isPicFile(sleft)){
	  		s="<img src='" +  sleft + "' alt='"+sright+"'>";
	  	}else{
  	  	  //flash动画
			if(getFileExt(sleft)=="SWF"){
				s='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="360" height="78">'+
	  			'<param name="movie" value="'+sleft+'">'+
				'<param name="quality" value="high">'+
				'<embed src="'+sleft+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="360" height="78"></embed>'+
				'</object>';		  	
			}else{
	  			s="<A href='"  + sleft + "'>" + sright + "</A>";
	  		}
	  	}
	  	var oEditor = FCKeditorAPI.GetInstance(field) ;

	// Check the active editing mode.
	if ( oEditor.EditMode == FCK_EDITMODE_WYSIWYG ){
		// Insert the desired HTML.
		oEditor.InsertHtml( s ) ;
	}
	else
		alert( 'You must be on WYSIWYG mode!' ) ;
	  }

	  document.getElementById(field).value=s;
}

/*
用来弹出选择员工类别
lx  是决定单选还是多选 lx=0是复选框，lx=1是单选框
bh  是返回的员工编号及姓名  001,002|张三，李四
*/
function setworkers(lx,yhbbh,yhbxm){
    var  kk= "/asms/sysmanage/b_class_workers_compid.shtml";
    var  kk1="/asms/sysmanage/b_class_workers_compid_checkbox.shtml";
    var  hh;
    if(lx==1){
    hh = window.showModalDialog(kk,"","dialogWidth:450px; dialogHeight:450px; directories:no; localtion:no; menubar:no; status:no; toolbar:no; scrollbars:no; resizeable:no;");      
    if(hh == "undefined" || hh==null || hh == "")
          return ;
    var k = new Array();    
    k = hh.split(",");               
     document.getElementById(yhbbh).value=k[0];
     document.getElementById(yhbxm).value=k[1];
    }  
    if(lx==0){
        hh = window.showModalDialog(kk1,"","dialogWidth:600px; dialogHeight:450px; directories:no; localtion:no; menubar:no; status:no; toolbar:no; scrollbars:no; resizeable:no;");      
        if(hh == "undefined" || hh==null || hh == "")
          return ;
      var k = new Array();   
      var usearr = new Array();
      
      k=hh.split("@@@");          
      var j =k.length;    
      var jsid="";
      var jsxm="";
       for(var i=0;i<j;i++){
           if(k[i].length > 0){ 
           usearr = k[i].split(",");
	              jsid=jsid + usearr[0]+',';
	              jsxm=jsxm + usearr[1]+',';
          }
       }
       document.getElementById(yhbbh).value=jsid.substring(0,jsid.length-1);
       document.getElementById(yhbxm).value=jsxm.substring(0,jsxm.length-1);
    }        
}
/*
用来弹出选择角色类别
lx  是决定单选还是多选 lx=0是复选框，lx=1是单选框
bh  是返回的角色编号及名称  001,002|管理员，部门领导
*/
function setjs(lx,jsbh,jsmc){
    var  kk= "/asms/sysmanage/b_class_js.shtml";
    var  kk1="/asms/sysmanage/b_class_js_two.shtml";
    var  hh;
    if(lx==1){
    hh = window.showModalDialog(kk,"","dialogWidth:550px; dialogHeight:450px; directories:no; localtion:no; menubar:no; status:no; toolbar:no; scrollbars:no; resizeable:no;");      
    if(hh == "undefined" || hh==null || hh == "")
          return ;
    var k = new Array();    
    k = hh.split(",");  
                 
     document.getElementById(jsbh).value=k[0];
     document.getElementById(jsmc).value=k[1];
    }  
    if(lx==0){
        hh = window.showModalDialog(kk1,"","dialogWidth:700px; dialogHeight:400px; directories:no; localtion:no; menubar:no; status:no; toolbar:no; scrollbars:no; resizeable:no;");      
        if(hh == "undefined" || hh==null || hh == "")
          return ;
      var k = new Array();      
      k=hh.split(",");          
      var j =k.length;    
      var jsid="";
      var jsxm="";
       for(var i=0;i<j-1;i++){
           if(i%2==0){
              jsid=jsid + k[i]+',';
           }
           else{
              jsxm=jsxm + k[i]+',';
           }
       }
     
       document.getElementById(jsbh).value=jsid.substring(0,jsid.length-1);
       document.getElementById(jsmc).value=jsxm.substring(0,jsxm.length-1);
    }        
}





/*
用来弹出选择数据字典类别
lb  数据字典的类别
lx  是选第一级还是二级 lx=1只选第一级分类，lx=2选择第二级分类
sfield1  要返回的第一个值
sfield2  要返回的第二个值
sfield3  要返回的第三个值
sfield4  要返回的第四个值
*/
function setClass(lb,lx,sfield1,sfield2,sfield3,sfield4){
     var kk = "/init/b_classPopSele.shtml?lb=" + lb + "&lx=" + lx ;
     var hh = window.showModalDialog(kk,"","dialogWidth:300px; dialogHeight:450px; directories:no; localtion:no; menubar:no; status:no; toolbar:no; scrollbars:no; resizeable:no;");
     if(hh == "undefined" || hh==null || hh == "")
          return ; 
     var k = new Array();   
     k = hh.split("|");     
     if(lx == "1"){
       document.getElementById(sfield1).value=k[0];
       document.getElementById(sfield2).value=k[1];
     }
     if(lx == "2"){
       document.getElementById(sfield1).value=k[0];
       document.getElementById(sfield2).value=k[1];
       document.getElementById(sfield3).value=k[2];
       document.getElementById(sfield4).value=k[3];
     }
 
   }
   
/*
用来弹出选择城市
sf  所在的省份或国家(外国)
lx  是返回通用编号还是民航三字代号 =1表示返回通用的编号,!=1表示是民航三字代号
sfield1  要返回的第一个值
sfield2  要返回的第二个值
*/
function setCity(sf,lx,sfield1,sfield2){
   if(sf==null || sf == ""){
      alert("您还没有选择所在的省份或国外国家名,请先选择!");
      return;
   }
     var kk = "/init/b_city_sele_list.shtml?szsf=" + sf + "&lx=" + lx ;
     var hh = window.showModalDialog(kk,"","dialogWidth:300px; dialogHeight:400px; directories:no; localtion:no; menubar:no; status:no; toolbar:no; scrollbars:no; resizeable:no;");
     if(hh == "undefined" || hh==null || hh == "")
          return ;
     var k = new Array();
     k = hh.split("|");
     document.getElementById(sfield1).value=k[0];
     document.getElementById(sfield2).value=k[1];

   }

/*
*用来实现displaytag中,鼠标经过一行,该行变色
*/  
var pre;
function highlightTableRows(tableId) {   
    var previousClass = null;   
    var table = document.getElementById(tableId);
if(table==null||table==undefined||table==""){return;}
    var tbody = table.getElementsByTagName("tbody")[0];   
    if (tbody == null) {   
         rows = table.getElementsByTagName("tr");   
    } else {   
         rows = tbody.getElementsByTagName("tr");   
    }   
    for (i=0; i < rows.length; i++) {   
        rows[i].onmouseover = function() { 
        	if(this.style.backgroundColor!='#b8dcff' && this.style.backgroundColor!='#fdf5c7'){
        		this.style.backgroundColor="#fde5c7";
        	}  
        };   
        rows[i].onmouseout = function() { 
         if(this.style.backgroundColor!='#b8dcff' && this.style.backgroundColor!='#fdf5c7'){
         this.style.backgroundColor="";
         }
         };   
        //if(i % 2 == 0)   
         //rows[i].style.backgroundColor="red";   
        //if(i % 2 == 1)   
         //rows[i].style.backgroundColor="yellow";   
        rows[i].onclick = function() { 
        if(pre!=null){
        	pre.style.backgroundColor="#fdf5c7"
        }
        pre=this;  
            //var cell = this.getElementsByTagName("td")[0];   
            //var link = cell.getElementsByTagName("a")[0];   
            //var theUrl=link.getAttribute("href");   
            //if(theUrl.indexOf("javascript")!=-1){   
                //eval(theUrl);           }else{   
                //location.href=theUrl;   
            //} 
              
         this.style.backgroundColor="#b8dcff";   
        }   
    }   
} 

/*
*用来实现displaytag中,鼠标经过一行,该行变色
*/  
var previp;
function highlightTableRowsVip(tableId) {   
    var previousClass = null;   
    var table = document.getElementById(tableId);
if(table==null||table==undefined||table==""){return;}
    var tbody = table.getElementsByTagName("tbody")[0];   
    if (tbody == null) {   
         rows = table.getElementsByTagName("tr");   
    } else {   
         rows = tbody.getElementsByTagName("tr");   
    }   
    for (i=0; i < rows.length; i++) {   
        rows[i].onmouseover = function() { 
        	if(this.style.backgroundColor!='#87dfff' && this.style.backgroundColor!='#fcc47a'){
        		this.style.backgroundColor="#e1f5ff";
        	}  
        };   
        rows[i].onmouseout = function() { 
         if(this.style.backgroundColor!='#87dfff' && this.style.backgroundColor!='#fcc47a'){
         this.style.backgroundColor="";
         }
         };   
        //if(i % 2 == 0)   
         //rows[i].style.backgroundColor="red";   
        //if(i % 2 == 1)   
         //rows[i].style.backgroundColor="yellow";   
        rows[i].onclick = function() { 
        if(previp!=null){
        	previp.style.backgroundColor="#fcc47a"
        }
        previp=this;  
            //var cell = this.getElementsByTagName("td")[0];   
            //var link = cell.getElementsByTagName("a")[0];   
            //var theUrl=link.getAttribute("href");   
            //if(theUrl.indexOf("javascript")!=-1){   
                //eval(theUrl);           }else{   
                //location.href=theUrl;   
            //} 
              
         this.style.backgroundColor="#87dfff";   
        }   
    }   
}

/*
身份证号码验证
*/
function checkIdcard(idcard){
	if(idcard == "")return true;
  var Errors=new Array("验证通过!","身份证号码位数不对!","身份证号码出生日期超出范围或含有非法字符!",
                 "身份证号码校验错误!","身份证地区非法!");
  var area={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:"国外"} 

  var idcard,Y,JYM;
  var S,M;
  var idcard_array = new Array();
  idcard_array = idcard.split("");
  //地区检验
  if(area[parseInt(idcard.substr(0,2))]==null) { alert(Errors[4]); return false;};
  //身份号码位数及格式检验

  switch(idcard.length){
    case 15:
		if ( (parseInt(idcard.substr(6,2))+1900) % 4 == 0 || ((parseInt(idcard.substr(6,2))+1900) % 100 == 0 && (parseInt(idcard.substr(6,2))+1900) % 4 == 0 )){
		  ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/;//测试出生日期的合法性
		} else {
		  ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/;//测试出生日期的合法性
		}
       if(ereg.test(idcard)) 
           return true;
       else {
          alert(Errors[2]);
           return false;
       }
      break;
    case 18:
		//18位身份号码检测
		//出生日期的合法性检查 
		//闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))
		//平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
		if ( parseInt(idcard.substr(6,4)) % 4 == 0 || (parseInt(idcard.substr(6,4)) % 100 == 0 && parseInt(idcard.substr(6,4))%4 == 0 )){
		   ereg=/^[1-9][0-9]{5}[1-2][0-9][0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/;//闰年出生日期的合法性正则表达式
		} else {
		   ereg=/^[1-9][0-9]{5}[1-2][0-9][0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;//平年出生日期的合法性正则表达式
		}
		if(ereg.test(idcard)){//测试出生日期的合法性
		//计算校验位
	//	S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7
	//	+ (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9
	//	+ (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10
	//	+ (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5
	//	+ (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8
	//	+ (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4
	//	+ (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2
	//	+ parseInt(idcard_array[7]) * 1 
	//	+ parseInt(idcard_array[8]) * 6
	//	+ parseInt(idcard_array[9]) * 3 ;
	//	Y = S % 11;
	//	M = "F";
	//	JYM = "10X98765432";
	//	M = JYM.substr(Y,1);//判断校验位
//		if(M == idcard_array[17])
		   return Errors[0]; //检测ID的校验位
//		else{
//		  alert(Errors[3]);
//		  return false;
//		  break;
//		}
     }
       else{
         alert(Errors[2]);
         return false;
          break;
       }
     default:

        alert(Errors[1]);
        return false;
        break;
       return true;
    }
}

/*
  与上面身份证验证配合使用，从身份证号码中提取出生日期
*/
function getBirthday(sid){
  if(!checkIdcard(sid))
    return "";
    if(sid.length == 18){
       var k = sid.substring(6,10);
       var yy = sid.substring(10,12);
       var dd = sid.substring(12,14);
       return k + "-" + yy + "-" + dd;
    }
    if(sid.length == 15){
       var k = sid.substring(6,8);
       var yy = sid.substring(8,10);
       var dd = sid.substring(10,12);
       return "19" + k + "-" + yy + "-" + dd;
    }
}
function getSex(sid){
   	var dd="";
    if(sid.length == 18){
       dd = sid.substring(16,17);
    }
    if(sid.length == 15){
       dd = sid.substring(14,15);
    }
     if(dd%2==0){
       	return "F";
     }else{
       	 return "M";
     }
}
 
/*
  输入起始票号，票号长，数量，返回终止票号
*/
   function getEndno(startno,len,num){
     if(startno != ""){                
       var v1 = 0;  
       var v2 = 0;
       var v3 = 0;  
       var v4 = 0;
       if(num != ""){
         v4 = num;
       }
       
       v1 = startno.substring(0,(startno.length - 5));     
       v2 = startno.substring((startno.length - 5));
       v4 = parseFloat(v2) + parseFloat(v4) - 1;	       
       v3 = parseFloat(startno.substring((startno.length - 5),(startno.length - 4))); 
       
       var endno = v4 + "";
       var lenv2 = 5 - endno.length;
       
       if(lenv2 > 0){
         for(var n=0;n<lenv2;n++){
            endno =  "0" + endno;
         }	  	         
       }	              
          if(v3 == 9){                         
            var v22 = endno;
            v22 = endno.substring(0,1)
            if(v22 != 9){
              v1 = parseFloat(v1) + 1; 
            }
          }
          if(endno.length > 5){endno = endno.substring(1);}
       return endno = v1 + "" + endno;
      }
   }
   /*
   	转成人民币大写金额形式
   */
   function toMoneyString(num){
	  var str1 = '零壹贰叁肆伍陆柒捌玖';  //0-9所对应的汉字
	  var str2 = '万仟佰拾亿仟佰拾万仟佰拾元角分'; //数字位所对应的汉字
	  var str3;    //从原num值中取出的值
	  var str4;    //数字的字符串形式
	  var str5 = '';  //人民币大写金额形式
	  var i;    //循环变量
	  var j;    //num的值乘以100的字符串长度
	  var ch1;    //数字的汉语读法
	  var ch2;    //数字位的汉字读法
	  var nzero = 0;  //用来计算连续的零值是几个
	
	  num = Math.abs(num).toFixed(2);  //将num取绝对值并四舍五入取2位小数
	  str4 = (num * 100).toFixed(0).toString();  //将num乘100并转换成字符串形式
	  j = str4.length;      //找出最高位
	  if (j > 15){
	  return '金额超过9999999999999.99，请确认金额是否正确!';
	  }
	  str2 = str2.substr(15-j);    //取出对应位数的str2的值。如：200.55,j为5所以str2=佰拾元角分
	  
	  //循环取出每一位需要转换的值
	  for(i=0;i<j;i++){
	    str3 = str4.substr(i,1);   //取出需转换的某一位的值
	    if (i != (j-3) && i != (j-7) && i != (j-11) && i != (j-15)){    //当所取位数不为元、万、亿、万亿上的数字时
	   if (str3 == '0'){
	     ch1 = '';
	     ch2 = '';
	  nzero = nzero + 1;
	   }
	   else{
	     if(str3 != '0' && nzero != 0){
	       ch1 = '零' + str1.substr(str3*1,1);
	          ch2 = str2.substr(i,1);
	          nzero = 0;
	  }
	  else{
	    ch1 = str1.substr(str3*1,1);
	          ch2 = str2.substr(i,1);
	          nzero = 0;
	        }
	   }
	 }
	 else{ //该位是万亿，亿，万，元位等关键位
	      if (str3 != '0' && nzero != 0){
	        ch1 = "零" + str1.substr(str3*1,1);
	        ch2 = str2.substr(i,1);
	        nzero = 0;
	      }
	      else{
	     if (str3 != '0' && nzero == 0){
	          ch1 = str1.substr(str3*1,1);
	          ch2 = str2.substr(i,1);
	          nzero = 0;
	  }
	        else{
	    if (str3 == '0' && nzero >= 3){
	            ch1 = '';
	            ch2 = '';
	            nzero = nzero + 1;
	       }
	       else{
	      if (j >= 11){
	              ch1 = '';
	              nzero = nzero + 1;
	   }
	   else{
	     ch1 = '';
	     ch2 = str2.substr(i,1);
	     nzero = nzero + 1;
	   }
	          }
	  }
	   }
	 }
	    if (i == (j-11) || i == (j-3)){  //如果该位是亿位或元位，则必须写上
	        ch2 = str2.substr(i,1);
	    }
	    str5 = str5 + ch1 + ch2;
	    
	    if (i == j-1 && str3 == '0' ){   //最后一位（分）为0时，加上“整”
	      str5 = str5 + '整';
	    }
	  }
	  if (num == 0){
	    str5 = '零元整';
	  }
	  return str5;
	}
   
   
   //onblur=toUpperCase(this)   调用示例
   //转大写
   function toUpperCase(sid){ 
     sid.value = sid.value.toUpperCase();
   }   
   
//灰玻璃对话框
//str提示文本
    function lockScreen(str){
    fun=false;
    var selectTag=document.getElementsByTagName('select');
    for(var i=0;i<selectTag.length;i++){
        selectTag[i].style.display='none';
    }
    
    document.oncontextmenu= function(){event.returnValue=false;}
	var msgw,msgh,bordercolor;
	msgw=400;//提示窗口的宽度
	msgh=100;//提示窗口的高度
	titleheight=25 //提示窗口标题高度
	bordercolor="#336699";//提示窗口的边框颜色
	titlecolor="#fde5c7";//提示窗口的标题颜色
	
	var sWidth,sHeight;
	sWidth=document.body.scrollWidth;
	sHeight=document.body.scrollHeight;
	var bgObj=document.createElement("div");
	bgObj.setAttribute('id','bgDiv');
	bgObj.style.position="absolute";
	bgObj.style.top="0";
	bgObj.style.background="#efefef";
	bgObj.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75";
	bgObj.style.opacity="0.6";
	bgObj.style.left="0";
	bgObj.style.width=sWidth + "px";
	bgObj.style.height=sHeight + "px";
	bgObj.style.zIndex = "10000";
	document.body.appendChild(bgObj);
	
//	document.body.style.overflow="hidden";
	
	var msgObj=document.createElement("div")
	msgObj.setAttribute("id","msgDiv");
	msgObj.setAttribute("align","center");
	msgObj.style.background="white";
	msgObj.style.border="1px solid " + bordercolor;
   	msgObj.style.position = "absolute";
	msgObj.style.left = (document.body.clientWidth+150)/2; 
	msgObj.style.top = (document.body.scrollHeight)/4; 
    msgObj.style.font="12px/1.6em Verdana, Geneva, Arial, Helvetica, sans-serif";
    msgObj.style.marginLeft = "-225px" ;
    msgObj.style.marginTop = -65+document.documentElement.scrollTop+"px";
    msgObj.style.width = msgw + "px";
    msgObj.style.height =msgh + "px";			
    msgObj.style.textAlign = "left";
    msgObj.style.lineHeight ="150%";
    msgObj.style.zIndex = "10001";
	msgObj.style.padding = "0 0 20px 0";
   var title=document.createElement("h4");
   title.setAttribute("id","msgTitle");
   title.setAttribute("align","right");
   title.style.margin="0";
   title.style.padding="3px";
   title.style.background=bordercolor;
   title.style.filter="progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100);";
   title.style.opacity="0.75";
   title.style.border="1px solid " + bordercolor;
   title.style.height="18px";
   title.style.font="12px Verdana, Geneva, Arial, Helvetica, sans-serif";
   title.style.color="white";
   title.style.cursor="pointer";
   //title.innerHTML="关闭";
   title.title="关闭当前提示信息!";
   title.onclick=function alertclose(){
    	  //document.body.removeChild(bgObj);
          //document.getElementById("msgDiv").removeChild(title);
          //document.body.removeChild(msgObj);
		  if(fun == true){
		  	//window.close();
		  }
      };
   document.body.appendChild(msgObj);
   document.getElementById("msgDiv").appendChild(title);
   var txt=document.createElement("p");
   txt.style.margin="1em 0"
   txt.setAttribute("id","msgTxt");
   txt.style.padding="5px";
   txt.innerHTML=str;
   document.getElementById("msgDiv").appendChild(txt);
}



function NeatDialog(sHTML,fun,rtFn)
{
	var selectTag=document.getElementsByTagName('select');
    for(var i=0;i<selectTag.length;i++){
        selectTag[i].style.display='none';
    }
	var msgw,msgh,bordercolor;
	msgw=420;//提示窗口的宽度
	msgh=100;//提示窗口的高度
	titleheight=20; //提示窗口标题高度
	bordercolor="#336699";//提示窗口的边框颜色
	titlecolor="#fde5c7";//提示窗口的标题颜色
	
	var sWidth,sHeight;
	sWidth=document.body.clientWidth;
	sHeight=document.body.scrollHeight;
	
  window.neatDialog = null;
  this.elt = null;
  if (document.createElement  &&  document.getElementById)
  {
    var dg = document.createElement("div");
    dg.style.zIndex= "100004"; 
	dg.style.margin= "auto"; 
	dg.style.width= msgw; 
	dg.style.border= bordercolor+" 1px solid"; 
	dg.style.position= "relative"; 
	dg.style.top= "17%"; 
	if(document.body.scrollWidth>1024){ 
		dg.style.left= (window.screen.width-420)/2; 
	}else{
		dg.style.left= (document.body.scrollWidth-420)/2; 
	}
	dg.style.background= "#fff";
	
	//不能遮蔽下拉框
    sHTML = "<div id=\"nd-cancel\" title=\"关闭当前提示窗口\" style=\"padding-right: 3px;  background: "+
	"#336699; filter: progid:dximagetransform.microsoft.alpha(startx=20, starty=20, finishx=100, "+
	"finishy=100,style=1,opacity=75,finishopacity=100); padding-bottom: 3px; margin: 0px; "+
	"font: 12px verdana, geneva, arial, helvetica, sans-serif; cursor: pointer; color: white; "+
	"padding-top: 3px; height: "+titleheight+"; opacity: 0.75\"><span style=\"RIGHT: 0.2em; "+
	"POSITION: absolute; TOP: 0.2em\">关闭</span></div>\n<div style=\"padding:5px;\">"+sHTML+"</div>";
	
	//可以遮蔽下拉框
	//sHTML = "<iframe style=\"width:419px; height:"+sHeight+"px; top:0px;position:absolute;background-color:transparent;border:1px solid #369\" frameborder=\"0\" ></iframe>"+
    //         "<div id=\"nd-cancel\" title=\"关闭当前提示窗口\" style=\"padding-right: 3px;  background:#336699;"+
    //         "filter: progid:dximagetransform.microsoft.alpha(startx=20, starty=20, finishx=100, "+
	//         "finishy=100,style=1,opacity=75,finishopacity=100);width:420px; height:200px; position:absolute;"+
	//         "padding-bottom: 3px; margin: 0px; "+
	//         "font: 12px verdana, geneva, arial, helvetica, sans-serif; cursor: pointer; color: white; "+
	//         "padding-top: 3px; height: "+titleheight+"; opacity: 0.75;\"><span style=\"RIGHT: 0.2em; "+
	//         "POSITION: absolute; TOP: 0.2em\">关闭</span></div><br><div style=\"padding:5px; position:absolute;z-index:300000;\" >"+sHTML+"</div>";
    

    dg.innerHTML = sHTML;
    var dbg = document.createElement("div");
    dbg.id = "nd-bdg";
    dbg.style.zIndex = "100002"; 
	dbg.style.filter= "alpha(opacity=70)"; 
	dbg.style.left= "0px"; 
	dbg.style.position= "absolute"; 
	dbg.style.top= "0px"; 
	dbg.style.width= sWidth+"px"; 
	dbg.style.height= sHeight+"px";
	dbg.style.background= "#eee"; 
	dbg.style.opacity= "0.7";
	
    var dgc = document.createElement("div");
    dgc.style.zIndex= "100003"; 
	dgc.style.background= "none transparent scroll repeat 0% 0%"; 
	dgc.style.left= "0px"; 
	dgc.style.width= "100%"; 
	dgc.style.height= "100%";
	dgc.style.position= "absolute"; 
	dgc.style.top= "0px"; 
	
    dgc.appendChild(dbg);
    dgc.appendChild(dg);
    if (document.body.offsetLeft > 0)
      dgc.style.marginLeft = document.body.offsetLeft + "px";
    document.body.appendChild(dgc);
	
    document.getElementById("nd-cancel").onclick = function()
    {
	    for(var i=0;i<selectTag.length;i++){
	        selectTag[i].style.display='';
	    }
	    window.neatDialog.close();
	    if(undefined != rtFn){
	    	rtFn();
	    }
		if(fun == true){
		 	window.close();
		}
    };
    this.elt = dgc;
    window.neatDialog = this;
  }
}
NeatDialog.prototype.close = function()
{
  if (this.elt)
  {
    this.elt.style.display = "none";
    this.elt.parentNode.removeChild(this.elt);
  }
  window.neatDialog = null;
}
/*
*searchParam:数据对应的字段
*searchValue:字段对应的值
*tablename:表名
*otherWhere:其他查询条件例如:id='9000' and name='章磊'
*orderBy:要排序的字段，多个可以
*rtFn:成功后调用的函数
*/
function commanTag(searchParam,searchValue,tablename,otherWhere,orderBy,rtFn){
	var param="1=1";
	if(searchParam!=null){
		param=param+"&searchParam="+searchParam;
	}
	if(searchValue!=null){
		param=param+"&searchValue="+searchValue;
	}
	if(tablename!=null){
		param=param+"&tablename="+tablename;
	}
	if(otherWhere!=null){
		param=param+"&otherWhere="+otherWhere;
	}
	if(orderBy!=null){
		param=param+"&orderBy="+orderBy;
	}
	param = param + "&date=" +new Date();
	var myAjax = new Ajax.Request(
			'/tag/jstag.shtml',
			{
				method: 'post',
				requestHeaders:{Accept:'application/html'},
				parameters: param,
				onComplete: rtFn
			}
	);
}
/*
*p_value,需要处理的值
*p_compid,根据这个公司的设置处理p_value
*rtn回调函数
**/
function f_round(p_value,p_compid,rtn_r){
	var rrtn=function(transport){
		var json =  eval("("+transport.responseText+")"); 
		var f=0;
		
	  	if(json.success == null ){
	  	    if(json.total > 0){
			  	f = json.rows[0].F;
	  	    }
	  	}else{
	  		f=0;
	  	}
		rtn_r(f);
	}
	commanTag(null,null,"(select pkg_common.f_round("+p_value+",'"+p_compid+"') F from dual)",null,null,rrtn);
}
/*
从address.js中的hotel获得获得城市中文名 ，address.js 是工程启动时生成的。
*/
function getCity(szm,type){
  try{
	var city$__=hotel.split("@");
	for(var i=0;i<city$__.length;i++){
		var city=city$__[i].split("|");
		if(city[2]==szm && !isBlank(city[2])){
			if(type=='1'){
				return city[0]+city[1];
			}else if(type=='2'){
				return city[1];
			}else{
				return city[0]+city[1];
			}
		}
	}
	return "";
  }catch(e){}
	return "";
}

/*
中的lycity获得获得旅游城市中文名
*/
function getCity_ly(szm,type){
  try{
	var city$__=lycity.split("@");
	for(var i=0;i<city$__.length;i++){
		var city=city$__[i].split("|");
		if(city[2]==szm && !isBlank(city[2])){
			if(type=='1'){
				return city[0]+city[1];
			}else if(type=='2'){
				return city[1];
			}else{
				return city[0]+city[1];
			}
		}
	}
	return "";
  }catch(e){}
	return "";
}

function getCity_gj(szm,type){
try{
	var city$__=fltInternational.split("@");
	for(var i=0;i<city$__.length;i++){
		var city=city$__[i].split("|");
		if(city[2]==szm && !isBlank(city[2])){
			if(type=='1'){
				return city[0]+city[1];
			}else if(type=='2'){
				return city[1];
			}else{
				return city[0]+city[1];
			}
		}
	}
	return "";
}catch(e){}
	return "";
}
/*
从hkgs.js中的Qhkgs获得获得城市中文名 ，hkgs.js 是工程启动时生成的。
*/
function getHkgs(ezdh,type){
try{
	var _hkgs$__=_hkgs.split("@");
	
	for(var i=0;i<_hkgs$__.length;i++){
		var _hkgs_p=_hkgs$__[i].split("|");
		if(_hkgs_p[2]==ezdh){
			if(type=='1'){
				return _hkgs_p[0];
			}else if(type=='2'){
				return _hkgs_p[1];
			}else{
				return _hkgs_p[0];
			}
		}
	}
}catch(e){}
	return "";
}

/**
* 分销弹出框选择常旅客
*/
function getcjrinfo(fxbh,count,cjrlx,hkgs,hkgs1){
		 var hyid = window.showModalDialog("/b2b/ydzx/zwyd/select_member_clk.jsp?fxbh="+fxbh+"&number="+count+"&cjrlx="+cjrlx+"&qhkgs="+hkgs+"&hhkgs="+hkgs1,window,"dialogWidth:650px; dialogHeight:600px; directories:no; localtion:no; menubar:no; status:no; toolbar:no; scrollbars:no; resizeable:no;",window);
}

/*
 * 传入会员卡号shykh 和 Ajax回调函数名showResponse 直接查找会员并把返回结果按传入回调函数执行
 * param参数格式：{psdz:'1'} psdz 1为取会员常用配送地址
 */
function setHykh(shykh,showResponse,param){
	if(!param){
		param = new Object();
	}
	if(!param.psdz){
		param.psdz = "";
	}
    if(!param.hylx){
   	  param.hylx = "";
    }
	if(!isBlank(shykh)){
		new Ajax.Request(
			'/kh_khdd_edit_hy_select.shtml?randtime='+new Date(),
			{
				method: 'get',
				requestHeaders:{Accept:'application/json'},
				parameters: {shykh:strTrim(shykh),psdz:param.psdz,hylx:param.hylx},
				asynchronous:false,
				onComplete: showResponse
			}
		);
	}else{
		showResponse();
	}
}

//传入会员ID hyid 和 Ajax回调函数名showResponse 直接查找会员并把返回结果按传入回调函数执行,为了防止ajax缓冲加上随机时间
//param参数格式：{psdz:'1'} psdz为1时，取会员的20条常用配送地址
function setHyid(shyid,showResponse,param){
	if(!param){
		param = new Object()
	}
	if(!param.psdz){
		param.psdz = "";
	}
    if(!param.hylx){
   	  param.hylx = "";
    }
   if(shyid!=""){
		new Ajax.Request('/checkmember.shtml?hteam=hyid&randtime='+new Date(),{
				method: 'get',
				requestHeaders:{Accept:'application/json'},
				parameters: {hyid:shyid,psdz:param.psdz,hylx:param.hylx},
				onComplete: showResponse
			}
		);
	}
}
//会员弹出选择框 param参数格式：{psdz:'1',hylx:'E'} psdz为1时，取会员的20条常用配送地址，hylx是弹出页面的筛选条件
function selecthy(selectback,param){
   if(!param){
   	param = new Object();
   }
   if(!param.psdz){
   	  param.psdz = "";
   }
   if(!param.hylx){
   	  param.hylx = "";
   }
   var hyid = window.showModalDialog("/asms/member/select_member.jsp?hylx="+param.hylx,"","dialogWidth:650px; dialogHeight:600px; directories:no; localtion:no; menubar:no; status:no; toolbar:no; scrollbars:no; resizeable:no;");
   if(hyid!=null&&hyid!=""){
   	 setHyid(hyid,selectback,param);
   }
}
//传入部门bh获得部门json对象并回调方法。
function setVedept(deptbh,showResponse,param){
	if(!param){
		param = new Object()
	}
	if(deptbh!=""){
		new Ajax.Request('/asms/sysmanage/ve_yhb_add_dept.shtml?ditem=bh&randtime='+new Date(),{
				method: 'get',
				requestHeaders:{Accept:'application/json'},
				parameters: {bh:deptbh},
				onComplete: showResponse
			}
		);
	}
}
//分销商  合作单位 弹出选择 param参数格式:{lx:'105502'}105502分销商 105503合作单位
function selectDept(selectback,param){
  if(!param){
   	param = new Object();
   }
   if(!param.lx){
   	  param.lx = "105502";
   }
   var deptbh = window.showModalDialog("/asms/sysmanage/ve_dept_select_list.shtml?count=10&lx="+param.lx,"dept","dialogWidth:680px; dialogHeight:600px; directories:no; localtion:no; menubar:no; status:no; toolbar:no; scrollbars:no; resizeable:no;");
   if(deptbh!=null&&deptbh!=""){
   	 setVedept(deptbh,selectback,param);
   }

}

//通过公司编号获得公司对象
function setVecomp(bh_,showResponse){
   if(bh_!=""){
    new Ajax.Request("/asms/sysmanage/ve_comp_add_checkbh.shtml?method=checkBh&datern="+new Date(),
	{
		method: 'get',
		requestHeaders:{Accept:'application/json'},
		parameters: {bh:bh_},
		onComplete: showResponse
	}
   );
  }
}

//设置模块中的报表列是否显示  参数:模块号，报表号，所有列汉字
function Dtshow(mkbh,bbh,alltitle){ 
    var url = "/asms/sysmanage/report_list_edit.shtml?method=reportlistedit&mkbh="+mkbh+"&bbh="+bbh+"&randdate="+new Date();
    window.showModalDialog(url,alltitle,"dialogWidth:700px; dialogHeight:600px; directories:no; localtion:no; menubar:no; status:no; toolbar:no; scrollbars:no; resizeable:no;");
}

// 根据订单编号 ，查询机票信息列表
 function showTicket(ddbh){
  	var url = "/webcontent/ticket/ydzx/ticket_list.shtml?showType=findTicket&ddbh="+ddbh ;
  	window.open(url,"","height=400,width=800,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes");
  }
  
  	//外乎 号码 nxwx 为nx 表示坐席号，wx表示外部号码
function calltel(tel,nxwx){
	if(nxwx==undefined){
		nxwx = "wx";
	}
	window.showModalDialog("/asms/callcenter/callcenterCall.jsp?date="+new Date()+"&phoneNo="+tel+"&isnxwx="+nxwx,window,"dialogWidth:380px;dialogHeight:140px");
}	

	//传入处理值，精确位数，舍入的数值，进行几舍几入
	function vefixed(value,median,num){
		if(isBlank(value.toString()) || isNaN(value)){
			return 0;
		}
		if(isBlank(median.toString()) || isNaN(median)){
			median = 2;
		}else{
			median = strTrim(median);
		}
		if(isBlank(num.toString()) || isNaN(num)){
			num = 4;
		}else{
			num = strTrim(num);
		}
		value = strTrim(value.toFixed(5));
		var point =value.toString().indexOf(".");
		if(point > -1){
			var xsd = value.toString().split(".");
			var return_s = 0;
			var zs = xsd[0];
			var xs = xsd[1];
			if(xs.length >= parseInt(median)){//判断小数位数大于精确位数，进入计算
				if(median == 0){//如果精确位数为0，保留整数
					if(parseInt(xs.substring(0,1)) > parseInt(num)){
						return parseInt(zs)+1;
					}else{
						return zs;
					}
				}else{
				
					if(parseInt(xs.substring(parseInt(median),parseInt(median)+1)) > parseInt(num)){
						xs = parseInt(xs.substring(0,parseInt(median)))+1;
						return zs + "." + xs;
					}else{
						return zs + "." + xs.substring(0,parseInt(median));
					}
				}
				
			}else{
				return value;
			}
		}else{
			return value;
		}
	}
	
/*
示例：下面的示例演示了如何判断文件是否已经被加载，以及如何动态加载文件。
<html>
<body>
	<script language="javascript" type="text/javascript" src="DynamicLoad.js"></script>
	<script language="javascript" type="text/javascript">
	<!--
	var dl=new DynamicLoad();				//初始化DynamicLoad对象
	alert(dl.IsLoaded("DynamicLoad.js"));	//判断是否已经加载了文件DynamicLoad.js
	dl.Load("HttpCookie.js");				//加载HttpCookie.js
	alert(dl.IsLoaded("HttpCookie.js"));	//判断是否已经加载了文件HttpCookie.js。加载需要时间，一般情况下这里返回false；如果过一小段时间再判断，很可能返回true。
	//-->
	</script>
</body>
</html>
*/
function DynamicLoad()
{
	//属性
	var Self=this;						//对象自身
	
	//功能：加载指定的文件
	//参数：src——需要被加载的文件
	//返回：（无）
	this.Load=function(src)
	{
		if(Self.IsLoaded(src))				//判断该文件是否已经加载了
		{
			Self.OnLoaded(src);
			return;
		}
		else							//如果没有加载，动态创建
		{
			var objDynamic;				//动态创建的对象
			var type=Self.GetSrcType(src);	//文件类型
			if(type=="js" || type=="vbs")
			{
				objDynamic=document.createElement("script");
				objDynamic.src=src;
				if(type=="js")
				{
					objDynamic.type="text/javascript";
					objDynamic.language="javascript";
				}
				else
				{
					objDynamic.type="text/vbscript";
					objDynamic.language="vbscript";
				}
			}
			else if(type=="css")
			{
				objDynamic=document.createElement("link");
				objDynamic.rel="stylesheet";
				objDynamic.type="text/css";
				objDynamic.href=src;
			}
			else
			{
				Self.OnFailed(src);
				return;
			}
			document.getElementsByTagName("head")[0].appendChild(objDynamic);	//将创建的对象插入到HEAD节中
			objDynamic.onload=objDynamic.onreadystatechange=function()			//加载过程中状态改变引发的事件
			{   
				//在此函数中this指针指的是s结点对象，而不是JsLoader实例，   
				//所以必须用self来调用onsuccess事件，下同。
				if(this.readyState && this.readyState=="loading")
					return;
				else
				  Self.OnLoaded(src);
			};
			objDynamic.onerror=function()												//加载过程中发生错误引发的事件
			{
				document.getElementsByTagName("head")[0].removeChild(objDynamic);
				Self.OnFailed(src);
			};
		}
	};
	
	//功能：判断是否已经加载了某文件
	//参数：src——需要被检查的文件
	//返回：返回是否已经加载了该文件
	this.IsLoaded=function(src)
	{
		var isLoaded=false;			//假设没有加载
		var type=Self.GetSrcType(src);	//得到文件的类型
		var i;						//用于循环的索引
		if(type=="js" || type=="vbs")
		{
			var scripts=document.getElementsByTagName("script");	//得到所有的脚本对象集合
			for(i=0;i<scripts.length;i++)							//依次判断每个script对象
			{
				if(scripts[i].src && scripts[i].src.indexOf(src)!=-1)
				{
					if(scripts[i].readyState=="loaded" || scripts[i].readyState=="complete")
					{
						isLoaded=true;
						break;
					}
				}
			}
		}
		else if(type=="css")
		{
			var links=document.getElementsByTagName("link");		//得到所有的link对象集合
			for(i=0;i<links.length;i++)								//依次判断每个link对象
			{
				if(links[i].href && links[i].href.indexOf(src)!=-1)
				{
					if(links[i].readyState=="loaded" || links[i].readyState=="complete" || links[i].readyState=="interactive")
					{
						isLoaded=true;
						break;
					}
				}
			}
		}
		return isLoaded;
	};
	
	//功能：得到文件的类型（即扩展名）
	//参数：src——文件名
	//返回：返回文件的类型
	this.GetSrcType=function(src)
	{
		var type="";
		var lastIndex=src.lastIndexOf(".");
		if(lastIndex!=-1)
		{
			type=src.substr(lastIndex+1);
		}
		return type;
	};
	
	//功能：当文件加载完成时发生的事件
	//参数：src——加载完成的文件
	//返回：（无）
	this.OnLoaded=function(src)
	{
		Self.LoadedCallback(src);
	};
	
	//功能：文件加载完成时执行的回调函数
	//参数：src——加载完的文件
	//返回：（无）
	this.LoadedCallback=function(src){};
	
	//功能：当文件加载过程中发生错误时发生的事件
	//参数：src——正在加载的文件
	//返回：（无）
	this.OnFailed=function(src)
	{
		Self.FailedCallback(src);
	};
	
	//功能：当文件加载失败时执行的回调函数
	//参数：src——加载失败的文件
	//返回：（无）
	this.FailedCallback=function(src){};
}

//替代系统的toFixed方法，因为系统toFixed()方法有bug
Number.prototype.toFixed = function(d){ 
        var s=this+"";if(!d)d=0; 
        if(s.indexOf(".")==-1)s+=".";s+=new Array(d+1).join("0"); 
        if (new RegExp("^(-|\\+)?(\\d+(\\.\\d{0,"+ (d+1) +"})?)\\d*$").test(s)) 
        { 
            var s="0"+ RegExp.$2, pm=RegExp.$1, a=RegExp.$3.length, b=true; 
            if (a==d+2){a=s.match(/\d/g); if (parseInt(a[a.length-1])>4) 
            { 
                for(var i=a.length-2; i>=0; i--) {a[i] = parseInt(a[i])+1; 
                if(a[i]==10){a[i]=0; b=i!=1;} else break;} 
            } 
            s=a.join("").replace(new RegExp("(\\d+)(\\d{"+d+"})\\d$"),"$1.$2"); 
        }if(b)s=s.substr(1);return (pm+s).replace(/\.$/, "");} return this+""; 
}
/**
 根据传入的汉字返回首字母和全拼用###分割开 调用了ajax  callback是页面定义的一个回调函数  第一个参数是首字母 第二个是全拼
*/
function speel(hz,callback){
	var speelurl = "/init/kz_json.shtml?mothed=spell&hz="+encodeURIComponent(hz);
	new Ajax.Request(speelurl, {
	  method: 'get',
	  onSuccess: function(transport) {
	    var notice =transport.responseText.split("###");
	    if(notice.length==2){
	    	callback(notice[0],notice[1]);
	    }
	  }
	});
}

/*页面上添加浮动DIV*/
function addDiv(divid,w,h,close){
  	if(close == "1"){
  		var obj1 = document.getElementById(divid);
  		var obj2 = document.getElementById("locked");
  		obj1.parentNode.removeChild(obj1);
  		obj2.parentNode.removeChild(obj2);
  		try{autoRef = window.setTimeout("ref()",1000*60);}catch(e){}
  		return;
  	}
  	try{window.clearTimeout(autoRef);}catch(e){}
  	var sw = document.body.clientWidth;
	var qh = document.body.scrollHeight; //网页全文高 锁屏时用到
	var qw = document.body.scrollWidth;  //网页全文宽 锁屏时用到
	var htop = document.body.scrollTop; //滑动条滑动的高度
	var myObj = document.createElement("iframe");
	myObj.setAttribute("id","locked");
	myObj.setAttribute("src","");
	myObj.setAttribute("frameborder","0");
	myObj.style.position = "absolute";
	myObj.style.zIndex= "1";
	myObj.style.top= "0px";
	myObj.style.left= "0px";
	myObj.style.width = qw + "px";
	myObj.style.height = qh + "px";
	myObj.style.background = "transparent";
	myObj.style.filter = "alpha(opacity=50)";
	myObj.style.opacity = "0.5";

	document.body.appendChild(myObj);
	
	myObj = document.createElement("div");
	myObj.setAttribute("id",divid);
	myObj.style.position = "absolute";
	myObj.style.zIndex= "2";
	myObj.style.top= (htop+50) + "px";
	myObj.style.left= (sw-w)/2 + "px";
	myObj.style.width = w + "px";
	myObj.style.height = h + "px";
	myObj.style.padding = "5px 5px";
	myObj.style.border = "1px solid #ffb900";
	myObj.style.background = "#ffffe7";
	var shtml = "<div style='text-align:right' onclick='addDiv(\""+divid+"\",null,null,1)'><img src=\"/images/closex.gif\" style='height:10px;cursor: pointer;' /></div>"
	myObj.innerHTML = shtml;
	
	document.body.appendChild(myObj);
	document.getElementById(divid).focus();
}

/* 对象比较 */
function equalObject(obj1,obj2){
	if(obj1 == obj2){
		return true;
	}
	if(obj1 == undefined || obj1 == null || typeof(obj1) != "object" || obj2 == undefined || obj2 == null || typeof(obj2) != "object"){
		return false;
	}
	var l1 = 0;
	var l2 = 0;
	for(var i in obj1){
		l1++;
	}
	for(var i in obj2){
		l2++;
	}
	if(l1 != l2){
		return false;
	}
	if(obj1.constructor == obj2.constructor){
		for(var i in obj1){
			if(typeof(obj1[i]) == "object"){
				if(!equalObject(obj1[i],obj2[i])){
					return false;
				}
			}else if(obj1[i] != obj2[i]){
				return false;
			}
		}
		return true;
	}
	return false;
}

/* Ajax提交 */
function submitAjax(url,param,showResponse){
	new Ajax.Request(url,{
		method: 'post',
		requestHeaders:{Accept:'application/json'},
		parameters: param,
		onComplete: showResponse
	});
}

/*AJAX局部更新*/
function updateAjax(obj,url,param,showResponse){
	new Ajax.Updater(obj, url,{
		method: 'post',
		evalScripts: true,
		parameters: param,
		onComplete:showResponse
	});
}
//合并display的表头
function mergeTable(tableid,mergeobj){
   //mergeobj = [{col:'2,3,4,5',title:'合并'},{col:'6,7,8,9,10',title:'合并2'}];
   tableid=$(tableid);
   if(tableid&&tableid.rows.length>0){
	   var iColumns = tableid.rows[0].cells.length;
	   var start=0;
	   var th="";
	   var delcell="";
	   for(var i=0;i<mergeobj.length;i++){
	   	  hbcol = mergeobj[i].col;
	   	  if(hbcol!=""){
		   	  hbtitle = mergeobj[i].title;
		   	  stcol = hbcol.split(",")[0];
		   	  colcount = hbcol.split(",").length;
		   	  for(;start<stcol;start++){
		   	  	th=th+"<th rowspan=2>"+tableid.rows[0].cells[start].innerHTML+"</th>";
		   	  	delcell+=start+",";
		   	  }
		   	  th=th+"<th colspan="+colcount+">"+hbtitle+"</th>";
		   	  start+=colcount;
	   	  }
	   }
	   for(;start<iColumns;start++){
	   	  	th=th+"<th rowspan=2>"+tableid.rows[0].cells[start].innerHTML+"</th>";
	   	  	delcell+=start+",";
	   }
	    var tr = "<tr>"+th+"</tr>";
	    //删除cell
	    var delcell_ = delcell.split(",");
	    for(var i=delcell_.length -1 ;i>=0;i--){
	    	if(delcell_[i]!=""){
	    		tableid.rows[0].cells[delcell_[i]].removeNode();
	    	}
	    }
  		new Insertion.Before(tableid.getElementsByTagName("tr")[0], tr); 
   }
}
//display当有隐藏列的时候，合计也隐藏
function mooop(tableid,delc){
    tableid=$(tableid);
    if(!tableid||!tableid.tFoot){
    	return ;
    }
	var foottds = tableid.tFoot.childNodes[0].childNodes;
	var delcs = delc.split(",");
	for(var di = delcs.length - 1; di>=0; di--){
	    if(delcs[di]==""){
	    	continue;
	    }
	    var dn = parseInt(delcs[di]);
	    var cu=0;
		for(var i=0;i<foottds.length;i++){
			var tdo = foottds[i];
			if(parseInt(tdo.colSpan)>0){
				cu+=parseInt(tdo.colSpan);
			}else{
				cu++;
			}
		   if(cu>dn){
		   	  cu = i;
		      break;
		   }
		}
		if(cu<foottds.length){
			var movetd = foottds[cu];
			if(parseInt(movetd.colSpan)>1){
				movetd.colSpan = parseInt(movetd.colSpan)-1;
			}else{
				$(movetd).style.display='none';
			}
	  }
	}
}
/* 
 * 配合 vfn:zkfxSelect 标签，实现页面客户类型的联动 
 * textId  - 文件插入位置的id  "kh1"
 * inputId - 控件插入位置的id  "kh2"
 * inputName - 页面生成输入框名称和ID  "khmc"
 * defauleNameVlaue - 输入框默认值
 * hiddenName - 页面生成隐藏域name和id  "khid"
 * defaultHiddenValue - 隐藏域默认值
 * className - 样式    "input1"
 * width - 页面生成输入框宽度  "130"
 */
var inputName;
var hiddenName;
function changeZkfx(zkfx,params){
	if(!params){
		params = new Object();
	}
	if(!params.textId){
		params.textId = "kh1";
	}
	if(!params.inputId){
		params.inputId = "kh2";
	}
	if(!params.inputName){
		params.inputName = "khmc";
	}
	if(!params.defaultNameVlaue){
		params.defaultNameVlaue = "";
	}
	if(!params.hiddenName){
		params.hiddenName = "khid";
	}
	if(!params.defaultHiddenValue){
		params.defaultHiddenValue = "";
	}
	if(!params.className){
		params.className = "input1";
	}
	if(!params.width){
		params.width = "130";
	}
	if(!params.callback){
	   	params.callback = "";
	}
	inputName = params.inputName;
	hiddenName = params.hiddenName;
	var input;
	
	if(zkfx == "0"){
		//自有
		params.width = parseInt(params.width) - 10;
		document.getElementById(params.textId).innerHTML = "会员卡号";
		input = "<input type=\"text\" id=\""+params.inputName+"\" name=\""+params.inputName+"\"  value=\""+params.defaultNameVlaue+"\" style=\"width:"+params.width+"px;\" onchange=\"setHykh(this.value,memberFunction)\" class=\""+params.className+" UpperCase\" >";
		input = input + "<input type=\"hidden\" id=\""+params.hiddenName+"\" name=\""+params.hiddenName+"\" value=\""+params.defaultHiddenValue+"\" >";
		input = input + "<img src=\"/asms/images/member-s.gif\" onclick=\"selecthy(memberFunction)\" style=\"cursor: pointer;\">";
		document.getElementById(params.inputId).innerHTML = input;
	}else if(zkfx == "1"){
		//分销
		document.getElementById(params.textId).innerHTML = "分销商";
		input = "<input type=\"text\" id=\""+params.inputName+"\" name=\""+params.inputName+"\"  value=\""+params.defaultNameVlaue+"\" style=\"width:"+params.width+"px;\" class=\""+params.className+"\" onclick=\"getDeptList(this,{qx:'1',lx:'105502'})\" onkeyup=\"getDeptList(this,{qx:'1',lx:'105502'})\" value_to_input=\""+hiddenName+"\" callback=\""+params.callback+"\">";
		input = input + "<input type=\"hidden\" id=\""+params.hiddenName+"\" name=\""+params.hiddenName+"\" value=\""+params.defaultHiddenValue+"\" >";
		document.getElementById(params.inputId).innerHTML = input;
	}else if(zkfx == "3"){
		//外入
		document.getElementById(params.textId).innerHTML = "外入单位";
		input = "<input type=\"text\" id=\""+params.inputName+"\" name=\""+params.inputName+"\"  value=\""+params.defaultNameVlaue+"\" style=\"width:"+params.width+"px;\" class=\""+params.className+"\" onclick=\"getDeptList(this,{qx:'1',lx:'105503'})\" onkeyup=\"getDeptList(this,{qx:'1',lx:'105503'})\" value_to_input=\""+hiddenName+"\" callback=\""+params.callback+"\">";
		input = input + "<input type=\"hidden\" id=\""+params.hiddenName+"\" name=\""+params.hiddenName+"\" value=\""+params.defaultHiddenValue+"\" >";
		document.getElementById(params.inputId).innerHTML = input;
	}else if(zkfx == "4"){
		//外派
		document.getElementById(params.textId).innerHTML = "外派单位";
		input = "<input type=\"text\" id=\""+params.inputName+"\" name=\""+params.inputName+"\"  value=\""+params.defaultNameVlaue+"\" style=\"width:"+params.width+"px;\" class=\""+params.className+"\" onclick=\"getDeptList(this,{qx:'1',lx:'105504'})\" onkeyup=\"getDeptList(this,{qx:'1',lx:'105504'})\" value_to_input=\""+hiddenName+"\">";
		input = input + "<input type=\"hidden\" id=\""+params.hiddenName+"\" name=\""+params.hiddenName+"\" value=\""+params.defaultHiddenValue+"\" >";
		document.getElementById(params.inputId).innerHTML = input;
	}else{
		document.getElementById(params.textId).innerHTML = "";
		document.getElementById(params.inputId).innerHTML = "";
	}
}


/* 配合 vfn:zkfxSelect 标签，实现页面客户类型的联动中会员选择的回调 */
function memberFunction(transport){
	if(transport){
		var json = eval("("+transport.responseText+")"); 
		var rows=json.rows;
		if(!rows[0].HYKH){
			document.getElementById(inputName).value = "";
			document.getElementById(hiddenName).value = "";
		}else{
			document.getElementById(inputName).value = rows[0].HYKH;
			document.getElementById(hiddenName).value = rows[0].HYID;
		}
	}else{
		document.getElementById(inputName).value = "";
		document.getElementById(hiddenName).value = "";
	}
}

//取得某对象的坐标位置、宽、高
function getPosition(obj){
	var top=0;
	var left=0;
	var width=obj.offsetWidth;
	var height=obj.offsetHeight;
	while(obj.offsetParent){
	    top+=obj.offsetTop;
	    left+=obj.offsetLeft;
	    obj=obj.offsetParent;
	}
	return{"top":top,"left":left,"width":width,"height":height};
}

//给某对象的某事件增加处理函数AddFunToObj(document,"onclick","alert('1');")
function AddFunToObj(fctObj,fctAct,fctFunction){
	if(fctObj.addEventListener){ //!IE
	    fctObj.addEventListener(fctAct.replace("on",""),function(e){
	            e.cancelBubble=!eval(fctFunction);
	    },false);
	}else if(fctObj.attachEvent){ //IE
	    fctObj.attachEvent(fctAct,function(){
	            return eval(fctFunction);
	    });
	}
	
}
/**
找到最上层
**/
function getTopWindowObject(o){
	var tmp=o.opener;
	if(!tmp){
		return o;
	}
	return getTopWindowObject(tmp);
}
//订单详页面点击转黑屏处理
function toHp(command){
	try{
	//getTopWindowObject(self).top.contentWindow.document.getElementById("top").contentWindow.setHp();
	getTopWindowObject(self).top.setHp();
	if(getTopWindowObject(self).top.setHpCode(command)==-1){
		alert("对不起修改PNR内容失败原因如下：\n在此之前黑屏从来没有开启过请先在ASMS3000中切换到黑屏 \n 如果此时已经切换到黑屏请再试一次。")
		return;
	}
	}catch(e){
		alert("对不起，转黑屏页面失败。点击确定重试。");
		//toHp(command);
		 
	}
}

function ieOrFireFox(ob){
    if (ob.textContent != null)   
   		 return ob.textContent;   
    var s = ob.innerText;   
    return s.substring(0, s.length);   
}   
  
//排序 tableId: 表的id,iCol:第几列(从0开始计数) ；dataType：iCol对应的列显示数据的数据类型    desc:0 从大到小 1 从小到大
function sortAble(tableId, iCol, dataType, Desc){
    var table = document.getElementById(tableId);
    var tbody = table.tBodies[0];
    var colRows = tbody.rows;
    var aTrs = new Array;
     //将将得到的列放入数组，备用   
    for (var i=0; i < colRows.length; i++){
        aTrs[i] = colRows[i];
    }
    //判断上一次排列的列和现在需要排列的是否同一个。   
    if (table.sortCol == iCol && table.rowLength==colRows.length && (!Desc||(Desc!='0'&&Desc!='1')) ) {
        aTrs.reverse();
    } else {
        //如果不是同一列，使用数组的sort方法，传进排序函数
        aTrs.sort(compareEle(iCol, dataType));
        if(Desc==1){
         	aTrs.reverse();
        }
    }
    var oFragment = document.createDocumentFragment();
    for (var i=0; i < aTrs.length; i++) {
        oFragment.appendChild(aTrs[i]);
    }
    tbody.appendChild(oFragment);
    //记录最后一次排序的列索引   
    table.sortCol = iCol;
    table.rowLength = colRows.length;
}   
//将列的类型转化成相应的可以排列的数据类型
function convert(sValue, dataType) {
    switch(dataType) {
    case "int":   
        return parseInt(sValue);
    case "float":
        return parseFloat(sValue);
    case "date":
        return new Date(Date.parse(sValue));
    default:
        return sValue.toString();
    }
}
//排序函数，iCol表示列索引，dataType表示该列的数据类型   
function compareEle(iCol, dataType) {
    return  function (oTR1, oTR2) {
        var vValue1 = convert(ieOrFireFox(oTR1.cells[iCol]), dataType);
        var vValue2 = convert(ieOrFireFox(oTR2.cells[iCol]), dataType);
        if (vValue1 < vValue2) {
           	return -1;
        } else if (vValue1 > vValue2) {
           	return 1;
        } else {
            return 0;
        }
       };
}

//数字转换中文数字(只支持三位数)
function numToChinese(num){
	if(isNaN(num) || parseInt(num) < 0){
		return "";
	}
	num = parseInt(num).toString();
	var numStr = [["0","零"],["1","一"],["2","二"],["3", "三"],["4","四"],["5","五"],["6","六"],["7","七"],["8","八"],["9","九"]];
	var len = num.length;
	if(len == 1){
		for(var i=0;i<numStr.length;i++){
			if(numStr[i][0] == num){
				return numStr[i][1];
			}
		}
	}else{
		if(num == "10"){
			return "十";
		}else if(num == "100"){
			return "一百";
		}
		var strNum = "";
		for(var i=0;i<len;i++){
			if(i == 0){
				strNum = numToChinese(num.substring(len-1-i,len-i));
			}else if(i == 1){
				var one = num.substring(len-1-i,len-i);
				if(one == "0"){
					strNum = numToChinese(num.substring(len-1-i,len-i)) + strNum;
				}else{
					strNum = numToChinese(num.substring(len-1-i,len-i)) + "十" + strNum;
				}
			}else if(i == 2){
				strNum = numToChinese(num.substring(len-1-i,len-i)) + "百" + strNum;
			}else if(i == 3){
				strNum = numToChinese(num.substring(len-1-i,len-i)) + "千" + strNum;
			}
		}
		len = strNum.length;
		if(strNum.substring(len,len-1) == "零"){
			return strNum.substring(0,len-1);
		}
		return strNum;
	}
}

//取城市信息（所在洲/国家/省份）可配合城市控件使用
function getCityInfo(csbh,showResponse){
	var cityJson;
	new Ajax.Request("/cityInfo.shtml",{
		method: 'post',
		requestHeaders:{Accept:'application/json'},
		parameters: {p:'getCityInfo',csbh:csbh},
		asynchronous:false,
		onComplete: function(transport){
			cityJson = eval("(" + transport.responseText + ")");
			
		}
	});
	return cityJson;
}

//关键字高亮显示 
//输入参数 qwss需要检索的字符串 支持 “武汉 古镇”，“武汉 - 古镇” 输入方式 
//colors 为需要变的颜色 格式为'ff0000'
function glshow(qwss,colors){
	var keys =[];
	if(!isBlank(qwss)){
		var sv = "";
		var tmp = "";
		if(qwss.indexOf("-")>-1){ 
			var reg=/\s+/g;
	 		sv = strTrim(qwss.split("-")[0]);
	 		sv = sv.replace(reg,"-");
			tmp = sv.split("-");
			for(var i=0;i<tmp.length;i++){
				keys[i] = [tmp[i],colors];
				//这是第二种搞法 直接在需要高亮的字段上面加样式，不过这样不灵活
				//key = new RegExp("("+tmp[i]+")", "gi");
				//tmp[i] = (文章)
				//document.getElementById("detaildiv"+divid).innerHTML = document.getElementById("detaildiv"+divid).innerHTML.replace(key,"<font color=red>"+tmp[i]+"</font>");
			}
		}else{
			var reg=/\s+/g;
	 		sv = strTrim(qwss);
	 		sv = sv.replace(reg,"-");
			tmp = sv.split("-");
			for(var i=0;i<tmp.length;i++){
				keys[i] = [tmp[i],colors];
				//key = new RegExp("("+tmp[i]+")", "gi");
				//document.getElementById("detaildiv"+divid).innerHTML = document.getElementById("detaildiv"+divid).innerHTML.replace(key,"<font color=red>"+tmp[i]+"</font>");
			}
		}
		var bookmark;
		if(document.createRange){
			var range = document.createRange();
		}else{
			var range = document.body.createTextRange();
			bookmark = range.getBookmark();
		}
		var key;
		for(var i = 0;key = keys[i];i++){
			if(range.findText){
				//true表示光标移动到开头  false表示光标移动到尾
				range.collapse(true);
				range.moveToBookmark(bookmark);
				//range.findText(sText) 在Range中查找sText  
				while(range.findText(key[0])){
					//range.pasteHTML(range.text.fontcolor(key[1]));
					var oHtml = '<span style="background-color: red;">'+range.text+'</span>';
					range.pasteHTML(oHtml);
				}
			}else{
				var s,n;
				s = window.getSelection();
				s.collapse(document.body,0);
				while(window.find(key[0])){
					var n = document.createElement("SPAN");
					n.style.color=key[1];
					s.getRangeAt(0).surroundContents(n);
				}
			}
		}
	}
}

/* 模块切按 */
function asmsto(mklb,sjmkm,mklevel,mkbh,refun){
	var stop = getTopWindowObject(self).top;
	var obj = stop.top.document.menu;
	obj.ShowMainMenu(mklb);
	if(obj.document.getElementById("items"+mklevel+"_"+mklb).style.display == "none"){
		obj.showHide("items"+mklevel+"_"+mklb);
	}
	obj.ShowMk2(sjmkm);
	obj.document.getElementById("a_"+mkbh).click();
	stop.main.href = obj.document.getElementById("a_"+mkbh).href;
	stop.main.eval(refun);
}

//根据后台设置的手机格式来验证
var fl = false;
function checkMobile(obj,sj){

	if(sj != "" ){
		var returnclk=function(transport){
			var json = eval("("+transport.responseText+")");
			if(json=='0'){
				alert("您输入的手机号格式有误，会导致短信发送失败，请重新输入!");
				obj.value ="" ;
				obj.checked ="" ;
				fl = false;
			}else{
				fl = true;
			}
		}
		sj = sj.substring(0,3);	
		var myAjax = new Ajax.Request(
			'/mobile/check.shtml',
			{
				method: 'post',
				requestHeaders:{Accept:'application/json'},
				parameters: '1=1&item=checkNum&sj='+sj,
				onComplete: returnclk
			}
		);
	}
	return fl;
}	
	

function isCkMobile(obj,sno){
	if(isBlank(sno)){
		return false;
	}
	var sva = isTrueMobile(sno);
	if(sva=="0"){
		alert("您输入的手机号格式有误，会导致短信发送失败，请重新输入!");
		obj.value="";
		obj.checked="";
		return false;
	}
	return true;
}
//弹出列表层(mkbh,bbh分别对应MK:rp标签属性mkbh和bbh)
function exportTo(mkbh,bbh,curl,alltitle,allexpfield){
 	var param = new Object();
 	param.curl = curl;
 	param.alltitle = alltitle;
 	param.allexpfield = allexpfield;
 	var url = "/asms/cpzx/t_report_export.shtml?mkbh="+mkbh+"&bbh="+bbh+"&randdate="+new Date().getTime();
    window.showModalDialog(url,param,"dialogWidth:700px; dialogHeight:600px; directories:no; localtion:no; menubar:no; status:no; toolbar:no; scrollbars:no; resizeable:no;");
 }
 
function trimTextExport(value){
	if(value==null){
		value="";
	}
	return value.replace(/[\|\~|\`|\!|\|\#|\$|\|\^|\&|\*|\(|\)|\|\|\|\|\||\\|\[|\]|\{|\}|\|\|\"|\'|\|\<|\|\>|\/|\?]/g,"").replace(/^\s+|\s+$/g,"");
}

//配合供应商下拉控件使用返回供应商BEAN
function getLyGysJson(id){
	var jsonGys;
	new Ajax.Request("/selectInput.shtml",{
		method: 'post',
		requestHeaders:{Accept:'application/json'},
		parameters: {p:'getLyGysJson',id:id},
		asynchronous:false,
		onComplete: function(transport){
			jsonGys = eval("(" + transport.responseText + ")"); 
		}
	});
	return jsonGys;
}

//拷贝网页到word 本机必须装word 并且加入安全站点，keyArray是要替换的键值  valueArray是替换的内容。
//如果替换的是网页对象，直接传入id，head 和foot是要在页眉页脚中增加的内容
function wordopen(filepath,keyArray,valueArray,head,foot){
	if(filepath==""){
		filepath = "/updownFiles/mb/space.doc";
	}
	filepath = "http://"+window.location.host+"/"+filepath;
	if(keyArray && valueArray && keyArray.length != valueArray.length) {
		alert("需要替换的键值对不相等");
		return ;
　　 }
    for(i = 0; keyArray && i < valueArray.length; i++){
    	if(typeof(valueArray[i])=="object"){
    		var sel = document.body.createTextRange();
		    sel.moveToElementText(valueArray[i]);  //此处PrintA是页面上DIV的id
	        sel.select();
	        sel.execCommand("Copy");
    	}
    }
	var wordApp;
	try{
    	wordApp =new ActiveXObject("word.Application");   
     	wordApp.visible = true;   
     	wordApp.activate();  
    }catch(e){
	　　alert(e+', 本地没有安装Word或者没有加入安全站点且没有开启控件'); 
	　　return; 
　　 }
   var wordDoc =  	wordApp.Documents.Open(filepath);
  
　　wordDoc.Activate();
　　var Selection = wordApp.Selection; 
    
　　Selection.Find.Replacement.Text = ''; 
　　Selection.Find.Forward = true; 
　　Selection.Find.Wrap = 1; 
　　Selection.Find.Format = false; 
　　Selection.Find.MatchCase = false; 
　　Selection.Find.MatchWholeWord = false; 
　　Selection.Find.MatchByte = true; 
　　Selection.Find.MatchWildcards = false; 
　　Selection.Find.MatchSoundsLike = false; 
　　Selection.Find.MatchAllWordForms = false;
   if(keyArray.length>0){
   	  if(keyArray[0]!=""){
		　　for(i = 0; i < valueArray.length; i++){
			   Selection.Find.ClearFormatting(); 
			　　Selection.Find.Text = keyArray[i];
			　　while(Selection.Find.Execute()){
				 if(typeof(valueArray[i])=="string"){
				　	Selection.TypeText(valueArray[i]);
				 }else if(typeof(valueArray[i]=="object")){
			        Selection.Paste();
				 }
			　　}	
		   }
	   }else{
	   	 Selection.Paste();
	   }
   }
   if(head){
   	  	wordAppHead = wordApp.ActiveDocument.Sections(1).Headers(1).Range;
	   	if(typeof(head)=="object"){   
		  	var sel = document.body.createTextRange();
		    sel.moveToElementText(head);
		    sel.select();
		    sel.execCommand("Copy");
		    wordAppHead.Paste();
	    }else if(typeof(head)=="string"){
	    	wordAppHead.InsertAfter(head)
	    }
   }
   if(foot){
   	  	wordAppHead = wordApp.ActiveDocument.Sections(1).Footers(1).Range;
	   	if(typeof(foot)=="object"){
		  	var sel = document.body.createTextRange();
		    sel.moveToElementText(foot);
		    sel.select();
		    sel.execCommand("Copy");
		    wordAppHead.Paste();
	    }else if(typeof(foot)=="string"){
	    	wordAppHead.InsertAfter(foot)
	    }
   }
}
