﻿
//====================================================================================
//35CallCenter中Form表单check，画面逻辑判断等使用JS
//====================================================================================

///////////////////////////////////////////////////
//依照 form 赋值给页面
///////////////////////////////////////////////////
//	1.下拉框(选中) 
//			f--form 
//			temp--页面Select的name
//			born--原本form中属性 <hidden>
///////////////////////////////////////////////////
function loadSelectByForm(f, temp, born){
		//alert(f);
		//alert(f.temp.options.length)	--×
		//alert(f[temp].options.length)	--√
		for(i=0;i<f[temp].options.length;i++){
				if(f[temp].options[i].value==f[born].value){
				    //alert(i);
						f[temp].options[i].selected="selected";
				}	
		}
}
///////////////////////////////////////////////////
//	2.单选框(选中) 
//			f--form 
//			temp--页面Select的name
//			born--原本form中属性 <hidden>
///////////////////////////////////////////////////
function loadRadioByForm(f, temp, born){
		for(i=0;i<f[temp].length;i++){
			if(f[temp][i].value==f[born].value){
				//alert(i);
				f[temp][i].checked="checked";
			}
		}
}

///////////////////////////////////////////////////
//依照 页面 赋值给 hidden(form中属性)
//------------------------------------------------
//	1.下拉框(选中) 
//			f--form 
//			temp--页面Select的name
//			born--原本form中属性 <hidden>
///////////////////////////////////////////////////
function sendHidValueBySelect(f, temp, born){
		f[born].value = f[temp].options[f[temp].selectedIndex].value;
}
///////////////////////////////////////////////////
//	2.单选框(选中) 
//			f--form 
//			temp--页面Select的name
//			born--原本form中属性 <hidden>
///////////////////////////////////////////////////
function sendHidValueByRadio(f, temp, born){
		for(i=0;i<f[temp].length;i++){
			if(f[temp][i].checked){
				f[born].value = f[temp][i].value;
			}
		}
}

///////////////////////////////////////////////////
//	分页（公用）提交到需要页的请求
//			f--form
//			item--num的值
//			ddo--.do请求 
///////////////////////////////////////////////////
	//转到第几页
 	function goToTheActionPage(f, item, ddo){
		f.action = ddo+"?num="+item;
		f.target = "_self";
		f.submit();
	}   

///////////////////////////////////////////////////
//	排序（公用）
//			f--form
//			item--要排序的参数列名orPojo属性名
///////////////////////////////////////////////////	
	function sqlOrderByColumn(f,item){
		//item = trim(item);
		var order_temp = "";
	  	if(f.orderBySql.value==item+" ASC"){
	     		order_temp = item+" DESC";
	  	}else if(f.orderBySql.value==item+" DESC"){
	     		order_temp = item+" ASC";
	  	}else { 
	     		order_temp = item+" DESC";
	  	}
	  	f.orderBySql.value = trim(order_temp);
	}
		
///////////////////////////////////////////////////
//	文本所占utf-8字符数（公用）
//			textValue--文本
//			limitLen--最大长度
///////////////////////////////////////////////////	
	function judgeCharacterLen(textValue, limitLen){
		var c = textValue.match(/[^ -~]/g); 
		var len = textValue.length + (c ? c.length : 0);
		//alert(len);
		if(len>limitLen) return false;
		else return true;
	}
	
/////////////////////////////////////////////////////
//	高级查询 打开页面 (公用)
//			actionName--.do请求
//  		high--打开页面高度
//  		urlName--？参数名=参数值&...（可有可无）
//////////////////////////////////////////////////////

	function fnc_openAdvanceWindow(actionName, high, urlName){
		var theUrl = "";
		//alert("<%=webroot%>/"+ actionName + ".do");
	    if(fnc_openAdvanceWindow.arguments.length > 2) theUrl = urlName;
	    window.open(actionName+theUrl, "AdvanceSelect",
	                 "Width=620,Height=" + high + ",toolbar=no,location=no,status=no,scrollbars=yes,left=" + screen.width/4 + ",top=" + screen.height/4
	                );
	}
	
 	function fnc_openHXsubWindow(actionName, high, wid, urlName){
		var theUrl = "";
		//alert("<%=webroot%>/"+ actionName + ".do");
	    if(fnc_openHXsubWindow.arguments.length > 3) theUrl = urlName;
	    window.open(actionName+theUrl, "AdvanceSelect",
	                 "Width=" + wid + ",Height=" + high + ",toolbar=no,location=no,status=no,scrollbars=yes,left=" + screen.width/4 + ",top=" + screen.height/4
	                );
	}
/////////////////////////////////////////////////////
//	查询 全选及反选
//			
//       单选 如果全单选中 则全选框中
////////////////////////////////////////////////////// 
 function fnc_selectAll(rowCount){
    var f = document.forms[0];
    if(rowCount != 0) {
        v_rowcnt = f["seed"].length;
        //判断是否所有的选项都被选中
        var rtn = true;
        if(isNaN(v_rowcnt) == true){
            if(f["seed"].checked==false)  rtn=false;
        } else {
            for ( var v_row=0; v_row < v_rowcnt; v_row++){
                if(f["seed"][v_row].checked==false)  rtn=false;
            }
        }
        //如果所有的选项都被选中，则全部不选择,否则全部选中
        if (rtn) {
            if(isNaN(v_rowcnt) == true){
                f["seed"].checked=false;
            } else {
                for ( var v_row=0; v_row < v_rowcnt; v_row++){
                    f["seed"][v_row].checked=false;
                }
            }
        }else{
            if(isNaN(v_rowcnt) == true){
                f["seed"].checked=true;
            } else {
                for ( var v_row=0; v_row < v_rowcnt; v_row++){
                    f["seed"][v_row].checked=true;
                }
            }
        }

        fnc_selectOne();
    }
}

function fnc_selectOne(rowCount){
    var f = document.forms[0];
    if(rowCount != 0) {
        v_rowcnt = f["seed"].length;

        //判断是否所有选项都被选中
        var judge = true;
        if(isNaN(v_rowcnt) == true){
            if(f["seed"].checked==false)  judge=false;
        } else {
            for ( var v_row=0; v_row < v_rowcnt; v_row++){
                if(f["seed"][v_row].checked==false)  judge=false;
            }
        }
        if(judge) f["check"].checked=true;
        else      f["check"].checked=false;
        //统计SEED和SEEDLIST(供选中删除,选中还原和选中充值)
        f.seeds.value = "";
        if(isNaN(v_rowcnt) == true){
            if  (f["seed"].checked==true) f.seeds.value=f["seed"].value;    //仅有一条记录情况
        } else {
            for ( var v_row=0; v_row < v_rowcnt; v_row++){                   //多条记录,拼成一个字符串
                if  (f["seed"][v_row].checked==true){ 
                    if(f.seeds.value != "") f.seeds.value += ",";
                    f.seeds.value += f["seed"][v_row].value; 
                }
            }
        }
        //alert(f.seeds.value);
    }
} 
 
 
/////////////////////////////////////////////////////////////////////
//取得单选框 所选值
//
//  引数s   form中 单选框name
//
//  返回值  var  
//
/////////////////////////////////////////////////////////////////////
	function getCheckedRadioValue(radioName){
		var l=document.getElementsByName(radioName);  
		for(i=0;i<l.length;i++){
			if(l[i].checked) return l[i].value;
		}
	}

