﻿var _Patten_国内电话=/(\d{3}-|\d{4}-)?(\d{8}|\d{7})/;var _Patten_手机号码=/^(130|131|132|133|134|135|136|137|138|139|159|158)\d{8}$/;var _Patten_腾讯QQ=/^[1-9]*[1-9][0-9]*$/;var _Patten_Email地址=/^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/;var _Patten_日期型=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;var _Patten_日期时间型=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2})$/;var _Patten_时间型=/^(\d{1,2}):(\d{1,2})$/;var _Patten_中文=/[\u4e00-\u9fa5]/;var _Patten_双字节=/[^\x00-\xff]/;var _Patten_空白项=/\n\s*\r/;var _Patten_首尾空字符=/^\s*|\s*$/;var _Patten_邮政编码=/[1-9]\d{5}(?!\d)/;var _Patten_身份证=/\d{15}|\d{18}/;var _Patten_ip地址=/\d+\.\d+\.\d+\.\d+/;var _Patten_数字=/^[0-9]+$/;var _Patten_英文字母=/^[A-Za-z]+$/;var _Patten_大写英文=/^[A-Z]+$/;var _Patten_小写英文=/^[a-z]+$/;var _Patten_数字_英文=/^[A-Za-z0-9]+$/;var _Patten_数_英_下划线=/^[A-Za-z0-9_]+$/;var _Patten_数_英_下划线=/^\w+$/;var _Patten_非负整数=/^[1-9]\d*|0$/;var _Patten_正整数=/^[1-9]\d*$/;var _Patten_非正整数=/^-[1-9]\d*|0$/;var _Patten_负整数=/^-[1-9]\d*$/;var _Patten_整数=/^-?[1-9]\d*$/;var _Patten_非负浮点数=/^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$/;var _Patten_正浮点数=/^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$/;var _Patten_非正浮点数=/^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$/;var _Patten_负浮点数=/^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$/;var _Patten_浮点数=/^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$/;var _Patten_浮点_整数=/^\d+(\.\d+)?$/;var _Patten_浮_整_负=/^-?\d+(\.\d+)?$/;var _Patten_小数1位=/^-?\d+(\.\d{1,1})?$/;var _Patten_小数2位=/^-?\d+(\.\d{1,2})?$/;var _Patten_小数3位=/^-?\d+(\.\d{1,3})?$/;var _Patten_小数4位=/^-?\d+(\.\d{1,4})?$/;var _Patten_小数5位=/^-?\d+(\.\d{1,5})?$/;function validInput(){var inputList=document.body.getElementsByTagName("SELECT");for(var i=0;i<inputList.length;i++){try{var inputObj=inputList[i];if(inputObj.Change==undefined)continue;if((inputObj.style.visibility=="hidden")||(inputObj.Change=="TRUE")){continue;}else{if(inputObj.Nullable!="TRUE"){if((inputObj.selectedIndex==-1)){sTip(inputObj,"["+inputObj.inputTitle+"]不能为空!");return false;}}}}catch(exception){}}
inputList=document.body.getElementsByTagName("TEXTAREA");for(var i=0;i<inputList.length;i++){try{var inputObj=inputList[i];if(inputObj.Change==undefined)continue;if((inputObj.style.visibility=="hidden")||(inputObj.Change=="TRUE")){continue;}else{if(inputObj.Nullable!="TRUE"){if((inputObj.value=="")){sTip(inputObj,"["+inputObj.inputTitle+"]不能为空!");return false;}}
if(!((inputObj.Nullable=="TRUE")&&((inputObj.value==null)||(inputObj.value=="")))){if(getStrLength(inputObj.value)<inputObj.minLength){sTip(inputObj,"["+inputObj.inputTitle+"]最少需要"+inputObj.minLength+"个字符!");return false;}
if(getStrLength(inputObj.value)>inputObj.maxLength){sTip(inputObj,"["+inputObj.inputTitle+"]最长只能有"+inputObj.maxLength+"个字符!");return false;}
if(!validDataType(inputObj.value,inputObj.Datatype)){sTip(inputObj,"["+inputObj.inputTitle+"]输入格式错误!");return false;}}}}catch(exception){};}
inputList=document.body.getElementsByTagName("INPUT");for(var i=0;i<inputList.length;i++){try{if((inputList[i].type.toUpperCase()!="TEXT")&&(inputList[i].type.toUpperCase()!="CHECKBOX")&&(inputList[i].type.toUpperCase()!="RADIO"))continue;var inputObj=inputList[i];if(inputObj.Change==undefined)continue;if((inputObj.style.visibility=="hidden")||(inputObj.Change=="TRUE")){continue;}else{if(inputObj.Nullable!="TRUE"){if(inputObj.type.toUpperCase()=="TEXT"){if((inputObj.value==null)||(inputObj.value=="")){sTip(inputObj,"["+inputObj.inputTitle+"]不能为空!");return false;}}}
if(!((inputObj.Nullable=="TRUE")&&((inputObj.value==null)||(inputObj.value=="")))){if(inputList[i].type.toUpperCase()=="TEXT"){if(getStrLength(inputObj.value)<inputObj.minLength){sTip(inputObj,"["+inputObj.inputTitle+"]最少需要"+inputObj.minLength+"个字符!");return false;}
if(getStrLength(inputObj.value)>inputObj.maxLength){sTip(inputObj,"["+inputObj.inputTitle+"]最长只能有"+inputObj.maxLength+"个字符!");return false;}
if(!validDataType(inputObj.value,inputObj.Datatype)){sTip(inputObj,"["+inputObj.inputTitle+"]输入格式错误!");return false;}}}}}catch(exception){};}
try{return otherValid();}catch(exception){}
return true;}
function validDataType(value,datatype){if(datatype=="string")return true;try{var realPatten=eval("_Patten_"+datatype);return realPatten.test(value);}catch(exception){alert("非法的数据类型'"+datatype+"'!");return false;}}
function getStrLength(value){var cArr=value.match(/[^\x00-\xff]/ig);return value.length+(cArr==null?0:cArr.length);}
function setInputStatus(stepCode,pageReadonly,dynamic){if(pageReadonly==undefined)pageReadonly=true;var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");var stepNode=null;var xmlUrl=location.href;var temp=xmlUrl.indexOf("?");if(temp>-1)xmlUrl=xmlUrl.substring(0,temp);xmlUrl=xmlUrl+".xml";xmlDoc.async=false;xmlDoc.load(xmlUrl);var stepArray=xmlDoc.getElementsByTagName("Step");for(var i=0;i<stepArray.length;i++){var varStepCode=stepArray.item(i).getAttributeNode("Code").text;if(varStepCode==stepCode){stepNode=stepArray.item(i);break;}}
var inputList=document.body.getElementsByTagName("SELECT");for(var i=0;i<inputList.length;i++){if(dynamic&&inputList[i].Nullable){continue;}
if(pageReadonly){inputList[i].disabled=true;inputList[i].style.backgroundColor="#DFDFDF";continue;}
var inputName=inputList[i].name;if(inputName.length!=0)var field=getFieldSettingNode(stepNode,inputName);if(field!=null){var attribute=true;try{attribute=field.getAttributeNode("Visibility").text;}catch(exception){attribute="true";}
if(attribute.toUpperCase()=="TRUE"){inputList[i].style.visibility="visible";}else{inputList[i].style.visibility="hidden";}
try{attribute=field.getAttributeNode("Readonly").text;}catch(exception){attribute="false";}
inputList[i].Change=attribute.toUpperCase();if((inputList[i].disabled)||(attribute.toUpperCase()=="TRUE")){inputList[i].style.backgroundColor="#DFDFDF";inputList[i].disabled=true;}
try{attribute=field.getAttributeNode("Nullable").text;}catch(exception){attribute="true";}
inputList[i].Nullable=attribute.toUpperCase();if((attribute.toUpperCase()=="FALSE")&&(inputList[i].Change=="FALSE"))inputList[i].style.backgroundColor="#FFFFCC";try{attribute=field.text;}catch(exception){attribute="";}
inputList[i].inputTitle=attribute;}else{inputList[i].inputTitle="";}}
inputList=document.body.getElementsByTagName("TEXTAREA");for(var i=0;i<inputList.length;i++){if(dynamic&&inputList[i].Nullable){continue;}
if(pageReadonly){inputList[i].disabled=true;inputList[i].style.backgroundColor="#DFDFDF";continue;}
var inputName=inputList[i].name;var field=getFieldSettingNode(stepNode,inputName);if(field!=null){var attribute=true;try{attribute=field.getAttributeNode("Visibility").text;}catch(exception){attribute="true";}
if(attribute.toUpperCase()=="TRUE"){inputList[i].style.visibility="visible";}else{inputList[i].style.visibility="hidden";}
try{attribute=field.getAttributeNode("Readonly").text;}catch(exception){attribute="false";}
inputList[i].Change=attribute.toUpperCase();if((inputList[i].readOnlny)||(attribute.toUpperCase()=="TRUE")){inputList[i].style.backgroundColor="#DFDFDF";inputList[i].readOnly=true;}
try{attribute=field.getAttributeNode("Nullable").text;}catch(exception){attribute="true";}
inputList[i].Nullable=attribute.toUpperCase();if((attribute.toUpperCase()=="FALSE")&&(inputList[i].Change=="FALSE"))inputList[i].style.backgroundColor="#FFFFCC";inputList[i].Datatype="string";try{attribute=field.getAttributeNode("minLength").text;}catch(exception){attribute=0;}
inputList[i].minLength=attribute;try{attribute=field.getAttributeNode("maxLength").text;}catch(exception){attribute=3000;}
inputList[i].maxLength=attribute;try{attribute=field.text;}catch(exception){attribute="";}
inputList[i].inputTitle=attribute;}else{inputList[i].inputTitle="";}}
inputList=document.body.getElementsByTagName("INPUT");for(var i=0;i<inputList.length;i++){if(dynamic&&inputList[i].Nullable){continue;}
if(pageReadonly){inputList[i].disabled=true;inputList[i].style.backgroundColor="#DFDFDF";continue;}
if((inputList[i].type.toUpperCase()!="TEXT")&&(inputList[i].type.toUpperCase()!="CHECKBOX")&&(inputList[i].type.toUpperCase()!="RADIO")&&(inputList[i].type.toUpperCase()!="BUTTON"))continue;var inputName=null;try{inputName=inputList[i].name;}catch(exception){inputName="noeKName"}
if(inputName=="")inputName="noeKName";var field=getFieldSettingNode(stepNode,inputName);if(field!=null){var attribute=true;try{attribute=field.getAttributeNode("Visibility").text;}catch(exception){attribute="true";}
if(attribute.toUpperCase()=="TRUE"){inputList[i].style.visibility="visible";}else{inputList[i].style.visibility="hidden";}
try{attribute=field.getAttributeNode("Readonly").text;}catch(exception){attribute="false";}
inputList[i].Change=attribute.toUpperCase();if(inputList[i].type.toUpperCase()=="TEXT"){if((inputList[i].readOnly)||(attribute.toUpperCase()=="TRUE")){inputList[i].style.backgroundColor="#DFDFDF";inputList[i].readOnly=true;}}else{if((inputList[i].disabled)||(attribute.toUpperCase()=="TRUE")){inputList[i].disabled=true;}}
if(inputList[i].type.toUpperCase()=="BUTTON")continue;try{attribute=field.getAttributeNode("Nullable").text;}catch(exception){attribute="true";}
inputList[i].Nullable=attribute.toUpperCase();if((attribute.toUpperCase()=="FALSE")&&(inputList[i].Change=="FALSE"))inputList[i].style.backgroundColor="#FFFFCC";if(inputList[i].type.toUpperCase()=="TEXT"){try{attribute=field.getAttributeNode("Datatype").text;}catch(exception){attribute="string";}
inputList[i].Datatype=attribute;if((attribute.toUpperCase()=="DATE")||(attribute.toUpperCase()=="DATETIME")||(attribute.toUpperCase()=="TIME")){inputList[i].readOnly=true;inputList[i].onclick=new Function("showCalendar('"+attribute.toUpperCase()+"')");}
try{attribute=field.getAttributeNode("minLength").text;}catch(exception){attribute=0;}
inputList[i].minLength=attribute;try{attribute=field.getAttributeNode("maxLength").text;}catch(exception){attribute=3000;}
inputList[i].maxLength=attribute;try{attribute=field.getAttributeNode("default").text;if(inputList[i].value==0){inputList[i].value=attribute;}}catch(exception){}}
try{attribute=field.text;}catch(exception){attribute="";}
inputList[i].inputTitle=attribute;}else{inputList[i].inputTitle="";}}}
function getFieldSettingNode(stepNode,inputName){if(stepNode==null||inputName==null)return null;var regS=new RegExp("\\[\\d+\\]","gi");var field=null;if(inputName.indexOf("[")==-1){var elements=stepNode.getElementsByTagName(inputName);if(elements!=null&&elements.length>0){field=elements.item(0);}}else{var fieldList=stepNode.getElementsByTagName("form-field");for(var p=0;p<fieldList.length;p++){var fieldName=fieldList.item(p).getAttributeNode("name").text;if(fieldName.indexOf("*")!=-1){inputName=inputName.replace(regS,"[*]");}
if(fieldName==inputName){field=fieldList.item(p);break;}}}
return field;}
function sTip(handle,msg)
{try
{handle.focus();var pos=getPosition(handle);var t=pos.top;var l=pos.left;document.all.checkMsgDiv.style.left=l-10;document.all.checkMsgDiv.style.top=t+handle.clientHeight;document.all.checkMsgTd.innerHTML=msg;document.all.checkMsgDiv.style.visibility='visible';HideOverSels("checkMsgDiv");timer=setTimeout("hideTip();",3500);}catch(e)
{}
return false;}
function drawTipDiv(){document.write("<div id=\"checkMsgDiv\"  style=\"position:absolute; width:218px; overflow: visible; z-index:10; visibility:hidden; left: 103px; top: 69px; height: 66px; border: 1px none #000000;\"> ");document.write("  <table width=\"218\" height=\"65\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"  id=\"checkMsgTable\">");document.write("    <tr> ");document.write("      <td height=\"13\" valign=\"top\"><img src=\"images/X-valid/t_top.gif\" width=\"218\" height=\"26\"></td>");document.write("    </tr>");document.write("    <tr style=\"background-color:#FFFFCC\"> ");document.write("      <td height=\"42\" valign=\"top\" background=\"images/X-valid/t_bg.gif\">");document.write("  <table width=\"95%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" style=\"font:9pt 宋体;z-index:1;\">");document.write("          <tr>");document.write("            <td id=\"checkMsgTd\">sdafs </td>");document.write("          </tr>");document.write("        </table></td>");document.write("    </tr>");document.write("    <tr>");document.write("      <td height=\"10\" valign=\"bottom\"><img src=\"images/X-valid/t_bottom.gif\" width=\"218\" height=\"10\"></td>");document.write("    </tr>");document.write("  </table>");document.write("</div>");}
function hideTip(){document.all.checkMsgDiv.style.visibility='hidden';ShowOverSels("checkMsgDiv");clearTimeout(timer);}
function getTextLength(handle)
{var range=handle.createTextRange();return(range.boundingWidth>handle.style.width)?handle.style.width:range.boundingWidth;}
function HideOverSels(objID)
{var sels=document.getElementsByTagName('select');for(var i=0;i<sels.length;i++)
if(Obj1OverObj2(document.all[objID],sels[i]))
sels[i].style.visibility='hidden';}
function ShowOverSels(objID)
{var sels=document.getElementsByTagName('select');for(var i=0;i<sels.length;i++)
if(Obj1OverObj2(document.all[objID],sels[i]))
sels[i].style.visibility='visible';}
function Obj1OverObj2(obj1,obj2)
{var pos1=getPosition(obj1);var pos2=getPosition(obj2);var result=true;var obj1Left=pos1.left-window.document.body.scrollLeft;var obj1Top=pos1.top-window.document.body.scrollTop;var obj1Right=obj1Left+obj1.offsetWidth;var obj1Bottom=obj1Top+obj1.offsetHeight;var obj2Left=pos2.left-window.document.body.scrollLeft;var obj2Top=pos2.top-window.document.body.scrollTop;var obj2Right=obj2Left+obj2.offsetWidth;var obj2Bottom=obj2Top+obj2.offsetHeight;if(obj1Right<=obj2Left||obj1Bottom<=obj2Top||obj1Left>=obj2Right||obj1Top>=obj2Bottom)
result=false;return result;}
function getPosition(Obj)
{var sumTop=0;var sumLeft=0;while(Obj!=window.document.body){sumTop+=Obj.offsetTop;if(Obj.tagName.toLowerCase()=='div'){sumTop-=Obj.scrollTop;}
sumLeft+=Obj.offsetLeft;Obj=Obj.offsetParent;}
return{left:sumLeft,top:sumTop};}
function isControlVisible(handle){var retValue=true;while(handle.tagName.toLowerCase()!='form'&&handle.style.display.toLowerCase()!='none'){handle=handle.parentElement;}
if(handle.style.display=='none')retValue=false;return retValue;}
drawTipDiv();
