/**
 * General javascript functions
 * 
 * www.gc-isoft.com
 * 2009-12-17 v2.0.1
 */
debug=false;lang="zh";selectCodeKeyMap=[110,109,107,32];
function nullAction(){}
function getCookie(d){var b=document.cookie;var c=d+"=";var a=b.length;var e=0;while(e<a){var g=e+c.length;if(b.substring(e,g)==c){var f=b.indexOf(";",g);if(f==-1){f=a}return unescape(b.substring(g,f))}e=b.indexOf(" ",e)+1;if(e==0){break}}return null}
function setCookie(a,c,b){if(a==null){return}if(b==null){b=new Date();b.setTime(b.getTime()+(86400000*9999))}document.cookie=a+"="+escape(c)+"; expires="+b.toGMTString()+"; path=/"}
function setDisplayToggle(b,a){if(b==null){return}if(a==null){if(b.style.display=="none"){b.style.display=""}else{b.style.display="none"}}else{if(a){b.style.display=""}else{b.style.display="none"}}}
function MM_preloadImages(){var f=document;if(f.images){if(!f.MM_p){f.MM_p=new Array()}var e,c=f.MM_p.length,b=MM_preloadImages.arguments;for(e=0;e<b.length;e++){if(b[e].indexOf("#")!=0){f.MM_p[c]=new Image;f.MM_p[c++].src=b[e]}}}}
function setDisabledToggle(b,a){if(b==null){return}if(a==null){b.disabled=!b.disabled}else{b.disabled=a}}
function getOpener(){var a=window.dialogArguments;if(a!=null){if(a.document!=null){a=a.document.parentWindow}else{a=a.parentWindow}}else{if(opener!=null){a=opener}}return a}
function w_openWindow(c,a,b){window.open(c,a,b)}
function addOptionIfNeed(c,e,b){if(c==null||e==null){return -1}var f=c.options;var a=f.length;var d=a-1;for(;d>=0;d--){if(f[d].value==e){return d}}f[a]=new Option(b,e);d=a-1;for(;d>=0;d--){if(f[d].value<=e){break}f[d+1].value=f[d].value;f[d+1].text=f[d].text}if(d<a-1){f[d+1].value=e;f[d+1].text=b}return d+1}
function addoption(a,c,f,b,e,d){drawoption(a,c,null,f,(f!=null),b,e,d)}
function drawoption(v,g,f,d,x,w,h,p){var b=w;if(w==null||w==0){v.innerHTML="";b=0}if(g==null||g.length==0){v.options[0]=new Option(f,f);return}var a=false;var u=g.length;var t,r,o,l,q;if(h==true){if(p==null||p==0){p=10}}if(x==null||d==null){for(t=0;t<u;t++){if(h==true){v.options[t+b]=new Option(g[t][0]+" "+g[t][1],g[t][0])}else{v.options[t+b]=new Option(g[t][1],g[t][0])}if(!a&&f!=null&&f==g[t][0]){v.options[t+b].selected=true;a=true}}}else{if(x){var e,c=0;e=d.indexOf(",");if(e<0){e=d.length}t=0;while(e>0){r=parseInt(d.substring(c,e));if(r<u){if(h==true){v.options[t+b]=new Option(g[r][0]+" "+g[r][1],g[r][0])}else{v.options[t+b]=new Option(g[r][1],g[r][0])}if(!a&&f!=null&&f==g[r][0]){v.options[t+b].selected=true;a=true}t++}c=e+1;e=d.indexOf(",",c);if(e<0&&c<d.length){e=d.length}}}else{d=","+stripCharsInBag(d," ")+",";t=0;var s;for(o=0;o<u;o++){l=o;s=","+o+",";if(d.indexOf(s)<0){if(h==true){v.options[t+b]=new Option(g[l][0]+" "+g[l][1],g[l][0])}else{v.options[t+b]=new Option(g[l][1],g[l][0])}if(!a&&f!=null&&f==g[l][0]){v.options[t+b].selected=true;a=true}t++}}}}if(f!=null&&v.options.length==0){v.options[0]=new Option(f,f)}}
function getDisplayValue(b,d,c){if(b==null||b.length==0||d==null||d==""){return d}var a=b.length;for(i=0;i<a;i++){if(d==b[i][0]){return b[i][1]}}if(c==true){return""}return d}
function getValue(c,b,d){if(c==null||c.length==0||b==null||b==""){if(d){return null}return b}var a=c.length;for(i=0;i<a;i++){if(b==c[i][1]){return c[i][0]}}if(d==true){return null}return b}
function getNotNullIndex(b){if(b!=null&&b.length>0){for(var a=0;a<b.length;a++){if(b.options[a].value.length>0){return a}}}return -1}
function getNotNullValue(b){var a=getNotNullIndex(b);if(a>=0){return b.option[a].value}}
function setNotNullOption(b){var a=getNotNullIndex(b);if(a>=0){b.options[a].selected=true}return a}
function isDialogWindow(a){if(a==null){return null}if(a.dialogHeight!=null){return true}return false}
function changeEditState(onefrm,isEditable){var thefrm=onefrm;var isDisabled;if(isEditable!=null){isDisabled=!isEditable}if(thefrm==null){thefrm=document.forms[0];if(thefrm==null){return}}var readonlyValue;for(var i=0;i<thefrm.length;i++){readonlyValue=thefrm.elements[i].readOnly;if(readonlyValue==null||!readonlyValue){if(isEditable==null){isDisabled=!thefrm.elements[i].disabled}if(thefrm.elements[i].disabled!=isDisabled){thefrm.elements[i].disabled=isDisabled}}}if(document.all.submitbar!=null&&document.all.submitbar.tag=="toggled"){setDisplayToggle(document.all.submitbar,isEditable)}for(var i=0;i<items.length;i++){eval("setDisplayToggle(document.all.submitbar"+items[i]+", isEditable);")}}
function changeEditStateExt(b,a){var d=b;if(d==null){d=document.forms[0];if(d==null){return}}var e;for(var c=0;c<d.length;c++){e=d.elements[c].readOnly;if(e==null&&d.elements[c].tag!="toggled"){continue}if(a==null){if(d.elements[c].tag=="toggled"){setDisplayToggle(d.elements[c])}if(!e){setDisabledToggle(d.elements[c])}}else{if(!e){setDisabledToggle(d.elements[c],!a);if(d.elements[c].tag=="toggled"){setDisplayToggle(d.elements[c],a)}}else{if(d.elements[c].tag=="toggled"){setDisplayToggle(d.elements[c],!a)}}}}}
function changeMonthPart(c,b,d){var a=0;if(b.value!=null&&b.value.length>0){if(!isNumber(b.value)){window.alert("错误：请输入数字!");b.focus();return}a+=12*parseInt(b.value)}if(d.value!=null&&d.value.length>0){if(!isNumber(d.value)){window.alert("错误：请输入数字!");d.focus();return}a+=parseInt(d.value)}if(a>0){c.value=a}else{c.value=""}}
function containCharsInBag(b,d){for(var a=0;a<d.length;a++){var e=d.charAt(a);if(b.indexOf(e)>=0){return true}}return false}
function isAlphabet(b){var c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";if(b==null||b.length==0){return false}for(var a=0;a<b.length;a++){if(c.indexOf(b.charAt(a))==-1){return false}}return true}
function isDigit(a){return((a>="0")&&(a<="9"))}
function isFloat(d){var b;var a=false;var e=".";if(d==e){return false}for(b=0;b<d.length;b++){var f=d.charAt(b);if((f==e)&&!a){a=true}else{if(!isDigit(f)){return false}}}return true}
function isNumber(b){if(b==null||b.length==0){return false}for(var a=0;a<b.length;a++){if(!isDigit(b.charAt(a))){return false}}return true}
function isValidChars(b,c){if(c==null||c==""){c="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-@_"}if(b==null||b.length==0){return false}for(var a=0;a<b.length;a++){if(c.indexOf(b.charAt(a))==-1){return false}}return true}
function lpad(c,a,d){var b=a-c.length;if(b<=0||d==null||d.length==0){return c}while(b>0){c=d+c;b--}return c}
function ltrim(a){if(a==null||a==""){return""}while(a.substring(0,1)==" "){a=a.substring(1,a.length)}return a}
function notNull(a){if(a==null){return""}return a}
function round(s,prec,factor){var i=1;for(;prec>0;prec--){i*=10}var j=0;j=eval("parseInt("+s+"*i,factor)");return j/i}
function replace(f,c,g){if(f==null||f.length==0){return""}if(c==null||c.length==0){return f}if(g==null){g=""}var d=0;var b="";var e=f.indexOf(c);var a;while(e>=0){b+=f.substring(d,e)+g;d=e+c.length;e=f.indexOf(c,d)}b+=f.substring(d);return b}
function rpad(c,a,d){var b=a-c.length;if(b<=0||d==null||d.length==0){return c}while(b>0){c+=d;b--}return c}
function rtrim(a){if(a==null||a==""){return""}while(a.substring(a.length-1)==" "){a=a.substring(0,a.length-1)}return a}
function stripCharsInBag(d,e){var b;var a="";for(b=0;b<d.length;b++){var f=d.charAt(b);if(e.indexOf(f)==-1){a+=f}}return a}
function stripCharsNotInBag(d,e){var b;var a="";for(b=0;b<d.length;b++){var f=d.charAt(b);if(e.indexOf(f)!=-1){a+=f}}return a}
function trim(a){return ltrim(rtrim(a))}
function formatUrl(a){if(a==null){return"/"}a=ltrim(a);if(a.length==0){return"/"}if(a.indexOf("www.")==0){return"http://"+a}return a}
function drawField(fieldName,styleId,fieldValue){if(fieldName!=null&&fieldName!=""){var str="draw"+fieldName+"Field('";if(styleId==null){styleId=fieldName}str+=styleId;str+="', '";if(fieldValue!=null){str+=fieldValue}str+="')";try{eval(str)}catch(e1){alert("请检查，字段 "+styleId+" 有误: \n"+str)}}}
function swichImgFile(c,b,a){if(c!=null&&c!=""){if(a!=null){a.href=c}if(b!=null){b.src=c;b.title="点击放大、浏览图片"}}}
function pressKeyDown(j,l,h){if(!h){if(!l){l=document.forms[0]}else{l=getElement(l)}h=l.elements}if(!j){j=window.event}var d=j.keyCode;var b=j.srcElement||j.target;var c=-1;var a=h.length;if(b.type==null||a==0){return false}if(d==13){if(d==13){if("submit, button,image,reset".indexOf(b.type)>=0||"textarea"==b.type&&b.cr!="0"){return true}}for(var f=0;f<a;f++){if(h[f]==b){c=f+1;while(h[c]==null||c<(a-1)&&h[c].readOnly==true||h[c].disabled==true||"hidden, file".indexOf(h[c].type)>=0){c++}break}}}else{if(!(d<=57||d==144||d>=96&&d<=110&&d!=106||d>=187&&d<=190)&&!isAltKey(j)&&!isCtrlKey(j)&&b.type=="text"&&b.value!=""&&b.dtype&&(b.dtype=="int"||b.dtype.indexOf("decimal")==0)){if(isNaN(b.value)||d<128){alert("只能输入数值，请检查！\n(Invalid number, please check it"+d+")");preventDefault();return false}}}if("textarea"!=b.type){if((d==38||d==40)&&b.type.indexOf("select")>=0){return true}if(d==38||d==37&&(b.type.indexOf("select")>=0||"submit, button,image,reset".indexOf(b.type)>=0)){for(var f=0;f<a;f++){if(h[f]==b){if(f==0){return false}c=f-1;while(h[c]==null||c>0&&h[c].readOnly==true||h[c].disabled==true||"hidden, file".indexOf(h[c].type)>=0){c--}break}}}if(d==40||d==39&&(b.type.indexOf("select")>=0||"submit, button,image,reset".indexOf(b.type)>=0)){for(var f=0;f<(a-1);f++){if(h[f]==b){c=f+1;while(h[c]==null||c<(a-1)&&h[c].readOnly==true||h[c].disabled==true||"hidden, file".indexOf(h[c].type)>=0){c++}break}}}}if(c>=0&&c<a){b.value=b.value;try{h[c].focus();viewElement(h[c]);if(h[c].type!=null&&("textarea"!=h[c].type||h[c].cr=="0")&&h[c].type.indexOf("select")==-1&&"submit, button,image,reset".indexOf(h[c].type)==-1){h[c].select()}return false}catch(g){}}else{promptInputCode(b,d)}}
function promptInputCode(c,e,k,j){if(c!=null&&c.type.indexOf("select")>=0&&c.options.length>0){if(e==null){e=window.event.keyCode}if(e==selectCodeKeyMap[0]||e==46){var h="";if(c.selectedIndex>=0){h=" - "+c.options[c.selectedIndex].text}var b=prompt("请直接输入编码：(当前值："+c.value+h+")",c.value);if(b!=null){c.value=b;if(j){j.call(this,b)}}return true}else{if(e==selectCodeKeyMap[1]){var h="";if(c.selectedIndex>=0){h=c.options[c.selectedIndex].text}var a=prompt("请输入编码显示值：(当前值："+h+")",h);if(a!=null&&h!=a){var b=null;a=a.toLowerCase();var g=c.options.length;for(var f=0;f<g;f++){if(c.options[f].text.toLowerCase().indexOf(a)==0){if(a.length==c.options[f].text.length){b=c.options[f].value;break}else{if(b==null){b=c.options[f].value}}}}if(b!=null){c.value=b;if(j){j.call(this,b)}}}return true}else{if(e==selectCodeKeyMap[2]||e==selectCodeKeyMap[3]){if(k==null){k=(e==selectCodeKeyMap[3])?2:1;if(c.length>10&&c.name&&"CompanyID,UnitID,FuncSuperID".indexOf(c.name)>=0){k=9}}var d=contextPath+"/gcbase/jsp/query/inputcode"+k+".jsp";preventDefault();var b=window.showModalDialog(d,c,"status:0;scroll:1;resizable:1;center:1;help:0;minimize:0;maximize:0;edge:sunken;dialogWidth:290px;dialogHeight:335px");if(b!=null){c.value=b;if(j){j.call(this,b)}}}}}}return false}    
function viewElement(c){var f=c.style.pixelWidth;var e=c.style.pixelHeight;if(!f||isNaN(f)||f<40){f=100}if(!e||isNaN(e)||e<40){e=40}var d=c;while(d&&d.tagName!="BODY"){f+=d.offsetLeft;e+=d.offsetTop;d=d.offsetParent}var b=document.body;var h=document.documentElement;var g=b.scrollTop;if(g<=0){g=h.scrollTop}var a=b.scrollLeft;if(a<=0){a=h.scrollLeft}if(f>=a+h.clientWidth||e>=g+h.clientHeight){c.scrollIntoView(false)}}
function preventDefault(a){if(!a){a=window.event}if(window.event){a.cancelBubble=true}else{if(a){a.stopPropagation()}}}
function copyData(a){var f=a.name.indexOf("__");if(f==-1){return}if(a.form==null){return}var d=a.name.substring(0,f+2);var e=a.form.elements;var c=e.length;for(var b=0;b<c;b++){if(e[b].type==a.type&&e[b].name.indexOf(d)==0){e[b].value=a.value}}return false}
function serializeFormData(c){if(c==null&&document.forms.length>0){c=document.forms[0]}var d=c?c.elements:document.all;var a;var e="";for(var b=0;b<d.length;b++){a=d[b].tagName.toLowerCase();if("input,textarea,select".indexOf(a)>=0&&d[b].name&&!d[b].disabled){if(("radio,checkbox").indexOf(d[b].type.toLowerCase())>-1&&!d[b].checked){continue}e+="&"+d[b].name+"="+escapeHtml(d[b].value)}}if(e.length>0){e=e.substring(1)}return e}
function serializeJson(c,b,a){if(!b){b="&"}if(!a){a="="}var e="",d;for(var f in c){d=c[f];if(d){if(e.length>0){e+=b}e+=f+a+escapeHtml(d)}}return e}
function escapeHtml(b){try{if(!b||b.length==0){return""}b=b.replace(/%/g,"%25");b=b.replace(/\+/g,"%2B");b=b.replace(/&/g,"%26")}catch(a){}return b}
function isAltKey(a){a=a|window.event;return window.event?a.altKey:a&&a.modifiers&Event.ALT_MASK>0}
function isCtrlKey(a){a=a|window.event;return window.event?a.ctrlKey:a&&a.modifiers&Event.CONTROL_MASK>0}
function callToServer(d,b,f,h,j){try{if(f==null||f==true){f=true}var c;var a=createXMLHttpRequest();a.onreadystatechange=function(){if(a.readyState==4){c=a.responseText;if(b){var e=getElement(b);if(e){if(e.tagName&&"input,textarea,select".indexOf(e.tagName.toLowerCase())>=0){e.value=c}else{try{e.innerHTML=c}catch(k){}}}}if(j){j.call(this,c)}}};a.open("POST",d,f);a.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");a.setRequestHeader("req-type","ajax");if(h&&(typeof h)=="object"){h=serializeJson(h)}a.send(h)}catch(g){window.alert("操作失败："+g)}if(f){return false}else{return c}}
function createXMLHttpRequest(){var a=null;if(window.ActiveXObject){try{a=new ActiveXObject("Msxml2.XMLHTTP")}catch(b){a=new ActiveXObject("Microsoft.XMLHTTP")}}else{if(window.XMLHttpRequest){a=new XMLHttpRequest()}}return a}
function getSystemLabel(){return"国臣 Webspace 协同平台"}
function checkLogin(a,b){if(!a){a=contextPath+"/gcbase/checklogin.jsp"}return callToServer(a,null,false,null,b)}
function login(a,b,c){if(!a){a=contextPath+"/gcbase/ajaxlogin.jsp"}callToServer(a,null,true,b,c)}window.defaultStatus="";
function winStatus(a){window.status=a}
function checkWindow(){if(self.dialogHeight==null&&self.opener==null&&self==top){window.location.href=contextPath}}
function defaultContextMenu(a){if(a!=true&&confirm("刷新本窗口吗?")){window.location.href=document.URL}return false}
function inputPerson(b,a,d,c,f){var e=getElement(b);if(!e||e.disabled||e.readOnly){return}selectPerson(b,a,1,d,null,c,f)}
function selectPerson(c,d,a,j,e,f,h){var g=contextPath+"/gcbase/jsp/public/lookup/user/selectperson.jsp?refField=UnitID";if(d&&d>0){g+="&limit="+d}if(j){g+="&valueField="+j}if(e){g+="&dispFields="+e}if(f){g+="&where="+escapeHtml(f)}var b=openModalDialog(g,550,480);return _postSelectUsers(b,c,d,a,h)}
function selectParticipant(a,b,e){var c=contextPath+"/gcbase/jsp/public/lookup/participant/selectparticipant.jsp";if(b){c+="?"+serializeJson(b)}else{b={}}var d=openModalDialog(c,560,480);return _postSelectUsers(d,a,b.limit,b.style,e)}
function _postSelectUsers(b,c,d,a,l){if(!b||b.length==0){return null}if(l){try{l.call(this,b)}catch(j){alert(j)}}if(!a||a==0){return b}var h="";for(var m=0;m<b.length;m++){if(a==1){h+=","+b[m][0]}else{if(a==2){h+=","+b[m][1]}else{h+=","+b[m][1]+"<"+b[m][0]+">"}}}h=h.substring(1);if(c){var f=getElement(c);if(f&&!f.disabled&&!f.readOnly){if(d==1||!f.value||f.value.length==0){f.value=h}else{var k=f.value;var g=h.split(",");for(var e=0;e<g.length;e++){if((","+k+",").indexOf(","+g[e]+",")==-1){k+=","+g[e]}}f.value=k}}}return h}
function selectDBFields(a,b,f){var d=getElement(a);if(!d){return}var c=openModalDialog(contextPath+"/gcbase/jsp/public/lookup/choosefields.jsp?dbobj="+b+"&refFields="+d.value,480,310);if(c){d.value=c;if(f){try{f.call(this,c)}catch(e){alert(e)}}}return c}    
function mapDBFields(c,d,j,b,l,f,k){var e=contextPath+"/gcbase/jsp/public/lookup/mapfields.jsp?dbobj="+d+"&dbobj2="+j;if(!b){b="impFields"}e+="&syncKey="+b;if(l){e+="&showFieldName=y"}var g=getElement(c);if(g&&g.value!=""){e+="&"+b+"="+escapeHtml(g.value)}if(f){e+="&"+f}var a=openModalDialog(e,490,310);if(a){if(g){g.value=a}if(k){try{k.call(this,a)}catch(h){alert(h)}}}}
function getElement(a){if(!a||a==""){return null}if(a.nodeType){return a}if(a=="document"){return document}var b=document.getElementById(a.charAt(0)=="#"?a.substring(1):a);if(b!=null){return b}b=document.getElementsByName(a);if(b&&b.length>0){return b[0]}return null}
function getElementsByClassName(d,c){var a=[];var e;if(c!=null&&c.length>0){e=document.getElementsByTagName(c)}else{e=document.getElementsByTagName("*")}for(var b=0;b<e.length;b++){if(e[b].className==d){a[a.length]=e[b]}}return a}
function openModalDialog(h,b,j,e,f,a){if(!b){b=400}if(!j){j=400}var d=(window.screen.availWidth-b)/2;var g=(window.screen.availHeight-j)/2;if(!f){f="0"}if(!a){a="1"}var c="status:"+f+";resizable:"+a+";center:yes;help:no;dialogLeft:"+d+"px;dialogTop:"+g+"px;dialogWidth:"+b+"px;dialogHeight:"+j+"px";if(!e){e=this}return window.showModalDialog(h,e,c)}
function log(c,a){if(c&&!debug&&c.toUpperCase()=="DEBUG"){return}var b=getElement("gc_log_area");if(b==null){b=document.createElement("div");b.setAttribute("id","gc_log_div");b.setAttribute("z-index","500");document.body.appendChild(b);b.innerHTML="<textarea id='gc_log_area' rows='10' cols='100'></textarea>";b=getElement("gc_log_area")}b.value+="["+c+"]"+a+"\n"}
function getAbsolutePath(c){if(c&&c.charAt(0)=="/"){return c}var a=window.location.href;var b=a.lastIndexOf("/");a=a.substring(0,b+1);a=a.replace("file:///","");a=a.replace(new RegExp("%20","gm")," ");return a+c};

function stringToDate(d,i){if(i||isDateTime(d)){var b="";var g=d.indexOf(" ");if(g>0){b=d.substring(g+1);d=d.substring(0,g)}var c=d.replace("/","-").split("-");var f=parseFloat(c[0]);var e=parseFloat(c[1])-1;var h=parseFloat(c[2]);if(g>0&&isTime(b)){var a=b.split(":");return new Date(f,e,h,a[0],a[1],a.length>2?a[2]:0)}return(new Date(f,e,h))}else{return(new Date(1900,1,1))}}
function isDateTime(a){try{var c="";var d=a.indexOf(" ");if(d>0){c=a.substring(d+1);a=a.substring(0,d)}if(!isDateString(a)){return false}if(c.length>0){return isTime(c)}return true}catch(b){return false}}
function isDate(b){try{b=b.replace("/","-")}catch(h){return false}var f=b.indexOf("-");var c=b.lastIndexOf("-");if(f==c){return false}else{var i=b.substring(0,f);var a=b.substring(f+1,c);var g=b.substring(c+1,b.length);var e=31;if(isNaN(a)||isNaN(g)||isNaN(i)){return false}else{if(i.length<4){return false}else{if((a<1)||(a>12)){return false}else{if(a==4||a==6||a==9||a==11){e=30}else{if(a==2){if(i%4>0){e=28}else{if(i%100==0&&i%400>0){e=28}else{e=29}}}}}}}return g>=1&&g<=e}}
function isDateString(a){return isDate(a)}
function isTime(b){var e=b.indexOf(":");if(e==-1){return false}var d=b.substring(0,e);var a=b.substring(e+1);var c=0;e=a.indexOf(":");if(e>0){c=a.substring(e+1);a=a.substring(0,e)}if(isNaN(d)||isNaN(a)||isNaN(c)){return false}else{if(d<0||d>23){return false}else{if(a<0||a>59){return false}else{if(c<0||c>59){return false}}}}return true};