/////////////////////////////////////////////////////////////////////
//判断是否为数字(空格不许可)
//
//  引数s   check对象
//
//  返回值  false  NG
//          true   OK
/////////////////////////////////////////////////////////////////////
function IsNumeric(s){
    for (var i=0; i<s.length; i++) {
        var c = s.charAt(i);
        if (c<'0' || '9'<c) {
            return false;
        }
    }
    return true;
}

/////////////////////////////////////////////////////////////////////
//判断是否为数字(空格许可)
//
//  引数s   check对象
//
//  返回值  false  NG
//          true   OK
/////////////////////////////////////////////////////////////////////
function IsNumeric2(s){
    for (var i=0; i<s.length; i++) {
        var c = s.charAt(i);
        if (c!=' ') {
            if (c<'0' || '9'<c) {
                return false;
            }
        }
    }
    return true;
}

/////////////////////////////////////////////////////////////////////
//判断是否为整数
//
//  引数s   check对象
//
//  返回值  false  NG
//          true   OK
/////////////////////////////////////////////////////////////////////
function IsInt(s){
    //如果首位为0，但长度大于1则不是整数
    if (s.length > 1 && s.charAt(0)== 0) return false;

    for (var i=0; i<s.length; i++) {
        var c = s.charAt(i);
        if (c!=' ') {
            if (c<'0' || '9'<c) {
                return false;
            }
        }
    }

    return true;
}

/////////////////////////////////////////////////////////////////////
//判断是否为[0-9,A-Z,a-z] ，是则返回true
//
//  引数s   check对象
//
//  返回值  false  NG
//          true   OK
/////////////////////////////////////////////////////////////////////
function is0_9A_Za_z(s){
    for (var i=0; i<s.length; i++) {
        var c = s.charAt(i);

        if (c<'0') return false;
        if ('9'<c && c<'A') return false;
        if ('Z'<c && c<'a') return false;
        if ('z'<c) return false;
    }
    return true;
}
/////////////////////////////////////////////////////////////////////
//判断是否为数字(空格不许可)
//
//  引数s   check对象
//
//  返回值  false  NG
//          true   OK
/////////////////////////////////////////////////////////////////////
function IsNumericAmel(data,name){
	  var s = data.value;
    for (var i=0; i<s.length; i++) {
        var c = s.charAt(i);
        if (c<'0' || '9'<c) {
  	        alert(name+ERR_NUMBER_NULL+"!");
  	        data.focus();
            return false;
        }
    }
    return true;
}

/////////////////////////////////////////////////////////////////////
// 检测是否为空 
// 
//  返回 true  表示为空
//       false 表示不为空
////////////////////////////////////////////////////////////////////
function checkNull(data,name){
  if (trim(data.value)==""){
  	 alert(name+ERR_STRING_NULL+"!");
  	 data.focus();
    return false;
  }
  return true;
}
/////////////////////////////////////////////////////////////////////
//  判断长度是否合格
//
//  引数    s  传入的字符串
//          n  限制的长度n以下
//
//  返回值  false  NG
//          true   OK
////////////////////////////////////////////////////////////////////
function WidthCheckAmel(data, n,name){
	  var s = data.value;
    var w = 0;
    for (var i=0; i<s.length; i++) {
        var c = s.charCodeAt(i);
        //单字节加1
        if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) {
            w++;
        }
        else {
            w+=2;
        }
    }
    if (w > n) {
    	  alert(name+ERR_STRING_LONG + n + "!");
  	    data.focus();
        return false;
    }
    return true;
}
/////////////////////////////////////////////////////////////////////
//  判断长度是否合格
//
//  引数    s  传入的字符串
//          n  限制的长度n以下
//
//  返回值  false  NG
//          true   OK
/////////////////////////////////////////////////////////////////////
function WidthCheck(s, n){
    var w = 0;
    for (var i=0; i<s.length; i++) {
        var c = s.charCodeAt(i);
        //单字节加1
        if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) {
            w++;
        }
        else {
            w+=2;
        }
    }
    if (w > n) {
        return false;
    }
    return true;
}

/////////////////////////////////////////////////////////////////////
//  判断密码格式是否合格
//
//  引数    s  传入的字符串
//          n1 限制的最小长度
//          n2 限制的最大长度
//
//  返回值  1  没有输入，空值
//          2  限制的最小长度以下
//          3  限制的最小长度以下
//          4  规定文字以外
//          5  全部是相同文字
//          6  过于简单，比如'12345678'或者'87654321'
//          0  成功
/////////////////////////////////////////////////////////////////////
function PasswordCheck(s, n1, n2){
    var l = s.length;
    if (l == 0) return 1;
    if (l < n1) return 2;
    if (l > n2) return 3;
    var c0 = s.charAt(0);
    var c1 = s.charAt(0);
    for (var i=0; i<l; i++) {
        var c = s.charAt(i);

        if((c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || c=='_'){
        	
        }else{
            return 4;
        }

        if(c0 != c) c0 = '@';
        if(c1 != c+1 && c1 != c-1 ) c1 = '@';
    }

    if (c0 != '@') return 5;
    if (c1 != '@') return 6;
    return 0;
}

/////////////////////////////////////////////////////////////////////
//  判断是日期格式,YYYYMMDD样式s
//
//  引数s   check对象
//
//  返回值  false  NG
//          true   OK
/////////////////////////////////////////////////////////////////////
function isDateFormat(s){
    if (s.match(/^\d{4}\d{2}\d{2}$/)) {
       return true;
    }
    return false;
}

/////////////////////////////////////////////////////////////////////
//  判断是日期有效性
//
//  引数    yyyy  4位年份
//          mm    2位月份
//          dd    2位日期
//
//  返回值  false  NG
//          true   OK
/////////////////////////////////////////////////////////////////////
function isValidDate(yyyy,mm,dd){

    if(yyyy.length != 4){
        return false;
    }
    if(mm.length != 2){
        return false;
    }
    if(dd.length != 2){
        return false;
    }
    
    var year = parseInt(yyyy, 10);
    var mon = parseInt(mm, 10);
    var day = parseInt(dd, 10);
    
    maxDayOfMonth = Array( 31,29,31,30,31,30,31,31,30,31,30,31 );
    
    if( mon < 1 || mon > 12 ){
        return false;   
    }
    if( day < 1 || day > maxDayOfMonth[mon-1] ){
        return false;
    }
    if( mon != 2 ){
        return true;
    }
    if( day < 29 ){
        return true;
    }

    if( ( year % 4 ) == 0 && ( year % 100 ) != 0 ){
        return true;
    }
    if( ( year % 400 ) == 0 ){
        return true;
    }

    return false;
}

/////////////////////////////////////////////////////////////////////
// 取得系统日期YYYYMMDD格式
//
//  引数    无
//
//  返回值  系统日期
/////////////////////////////////////////////////////////////////////
function sysdateYYMMDD() {
    today = new Date();

    y = today.getYear()       //年如2004

    m = today.getMonth() + 1; //月
    if(m < 10) {
        m = "0" + m;
    }

    d = today.getDate();     //日
    if(d < 10) {
        d = "0" + d;
    }

    return y+m+d;
}

/////////////////////////////////////////////////////////////////////
// 取得月份的MM格式
//
//  引数    无
//
//  返回值  月份(两位数)
/////////////////////////////////////////////////////////////////////
function getTwoNumMonth(str) {
    var twoNumMonth = str;
    if (parseInt(str) < 10)  twoNumMonth = "0" + str;
    return twoNumMonth;
}

/////////////////////////////////////////////////////////////////////
//时间格式判断
//
//  引数    传入的字符串
//
//  返回值  false  NG
//          true   OK
/////////////////////////////////////////////////////////////////////
function isTimeFormat(s){
    if (!s.match(/^[0-9][0-9][0-9][0-9]$/)) {
        return false;
    }

    if (s.substr(0, 2) > 23 || s.substr(2, 2) > 59) {
        return false;
    }

    return true;
}

/////////////////////////////////////////////////////////////////////
// Date格式转换(YYYYMMDD 和YYY/MM/DD相互转换)
//
//  引数    date        日期字符串
//          flg(true)   转换成YYYY/MM/DD形式
//          flg(false)  转换成YYYYMMDD形式
//
//  返回   日期字符串
/////////////////////////////////////////////////////////////////////
function convertYYYYMMDD(date, flg) {
    var ret;

    dd = new Date(date);
    yy = dd.getYear();
    mm = dd.getMonth() + 1;
    dd = dd.getDate();

    if (yy < 2000) { yy += 1900; }
    if (mm < 10) { mm = "0" + mm; }
    if (dd < 10) { dd = "0" + dd; }

    if(flg){
        ret = yy + "/" + mm + "/" + dd;
    }else{
        ret = yy + mm + dd;
    }

    return ret;
}

/////////////////////////////////////////////////////////////////////
//  判断Email格式的有效性
//
//  引数s   check对象
//
//  返回值  true   OK
//          false  NG
/////////////////////////////////////////////////////////////////////
function isValidEmailAddress(s) {
  if (s.match(/^[-\w.]+@[-\w.]+\.[-\w]+$/)) {
    return true;
  }
  return false;
}



/////////////////////////////////////////////////////////////////////
//判断国内电话号码的格式
//
//          全部为[0-9]或者-组成
//          国内电话是11位或者12位
//
//  引数s   check对象
//
//  返回值  true   OK
//          false  NG
//  备注：
//          re:1   全体位数(含'-')不对(12或者13位)
//          re:2   除去'-'外位数不对(11或者12位)
//          re:3   全部为半角数字
//          re:4   长度不对
//@update cxm  2006-2-25
//          全部为[0-9]或者-组成
//          国内电话至少是7位
/////////////////////////////////////////////////////////////////////
function isTelFormat(s){
    var wkTel;
    var re=0;
    if(s.length<7){
      re=4;
    }else{
        for(var i=0 ;i<s.length ;i++)
          {
            var cI = s.charAt(i);
            if(cI=='-')
            {
               continue;
            }else if(cI=='－'){
                re=2;
                break;
            }else if(cI<'0' || cI>'9'){
               re=3;
               break;
            }
          }
    }
    /*
    if ((s.length != 12) && (s.length != 13)) {             // 全体位数(含'-')check
        re = 1;
    } else {
        //除去'-'
        wkTel = s ;
        while (wkTel.indexOf("-") > 0) {
            wkTel = wkTel.replace("-","");
        }
        
        if ((wkTel.length != 11) && (wkTel.length != 12)) { //除去'-'外位数check
            re = 2;
        } else {
            if (!IsNumeric(wkTel)) {                        //数字check
                re = 3;
            }
        }
    }

    */
    //alert(re);
    if (re==0) {
        return true;
    }else{
        return false;
    }
}

/////////////////////////////////////////////////////////////////////
//判断国内移动号码的格式
//
//          全部为[0-9]或者-组成
//          国内电话是11位
//
//  引数s   check对象
//
//  返回值  true   OK
//          false  NG
/////////////////////////////////////////////////////////////////////
function isMobileFormat(s){
/*
    if (s.length != 11) {
        return false;
    } else {
        for (var i=0; i<s.length; i++) {
            var c = s.charAt(i);
            if (c<'0' || '9'<c) {
                return false;
            }
        }
        return true;
    }
    */
    return isTelFormat(s);
}

/////////////////////////////////////////////////////////////////////
//判断浮点数格式是否正确,
//
//  引数s   check对象
//  引数len 长度对象(整数位加小数位数)
//
//  返回值  true   OK
//          false  NG
/////////////////////////////////////////////////////////////////////
function isFloatFormat(s,len){
	 return isMoneyFormat(s,len,true);
}

/////////////////////////////////////////////////////////////////////
//判断金额的格式是否正确,换苘0
//
//  引数s   check对象
//  引数len 长度对象(整数位加小数位数)
//
//  返回值  true   OK
//          false  NG
/////////////////////////////////////////////////////////////////////
function isMoneyFormat(s,len){
	 return isMoneyFormat(s,len,false);
}	 
	 /////////////////////////////////////////////////////////////////////
//判断金额的格式是否正确,如果是金额为0,是否允许
//
//  引数s   check对象
//  引数len 长度对象(整数位加小数位数)
//  引数allowZeroFlag 是否允许值为0
//  返回值  true   OK
//          false  NG
/////////////////////////////////////////////////////////////////////
///////
function isMoneyFormat(s,len,allowZeroFlag){
        var my=s;
        var bDot=-1;
        var dotNum=0;
        var intLen=0;

        //允许金额为0
        if(allowZeroFlag==true)
        {
        	if(parseFloat(my)==0.0)
        	{
        		return true;
        	}
        }
        
        //判断长度,整数位长度一般是len-2
        var k = 0;
        while(my.charAt(k)!='.' && k<my.length){
            intLen++;
            k++;
        }

        if(intLen>len-2) {return false ;}

        //判断是否有不合格字符
        for(var i=0;i<my.length;i++){
            var cI = my.charAt(i);
            if(cI=='.'){
                bDot=i;
                dotNum++;
            }else if(cI<'0' || cI>'9') {
               return false ;
            }
        }


        //仅有1个或0个小数点 && 有一个小数点,小数位数等于或1位或2位 && 小于1的时候第一位为0或不小于1的时候第一位非0
        if(dotNum<=1 && (bDot==-1 || (bDot>0 && bDot>= my.length-3)) && (( my>='0.01' && my<'0.99' )|| my.charAt(0)!='0')){
            return true;
        }
        return false;
}

/////////////////////////////////////////////////////////////////////
//去除字符串两端空格
//
//  引数s   传入的字符串
//
//  返回值  除掉字符串两端空格的字符串 
/////////////////////////////////////////////////////////////////////
function trim(str){
    if(str == null) return "" ;

    // 去除前面所有的空格
    while( str.charAt(0) == ' ' ){
        str = str.substring(1,str.length);
    }
    // 去除后面的空格
    while( str.charAt(str.length-1) == ' ' ){
        str = str.substring(0,str.length-1);
    }
    return str ;
}

/////////////////////////////////////////////////////////////////////
//获取str长度,中文算两个BYTE,英文一个BYTE
//
//  引数s   传入的字符串
//
//  返回值  去除头尾空格后的字符串
/////////////////////////////////////////////////////////////////////
function getStrByteLen(s){
    var m_i_index = 0; //字符下标
    var m_i_len = 0; //字符串长度
    var m_i_byteLen = 0;//字符串BYTE长度
    m_i_len=str.length;
    for (m_i_index = 0; m_i_index< m_i_len; m_i_index++){
     if (str.charCodeAt(m_i_index) > 127) {
        m_i_byteLen=m_i_byteLen+2;
     }else {
        m_i_byteLen=m_i_byteLen+1;
     }
   }  

   return m_i_byteLen;
}

/////////////////////////////////////////////////////////////////////
//检查select选择框是否有元素被选中
//如有元素被选中，该元素的值应不为null或空字符
//
//  引数    selectObj select对象
//
//  返回值  false  NG
//          true   OK
/////////////////////////////////////////////////////////////////////
function selectCheck(selectObj){
    if(selectObj == null) return false ;
    var index = selectObj.selectedIndex ;
    var value = selectObj.options[index].value ;
    if(value == null || trim(value)=="") return false ;
    return true ;
}

/////////////////////////////////////////////////////////////////////
//检查select选择框被选中元素的名称
//如有元素被选中，该元素的值应不为null或空字符
//
//  引数    selectObj select对象
//
//  返回值  false  NG
//          true   OK
/////////////////////////////////////////////////////////////////////
function getSelectCheckedValue(selectObj){
    if(selectObj == null) return null ;
    var index = selectObj.selectedIndex ;
    var value = selectObj.options[index].value ;
    if(value == null || trim(value)=="") return null ;
    return value ;
}

/////////////////////////////////////////////////////////////////////
//改变select对象的选择项
//把fromSelect被选中的选择项转移到toSelect中去.
//
//  引数    fromSelect: 代表select的对象
//
//  返回值  无
/////////////////////////////////////////////////////////////////////
function changeOptions(fromSelect ,toSelect){
    var fromObj = window.eval(fromSelect) ;
    var toObj = window.eval(toSelect) ;
    while(( i = fromObj.selectedIndex) >= 0){
        var newOpt = new Option(fromObj.options[i].text,fromObj.options[i].value) ;
        toObj.add(newOpt) ;
        fromObj.options.remove(i) ;
    }
}

/////////////////////////////////////////////////////////////////////
//设置mFormObj表单对象所有名为boxName的chekcbox元素全部被选中或全部不被选中
//
//  引数    mFormObj 表单对象,boxName checkbox元素的名字,字符串类型
//
//  返回值  false  NG不选中
//          true   OK选中
/////////////////////////////////////////////////////////////////////
function setBoxChecked(mFormObj ,boxName ,checked){
    if(mFormObj == null) return ;
    var count = mFormObj.elements.length ;
    for(var i=0 ;i<count ;i++)
    {
        var e = mFormObj.elements[i] ;
        if (e.type=="checkbox" && e.name == boxName)
        {
            if(e.disabled != true) e.checked = checked ;
        }
    }
}

/////////////////////////////////////////////////////////////////////
//设置mFormObj表单对象所有名为boxName的chekcbox元素全部反选
//
//  引数    mFormObj 表单对象,boxName checkbox元素的名字,字符串类型
//
//  返回值  无
/////////////////////////////////////////////////////////////////////
function reverseBoxCheck(mFormObj ,boxName){
    if(mFormObj == null) return ;
    var count = mFormObj.elements.length ;
    for(var i=0 ;i<count ;i++)
    {
        var e = mFormObj.elements[i] ;
        if (e.type=="checkbox" && e.name == boxName)
        {
            if(e.disabled != true) e.checked = !e.checked ;
        }
    }
}

/////////////////////////////////////////////////////////////////////
//检查mFormObj表单对象中，名为boxName的checkBox元素是否至少有一个被选中
//
//  引数    mFormObj 表单对象,boxName 要检查的checkBox元素的名字
//
//  返回值  false  NG
//          true   OK
/////////////////////////////////////////////////////////////////////
function boxCheck(mFormObj ,boxName){
    if (mFormObj == null) return false ;
    var count = mFormObj.elements.length ;
    for(var i=0 ;i<count ;i++){
        var e = mFormObj.elements[i] ;
        if(e.type=="checkbox" && e.name == boxName){
            if(e.checked == true && e.disabled != true) return true ;
        }
    }
    return false ;
}

/////////////////////////////////////////////////////////////////////
//检查mFormObj表单对象中，名为boxName的checkBox元素被选中的个数
//
//  引数    mFormObj 表单对象,boxName 要检查的checkBox元素的名字
//
//  返回值  number 选中的个数，
//          -1     表示参数有误
/////////////////////////////////////////////////////////////////////
function boxCheckNumber(mFormObj ,boxName){
    if (mFormObj == null) return -1 ;
    var number=0;
    var count = mFormObj.elements.length ;
    for(var i=0 ;i<count ;i++){
        var e = mFormObj.elements[i] ;
        if(e.type=="checkbox" && e.name == boxName){
            if(e.checked == true && e.disabled != true) number++;
        }
    }
    return number ;
}

/////////////////////////////////////////////////////////////////////
//检查mFormObj表单对象中，名为mConObjName，值为checkValue的控件个数
//
//  引数    mFormObj 表单对象,mConObjName 表单中名称为mConObjName的控件
//
//  返回值  number 控件个数
//          -1     表示参数有误
/////////////////////////////////////////////////////////////////////
function statControlNumber(mFormObj ,mConObjName,checkValue){
    var number=0;
    if (mFormObj == null || mConObjName == null ||checkValue == null)
        return -1 ;
    var count = mFormObj.elements.length ;

    for(var i=0 ;i<count ;i++){
        var e = mFormObj.elements[i] ;
       if(e.name == mConObjName&&e.value == checkValue){
           number++;
        }
    }
    return number ;
}

/////////////////////////////////////////////////////////////////////
//把objForm中名称为objName的组件的值拼成一个字符串，不同组件值之间以splitValue的分隔符相连。
//主要用于超连接href或location，当作参数来传递。
//
//  引数    objForm    :form的对象
//  引数    objName    :组件的名称
//  引数    splitValue :分隔符的名称
//
//  返回值  null  如果objForm,objName,splitValue为NULL；空字符串，如果无选中元素。
//          str   拼起来的字符串
/////////////////////////////////////////////////////////////////////
function assemble_boxvalue(objForm,objName,splitValue){
  if(objForm==null||objName==null||splitValue==null)
     return null;

    var count = objForm.elements.length;
    var str="";
    var e=null;
    for(var i=0 ;i<count ;i++){
      e = objForm.elements[i] ;
      if(e.name == objName &&e.checked == true){
         str=str+e.value+splitValue;
      }
    }
   return str;
}

/////////////////////////////////////////////////////////////////////
//检查值为optionValue的项是否在列表框list中
//
//  引数    objList     :列表框
//  引数    optionValue :待查的值
//  引数    splitValue :分隔符的名称
//
//  返回值  true    在列表框中
//          false   不在列表框中
//          null    list有错误
/////////////////////////////////////////////////////////////////////
function  isInList(objList,optionValue){
   if(objList==null){
      return null;
   }

   var length=objList.options.length;
   for(var i=0;i<length;i++){
      if(objList.options[i].value==optionValue){
       break;
      }
    }
    if(i==length){
        return false;
    }else{
        return true;
    }
}

/////////////////////////////////////////////////////////////////////
// 获得指定控件类型，名称为boxName的值，主要用于多个单（复）选框中，(先要保证)一次只允许选中一个，要求获得此控件值
//
//  引数    formObj:      表单名
//  引数    controlType:  控件类型
//  引数    boxName:      控件名称
//
//  返回值    e          返回此控件
//            null       无此控件
/////////////////////////////////////////////////////////////////////
function getSelectedBox(formObj,controlType,boxName){
    if (formObj == null||controlType == null||boxName == null)
    {
       return null ;
    }
    var count = formObj.elements.length;
    var e =null;
    for(var i=0 ;i<count ;i++)
    {
        e = formObj.elements[i];
        if(e.type==controlType && e.name == boxName)
        {
            if(e.checked == true )
            {
               e.checked=false;//置位
               return e;
            }
        }
    }
    return null;
}

/////////////////////////////////////////////////////////////////////
//  判断要存入数据库的date格式, 格式为YYYY-MM-DD HH24:MI:SS或者YYYY-MM-DD.
//
//  引数s: 传入的日期字符串
//
//  返回值    false  NG
//            true   OK
/////////////////////////////////////////////////////////////////////
function checkDateTime(s){
    if (s.match(/^\d{4}-\d{2}-\d{2}$/)) {
        //检测月.日
        if(!isValidDate(s.substr(0, 4), s.substr(5, 2), s.substr(8, 2))){
            return false;
        }
       return true;
    }

    if (s.match(/^\d{4}-\d{2}-\d{2} \d\d:\d\d:\d\d$/)) {
        //检测月.日
        if(!isValidDate(s.substr(0, 4), s.substr(5, 2), s.substr(8, 2))){
            return false;
        }

        //检测时.分.秒
        if (s.substr(11, 2) > 23 || s.substr(14, 2) > 59 || s.substr(17, 2) > 59) {
            return false;
        }
        return true;
    }
    return false;
}

/////////////////////////////////////////////////////////////////////
//  判断由字符串from和to代表的两个日期的先后关系．
//
//  引数    from:    满足yyyy-MM-dd HH:mm日期格式的字符串
//  引数    to:      满足yyyy-MM-dd HH:mm日期格式的字符串
//
//  返回值    -1     from > to
//            0      from = to
//            1      from < to
//            2      无法比较（由于两者至少有一个为空）
/////////////////////////////////////////////////////////////////////
function checkDate(from ,to){
    validExp = /^\d\d\d\d-\d\d-\d\d \d\d:\d\d$/ ;
    if(! (validExp.test(from) && validExp.test(to))) return 2 ;
    var rValue = 0 ;
    for(var i=0 ;i<16 ;i++){
        if(from.charAt(i) < to.charAt(i)){
            rValue = 1 ;
            break ;
        } else if(from.charAt(i) > to.charAt(i)){
            rValue = -1 ;
            break ;
        }
    }
    return rValue ;
}

/////////////////////////////////////////////////////////////////////
//处理"按回车提交表单"的脚本函数
//
//  引数    callfunc 判断是回车键后调用的事件或脚本函数
//
//  返回值  无
/////////////////////////////////////////////////////////////////////
function keySubmit(callfunc){
    var keyCode = window.event.keyCode ;
    if(keyCode == 13)
    {
        window.eval(callfunc) ;
        window.event.keyCode = "" ;
    }
}
/**
 * 测试检查特殊字符是否通过，如带特殊字符则返回false，检查不通过．
 * fieldObj : 检查的输入框对象．
 * title : 检查不通过时提示的信息．
 */
function forbidCharCheck(fieldObj ,title)
{
    var forbid = /.*['"<>\\\^].*/ ; // 正则表达式,检查是否带 <,",> ,^ ,\ ,'
    if(forbid.test(fieldObj.value))
    {
        alert(title + '不能带符号(can not include these chars): ^，\\，<，>，\'，"。') ;
        fieldObj.focus() ;
        return false ;
    }
    return true ;
}
/////////////////////////////////////////////////////////////////////
//判断用户选择的本地文件大小是否合法.
//
//  引数    fileObj : 上传文件对象．
//  引数    title :   非法时的提示信息．
//  引数    maxSize : 最大限制．
//
//  返回值  无
/////////////////////////////////////////////////////////////////////
function fileSizeCheck(fileObj ,title ,maxSize){
   if(fileObj==null || fileObj.value=="") return true ;
   var fso, f, s;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   if (! fso.FileExists(fileObj.value)){
       alert("文件 "+fileObj.value+" 找不到,请重新选择");
       fileObj.focus() ;
       return false ;
   }
   f = fso.GetFile(fileObj.value) ;
   if(f.size > maxSize){
       alert(title + "大小超过了最大限制值：" + maxSize/1024 + " K") ;
       fileObj.focus() ;
       return false ;
   }
   return true ;
}

/////////////////////////////////////////////////////////////////////
//打开一个帮助文件.法.
//
//  引数    helpPath : 帮助文件路径．
//
//  返回值  无
/////////////////////////////////////////////////////////////////////
function openHelp(helpPath){
   window.open(helpPath,"help", "toolbar=no,location=no,height=350,width=550,status=no,scrollbars=yes","bReplace");
}

//=======================================================================================
//★ ★  ★ ★ ★ ★ ★ ★ ★ ★   普通查询页面Js公共函数  ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ 
//=======================================================================================
//统计，判断所有checkbox的选中状态，看是否要选中"check",以及统计SEED和SEEDLIST
function fnc_toCheck(){
    var f = document.forms[0];

    if(f.rowCount.value != 0) {
        v_rowcnt = f["SEED1"].length;

        //判断是否所有选项都被选中
        var judge = true;
        if(isNaN(v_rowcnt) == true){
            if(f["SEED1"].checked==false)  judge=false;
        } else {
            for ( var v_row=0; v_row < v_rowcnt; v_row++){
                if(f["SEED1"][v_row].checked==false)  judge=false;
            }
        }
        if(judge) f["check"].checked=true;
        else      f["check"].checked=false;

        //统计SEED和SEEDLIST(供选中删除,选中还原和选中充值)
        f.seed.value = "";
        f.seedList.value= "";
        if(isNaN(v_rowcnt) == true){
            if  (f["SEED1"].checked==true) f.seed.value=f["SEED1"].value;    //仅有一条记录情况
        } else {
            for ( var v_row=0; v_row < v_rowcnt; v_row++){                   //多条记录,拼成一个字符串
                if  (f["SEED1"][v_row].checked==true){ 
                    if(f.seedList.value != "") f.seedList.value += ",";

                    f.seedList.value += f["SEED1"][v_row].value; 
                }
            }
        }
    }
}
//========================================================================================
//fnc_selAll()全选或者全不选--点击"check"触发
function fnc_selAllOpp(){
    var f = document.forms[0];
    
    if(f.rowCount.value != 0) {
        v_rowcnt = f["SEED1"].length;
        
        //判断是否所有的选项都被选中
        var rtn = true;
        if(isNaN(v_rowcnt) == true){
            if(f["SEED1"].checked==false)  rtn=false;
        } else {
            for ( var v_row=0; v_row < v_rowcnt; v_row++){
                if(f["SEED1"][v_row].checked==false)  rtn=false;
            }
        }

        //如果所有的选项都被选中，则全部不选择,否则全部选中
        if (rtn) {
            if(isNaN(v_rowcnt) == true){
                f["SEED1"].checked=false;
            } else {
                for ( var v_row=0; v_row < v_rowcnt; v_row++){
                    f["SEED1"][v_row].checked=false;
                }
            }
        }else{
            if(isNaN(v_rowcnt) == true){
                f["SEED1"].checked=true;
            } else {
                for ( var v_row=0; v_row < v_rowcnt; v_row++){
                    f["SEED1"][v_row].checked=true;
                }
            }
        }

        fnc_toCheck();
    }
}

//========================================================================================
//fnc_selAll()全选
function fnc_selAll(){
    var f = document.forms[0];
    
    if(f.rowCount.value != 0) {
        v_rowcnt = f["SEED1"].length;

        if(isNaN(v_rowcnt) == true){
            f["SEED1"].checked=true;
        } else {
            for ( var v_row=0; v_row < v_rowcnt; v_row++){
                f["SEED1"][v_row].checked=true;
            }
        }

        fnc_toCheck();
    }
}

//========================================================================================
//反选
function fnc_selOpp(){
    var f = document.forms[0];
    
    if(f.rowCount.value != 0) {
        v_rowcnt = f["SEED1"].length;

        if(isNaN(v_rowcnt) == true){
            if  (f["SEED1"].checked==true) f["SEED1"].checked=false;
            else                           f["SEED1"].checked=true;
        } else {
            for ( var v_row=0; v_row < v_rowcnt; v_row++){
                if  (f["SEED1"][v_row].checked==true) f["SEED1"][v_row].checked=false;
                else                                  f["SEED1"][v_row].checked=true;
            }
        }
        fnc_toCheck();
    }
}
    
//========================================================================================
//普通查询公共使用函数:条件查询
//
//  引数1 f :    form
//  引数2 item : 表列名称，如"ADMIN_ID"等
// 
///////////////////////////////////////////////////////////////////// 

function fnc_js_select(f){

    //去掉空格
    f.sel_column.value=trim(f.sel_column.value);
    var sel_operator = "like";
    f.sel_value.value=trim(f.sel_value.value);

	if(f.document.getElementById("sel_operator")!=null) sel_operator = f.sel_operator.value;

    if(f.sel_column.value != "" && sel_operator != "" && f.sel_value.value != ""){
        var strSql = f.sel_column.value   + " " + sel_operator + " ";

        if(sel_operator=="like") strSql += "'%" + f.sel_value.value + "%'";  //选择包含运算符('%'+sel_value+'%')
        else                     strSql += "'"  + f.sel_value.value + "'";   //其它("'"+sel_value+"'")

        //赋值
        f.selectSql.value = strSql;
    } else {
        f.selectSql.value = "";
    }
}
//========================================================================================
//普通查询公共使用函数:条件叠加查询
//
//  引数1 f :    form
//  引数2 item : 表列名称，如"ADMIN_ID"等
//
/////////////////////////////////////////////////////////////////////  

function fnc_js_selectAdd(f){
    //去掉空格
    f.sel_column.value=trim(f.sel_column.value);
    var sel_operator = "like";
    f.sel_value.value=trim(f.sel_value.value);

	if(f.document.getElementById("sel_operator")!=null) sel_operator = f.sel_operator.value;

    if(f.sel_column.value != "" && sel_operator != "" && f.sel_value.value != ""){
        var strSql = f.sel_column.value   + " " + sel_operator + " ";

        if(sel_operator=="like") strSql += "'%" + f.sel_value.value + "%'";  //选择包含运算符('%'+sel_value+'%')
        else                     strSql += "'"  + f.sel_value.value + "'";   //其它("'"+sel_value+"'")

        //赋值
        if(f.selectSql.value != "") {
            f.selectSql.value += " AND " + strSql;
        } else {
            f.selectSql.value += strSql;
        }
    }
}
//========================================================================================
//普通查询公共使用函数:排序
//
//  引数1 f :    form
//  引数2 item : 表列名称，如"ADMIN_ID"等
/////////////////////////////////////////////////////////////////////
function fnc_js_orderBy(f,item){
    var orderByStr = f.orderBySql.value;

    if(orderByStr == item) f.orderBySql.value = item + " DESC ";
    else                   f.orderBySql.value = item;
}




//=======================================================================================
//★ ★  ★ ★ ★ ★ ★ ★ ★ ★   高级查询页面Js公共函数  ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ 
//=======================================================================================
//高级查询公共使用函数(inputtext):判断,拼成高级查询字符串
//
//  引数1 sql :    高级查询字符串．
//  引数2 column : 表列名称，如"ADMIN_ID"等
//  引数3 operate :操作符号，如">"等
//  引数4 val :    相比较的值
//
//  返回值  传回一个查询字符串
/////////////////////////////////////////////////////////////////////
function fnc_textSql(sql, column, operate, val){
    var str = "";

    //去掉空格
    column=trim(column);
    operate=trim(operate);
    val=trim(val);
    
    if (column!="" && operate!="" && val!=""){
        str = column + " " + operate + " ";
        if(operate=="like") str += "'%" + val + "%'";
        else                str += "'"  + val + "'";
    }
    if(sql != "" && str != "")  str = " AND " + str;
    return str;
}
//========================================================================================
//高级查询公共使用函数(checkbox):判断,拼成高级查询字符串
//
//  引数1 sql :    高级查询字符串．
//  引数2 column : 表列名称，如"ADMIN_ID"等
//  引数3 obj :    传入的画面checkBox对象
//
//  返回值  传回一个查询字符串
/////////////////////////////////////////////////////////////////////
function fnc_checkBoxSql(sql, column, obj){
    var str = "";
    var checked_count = 0;
    var checked_now_num = 0;

    //当checkBox不存在，即数据库中没有下拉数据时
    if(typeof(obj) == 'undefined'){ 
        return str;
    }

    //当checkBox数目仅为1个时
    if(isNaN(obj.length) == true){
        if(obj.checked==true) {
            if(sql == "")  str +=     " (" + column + " = " + "'" + obj.value + "')";
            else           str += " AND (" + column + " = " + "'" + obj.value + "')";
        }
        return str;
    }

    //统计选中的checkBox数目(当checkBox数目大于1个时)
    for (var k=0; k < obj.length; k++){ 
        if(obj[k].checked==true) checked_count++;
    }

    if (checked_count > 0) {
        for (var k=0; k < obj.length; k++){ 
            if(obj[k].checked==true) {
                checked_now_num++;

                //处理
                if(checked_now_num==1){
                    if(sql == "")  str +=     " (" + column + " = " + "'" + obj[k].value + "'";
                    else           str += " AND (" + column + " = " + "'" + obj[k].value + "'";
                } else {
                    str += " OR "   + column + " = " + "'" + obj[k].value + "'";
                }
                //如果是checkBox组中最后一个,则加右括号
                if(checked_now_num==checked_count)  str += " ) ";
            }
        }
    }

    return str;
}

//========================================================================================
//高级查询公共使用函数(comBox):判断,拼成高级查询字符串
//
//  引数1 sql :    高级查询字符串．
//  引数2 column : 表列名称，如"ADMIN_ID"等
//  引数4 val :    传入的下拉列表对应的值
//
//  返回值  传回一个查询字符串
/////////////////////////////////////////////////////////////////////
function fnc_comBoxSql(sql, column, val){
    var str = "";

    //去掉空格
    column=trim(column);
    val=trim(val);
    
    if(column!="" && val!="") str = column + " = '" + val + "' ";
    if(sql != "" && str!= "") str = " AND " + str;

    return str;
}

//========================================================================================
//高级查询公共使用函数,关闭打开的子窗口，返回父窗口
//
//  引数  无
//
// 返回值 返回父窗口
/////////////////////////////////////////////////////////////////////
//返回查询画面
function fnc_close(){
    window.close();
    return;
}

//========================================================================================
//关闭子div画面(参数:子div的name)
    function fnc_close_div(div_name){
    	//需要填写DIV名称
     	closeDiv(parent.document.getElementById(div_name));
    }
    
//========================================================================================
//高级查询公共使用函数,关闭打开的子窗口，返回父窗口
//
// 引数 url              
// 引数 windowName       子窗口名称
// 引数 width            子窗口宽
// 引数 height           子窗口高
/////////////////////////////////////////////////////////////////////
var subwinArray ;
//document.expando = false;
//------------------------------------------------------------------
function fnc_openWindow(url, windowName, width, height){
    var index = 0;
    var subwin;
    var isWindowExist = false;
    //判断打开了几个子窗口
    if (subwinArray == null)
    {
        subwinArray = new Array(1);
        index = 0;
        isWindowExist = true;
    } else {
        for (var i = 0; i < subwinArray.length; i++ )
        {
            subwin = subwinArray[i];
            if (subwin != null && subwin.closed == false && subwin.name == windowName)
            {
                subwin.close()
                index = i;
                isWindowExist = true;
                break;
            }
        }
    }

    var option="toolbar=no,location=no,status=no,scrollbars=yes,resizable=yes,width=" + width + ",height=" + height + ",top=0,left=0";
    subwin = window.open(url, windowName, option);
    //alert(subwin);
    subwin.opener = this.window;
    subwin.moveTo(0, 0);
    subwin.focus();

    if (isWindowExist)
    {
        subwinArray.splice(index, 1, subwin);           
    } else {
        subwinArray.splice(index - 1, 0, subwin);
    }

    return subwin;
}

//------------------------------------------------------------------
function fnc_closeWindow() 
{
    if (subwinArray != null)
    {
        for (var i = 0; i < subwinArray.length; i++)
        {
            if (subwinArray[i] != null && subwinArray[i].closed == false)
            {
                subwinArray[i].close();
                subwinArray[i] = null;
            }
        }
    }
}

//========================================================================================
//高级查询公共使用函数,打开iframe
//function doAction
//参数  arg1-url
//      arg2-:true
//            false

//      arg3-targetName
//      arg4-urlParam ex.)#00001 , ?custCd=001
//====================================================================
    var submitFlg = true ;

    function doAction(){
        var actionName = doAction.arguments[0];
        var isSubmitCheckFlg = true;
        var targetName = "_self";
        var urlParam = "";

        if(doAction.arguments.length > 1) {
            isSubmitCheckFlg = doAction.arguments[1];
        }
        if(doAction.arguments.length > 2) {
            targetName = doAction.arguments[2];
        }
        if(doAction.arguments.length > 3) {
            urlParam = doAction.arguments[3];
        }

        if(!submitFlg) {
            return false;
        }

        if(isSubmitCheckFlg){
            submitFlg = false ;
        }
	    try {
			document.forms[0].action = actionName + urlParam;
			document.forms[0].target = targetName;
			document.forms[0].method = "POST";
			//alert(document.forms[0].action);
			document.forms[0].submit();
	    } catch(e) {
	
		    submitFlg = true;
		    if (e.number = -2147024891){
		        //alert('');
		    } else {
		        throw e;
		    }
	    }

        return true;
    }
    
//========================================================================================
//切换tab
//function showTab
//参数  arg1-tabId  Tab标志
//      arg2-tabNum Tab个数
//
//====================================================================
function showTab(tabId,tabNum)
{
	for(var i = 1; i <= tabNum; i ++)
	{
		if(tabId == i)
		{
			document.getElementById("Tab_bt"+i).className="admin_user_select_on";
			document.getElementById("select_tab"+i).style.display="";
		}
		else
		{
			document.getElementById("Tab_bt"+i).className="admin_user_select_off";
			document.getElementById("select_tab"+i).style.display="none";
		}
	}
}
function closeCon(tabId,tabNum)
{
	for(var i = 1; i <= tabNum; i ++)
	{
		document.getElementById("Tab_bt"+i).className="admin_user_select_off";
		document.getElementById("select_tab"+i).style.display="none";
	}
}

//========================================================================================
//移动Div
//function moveDiv
//参数  obj  div标志
//      
//
//====================================================================
function moveDiv(obj){
	var otop,oleft;
	otop = event.y - obj.offsetTop;
	oleft = event.x - obj.offsetLeft;

	obj.setCapture();

	obj.onmousemove = function(){
		obj.style.left = event.x - oleft;
		obj.style.top = event.y - otop;
		if(obj.style.left<"0px")
		{
			obj.style.left =1;
		}
		if(obj.style.top<"0px")
		{
			obj.style.top =1;
		}
	}
  
	obj.onmouseup = function(){
		obj.onmousemove = null;
		obj.style.filter = null;
		obj.releaseCapture();
	}
}
  
//========================================================================================
//关闭Div
//function closeDiv
//参数  obj  div标志
//      
//
//====================================================================
function closeDiv(obj){    
        obj.style.display='none';    
} 

//========================================================================================
//修改Div的高度,动态收缩
//function fnc_changeDivSize
//参数  
//========================================================================================
function fnc_changeDivSize(){
			var openerFrameName=self.name;
			parent.document.all(openerFrameName).style.height=document.body.scrollHeight + 5;
}

//========================================================================================
//客户操作:多个页面调用
//function fnc_customer_operate
//参数seed:               种子
//参数customer_name:      客户名称
//参数customer_type_name: 客户类型名称
//========================================================================================
function fnc_customer_operate(seed,customer_name,customer_type_name){
	var  v_maxwidth=780;
	var  v_maxheight=600; 
	var  url = "?seed="+seed+"&customer_name="+customer_name+"&customer_type_name="+customer_type_name; 
    window.open("/CustomerOperateAction.do"+url,
                 "CustomerOperate"+seed,
                 "toolbar=no,location=no,status=no,scrollbars=yes,resizable=yes,width=" + v_maxwidth +",height=" + v_maxheight + ",left=" + screen.width/8 + ",top=" + screen.height/20
                );
}

//========================================================================================
//销售机会操作:多个页面调用
//function fnc_sale_operate
//参数seed:           种子
//参数chance_subject: 机会主题
//参数customer_seed:  客户种子
//参数customer_name:  客户名称
//========================================================================================
function fnc_sale_operate(seed,chance_subject,customer_seed,customer_name){
	var  v_maxwidth=700;
	var  v_maxheight=600; 
	var  url = "?seed="+seed+"&chance_subject="+chance_subject+"&customer_seed="+customer_seed+"&customer_name="+customer_name; 
    window.open("/SaleOperateAction.do"+url,
                 "SaleOperate"+seed,
                 "toolbar=no,location=no,status=no,scrollbars=yes,resizable=yes,width=" + v_maxwidth +",height=" + v_maxheight + ",left=" + screen.width/5 + ",top=" + screen.height/20
                );
}

//========================================================================================
//合同订单操作:多个页面调用
//function fnc_order_operate
//参数seed:                   种子
//参数contract_order_subject: 合同订单主题
//参数co_type_name:           合同订单类型名称
//参数customer_seed:          客户种子
//参数customer_name:          客户名称
//========================================================================================
function fnc_order_operate(seed,contract_order_subject,co_type_name,customer_seed,customer_name){
	var  v_maxwidth=780;
	var  v_maxheight=600; 
	var  url = "?seed="+seed+"&contract_order_subject="+contract_order_subject+"&co_type_name="+co_type_name+"&customer_seed="+customer_seed+"&customer_name="+customer_name; 
    window.open("/OrderOperateAction.do"+url,
                 "OrderOperate"+seed,
                 "toolbar=no,location=no,status=no,scrollbars=yes,resizable=yes,width=" + v_maxwidth +",height=" + v_maxheight + ",left=" + screen.width/8 + ",top=" + screen.height/20
                );
}

//========================================================================================
//返回回收站索引画面:多个页面调用
//function fnc_backGarbage
//参数: 无
//========================================================================================
function fnc_backGarbage(){
    var f = document.forms[0];

    //调用回收站程序
    f.action = "GarbageAction.do";
    f.target = "mainFrame";
    f.submit();
}

//========================================================================================
//隐藏或显示:数据挖掘&查询下拉处理用
//function fnc_setBlockNone
//参数: 无
//========================================================================================
function fnc_setBlockNone(f, item, blockNone){
	if(f.document.getElementById(item)!=null) document.all(item).style.display = blockNone; 
}

//========================================================================================
//客户子窗口:新建修改窗口公共调用
//function fnc_setCustomer
//参数subWinName: 打开的子窗口ID
//========================================================================================
function fnc_setCustomer(subWinName){
	
	 f = document.forms[0];
	 f.action = "ComCustomerAction.do";
     f.target = subWinName;
 	 fnc_openWindow("", subWinName, 600, 480);
	 f.submit();
}

//========================================================================================
//供应商子窗口:新建修改窗口公共调用
//function fnc_setSupplier
//参数subWinName: 打开的子窗口ID
//========================================================================================
//选择供应商
function fnc_setSupplier(subWinName){

	 f = document.forms[0];  
	 f.action = "ComSupplierAction.do";
	 f.target = subWinName;
 	 fnc_openWindow("", subWinName, 600, 480);
	 f.submit();
}

//========================================================================================
//产品子窗口:新建修改窗口公共调用
//function fnc_setBlockNone
//参数subWinName: 打开的子窗口ID
//========================================================================================
function fnc_setProduct(subWinName){

	 f = document.forms[0];  
	 f.action = "ComProductAction.do";
	 f.target = subWinName;
 	 fnc_openWindow("", subWinName, 600, 480);
	 f.submit();
}



//========================================================================================
//用户角色窗口:切换TAB使用
//function tabscroll
//参数 tabBaseName: tab名称
//参数 tabIndex: 选中的tab下标,从1开始计数
//参数 tabTotalNum: 总共tab个数

//========================================================================================
	function tabscroll(tabBaseName,tabIndex,tabTotalNum){
		for(i=1;i<=tabTotalNum;i++){
			document.getElementById(String(tabBaseName) + String(i)).style.display="none";
			document.getElementById(String(tabBaseName)+"_tab"+String(i)).className="menu_big";
		}
		document.getElementById(String(tabBaseName) + String(tabIndex)).style.display="block";
		document.getElementById(String(tabBaseName)+"_tab"+String(tabIndex)).className="menu_select_big";
	}

//========================================================================================
//其它信息栏打开,收起
//function fnc_other
//参数 item: tab名称 0,关闭,1,打开
	function fnc_other(item){
	    f = document.forms[0];
	    //收起和打开 
        if(item == "0") {document.all('DIV_OTHER').style.display = "none";  document.all('A_OPEN_OTHER').style.display = "block"; document.all('A_CLOSE_OTHER').style.display = "none";}
        if(item == "1") {document.all('DIV_OTHER').style.display = "block"; document.all('A_OPEN_OTHER').style.display = "none";  document.all('A_CLOSE_OTHER').style.display = "block";}
	}

//========================================================================================
//指定DIV打开,收起
//function fnc_setDiveVisibility
//参数 divName:        tab名称 
//参数 visibilityFlag: 打开,收起状态 0,关闭,1,打开
	function fnc_setDiveVisibility(divName,visibilityFlag){
	    f = document.forms[0];
	    //收起和打开 
        if(visibilityFlag == "0") {document.all(divName).style.display = "none";  document.all('OPEN_'+divName).style.display = "block"; document.all('CLOSE_'+divName).style.display = "none";}
        if(visibilityFlag == "1") {document.all(divName).style.display = "block"; document.all('OPEN_'+divName).style.display = "none";  document.all('CLOSE_'+divName).style.display = "block";}
	}
	
//========================================================================================
//指定DIV打开,收起
//function showDiv
//参数 divName:        Div名称 
//显示指定DIV,指定位置    
function showDiv(divName)
{
	var sWidth,sHeight;
	sWidth=document.body.offsetWidth;//得到BODY的宽度
	sHeight=document.body.offsetHeight;//得到到BODY 的高度
	
	var odiv1;

	odiv1=document.all[divName];//层名称

	odiv1.style.top = 25;
	odiv1.style.left = (sWidth)/2 - 300;
	odiv1.style.display='block';   
}
