function JavaClass()
{JavaClass.prototype.getClass=function(){var s=this.constructor.toString();return s.match(/function (\w+)\(.+/)[1];};JavaClass.prototype.hashCode=function(){var h=0;var s=this.constructor.toString();for(var i=0;i<s.length;i++){h=31*h+s.charCodeAt(i);}
return h;};JavaClass.prototype.typeMatches=function(obj){return this.getClass()===obj.getClass();};JavaClass.prototype.equals=function(obj){if(!this.typeMatches(obj))return false;return this.toString()===obj.toString();};}
String.prototype.getClass=function(){var s=this.constructor.toString();return s.match(/function (\w+)\(.+/)[1];};String.prototype.hashCode=function(){var h=0;var s=this.constructor.toString();for(var i=0;i<s.length;i++){h=31*h+s.charCodeAt(i);}
return h;};String.prototype.typeMatches=function(obj){return this.getClass()===obj.getClass();};String.prototype.equals=function(obj){if(!this.typeMatches(obj))return false;return this.toString()===obj.toString();};String.prototype.equalsIgnoreCase=function(str){if(str.getClass()!="String")return false;return this.toUpperCase()===str.toUpperCase();};String.prototype.compareTo=function(str){if(!this.typeMatches(str))throw"Type Mismacth!";var s1=this.toString();var s2=str.toString();if(s1===s2)return 0;else if(s1>s2)return 1;else return-1;};String.prototype.compareToIgnoreCase=function(str){if(!this.typeMatches(str))throw"Type Mismacth!";var s1=this.toUpperCase();var s2=str.toUpperCase();if(s1===s2)return 0;else if(s1>s2)return 1;else return-1;};String.prototype.startsWith=function(prefix){return this.substring(0,prefix.length)==prefix;};String.prototype.endsWith=function(suffix){return this.substring(this.length-suffix.length)==suffix;};String.prototype.concat=function(str){return new String(this.toString()+str);};String.prototype.toCharArray=function(){var charArr=new Array();for(var i=0;i<this.length;i++)charArr[i]=this.charAt(i);return charArr;};String.prototype.trim=function(){return this.replace(/(^\s*)|(\s*$)/g,"");};Number.prototype.getClass=function(){var s=this.constructor.toString();return s.match(/function (\w+)\(.+/)[1];};Number.prototype.hashCode=function(){var h=0;var s=this.constructor.toString();for(var i=0;i<s.length;i++){h=31*h+s.charCodeAt(i);}
return h;};Number.prototype.typeMatches=function(obj){return this.getClass()===obj.getClass();};Number.prototype.equals=function(obj){if(!this.typeMatches(obj))return false;return this.toString()===obj.toString();};Number.prototype.hashCode=function(){return(this);};Number.prototype.equals=function(obj){if(!this.typeMatches(obj))return false;return this.toString()==obj.toString();};Number.prototype.compareTo=function(obj){if(!this.typeMatches(obj))return false;return this-obj;};Number.toHexString=function(i){return i.toString(16);};Number.toBinaryString=function(i){return i.toString(2);};Date.prototype.getClass=function(){var s=this.constructor.toString();return s.match(/function (\w+)\(.+/)[1];};Date.prototype.hashCode=function(){var h=0;var s=this.toString();for(var i=0;i<s.length;i++){h=31*h+s.charCodeAt(i);}
return h;};Date.prototype.typeMatches=function(obj){return this.getClass()===obj.getClass();};Date.prototype.equals=function(obj){if(!this.typeMatches(obj))return false;return this.toString()===obj.toString();};Date.prototype.hashCode=function(){var l=this.getTime();var s=Number.toHexString(l);var high=0;if(s.length>8)high=parseInt(s.substring(0,s.length-8),16);var low=l&0xffffffff;return low^high;};Date.prototype.equals=function(obj){if(!this.typeMatches(obj))return false;return this.getTime()==obj.getTime();};Date.prototype.compareTo=function(obj){if(!this.typeMatches(obj))return false;return(this.getTime()-obj.getTime())&0xffffffff;};function testHashMap(){alert("HashMap test begin:");try{}
catch(e){alert(e);}
alert("HashMap test end");}
function HashMap()
{private:this.len=8;this.table=new Array();this.length=0;this.hash=hash;function hash(x){var h=x.hashCode();h+=~(h<<9);h^=(h>>>14);h+=(h<<4);h^=(h>>>10);return h;}
this.rehash=rehash;function rehash(){var oldTable=this.table;this.table=new Array();for(var i=0;i<oldTable.length;i++){var e=oldTable[i];if(e!=null){oldTable[i]=null;do{var next=e.next;var j=this.indexFor(e.hash);e.next=this.table[j];this.table[j]=e;e=next;}while(e!=null);}}}
this.indexFor=indexFor;function indexFor(h){var index=h&(this.len-1);return index;}
function Entry(h,k,v,n){this.value=v;this.next=n;this.key=k;this.hash=h;this.getKey=getKey;function getKey(){return this.key;}
this.getValue=getValue;function getValue(){return this.value;}
this.setValue=setValue;function setValue(newValue){var oldValue=this.value;this.value=newValue;return oldValue;}
this.equals=equals;function equals(o){var e=o;var k1=this.getKey();var k2=e.getKey();var v1=this.getValue();var v2=e.getValue();return(k1.equals(k2)&&v1.equals(v2));}
this.hashCode=hashCode;function hashCode(){return this.key.hashCode()^this.value.hashCode();}
this.toString=toString;function toString(){return this.getKey()+"="+this.getValue();}}
function HashIterator(table,index,ne){this.table=table;this.ne=ne;this.index=index;this.current=null;this.hasNext=hasNext;function hasNext(){return this.ne!=null;}
this.next=next;function next(){var e=this.ne;if(e==null)
throw"No such Element";var n=e.next;var t=this.table;var i=this.index;while(n==null&&i>0)
n=t[--i];this.index=i;this.ne=n;this.current=e;return this.current;}}
public:this.size=size;function size(){return this.length;}
this.isEmpty=isEmpty;function isEmpty(){return this.length==0;}
this.get=get;function get(key){var hash=this.hash(key);var i=this.indexFor(hash);var e=this.table[i];while(true){if(e==null)
return null;if(e.hash==hash&&key.equals(e.key))
return e.value;e=e.next;}}
this.containsKey=containsKey;function containsKey(key){var hash=this.hash(key);var i=this.indexFor(hash);var e=this.table[i];while(e!=null){if(e.hash==hash&&key.equals(e.key))
return true;e=e.next;}
return false;}
this.put=put;function put(key,value){var hash=this.hash(key);var i=this.indexFor(hash);for(var e=this.table[i];e!=null;e=e.next){if(e.hash==hash&&key.equals(e.key)){var oldValue=e.value;e.value=value;return oldValue;}}
this.addEntry(hash,key,value,i);var r=Math.ceil(this.length*1.5);if(r>this.len){this.len=this.len<<1;this.rehash();}
return null;}
this.putAll=putAll;function putAll(map){var mod=false;for(var it=map.iterator();it.hasNext();){var e=it.next();if(this.put(e.getKey(),e.getValue()))mod=true;}}
this.remove=remove;function remove(key){var e=this.removeEntryForKey(key);return(e==null?null:e.value);}
this.removeEntryForKey=removeEntryForKey;function removeEntryForKey(key){var hash=this.hash(key);var i=this.indexFor(hash);var prev=this.table[i];var e=prev;while(e!=null){var next=e.next;if(e.hash==hash&&key.equals(e.key)){this.length--;if(prev.equals(e))
this.table[i]=next;else
prev.next=next;return e;}
prev=e;e=next;}
return e;}
this.clear=clear;function clear(){for(var i=0;i<this.table.length;i++)
this.table[i]=null;this.length=0;}
this.containsValue=containsValue;function containsValue(value){if(value==null)return false;var tab=this.table;for(var i=0;i<tab.length;i++)
for(var e=tab[i];e!=null;e=e.next)
if(value.equals(e.value))
return true;return false;}
this.addEntry=addEntry;function addEntry(hash,key,value,bucketIndex){this.table[bucketIndex]=new Entry(hash,key,value,this.table[bucketIndex]);this.length++;}
this.iterator=iterator;function iterator(){var i=this.table.length;var next=null;while(i>0&&next==null){next=this.table[--i];}
return new HashIterator(this.table,i,next);}
this.hashCode=hashCode;function hashCode(){var h=0;for(var it=this.iterator();it.hasNext();){h+=it.next().hashCode();}
return h;}
this.equals=equals;function equals(map){if(map.size()!=this.size())return false;for(var it=this.iterator();it.hasNext();){var e=it.next();var key=e.getKey();var value=e.getValue();if(!value.equals(map.get(key)))return false}
return true;}}
HashMap.prototype=new JavaClass();HashMap.prototype.constructor=HashMap;function testArrayList(){alert("ArrayList test begin:");try{var list=new ArrayList();assert(list.isEmpty());assert(list.size()==0);list.add(new Integer(100));list.add(new Integer(200));list.add(new Integer(33));assert(!list.isEmpty());assert(list.size()==3);var list2=new ArrayList();list2.add(new Integer(32));list2.addAll(list);assert(list2.size()==4);list2.add(new Integer(200));assert(list2.indexOf(new Integer(200))==2);assert(list2.lastIndexOf(new Integer(200))==4);assert(list2.contains(new Integer(200)));list2.removeAll(list);assert(list2.size()==2);assert(list2.contains(new Integer(200)));assert(list2.get(0).equals(new Integer(32)));list2.addAll(list);list2.retainAll(list);assert(list2.size()==4);assert(list2.get(0).intValue()==200);assert(list2.get(1).intValue()==100);assert(list2.get(2).intValue()==200);assert(list2.get(3).intValue()==33);assert(!list.equals(list2));list2.remove(0);assert(list.equals(list2));list2.set(0,new Integer(200));assert(!list.equals(list2));list2.set(1,new Integer(100));assert(list.equals(list2));assert(list.containsAll(list2));list2.clear();assert(list2.isEmpty());assert(list2.size()==0);assert(list.containsAll(list2));assert(!list2.iterator().hasNext());var it=list.iterator();assert(it.hasNext());it.next();assert(it.hasNext());it.next();assert(it.hasNext());it.next();assert(!it.hasNext());}
catch(e){alert(e);}
alert("ArrayList test end");}
function ArrayList(){private:this.buffer=new Array();var args=ArrayList.arguments;if(args.length>0)this.buffer=args[0];this.length=this.buffer.length;function ListIterator(table,len){this.table=table;this.len=len;this.index=0;this.hasNext=hasNext;function hasNext(){return this.index<this.len;}
this.next=next;function next(){if(!this.hasNext())
throw"No such Element!";return this.table[this.index++];}}
public:this.hashCode=hashCode;function hashCode(){var h=0;for(var i=0;i<this.lengh;i++)
h+=this.buffer[i].hashCode();return h;}
this.size=size;function size(){return this.length;}
this.clear=clear;function clear(){this.length=0;}
this.isEmpty=isEmpty;function isEmpty(){return this.length==0;}
this.toArray=toArray;function toArray(){var copy=new Array();for(var i=0;i<this.length;i++){copy[i]=this.buffer[i];}
return copy;}
this.get=get;function get(index){if(index>=0&&index<this.length)
return this.buffer[index];return null;}
this.remove=remove;function remove(param){var index=0;if(isNaN(param)){index=this.indexOf(param);}
else index=param;if(index>=0&&index<this.length){for(var i=index;i<this.length-1;i++)
this.buffer[i]=this.buffer[i+1];this.length-=1;return true;}
else return false;}
this.add=add;function add(){var args=add.arguments;if(args.length==1){this.buffer[this.length++]=args[0];return true;}
else if(args.length==2){var index=args[0];var obj=args[1];if(index>=0&&index<=this.length){for(var i=this.length;i>index;i--)
this.buffer[i]=this.buffer[i-1];this.buffer[i]=obj;this.length+=1;return true;}}
return false;}
this.indexOf=indexOf;function indexOf(obj){for(var i=0;i<this.length;i++){if(this.buffer[i].equals(obj))return i;}
return-1;}
this.lastIndexOf=lastIndexOf;function lastIndexOf(obj){for(var i=this.length-1;i>=0;i--){if(this.buffer[i].equals(obj))return i;}
return-1;}
this.contains=contains;function contains(obj){return this.indexOf(obj)!=-1;}
this.equals=equals;function equals(obj){if(this.size()!=obj.size())return false;for(var i=0;i<this.length;i++){if(!obj.contains(this.buffer[i]))return false;}
return true;}
this.addAll=addAll;function addAll(list){var mod=false;for(var it=list.iterator();it.hasNext();){var v=it.next();if(this.add(v))mod=true;}
return mod;}
this.containsAll=containsAll;function containsAll(list){for(var i=0;i<list.size();i++){if(!this.contains(list.get(i)))return false;}
return true;}
this.removeAll=removeAll;function removeAll(list){for(var i=0;i<list.size();i++){this.remove(this.indexOf(list.get(i)));}}
this.retainAll=retainAll;function retainAll(list){for(var i=this.length-1;i>=0;i--){if(!list.contains(this.buffer[i])){this.remove(i);}}}
this.subList=subList;function subList(begin,end){if(begin<0)begin=0;if(end>this.length)end=this.length;var newsize=end-begin;var newbuffer=new Array();for(var i=0;i<newsize;i++){newbuffer[i]=this.buffer[begin+i];}
return new ArrayList(newbuffer);}
this.set=set;function set(index,obj){if(index>=0&&index<this.length){temp=this.buffer[index];this.buffer[index]=obj;return temp;}}
this.iterator=iterator;function iterator(){return new ListIterator(this.buffer,this.length);}}
ArrayList.prototype=new JavaClass();ArrayList.prototype.constructor=ArrayList;function Exception(strMessage,ex,obj)
{this.name="Exception";this.message=strMessage;var strException;Exception.prototype.constructorA=function(strMessage,ex,obj)
{if(ex.name=="Exception")
{if(obj instanceof String)
{this.strException=strMessage+",\r\n "+obj+"类出错,因为:"+ex.strException;}else
{this.strException=strMessage+",\r\n "+obj.getClass()+"类出错,因为:"+ex.strException;}}
else{if(obj instanceof String)
{this.strException=strMessage+",\r\n "+obj+"类出错,因为:"+ex.name+" "+(ex.number&0xFFFF)+" "+ex.message;}else
{this.strException=strMessage+",\r\n "+obj.getClass()+"类出错,因为:"+ex.name+" "+(ex.number&0xFFFF)+" "+ex.message;}}
try
{alert(this.strException);this.writeFile();}catch(ex)
{}};Exception.prototype.constructorB=function(strMessage,obj)
{if(obj instanceof String)
{this.strException=strMessage+",\r\n "+obj+"类出错";}else
{this.strException=strMessage+",\r\n "+obj.getClass()+"类出错";}
try
{alert(this.strException);this.writeFile();}catch(ex)
{}};Exception.prototype.printStackTrace=function()
{alert(this.strException);};Exception.prototype.writeFile=function()
{var strPathFileName="c:\\JSLog.log";var axo=new ActiveXObject("Scripting.FileSystemObject");if(axo.FileExists(strPathFileName))
{var frFile=axo.OpenTextFile(strPathFileName,1,true);var strFileContent=frFile.ReadAll();frFile.close();var fwFile=axo.OpenTextFile(strPathFileName,2,true);strFileContent=strFileContent+new Date()+" 错误："+this.strException;fwFile.WriteLine(strFileContent);fwFile.close();}else
{var fwFile=axo.OpenTextFile(strPathFileName,2,true);strFileContent=new Date()+" 错误："+this.strException;fwFile.WriteLine(strFileContent);fwFile.close();}};if(strMessage!=null&&ex!=null&&obj!=null)this.constructorA(strMessage,ex,obj);if(strMessage!=null&&ex==null&&obj!=null)this.constructorB(strMessage,obj);if(strMessage!=null&&ex!=null&&obj==null)this.constructorB(strMessage,ex);}
Exception.prototype=new JavaClass();Exception.prototype.constructor=Exception;function $(){var elements=new Array();for(var i=0;i<arguments.length;i++){var element=arguments[i];if(typeof element=='string')
{element=document.getElementById(element);}
if(arguments.length==1)
{return element;}
elements.push(element);}
return elements;}
function $form(strFormName,strWidgetName)
{if(strFormName==null||strFormName=="")
{return $(strWidgetName);}else
{return $(strFormName).namedItem(strWidgetName);}}
function $new(objCreate,clsCreate)
{if(objCreate==null)
{objCreate=new clsCreate;}
return objCreate;}
var kernelbase={KernelBaseClass:function KernelBaseClass()
{}};kernelbase.KernelBaseClass.prototype=new JavaClass();kernelbase.KernelBaseClass.prototype.constructor=kernelbase.KernelBaseClass;
var dto={DTO:function DTO()
{this.data=new HashMap();dto.DTO.prototype.get=function(objKey)
{var objValue=null;try{objValue=this.data.get(objKey);}
catch(ex)
{throw new Exception("获取对应值失败",ex,this);}
return objValue;};dto.DTO.prototype.put=function(objKey,objValue)
{try{this.data.put(objKey,objValue);}
catch(ex)
{throw new Exception("赋予对应值失败",ex,this);}};dto.DTO.prototype.getData=function()
{return data;}},DTOTable:function DTOTable()
{this.table=new ArrayList();this.currentRow=null;this.currentRowNum=-1;dto.DTOTable.prototype.assign=function(objKey,objValue)
{try{this.currentRow.put(objKey,objValue);}
catch(ex)
{throw new Exception("赋予对应值失败",ex,this);}};dto.DTOTable.prototype.nextRow=function()
{try{if(this.isLastRow())
{this.currentRow=new dto.DTO();this.table.add(this.currentRow);}else
{this.currentRow=this.table.get(this.currentRowNum);}
this.currentRowNum++;}
catch(ex)
{throw new Exception("下一行失败",ex,this);}};dto.DTOTable.prototype.gotoRow=function(iRow)
{try{if(iRow>(this.table.size()-1))
{throw new Exception("跳出最大行数",null,this);}
this.currentRowNum=iRow;this.currentRow=this.table.get(this.currentRowNum);}
catch(ex)
{throw new Exception("跳转行失败",ex,this);}};dto.DTOTable.prototype.isLastRow=function()
{var bResult=false;try{if(this.table.size()==this.currentRowNum+1)
{bResult=true;}}
catch(ex)
{throw new Exception("判断是否最后一行失败",ex,this);}
return bResult;};dto.DTOTable.prototype.toCollection=function()
{return this.table;};dto.DTOTable.prototype.getTable=function()
{return this.table;}}};dto.DTO.prototype=new kernelbase.KernelBaseClass();dto.DTO.prototype.constructor=dto.DTO;dto.DTOTable.prototype=new kernelbase.KernelBaseClass();dto.DTOTable.prototype.constructor=dto.DTOTable;
var tool={ToolString:function ToolString()
{tool.ToolString.prototype.addLengthAtLeft=function(strOld,strFill,iNewLength)
{var strNew=null;var iOldLength=0;var iFillLength=0;try{if(strOld==null||strFill==null)
{return null;}
strOld=strOld+"";strFill=strFill+"";iOldLength=strOld.length;iFillLength=strFill.length;for(var i=0;i<(iNewLength-iOldLength)/iFillLength;i++)
{strOld=strFill+strOld;}
strNew=strOld;}
catch(ex)
{throw new Exception("在字符的左边进行填充失败",ex,this);}
return strNew;};tool.ToolString.prototype.addLengthAtRight=function(strOld,strFill,iNewLength)
{var strNew=null;var iOldLength=0;var iFillLength=0;try{if(strOld==null||strFill==null)
{return null;}
strOld=strOld+"";strFill=strFill+"";iOldLength=strOld.length;iFillLength=strFill.length;for(var i=0;i<(iNewLength-iOldLength)/iFillLength;i++)
{strOld=strOld+strFill;}
strNew=strOld;}
catch(ex)
{throw new Exception("在字符的右边进行填充失败",ex,this);}
return strNew;}},ToolMath:function ToolMath()
{tool.ToolMath.prototype.round=function(dbValue,iDot)
{try{if(iDot<=0)
{return Math.round(dbValue);}else
{var iPow=Math.pow(10,iDot);return Math.round(dbValue*iPow)/iPow;}}
catch(ex)
{throw new Exception("四舍五入失败",ex,this);}}},ToolDate:function ToolDate()
{tool.ToolDate.prototype.computeAge=function(strBirthDay)
{var iAge=0;try{var iPlace=strBirthDay.indexOf("-");var iLastPlace=strBirthDay.lastIndexOf("-");var iYear=parseInt(strBirthDay.substr(0,iPlace));var iMonth=parseInt(strBirthDay.substr(iPlace+1,iLastPlace-iPlace-1));var iDay=parseInt(strBirthDay.substr(iLastPlace+1));var dCurrentDate=new Date();var strCurrentDay=dCurrentDate.getDate();var iCurrentMonth=dCurrentDate.getMonth();var iCurrentYear=dCurrentDate.getYear();if(iCurrentYear<2000)iCurrentYear+=1900;iAge=iCurrentYear-iYear;if((iMonth==(iCurrentMonth+1))&&(iDay<=parseInt(strCurrentDay)))
{iAge=iAge;}
else
{if(iMonth<=(iCurrentMonth))
{iAge=iAge;}
else
{iAge=iAge-1;}}
if(iAge==0)iAge=iAge;}
catch(ex)
{throw new Exception("计算年龄失败",ex,this);}
return iAge;};tool.ToolDate.prototype.addYear=function(strDate,iNumber)
{var strResultDate=0;try{var toolString=new tool.ToolString();var iPlace=strDate.indexOf("-");var iLastPlace=strDate.lastIndexOf("-");var iYear=parseInt(strDate.substr(0,iPlace));var iMonth=parseInt(strDate.substr(iPlace+1,iLastPlace-iPlace-1));var iDay=parseInt(strDate.substr(iLastPlace+1));var dNew=new Date(iYear+iNumber,iMonth,iDay);var strYear=dNew.getFullYear();var strMonth=toolString.addLengthAtLeft(dNew.getMonth()+"","0",2);var strDate=toolString.addLengthAtLeft(dNew.getDate()+"","0",2);strResultDate=strYear+"-"+strMonth+"-"+strDate;}
catch(ex)
{throw new Exception("增加年度失败",ex,this);}
return strResultDate;};tool.ToolDate.prototype.addMonth=function(strDate,iNumber)
{var strResultDate=0;try{var toolString=new tool.ToolString();var iPlace=strDate.indexOf("-");var iLastPlace=strDate.lastIndexOf("-");var iYear=parseInt(strDate.substr(0,iPlace));var iMonth=parseInt(strDate.substr(iPlace+1,iLastPlace-iPlace-1));var iDay=parseInt(strDate.substr(iLastPlace+1));var dNew=new Date(iYear,iMonth+iNumber,iDay);var strYear=dNew.getFullYear();var strMonth=toolString.addLengthAtLeft(dNew.getMonth()+"","0",2);var strDate=toolString.addLengthAtLeft(dNew.getDate()+"","0",2);strResultDate=strYear+"-"+strMonth+"-"+strDate;}
catch(ex)
{throw new Exception("增加月份失败",ex,this);}
return strResultDate;};tool.ToolDate.prototype.addDay=function(strDate,iNumber)
{var strResultDate=0;try{var toolString=new tool.ToolString();var iPlace=strDate.indexOf("-");var iLastPlace=strDate.lastIndexOf("-");var iYear=parseInt(strDate.substr(0,iPlace));var iMonth=parseInt(strDate.substr(iPlace+1,iLastPlace-iPlace-1));var iDay=parseInt(strDate.substr(iLastPlace+1));var dNew=new Date(iYear,iMonth,iDay+iNumber);var strYear=dNew.getFullYear();var strMonth=toolString.addLengthAtLeft(dNew.getMonth()+"","0",2);var strDate=toolString.addLengthAtLeft(dNew.getDate()+"","0",2);strResultDate=strYear+"-"+strMonth+"-"+strDate;}
catch(ex)
{throw new Exception("增加天数失败",ex,this);}
return strResultDate;};tool.ToolDate.prototype.gainSplitToday=function()
{try{var dToday=new Date();var dtoToday=new dto.DTO();dtoToday.put("day",dToday.getDate());dtoToday.put("month",dToday.getMonth()+1);dtoToday.put("year",dToday.getFullYear());}
catch(ex)
{throw new Exception("获取今天的年月日失败",ex,this);}
return dtoToday;};tool.ToolDate.prototype.gainSplitString=function(strDate)
{try{var aDate=strDate.split("-");var dDate=new Date(aDate[0],aDate[1]-1,aDate[2]);var dtoDate=new dto.DTO();dtoDate.put("day",dDate.getDate());dtoDate.put("month",dDate.getMonth()+1);dtoDate.put("year",dDate.getFullYear());}
catch(ex)
{throw new Exception("获取录入的年月日失败",ex,this);}
return dtoDate;};tool.ToolDate.prototype.gainDayNumberOfMonth=function(iYear,iMonth)
{try{iMonth=iMonth-1;var aMonths=new Array(31,28,31,30,31,30,31,31,30,31,30,31);var dayNumber=aMonths[iMonth];if(iMonth==1&&(iYear%4==0&&iYear%100!=0||iYear%400==0))
{dayNumber++;}}
catch(ex)
{throw new Exception("获取某年某月天数失败",ex,this);}
return dayNumber;};tool.ToolDate.prototype.formatDate=function(strDate)
{try{var toolString=new tool.ToolString();var straMonth=new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);var reYear=/\d{4}/;var reMonth=/\d{2}/;var reDay=/\d{2}/;var strNewDate="";var iPlace1=strDate.indexOf("-");if(iPlace1==-1)
{return"1000-01-01";}
var iPlace2=strDate.indexOf("-",iPlace1+1);if(iPlace2==-1)
{return"1000-01-01";}
var strYear=strDate.substring(0,iPlace1);strYear=strYear.substring(0,4);var strMonth=strDate.substring(iPlace1+1,iPlace2);strMonth=strMonth.substring(0,2);var strDay=strDate.substring(iPlace2+1);strDay=strDay.substring(0,2);if(strYear.length<4)
{strYear=toolString.addLengthAtRight(strYear,"0",4);}
var iYear=parseInt(strYear);if(!reYear.test(strYear))
{iYear=1000;strYear="1000";}
if((iYear%4)==0)
{straMonth[2]=29;}
if(strMonth.length<2)
{strMonth=toolString.addLengthAtLeft(strMonth,"0",2);}
var iMonth=parseInt(strMonth);if(iMonth<1||iMonth>12||!reMonth.test(strMonth))
{iMonth=1;strMonth="01";}
if(strDay.length<2)
{strDay=toolString.addLengthAtLeft(strDay,"0",2);}
var iDay=parseInt(strDay);if(iDay<1||iDay>straMonth[iMonth]||!reDay.test(strDay))
{iDay=1;strDay="01";}
strNewDate=strYear+"-"+strMonth+"-"+strDay;}
catch(ex)
{throw new Exception("整理日期形式失败",ex,this);}
return strNewDate;};tool.ToolDate.prototype.formatInputDate=function(strDate)
{try{var strNewDate="";var iLenght;var iPlace=0;var reInteger=/\d/;var reMonthHeight=/0|1/;var reMonthLow=/0|1|2/;var reMonthLowZero=/[1-9]/;var reDayHeight=/[0-3]/;var reDayHeightFebruary=/[0-2]/;var reDayLow0=/[1-9]/;var reDayLow1=/[0-9]/;var reDayLow2=/[0-9]/;var reDayLow2February=/[0-8]/;var straMonth=new Array(/0/,/0|1/,/0/,/0|1/,/0/,/0|1/,/0/,/0|1/,/0|1/,/0/,/0|1/,/0/,/0|1/);var strYear;var strMonth;var strDay;iLenght=strDate.length;var iPlace1=strDate.indexOf("-");if(iPlace1!=-1&&iPlace1!=4)
{return this.formatDate(strDate);}
var iPlace2=strDate.indexOf("-",4+1);if(iPlace2!=-1&&iPlace2!=7)
{return this.formatDate(strDate);}
for(var i=0;i<iLenght;i++)
{if(reInteger.test(strDate.substring(i,i+1)))
{if(iPlace<3)
{strNewDate+=strDate.substring(i,i+1);}
if(iPlace==3)
{strNewDate+=strDate.substring(i,i+1)+"-";strYear=strNewDate;}
if(iPlace==5||iPlace==4)
{if(reMonthHeight.test(strDate.substring(i,i+1)))
{strNewDate+=strDate.substring(i,i+1);strMonth=strDate.substring(i,i+1);}else
{strNewDate+=+"0"+strDate.substring(i,i+1)+"-";strMonth="0"+strDate.substring(i,i+1);}}
if(iPlace==6)
{if(strMonth=="0")
{if(reMonthLowZero.test(strDate.substring(i,i+1)))
{strNewDate+=strDate.substring(i,i+1)+"-";strMonth+=strDate.substring(i,i+1);}}else
{if(reMonthLow.test(strDate.substring(i,i+1)))
{strNewDate+=strDate.substring(i,i+1)+"-";strMonth+=strDate.substring(i,i+1);}}}
if(iPlace==8||iPlace==7)
{if(strMonth=="02")
{if(reDayHeightFebruary.test(strDate.substring(i,i+1)))
{strNewDate+=strDate.substring(i,i+1);strDay=strDate.substring(i,i+1);}}else
{if(reDayHeight.test(strDate.substring(i,i+1)))
{strNewDate+=strDate.substring(i,i+1);strDay=strDate.substring(i,i+1);}}}
if(iPlace==9)
{if(strDay=="0")
{if(reDayLow0.test(strDate.substring(i,i+1)))
{strNewDate+=strDate.substring(i,i+1);strDay+=strDate.substring(i,i+1);}}
if(strDay=="1")
{if(reDayLow1.test(strDate.substring(i,i+1)))
{strNewDate+=strDate.substring(i,i+1);strDay+=strDate.substring(i,i+1);}}
if(strDay=="2")
{if(strMonth!="02"||((parseInt(strYear)%4)==0))
{if(reDayLow2.test(strDate.substring(i,i+1)))
{strNewDate+=strDate.substring(i,i+1);strDay+=strDate.substring(i,i+1);}}else
{if(reDayLow2February.test(strDate.substring(i,i+1)))
{strNewDate+=strDate.substring(i,i+1);strDay+=strDate.substring(i,i+1);}}}
if(strDay=="3")
{if(straMonth[parseInt(strMonth)].test(strDate.substring(i,i+1)))
{strNewDate+=strDate.substring(i,i+1);strDay+=strDate.substring(i,i+1);}}}}
if(iPlace==9)
{break;}
iPlace++;}}
catch(ex)
{throw new Exception("整理日期形式失败",ex,this);}
return strNewDate;}}};tool.ToolString.prototype=new kernelbase.KernelBaseClass();tool.ToolString.prototype.constructor=tool.ToolString;tool.ToolMath.prototype=new kernelbase.KernelBaseClass();tool.ToolMath.prototype.constructor=tool.ToolMath;tool.ToolDate.prototype=new kernelbase.KernelBaseClass();tool.ToolDate.prototype.constructor=tool.ToolDate;
var error={ErrorProcess:function ErrorProcess()
{error.ErrorProcess.prototype.displayDialogError=function(strError)
{try{alert(strError);}
catch(ex)
{throw new Exception("显示弹出错误信息失败",ex,this);}};error.ErrorProcess.prototype.displayPageError=function(strError)
{var winNew;try{winNew=window.open(systemPath+"tiles/ErrorShow.jsp",'ErrorPage','');while(true)
{if(winNew.document.forms.length==1)
{break;}};winNew.document.error.errorText.innerHTML=strError;}
catch(ex)
{throw new Exception("显示页面错误信息失败",ex,this);}
return winNew;};error.ErrorProcess.prototype.displayHtmlError=function(strError)
{var winNew;try{winNew=window.open(systemPath+"tiles/ErrorShow.jsp",'ErrorPage','');while(true)
{if(winNew.document.forms.length==1)
{break;}};winNew.document.write(strError);}
catch(ex)
{throw new Exception("显示html错误信息失败",ex,this);}
return winNew;};error.ErrorProcess.prototype.displayTextError=function(strError)
{var winNew;try{winNew=window.open(systemPath+"tiles/ErrorShow.jsp",'ErrorPage','');while(true)
{if(winNew.document.forms.length==1)
{break;}};winNew.document.error.innerHTML=strError;}
catch(ex)
{throw new Exception("显示Text错误信息失败",ex,this);}
return winNew;}}};error.ErrorProcess.prototype=new kernelbase.KernelBaseClass();error.ErrorProcess.prototype.constructor=error.ErrorProcess;
var events={EventAttach:function EventAttach()
{events.EventAttach.prototype.onLoad=function(strEvent)
{try{window.attachEvent("onload",function(){setTimeout(strEvent,0);});}
catch(ex)
{throw new Exception("绑定onload事件失败",ex,this);}}
events.EventAttach.prototype.onUnload=function(strEvent)
{try{window.attachEvent("onunload",function(){setTimeout(strEvent,0);});}
catch(ex)
{throw new Exception("绑定onUnload事件失败",ex,this);}}
events.EventAttach.prototype.onUnloadByFunction=function(funEvent)
{try{window.attachEvent("onunload",funEvent);}
catch(ex)
{throw new Exception("绑定onUnload事件失败",ex,this);}}
events.EventAttach.prototype.onClick=function(strFormName,strWidgetName,strEvent)
{try{$form(strFormName,strWidgetName).attachEvent("onclick",function(){setTimeout(strEvent,0);});}
catch(ex)
{throw new Exception("绑定onClick事件失败",ex,this);}}
events.EventAttach.prototype.onDBClick=function(strFormName,strWidgetName,strEvent)
{try{$form(strFormName,strWidgetName).attachEvent("ondbclick",function(){setTimeout(strEvent,0);});}
catch(ex)
{throw new Exception("绑定onDBClick事件失败",ex,this);}}
events.EventAttach.prototype.onChange=function(strFormName,strWidgetName,strEvent)
{try{$form(strFormName,strWidgetName).attachEvent("onchange",function(){setTimeout(strEvent,0);});}
catch(ex)
{throw new Exception("绑定onChange事件失败",ex,this);}}
events.EventAttach.prototype.onFocus=function(strFormName,strWidgetName,strEvent)
{try{$form(strFormName,strWidgetName).attachEvent("onfocus",function(){setTimeout(strEvent,0);});}
catch(ex)
{throw new Exception("绑定onfocus事件失败",ex,this);}}
events.EventAttach.prototype.onBlur=function(strFormName,strWidgetName,strEvent)
{try{$form(strFormName,strWidgetName).attachEvent("onblur",function(){setTimeout(strEvent,0);});}
catch(ex)
{throw new Exception("绑定onBlur事件失败",ex,this);}}
events.EventAttach.prototype.onMouseOver=function(strFormName,strWidgetName,strEvent)
{try{$form(strFormName,strWidgetName).attachEvent("onmouseover",function(){setTimeout(strEvent,0);});}
catch(ex)
{throw new Exception("绑定onmouseover事件失败",ex,this);}}
events.EventAttach.prototype.onMouseOut=function(strFormName,strWidgetName,strEvent)
{try{$form(strFormName,strWidgetName).attachEvent("onmouseout",function(){setTimeout(strEvent,0);});}
catch(ex)
{throw new Exception("绑定onmouseout事件失败",ex,this);}}
events.EventAttach.prototype.onKeyDown=function(strFormName,strWidgetName,strEvent)
{try{$form(strFormName,strWidgetName).attachEvent("onkeydown",function(){setTimeout(strEvent,0);});}
catch(ex)
{throw new Exception("绑定onkeydown事件失败",ex,this);}}
events.EventAttach.prototype.onKeyUp=function(strFormName,strWidgetName,strEvent)
{try{$form(strFormName,strWidgetName).attachEvent("onkeyup",function(){setTimeout(strEvent,0);});}
catch(ex)
{throw new Exception("绑定onkeyup事件失败",ex,this);}}
events.EventAttach.prototype.onKeyUpByFunction=function(strFormName,strWidgetName,funEvent)
{try{$form(strFormName,strWidgetName).attachEvent("onkeyup",funEvent);}
catch(ex)
{throw new Exception("绑定onkeyup事件失败",ex,this);}}},EventFire:function EventFire()
{events.EventFire.prototype.onClick=function(strFormName,strWidgetName)
{try{$form(strFormName,strWidgetName).fireEvent("onclick");}
catch(ex)
{throw new Exception("触发onclick事件失败",ex,this);}}}};events.EventAttach.prototype=new kernelbase.KernelBaseClass();events.EventAttach.prototype.constructor=events.EventAttach;
var base={BaseControl:function BaseControl()
{}};base.BaseControl.prototype=new kernelbase.KernelBaseClass();base.BaseControl.prototype.constructor=base.BaseControl;
var widget={WidgetControl:function WidgetControl()
{widget.WidgetControl.prototype.gainWidgetPlace=function(strFormName,strWidgetName)
{var widgetOne;var iWidgetLeft;var iWidgetTop;var iWidgetHeight;var iWidgetWidth;var widgetParent;var dtoWidgetPlace;try{widgetOne=$form(strFormName,strWidgetName);iWidgetLeft=widgetOne.offsetLeft;iWidgetTop=widgetOne.offsetTop;iWidgetHeight=widgetOne.offsetHeight;iWidgetWidth=widgetOne.offsetWidth;widgetParent=widgetOne.offsetParent;while(widgetParent.tagName.toUpperCase()!="BODY"&&widgetParent.tagName.toUpperCase()!="HTML")
{iWidgetLeft+=widgetParent.offsetLeft;iWidgetTop+=widgetParent.offsetTop;widgetParent=widgetParent.offsetParent;}
dtoWidgetPlace=new dto.DTO();dtoWidgetPlace.put("widgetLeft",iWidgetLeft);dtoWidgetPlace.put("widgetTop",iWidgetTop);dtoWidgetPlace.put("widgetHeight",iWidgetHeight);dtoWidgetPlace.put("widgetWidth",iWidgetWidth);}
catch(ex)
{throw new Exception("获取控件位置失败",ex,this);}
return dtoWidgetPlace;};widget.WidgetControl.prototype.createWidget=function(strWidgetSyntax)
{var widgetOne;try{widgetOne=document.createElement(strWidgetSyntax);document.body.appendChild(widgetOne);}
catch(ex)
{throw new Exception("创建控件失败",ex,this);}
return widgetOne;};widget.WidgetControl.prototype.hiddenWidget=function(strFormName,strWidgetName)
{var widgetOne;try{widgetOne=$form(strFormName,strWidgetName);if(widgetOne==null)
{return;}
widgetOne.style.visibility="hidden";}
catch(ex)
{throw new Exception("隐藏控件失败",ex,this);}};widget.WidgetControl.prototype.clearHiddenWidget=function(strFormName,strWidgetName)
{var widgetOne;try{widgetOne=$form(strFormName,strWidgetName);if(widgetOne==null)
{return;}
widgetOne.style.display="none";}
catch(ex)
{throw new Exception("干净的隐藏控件失败",ex,this);}};widget.WidgetControl.prototype.displayWidget=function(strFormName,strWidgetName)
{var widgetOne;try{widgetOne=$form(strFormName,strWidgetName);if(widgetOne==null)
{return;}
widgetOne.style.visibility="visible";}
catch(ex)
{throw new Exception("显示控件失败",ex,this);}};widget.WidgetControl.prototype.clearDisplayWidget=function(strFormName,strWidgetName)
{var widgetOne;try{widgetOne=$form(strFormName,strWidgetName);if(widgetOne==null)
{return;}
widgetOne.style.display="";}
catch(ex)
{throw new Exception("干净的显示控件失败",ex,this);}}},WidgetButtonControl:function WidgetButtonControl()
{widget.WidgetButtonControl.prototype.assignNormalButtonEffect=function(strFormName,strButtonName)
{try{var widgetOne=$form(strFormName,strButtonName);var eventAttach=new events.EventAttach();widgetOne.className="ButtonStyle";eventAttach.onMouseOver(strFormName,strButtonName,"$form('"+strFormName+"','"+strButtonName+"').className='ButtonOverStyle';");eventAttach.onMouseOut(strFormName,strButtonName,"$form('"+strFormName+"','"+strButtonName+"').className='ButtonStyle';");}
catch(ex)
{throw new Exception("设置一般按钮效果失败",ex,this);}};widget.WidgetButtonControl.prototype.assignRowButtonEffect=function(strFormName,strButtonName)
{try{var widgetOne=$form(strFormName,strButtonName);var eventAttach=new events.EventAttach();widgetOne.className="ButtonRowStyle";eventAttach.onMouseOver(strFormName,strButtonName,"$form('"+strFormName+"','"+strButtonName+"').className='ButtonRowOverStyle';");eventAttach.onMouseOut(strFormName,strButtonName,"$form('"+strFormName+"','"+strButtonName+"').className='ButtonRowStyle';");}
catch(ex)
{throw new Exception("设置行按钮效果失败",ex,this);}};widget.WidgetButtonControl.prototype.assignTabButtonEffect=function(strFormName,strButtonName)
{try{var widgetOne=$form(strFormName,strButtonName);var eventAttach=new events.EventAttach();widgetOne.className="ButtonTabStyle";eventAttach.onMouseOver(strFormName,strButtonName,"var widgetOne=$form('"+strFormName+"','"+strButtonName+"');if(widgetOne.className.indexOf('Select')<0){widgetOne.className='ButtonTabOverStyle';}else{widgetOne.className='ButtonTabSelectOverStyle';};");eventAttach.onMouseOut(strFormName,strButtonName,"var widgetOne=$form('"+strFormName+"','"+strButtonName+"');if(widgetOne.className.indexOf('Select')<0){widgetOne.className='ButtonTabStyle';}else{widgetOne.className='ButtonTabSelectStyle';};");eventAttach.onClick(strFormName,strButtonName,"$form('"+strFormName+"','"+strButtonName+"').className='ButtonTabSelectStyle';")}
catch(ex)
{throw new Exception("设置一般按钮效果失败",ex,this);}};widget.WidgetButtonControl.prototype.submit=function(strFormName,strAction)
{try{this.customSubmit(strFormName,strAction,"");}
catch(ex)
{throw new Exception("提交失败",ex,this);}};widget.WidgetButtonControl.prototype.customSubmit=function(strFormName,strAction,strTarget)
{var widgetOne;try{widgetOne=$(strFormName);widgetOne.action=strAction;widgetOne.target=strTarget;widgetOne.submit();}
catch(ex)
{throw new Exception("自定义提交失败",ex,this);}};widget.WidgetButtonControl.prototype.reset=function(strFormName)
{try{$(strFormName).reset();}
catch(ex)
{throw new Exception("重置失败",ex,this);}}},WidgetCheckBoxControl:function WidgetCheckBoxControl()
{widget.WidgetCheckBoxControl.prototype.selectAll=function(strFormName)
{var widgetOne;try{widgetOne=$(strFormName);var aInputLength=widgetOne.all.tags("INPUT").length;var aInputAll=widgetOne.all.tags("INPUT");for(var i=0;i<aInputLength;i++)
{var widgetCheckBox=aInputAll[i];if(widgetCheckBox.type=="checkbox")
{widgetCheckBox.checked=true;}}}
catch(ex)
{throw new Exception("选择全部失败",ex,this);}};widget.WidgetCheckBoxControl.prototype.unSelectAll=function(strFormName)
{var widgetOne;try{widgetOne=$(strFormName);var aInputLength=widgetOne.all.tags("INPUT").length;var aInputAll=widgetOne.all.tags("INPUT");for(var i=0;i<aInputLength;i++)
{var widgetCheckBox=aInputAll[i];if(widgetCheckBox.type=="checkbox")
{widgetCheckBox.checked=false;}}}
catch(ex)
{throw new Exception("不选择全部失败",ex,this);}};widget.WidgetCheckBoxControl.prototype.reverseSelect=function(strFormName)
{var widgetOne;try{widgetOne=$(strFormName);var aInputLength=widgetOne.all.tags("INPUT").length;var aInputAll=widgetOne.all.tags("INPUT");for(var i=0;i<aInputLength;i++)
{var widgetCheckBox=aInputAll[i];if(widgetCheckBox.type=="checkbox")
{widgetCheckBox.checked=!widgetCheckBox.checked;}}}
catch(ex)
{throw new Exception("反向选择失败",ex,this);}}},WidgetLayerControl:function WidgetLayerControl()
{widget.WidgetLayerControl.prototype.coverWidget=function(strLayerName)
{var widgetIframe;var iLayerLeft;var iLayerTop;var iLayerHeight;var iLayerWidth;var dtoLayerPlace;try{var widgetControl=new widget.WidgetControl();widgetIframe=$(strLayerName+"_coverWidgetIframe");if(widgetIframe==null)
{widgetIframe=widgetControl.createWidget("<iframe frameborder=0 id="+strLayerName+"_coverWidgetIframe"+" style='position:absolute; z-index: 10;'></iframe>");}
dtoLayerPlace=widgetControl.gainWidgetPlace("",strLayerName);iLayerLeft=dtoLayerPlace.get("widgetLeft");iLayerTop=dtoLayerPlace.get("widgetTop");iLayerHeight=dtoLayerPlace.get("widgetHeight");iLayerWidth=dtoLayerPlace.get("widgetWidth");widgetIframe.style.top=iLayerTop;widgetIframe.style.left=iLayerLeft;widgetIframe.style.width=iLayerWidth;widgetIframe.style.height=iLayerHeight;widgetControl.displayWidget("",strLayerName+"_coverWidgetIframe");}
catch(ex)
{throw new Exception("层覆盖控件失败",ex,this);}
return widgetIframe;};widget.WidgetLayerControl.prototype.discoverWidget=function(strLayerName)
{var widgetIframe;try{var widgetControl=new widget.WidgetControl();widgetIframe=$(strLayerName+"_coverWidgetIframe");if(widgetIframe==null)
{return;}
widgetControl.hiddenWidget("",strLayerName+"_coverWidgetIframe");}
catch(ex)
{throw new Exception("隐藏控件失败",ex,this);}}},widgetChangeValue:false,WidgetTextControl:function WidgetTextControl()
{widget.WidgetTextControl.prototype.assignNormalEffect=function(strFormName,strTextWidgetName)
{try{var eventAttach=new events.EventAttach();var widgetText=$form(strFormName,strTextWidgetName);widgetText.className="TextStyle";widgetText.readOnly=false;eventAttach.onFocus(strFormName,strTextWidgetName,"$form('"+strFormName+"', '"+strTextWidgetName+"').className = 'TextFocusStyle';");eventAttach.onBlur(strFormName,strTextWidgetName,"$form('"+strFormName+"', '"+strTextWidgetName+"').className = 'TextStyle';");eventAttach.onChange(strFormName,strTextWidgetName,"widget.widgetChangeValue=true");}
catch(ex)
{throw new Exception("设置一般Text效果失败",ex,this);}};widget.WidgetTextControl.prototype.assignRequireEffect=function(strFormName,strTextWidgetName)
{try{var eventAttach=new events.EventAttach();var widgetText=$form(strFormName,strTextWidgetName);widgetText.className="TextRequireStyle";widgetText.readOnly=false;eventAttach.onFocus(strFormName,strTextWidgetName,"$form('"+strFormName+"', '"+strTextWidgetName+"').className = 'TextRequireFocusStyle';");eventAttach.onBlur(strFormName,strTextWidgetName,"$form('"+strFormName+"', '"+strTextWidgetName+"').className = 'TextRequireStyle';");eventAttach.onChange(strFormName,strTextWidgetName,"widget.widgetChangeValue=true");}
catch(ex)
{throw new Exception("设置必录Text效果失败",ex,this);}};widget.WidgetTextControl.prototype.assignReadOnlyEffect=function(strFormName,strTextWidgetName)
{var widgetText;try{widgetText=$form(strFormName,strTextWidgetName);widgetText.className="textReadOnlyStyle";widgetText.readOnly=true;}
catch(ex)
{throw new Exception("设置只读Text效果失败",ex,this);}};widget.WidgetTextControl.prototype.assignDateEffect=function(strFormName,strTextWidgetName)
{try{var eventAttach=new events.EventAttach();var widgetText=$form(strFormName,strTextWidgetName);var widgetBorder=$(strFormName+"_"+strTextWidgetName+"_border");var widgetDataSelectImage=$(strFormName+"_"+strTextWidgetName+"_dataSelect");widgetBorder.className="TextDateBorderStyle";widgetDataSelectImage.className="DataSelectImageStyle";widgetText.className="BodyStyle";eventAttach.onFocus(strFormName,strTextWidgetName,"$form('"+strFormName+"', '"+strTextWidgetName+"').className = 'BodyFocusStyle';");eventAttach.onBlur(strFormName,strTextWidgetName,"$form('"+strFormName+"', '"+strTextWidgetName+"').className = 'BodyStyle';");eventAttach.onLoad("$('"+strFormName+"_"+strTextWidgetName+"_border').style.width = $form('"+strFormName+"','"+strTextWidgetName+"').clientWidth + 20 + 'px'");eventAttach.onClick("",strFormName+"_"+strTextWidgetName+"_dataSelect","(new ajax.DateSelect()).displayDateSelect('"+strFormName+"','"+strTextWidgetName+"');");eventAttach.onKeyUpByFunction(strFormName,strTextWidgetName,function(){if(window.event.keyCode!=8){widgetText.value=(new tool.ToolDate()).formatInputDate(widgetText.value);}});eventAttach.onChange(strFormName,strTextWidgetName,"widget.widgetChangeValue=true");}
catch(ex)
{throw new Exception("设置一般日期选择效果失败",ex,this);}};widget.WidgetTextControl.prototype.assignTreeEffect=function(strDialogTitle,strFormName,strTextWidgetName,strPageURL,strReturnType,fDialogStart,fDialogOver)
{try{var eventAttach=new events.EventAttach();var widgetText=$form(strFormName,strTextWidgetName);var widgetBorder=$(strFormName+"_"+strTextWidgetName+"_border");var widgetDataSelectImage=$(strFormName+"_"+strTextWidgetName+"_dataSelect");widgetBorder.className="TextTreeBorderStyle";widgetDataSelectImage.className="DataSelectImageStyle";widgetText.className="BodyStyle";eventAttach.onFocus(strFormName,strTextWidgetName,"$form('"+strFormName+"', '"+strTextWidgetName+"').className = 'BodyFocusStyle';");eventAttach.onBlur(strFormName,strTextWidgetName,"$form('"+strFormName+"', '"+strTextWidgetName+"').className = 'BodyStyle';");eventAttach.onLoad("$('"+strFormName+"_"+strTextWidgetName+"_border').style.width = $form('"+strFormName+"','"+strTextWidgetName+"').clientWidth + 20 + 'px'");eventAttach.onClick("",strFormName+"_"+strTextWidgetName+"_dataSelect","(new ajax.DialogControl()).openTreeDialog('"+strDialogTitle+"','"+strFormName+"','"+strTextWidgetName+"','"+strPageURL+"','"+strReturnType+"',"+fDialogStart+","+fDialogOver+");");eventAttach.onChange(strFormName,strTextWidgetName,"widget.widgetChangeValue=true");}
catch(ex)
{throw new Exception("设置一般树效果失败",ex,this);}};widget.WidgetTextControl.prototype.assignReadOnlyTreeEffect=function(strDialogTitle,strFormName,strTextWidgetName,strPageURL,strReturnType,fDialogStart,fDialogOver)
{try{var eventAttach=new events.EventAttach();var widgetText=$form(strFormName,strTextWidgetName);var widgetBorder=$(strFormName+"_"+strTextWidgetName+"_border");var widgetDataSelectImage=$(strFormName+"_"+strTextWidgetName+"_dataSelect");widgetBorder.className="TextTreeBorderStyle";widgetDataSelectImage.className="DataSelectImageStyle";widgetText.className="BodyStyle";widgetText.readOnly=true;eventAttach.onFocus(strFormName,strTextWidgetName,"$form('"+strFormName+"', '"+strTextWidgetName+"').className = 'BodyFocusStyle';");eventAttach.onBlur(strFormName,strTextWidgetName,"$form('"+strFormName+"', '"+strTextWidgetName+"').className = 'BodyStyle';");eventAttach.onLoad("$('"+strFormName+"_"+strTextWidgetName+"_border').style.width = $form('"+strFormName+"','"+strTextWidgetName+"').clientWidth + 20 + 'px'");eventAttach.onClick("",strFormName+"_"+strTextWidgetName+"_dataSelect","(new ajax.DialogControl()).openTreeDialog('"+strDialogTitle+"','"+strFormName+"','"+strTextWidgetName+"','"+strPageURL+"','"+strReturnType+"',"+fDialogStart+","+fDialogOver+");");eventAttach.onClick(strFormName,strTextWidgetName,"(new ajax.DialogControl()).openTreeDialog('"+strDialogTitle+"','"+strFormName+"','"+strTextWidgetName+"','"+strPageURL+"','"+strReturnType+"',"+fDialogStart+","+fDialogOver+");");eventAttach.onChange(strFormName,strTextWidgetName,"widget.widgetChangeValue=true");}
catch(ex)
{throw new Exception("设置只读树效果失败",ex,this);}}},WidgetTextAreaControl:function WidgetTextAreaControl()
{widget.WidgetTextAreaControl.prototype.assignNormalEffect=function(strFormName,strTextAreaWidgetName)
{try{var eventAttach=new events.EventAttach();var widgetTextArea=$form(strFormName,strTextAreaWidgetName);widgetTextArea.className="TextAreaStyle";widgetTextArea.readOnly=false;eventAttach.onFocus(strFormName,strTextAreaWidgetName,"$form('"+strFormName+"', '"+strTextAreaWidgetName+"').className = 'TextAreaFocusStyle';");eventAttach.onBlur(strFormName,strTextAreaWidgetName,"$form('"+strFormName+"', '"+strTextAreaWidgetName+"').className = 'TextAreaStyle';");eventAttach.onChange(strFormName,strTextAreaWidgetName,"widget.widgetChangeValue=true");}
catch(ex)
{throw new Exception("设置一般TextArea效果失败",ex,this);}};widget.WidgetTextAreaControl.prototype.assignRequireEffect=function(strFormName,strTextAreaWidgetName)
{try{var eventAttach=new events.EventAttach();var widgetTextArea=$form(strFormName,strTextAreaWidgetName);widgetTextArea.className="TextAreaRequireStyle";widgetTextArea.readOnly=false;eventAttach.onFocus(strFormName,strTextAreaWidgetName,"$form('"+strFormName+"', '"+strTextAreaWidgetName+"').className = 'TextAreaRequireFocusStyle';");eventAttach.onBlur(strFormName,strTextAreaWidgetName,"$form('"+strFormName+"', '"+strTextAreaWidgetName+"').className = 'TextAreaRequireStyle';");eventAttach.onChange(strFormName,strTextAreaWidgetName,"widget.widgetChangeValue=true");}
catch(ex)
{throw new Exception("设置必录TextArea效果失败",ex,this);}};widget.WidgetTextAreaControl.prototype.assignReadOnlyEffect=function(strFormName,strTextAreaWidgetName)
{var widgetTextArea;try{widgetTextArea=$form(strFormName,strTextAreaWidgetName);widgetTextArea.className="textAreaReadOnlyStyle";widgetTextArea.readOnly=true;}
catch(ex)
{throw new Exception("设置只读TextArea效果失败",ex,this);}};widget.WidgetTextAreaControl.prototype.assignTreeEffect=function(strDialogTitle,strFormName,strTextAreaWidgetName,strPageURL,strReturnType,fDialogStart,fDialogOver)
{try{var eventAttach=new events.EventAttach();var widgetTextArea=$form(strFormName,strTextAreaWidgetName);var widgetBorder=$(strFormName+"_"+strTextAreaWidgetName+"_border");var widgetDataSelectImage=$(strFormName+"_"+strTextAreaWidgetName+"_dataSelect");widgetBorder.className="TextAreaTreeBorderStyle";widgetDataSelectImage.className="DataSelectImageStyle";widgetTextArea.className="BodyStyle";eventAttach.onFocus(strFormName,strTextAreaWidgetName,"$form('"+strFormName+"', '"+strTextAreaWidgetName+"').className = 'BodyFocusStyle';");eventAttach.onBlur(strFormName,strTextAreaWidgetName,"$form('"+strFormName+"', '"+strTextAreaWidgetName+"').className = 'BodyStyle';");eventAttach.onLoad("$('"+strFormName+"_"+strTextAreaWidgetName+"_border').style.width = $form('"+strFormName+"','"+strTextAreaWidgetName+"').clientWidth + 36 + 'px'");eventAttach.onLoad("$('"+strFormName+"_"+strTextAreaWidgetName+"_border').style.height = $form('"+strFormName+"','"+strTextAreaWidgetName+"').clientHeight + 5 + 'px'");eventAttach.onLoad("$('"+strFormName+"_"+strTextAreaWidgetName+"_dataSelect').style.top = - $form('"+strFormName+"','"+strTextAreaWidgetName+"').clientHeight - 2 + 'px'");eventAttach.onClick("",strFormName+"_"+strTextAreaWidgetName+"_dataSelect","(new ajax.DialogControl()).openTreeDialog('"+strDialogTitle+"','"+strFormName+"','"+strTextAreaWidgetName+"','"+strPageURL+"','"+strReturnType+"',"+fDialogStart+","+fDialogOver+");");eventAttach.onChange(strFormName,strTextAreaWidgetName,"widget.widgetChangeValue=true");}
catch(ex)
{throw new Exception("设置一般树效果失败",ex,this);}};widget.WidgetTextAreaControl.prototype.assignReadOnlyTreeEffect=function(strDialogTitle,strFormName,strTextAreaWidgetName,strPageURL,strReturnType,fDialogStart,fDialogOver)
{try{var eventAttach=new events.EventAttach();var widgetTextArea=$form(strFormName,strTextAreaWidgetName);var widgetBorder=$(strFormName+"_"+strTextAreaWidgetName+"_border");var widgetDataSelectImage=$(strFormName+"_"+strTextAreaWidgetName+"_dataSelect");widgetBorder.className="TextAreaTreeBorderStyle";widgetDataSelectImage.className="DataSelectImageStyle";widgetTextArea.className="BodyStyle";widgetTextArea.readOnly=true;eventAttach.onFocus(strFormName,strTextAreaWidgetName,"$form('"+strFormName+"', '"+strTextAreaWidgetName+"').className = 'BodyFocusStyle';");eventAttach.onBlur(strFormName,strTextAreaWidgetName,"$form('"+strFormName+"', '"+strTextAreaWidgetName+"').className = 'BodyStyle';");eventAttach.onLoad("$('"+strFormName+"_"+strTextAreaWidgetName+"_border').style.width = $form('"+strFormName+"','"+strTextAreaWidgetName+"').clientWidth + 36 + 'px'");eventAttach.onLoad("$('"+strFormName+"_"+strTextAreaWidgetName+"_border').style.height = $form('"+strFormName+"','"+strTextAreaWidgetName+"').clientHeight + 5 + 'px'");eventAttach.onLoad("$('"+strFormName+"_"+strTextAreaWidgetName+"_dataSelect').style.top = - $form('"+strFormName+"','"+strTextAreaWidgetName+"').clientHeight - 2 + 'px'");eventAttach.onClick("",strFormName+"_"+strTextAreaWidgetName+"_dataSelect","(new ajax.DialogControl()).openTreeDialog('"+strDialogTitle+"','"+strFormName+"','"+strTextAreaWidgetName+"','"+strPageURL+"','"+strReturnType+"',"+fDialogStart+","+fDialogOver+");");eventAttach.onClick(strFormName,strTextAreaWidgetName,"(new ajax.DialogControl()).openTreeDialog('"+strDialogTitle+"','"+strFormName+"','"+strTextAreaWidgetName+"','"+strPageURL+"','"+strReturnType+"',"+fDialogStart+","+fDialogOver+");");eventAttach.onChange(strFormName,strTextAreaWidgetName,"widget.widgetChangeValue=true");}
catch(ex)
{throw new Exception("设置只读树效果失败",ex,this);}}},WidgetIframeControl:function WidgetIframeControl()
{widget.WidgetIframeControl.prototype.autoAdaptMainIframe=function(strIframeWidgetName)
{var widgetIframe;try{widgetIframe=$(strIframeWidgetName);widgetIframe.height=widgetIframe.Document.body.scrollHeight+200+"px";if(widgetIframe.Document.body.scrollWidth>screen.width)
{widgetIframe.width=screen.width+"px";}
else
{widgetIframe.width=widgetIframe.Document.body.scrollWidth+"px";}}
catch(ex)
{throw new Exception("自动适应主窗口内容失败",ex,this);}};widget.WidgetIframeControl.prototype.autoAdaptDialogIframe=function(strIframeWidgetName)
{var widgetIframe;try{widgetIframe=$(strIframeWidgetName);widgetIframe.height=1;widgetIframe.width=1;if(widgetIframe.Document.body.scrollHeight+45>screen.height-60)
{widgetIframe.height=screen.height-85+"px";}
else
{widgetIframe.height=widgetIframe.Document.body.scrollHeight+20+"px";}
if(widgetIframe.Document.body.scrollWidth+25>screen.width)
{widgetIframe.width=screen.width-10+"px";}
else
{widgetIframe.width=widgetIframe.Document.body.scrollWidth+20+"px";}}
catch(ex)
{throw new Exception("自动适应对话框Ifram内容失败",ex,this);}}},WidgetDialogControl:function WidgetDialogControl()
{widget.WidgetDialogControl.prototype.autoAdaptMainDialog=function(strDialogIframeName)
{var widgetDialogIframe;try{widgetDialogIframe=$(strDialogIframeName);if(widgetDialogIframe.Document.body.scrollHeight+45>screen.height-60)
{window.dialogHeight=screen.height-60+"px";}
else
{window.dialogHeight=widgetDialogIframe.Document.body.scrollHeight+45+"px";}
if(widgetDialogIframe.Document.body.scrollWidth+25>screen.width)
{window.dialogWidth=screen.width+"px";}else
{window.dialogWidth=widgetDialogIframe.Document.body.scrollWidth+25+"px";}}
catch(ex)
{throw new Exception("自动适应dialog内容失败",ex,this);}}},WidgetSelectListControl:function WidgetSelectListControl()
{widget.WidgetSelectListControl.prototype.autoChangeNormalBorderSize=function(strFormName,strSelectListWidgetName)
{var widgetBorder;var strWidgetBorder;var widgetLayer;var strWidgetLayer;try{strWidgetBorder=strFormName+"_"+strSelectListWidgetName+"_border";widgetBorder=$(strWidgetBorder);strWidgetLayer=strFormName+"_"+strSelectListWidgetName+"_layer";widgetLayer=$(strWidgetLayer);setTimeout("$('"+strWidgetBorder+"').style.width = $form('"+strFormName+"', '"+strSelectListWidgetName+"').clientWidth - 2 + 'px'",0);setTimeout("$('"+strWidgetBorder+"').style.height = $form('"+strFormName+"', '"+strSelectListWidgetName+"').clientHeight - 2 + 'px'",0);setTimeout("$('"+strWidgetLayer+"').style.width = $form('"+strFormName+"', '"+strSelectListWidgetName+"').clientWidth - 5 + 'px'",0);setTimeout("$('"+strWidgetLayer+"').style.height = $form('"+strFormName+"', '"+strSelectListWidgetName+"').clientHeight - 5 + 'px'",0);}
catch(ex)
{throw new Exception("设置马上见效的selectList效果失败",ex,this);}};widget.WidgetSelectListControl.prototype.assignNormalSelectListEffect=function(strFormName,strSelectListWidgetName)
{try{var eventAttach=new events.EventAttach();var widgetSelect=$form(strFormName,strSelectListWidgetName);var strWidgetBorder=strFormName+"_"+strSelectListWidgetName+"_border";var widgetBorder=$(strWidgetBorder);var strWidgetLayer=strFormName+"_"+strSelectListWidgetName+"_layer";var widgetLayer=$(strWidgetLayer);widgetBorder.className="selectListBorderStyle";widgetLayer.className="LayerStyle";widgetSelect.className="BodyStyle";eventAttach.onFocus(strFormName,strSelectListWidgetName,"$form('"+strFormName+"', '"+strSelectListWidgetName+"').className = 'BodyFocusStyle';");eventAttach.onBlur(strFormName,strSelectListWidgetName,"$form('"+strFormName+"', '"+strSelectListWidgetName+"').className = 'BodyStyle';");eventAttach.onLoad("$('"+strWidgetBorder+"').style.width = $form('"+strFormName+"', '"+strSelectListWidgetName+"').clientWidth - 2 + 'px'");eventAttach.onLoad("$('"+strWidgetBorder+"').style.height = $form('"+strFormName+"', '"+strSelectListWidgetName+"').clientHeight - 2 + 'px'");eventAttach.onLoad("$('"+strWidgetLayer+"').style.width = $form('"+strFormName+"', '"+strSelectListWidgetName+"').clientWidth - 5 + 'px'");eventAttach.onLoad("$('"+strWidgetLayer+"').style.height = $form('"+strFormName+"', '"+strSelectListWidgetName+"').clientHeight - 5 + 'px'");eventAttach.onChange(strFormName,strSelectListWidgetName,"widget.widgetChangeValue=true");}
catch(ex)
{throw new Exception("设置一般selectList效果失败",ex,this);}}},WidgetSelectControl:function WidgetSelectControl()
{widget.WidgetSelectControl.prototype.autoChangeNormalBorderSize=function(strFormName,strSelectWidgetName)
{try{setTimeout("$('"+strFormName+"_"+strSelectWidgetName+"_border').style.width = $form('"+strFormName+"','"+strSelectWidgetName+"').clientWidth + 15 + 'px'",0);setTimeout("$('"+strFormName+"_"+strSelectWidgetName+"_layer').style.width = $form('"+strFormName+"','"+strSelectWidgetName+"').clientWidth - 3 + 'px'",0);}
catch(ex)
{throw new Exception("select边框自适应失败",ex,this);}};widget.WidgetSelectControl.prototype.assignNormalEffect=function(strFormName,strSelectWidgetName,strSelectFilterTitle)
{try{var eventAttach=new events.EventAttach();var widgetSelect=$form(strFormName,strSelectWidgetName);var strWidgetBorderName=strFormName+"_"+strSelectWidgetName+"_border";var widgetBorder=$(strWidgetBorderName);var strWidgetLayerName=strFormName+"_"+strSelectWidgetName+"_layer";var widgetLayer=$(strWidgetLayerName);var widgetFilterImage=$(strFormName+"_"+strSelectWidgetName+"_selectFilter");widgetBorder.className="selectBorderStyle";widgetLayer.className="LayerStyle";widgetFilterImage.className="SelectFilterImageStyle";widgetSelect.className="BodyStyle";eventAttach.onLoad("$('"+strWidgetBorderName+"').style.width = $form('"+strFormName+"', '"+strSelectWidgetName+"').clientWidth + 15 + 'px'");eventAttach.onLoad("$('"+strWidgetLayerName+"').style.width = $form('"+strFormName+"', '"+strSelectWidgetName+"').clientWidth - 3 + 'px'");eventAttach.onFocus(strFormName,strSelectWidgetName,"$form('"+strFormName+"', '"+strSelectWidgetName+"').className = 'BodyFocusStyle';");eventAttach.onBlur(strFormName,strSelectWidgetName,"$form('"+strFormName+"', '"+strSelectWidgetName+"').className = 'BodyStyle';");widgetSelect.setAttribute("selectNameCN",strSelectFilterTitle);eventAttach.onClick("",strFormName+"_"+strSelectWidgetName+"_selectFilter","(new ajax.SelectFilter()).displaySelectFilter('"+strFormName+"','"+strSelectWidgetName+"','"+strSelectFilterTitle+"',false);");eventAttach.onChange(strFormName,strSelectWidgetName,"widget.widgetChangeValue=true");}
catch(ex)
{throw new Exception("设置一般select效果失败",ex,this);}};widget.WidgetSelectControl.prototype.autoChangeReadOnlyBorderSize=function(strFormName,strSelectWidgetName)
{try{setTimeout("$('"+strFormName+"_"+strSelectWidgetName+"_border').style.width = $form('"+strFormName+"','"+strSelectWidgetName+"').clientWidth + 'px'",0);setTimeout("$('"+strFormName+"_"+strSelectWidgetName+"_layer').style.width = $form('"+strFormName+"','"+strSelectWidgetName+"').clientWidth - 3 + 'px'",0);}
catch(ex)
{throw new Exception("select边框自适应失败",ex,this);}};widget.WidgetSelectControl.prototype.assignReadOnlyEffect=function(strFormName,strSelectWidgetName)
{try{var eventAttach=new events.EventAttach();var widgetSelect=$form(strFormName,strSelectWidgetName);var strWidgetBorderName=strFormName+"_"+strSelectWidgetName+"_border";var widgetBorder=$(strWidgetBorderName);var strWidgetLayerName=strFormName+"_"+strSelectWidgetName+"_layer";var widgetLayer=$(strWidgetLayerName);widgetBorder.className="selectReadOnlyBorderStyle";widgetLayer.className="LayerStyle";widgetSelect.className="BodyStyle";eventAttach.onFocus(strFormName,strSelectWidgetName,"$form('"+strFormName+"', '"+strSelectWidgetName+"').className = 'BodyFocusStyle';");eventAttach.onBlur(strFormName,strSelectWidgetName,"$form('"+strFormName+"', '"+strSelectWidgetName+"').className = 'BodyStyle';");eventAttach.onLoad("$('"+strWidgetBorderName+"').style.width = $form('"+strFormName+"', '"+strSelectWidgetName+"').clientWidth + 'px'");eventAttach.onLoad("$('"+strWidgetLayerName+"').style.width = $form('"+strFormName+"', '"+strSelectWidgetName+"').clientWidth - 3 + 'px'");eventAttach.onLoad("var widgetSelect=$form('"+strFormName+"', '"+strSelectWidgetName+"');for(var i=0; i <widgetSelect.length; i++){if(widgetSelect.options[i].value==''){widgetSelect.options[i].text='';};};(new widget.WidgetSelectControl()).autoChangeReadOnlyBorderSize('"+strFormName+"','"+strSelectWidgetName+"');");widgetSelect.onbeforeactivate=function(){return false;};widgetSelect.onclick=function(){alert("该选择只读");};}
catch(ex)
{throw new Exception("设置只读select效果失败",ex,this);}};widget.WidgetSelectControl.prototype.assignTreeEffect=function(strDialogTitle,strFormName,strSelectWidgetName,strPageURL,strReturnType,fDialogStart,fDialogOver)
{try{var eventAttach=new events.EventAttach();var widgetSelect=$form(strFormName,strSelectWidgetName);var strWidgetBorderName=strFormName+"_"+strSelectWidgetName+"_border";var widgetBorder=$(strWidgetBorderName);var strWidgetLayerName=strFormName+"_"+strSelectWidgetName+"_layer";var widgetLayer=$(strWidgetLayerName);var widgetFilterImage=$(strFormName+"_"+strSelectWidgetName+"_selectFilter");widgetBorder.className="selectBorderStyle";widgetLayer.className="LayerStyle";widgetFilterImage.className="SelectFilterImageStyle";widgetSelect.className="BodyStyle";eventAttach.onFocus(strFormName,strSelectWidgetName,"$form('"+strFormName+"', '"+strSelectWidgetName+"').className = 'BodyFocusStyle';");eventAttach.onBlur(strFormName,strSelectWidgetName,"$form('"+strFormName+"', '"+strSelectWidgetName+"').className = 'BodyStyle';");eventAttach.onLoad("$('"+strWidgetBorderName+"').style.width = $form('"+strFormName+"', '"+strSelectWidgetName+"').clientWidth + 15 + 'px'");eventAttach.onLoad("$('"+strWidgetLayerName+"').style.width = $form('"+strFormName+"', '"+strSelectWidgetName+"').clientWidth - 3 + 'px'");widgetSelect.setAttribute("selectNameCN",strDialogTitle);eventAttach.onClick("",strFormName+"_"+strSelectWidgetName+"_selectFilter","(new ajax.DialogControl()).openTreeDialog('"+strDialogTitle+"','"+strFormName+"','"+strSelectWidgetName+"','"+strPageURL+"','"+strReturnType+"',"+fDialogStart+","+fDialogOver+");");eventAttach.onChange(strFormName,strSelectWidgetName,"widget.widgetChangeValue=true");}
catch(ex)
{throw new Exception("设置一般select效果失败",ex,this);}};widget.WidgetSelectControl.prototype.assignGoToEffect=function(strFormName,strSelectWidgetName)
{var widgetBorder;var strWidgetBorderName;var widgetLayer;var strWidgetLayerName;var widgetSelect;try{var eventAttach=new events.EventAttach();widgetSelect=$form(strFormName,strSelectWidgetName);strWidgetBorderName=strFormName+"_"+strSelectWidgetName+"_border";widgetBorder=$(strWidgetBorderName);strWidgetLayerName=strFormName+"_"+strSelectWidgetName+"_layer";widgetLayer=$(strWidgetLayerName);widgetBorder.className="selectBorderStyle";widgetLayer.className="LayerStyle";widgetSelect.className="BodyStyle";eventAttach.onFocus(strFormName,strSelectWidgetName,"$form('"+strFormName+"', '"+strSelectWidgetName+"').className = 'BodyFocusStyle';");eventAttach.onBlur(strFormName,strSelectWidgetName,"$form('"+strFormName+"', '"+strSelectWidgetName+"').className = 'BodyStyle';");eventAttach.onLoad("$('"+strWidgetBorderName+"').style.width = $form('"+strFormName+"', '"+strSelectWidgetName+"').clientWidth + 'px'");eventAttach.onLoad("$('"+strWidgetLayerName+"').style.width = $form('"+strFormName+"', '"+strSelectWidgetName+"').clientWidth - 3 + 'px'");}
catch(ex)
{throw new Exception("设置GoToselect效果失败",ex,this);}};widget.WidgetSelectControl.prototype.spreadSelect=function(strFormName,strSelectWidgetName)
{try{$form(strFormName,strSelectWidgetName).focus();var axo=new ActiveXObject("Wscript.Shell");axo.SendKeys("%{DOWN}");axo.Quit;}
catch(ex)
{throw new Exception("展开select失败",ex,this);}};widget.WidgetSelectControl.prototype.assignSelectValue=function(strFormName,strSelectWidgetName,strValue)
{var widgetOne;try{widgetOne=$form(strFormName,strSelectWidgetName);for(var i=0;i<widgetOne.length;i++)
{if(widgetOne[i].value==strValue)
{widgetOne[i].selected=true;return 1;}}
return 0;}
catch(ex)
{throw new Exception("赋予select值失败",ex,this);}};widget.WidgetSelectControl.prototype.copySelectValue=function(strSourceFormName,strSourceSelectWidgetName,strTargetFormName,strTargetSelectWidgetName)
{var widgetSource;var widgetTarget;var iLength;try{widgetSource=$form(strSourceFormName,strSourceSelectWidgetName);widgetTarget=$form(strTargetFormName,strTargetSelectWidgetName);iLength=widgetSource.length;widgetTarget.length=iLength;for(var i=0;i<iLength;i++)
{widgetTarget.options[i].value=widgetSource.options[i].value;widgetTarget.options[i].text=widgetSource.options[i].text;}}
catch(ex)
{throw new Exception("拷贝select值失败",ex,this);}};widget.WidgetSelectControl.prototype.addTextValue=function(strFormName,strSelectWidgetName,strText,strValue)
{var widgetSelect;var iLength;try{widgetSelect=$form(strFormName,strSelectWidgetName);iLength=widgetSelect.length;widgetSelect.length=iLength+1;widgetSelect.options[iLength].value=strValue;widgetSelect.options[iLength].text=strText;}
catch(ex)
{throw new Exception("增加select内容失败",ex,this);}}},WidgetTableControl:function WidgetTableControl()
{widget.WidgetTableControl.prototype.createTable=function(strWidgetSyntax)
{var widgetTable;try{widgetTable=document.createElement(strWidgetSyntax);}
catch(ex)
{throw new Exception("创建表失败",ex,this);}
return widgetTable;};widget.WidgetTableControl.prototype.addRow=function(widgetTable)
{var widgetRow;try{widgetRow=widgetTable.insertRow();}
catch(ex)
{throw new Exception("增加行失败",ex,this);}
return widgetRow;};widget.WidgetTableControl.prototype.addCell=function(widgetRow,strWidgetSyntax)
{var widgetCell;try{widgetCell=widgetRow.insertCell();widgetCell.innerHTML=strWidgetSyntax;}
catch(ex)
{throw new Exception("增加列失败",ex,this);}
return widgetCell;}}};widget.WidgetControl.prototype=new base.BaseControl();widget.WidgetControl.prototype.constructor=widget.WidgetControl;widget.WidgetButtonControl.prototype=new base.BaseControl();widget.WidgetButtonControl.prototype.constructor=widget.WidgetButtonControl;widget.WidgetCheckBoxControl.prototype=new base.BaseControl();widget.WidgetCheckBoxControl.prototype.constructor=widget.WidgetCheckBoxControl;widget.WidgetLayerControl.prototype=new base.BaseControl();widget.WidgetLayerControl.prototype.constructor=widget.WidgetLayerControl;widget.WidgetTextControl.prototype=new base.BaseControl();widget.WidgetTextControl.prototype.constructor=widget.WidgetTextControl;widget.WidgetTextAreaControl.prototype=new base.BaseControl();widget.WidgetTextAreaControl.prototype.constructor=widget.WidgetTextAreaControl;widget.WidgetIframeControl.prototype=new base.BaseControl();widget.WidgetIframeControl.prototype.constructor=widget.WidgetIframeControl;widget.WidgetDialogControl.prototype=new base.BaseControl();widget.WidgetDialogControl.prototype.constructor=widget.WidgetDialogControl;widget.WidgetSelectListControl.prototype=new base.BaseControl();widget.WidgetSelectListControl.prototype.constructor=widget.WidgetSelectListControl;widget.WidgetSelectControl.prototype=new base.BaseControl();widget.WidgetSelectControl.prototype.constructor=widget.WidgetSelectControl;widget.WidgetTableControl.prototype=new base.BaseControl();widget.WidgetTableControl.prototype.constructor=widget.WidgetTableControl;
var ajax={AjaxEffect:function AjaxEffect()
{ajax.AjaxEffect.prototype.displayLoadWaitLayer=function(strFormName,strWidgetName)
{var widgetLayer;try{var widgetControl=new widget.WidgetControl();widgetLayer=$(strFormName+"_"+strWidgetName+"_loadWait");if(widgetLayer==null)
{widgetLayer=widgetControl.createWidget("<DIV id= '"+strFormName+"_"+strWidgetName+"_loadWait' class='loadWaitLayerStyle'></DIV>");};var dtoWidgetPlace=widgetControl.gainWidgetPlace(strFormName,strWidgetName);var iLayerTop=dtoWidgetPlace.get("widgetTop")+dtoWidgetPlace.get("widgetHeight");var iLayerLeft=dtoWidgetPlace.get("widgetLeft");widgetLayer.className="loadWaitLayerStyle";widgetLayer.innerHTML="正在下载数据，请等待...";widgetLayer.style.left=iLayerLeft+"px";widgetLayer.style.top=iLayerTop+"px";setTimeout("(new widget.WidgetControl()).displayWidget('','"+strFormName+"_"+strWidgetName+"_loadWait')",0);}
catch(ex)
{throw new Exception("显示下载等待失败",ex,this);}};ajax.AjaxEffect.prototype.hiddenLoadWaitLayer=function(strFormName,strWidgetName)
{var widgetLayer;try{var widgetControl=new widget.WidgetControl();widgetLayer=$(strFormName+"_"+strWidgetName+"_loadWait");if(widgetLayer==null)
{setTimeout("(new ajax.AjaxEffect()).hiddenLoadWaitLayer('"+strFormName+"','"+strWidgetName+"')",1000);return;};var dtoWidgetPlace=widgetControl.gainWidgetPlace(strFormName,strWidgetName);var iLayerTop=dtoWidgetPlace.get("widgetTop")+dtoWidgetPlace.get("widgetHeight");var iLayerLeft=dtoWidgetPlace.get("widgetLeft");widgetLayer.style.left=iLayerLeft+"px";widgetLayer.style.top=iLayerTop+"px";widgetLayer.innerHTML="下载数据完毕，请继续使用。";widgetLayer.className="loadCompleteLayerStyle";widgetLayer.filters[0].play();setTimeout("(new widget.WidgetControl()).hiddenWidget('','"+strFormName+"_"+strWidgetName+"_loadWait')",2000);}
catch(ex)
{throw new Exception("隐藏下载等待失败",ex,this);}}},PortalEffect:function PortalEffect()
{ajax.PortalEffect.prototype.assignFieldsetEffect=function(strWidgetName,strImageTitle,bSpread)
{try{var widgetControl=new widget.WidgetControl();var eventAttach=new events.EventAttach();var widgetLegend=$(strWidgetName+"_legend");var widgetSpreadImage=$(strWidgetName+"_spreadImage");var widgetObject=$(strWidgetName);if(widgetSpreadImage.src=="")
{widgetLegend.className="LegendStyle";widgetSpreadImage.className="SpreadImage";eventAttach.onClick("",strWidgetName+"_spreadImage","(new ajax.PortalEffect).assignFieldsetEffect('"+strWidgetName+"','"+strImageTitle+"',true);");if(bSpread)
{widgetSpreadImage.src=systemPath+"images/Shrink.gif";widgetSpreadImage.title="隐藏"+strImageTitle;eventAttach.onLoad("(new widget.WidgetControl()).clearDisplayWidget('',"+strWidgetName+")");}else
{widgetSpreadImage.src=systemPath+"images/Spread.gif";widgetSpreadImage.title="显示"+strImageTitle;eventAttach.onLoad("(new widget.WidgetControl()).clearHiddenWidget('',"+strWidgetName+")");};}else
{if(widgetObject.style.display=="none")
{widgetSpreadImage.src=systemPath+"images/Shrink.gif";widgetSpreadImage.title="隐藏"+strImageTitle;widgetControl.clearDisplayWidget("",strWidgetName);}else
{widgetSpreadImage.src=systemPath+"images/Spread.gif";widgetSpreadImage.title="显示"+strImageTitle;widgetControl.clearHiddenWidget("",strWidgetName);};};}
catch(ex)
{throw new Exception("显示Fieldset内容失败",ex,this);}}},PrintControl:function PrintControl()
{ajax.PrintControl.prototype.printPreview=function(strWidgetName)
{try{winNew=window.open(systemPath+"tiles/PrintPreview.jsp",'PrintPreview','');while(true)
{if(winNew.document.forms.length==1)
{break;}};winNew.document.print.innerHTML=$(strWidgetName).innerHTML;}
catch(ex)
{throw new Exception("打印预览失败",ex,this);}};ajax.PrintControl.prototype.controlPrintButton=function(strPrintButtonName)
{try{$(strPrintButtonName).style.display='none';window.print();$(strPrintButtonName).style.display='';window.close();}
catch(ex)
{throw new Exception("控制打印按钮失败",ex,this);}}},dialogArgumentsDTO:null,dialogParentDocument:null,dialogParentForm:null,dialogParentWidget:null,dialogReturnType:null,dialogReturnValue:null,DialogControl:function DialogControl()
{ajax.DialogControl.prototype.openStandardDialog=function(strDialogTitle,strPageURL,fDialogOver)
{var dtoValue=null;try{dtoValue=new dto.DTO();dtoValue.put("pageURL",strPageURL);dtoValue.put("dialogTitle",strDialogTitle);dtoValue.put("parentDocument",document);dtoValue.put("returnValue",new dto.DTOTable());showModalDialog(systemPath+"tiles/DialogBox.jsp",dtoValue,"center:yes;help:no;status:no;");if(fDialogOver!=null)
{fDialogOver(strDialogTitle,strPageURL,dtoValue);};}
catch(ex)
{throw new Exception("打开标准对话框失败",ex,this);}};ajax.DialogControl.prototype.initStandardDialogTitle=function()
{var dtoValue=null;try{dtoValue=window.dialogArguments;ajax.dialogArgumentsDTO=dtoValue;document.title=dtoValue.get("dialogTitle");}
catch(ex)
{throw new Exception("初始化标准对话框标题失败",ex,this);}};ajax.DialogControl.prototype.initStandardDialog=function(strDialogIframeName)
{var dtoValue=null;try{dtoValue=ajax.dialogArgumentsDTO;$(strDialogIframeName).src=dtoValue.get("pageURL");ajax.dialogParentDocument=dtoValue.get("parentDocument");ajax.dialogReturnValue=dtoValue.get("returnValue");window.document.body.scroll='no';}
catch(ex)
{throw new Exception("初始化标准对话框失败",ex,this);}};ajax.DialogControl.prototype.openTreeDialog=function(strDialogTitle,strFormName,strWidgetName,strPageURL,strReturnType,fDialogStart,fDialogOver)
{var dtoValue=null;try{dtoValue=new dto.DTO();dtoValue.put("pageURL",strPageURL);if(fDialogStart!=null)
{var strParameter=fDialogStart(strDialogTitle,strFormName,strWidgetName,strPageURL,strReturnType);dtoValue.put("pageParameter",strParameter);}
dtoValue.put("dialogTitle",strDialogTitle);dtoValue.put("parentDocument",document);dtoValue.put("formName",strFormName);dtoValue.put("widgetName",strWidgetName);dtoValue.put("returnType",strReturnType);dtoValue.put("returnValue",new dto.DTOTable());showModalDialog(systemPath+"tiles/TreeDialogBox.jsp",dtoValue,"dialogHeight:345px;dialogWidth:505px;center:yes;help:no;status:no;");if(fDialogOver!=null)
{fDialogOver(strDialogTitle,strFormName,strWidgetName,strPageURL,strReturnType,dtoValue);}}
catch(ex)
{throw new Exception("打开树对话框失败",ex,this);}};ajax.DialogControl.prototype.initTreeDialogTitle=function()
{var dtoValue=null;try{dtoValue=window.dialogArguments;ajax.dialogArgumentsDTO=dtoValue;document.title=dtoValue.get("dialogTitle");}
catch(ex)
{throw new Exception("初始化树对话框标题失败",ex,this);}};ajax.DialogControl.prototype.initTreeDialog=function(strDialogIframeName)
{try{var eventAttach=new events.EventAttach();var dtoValue=ajax.dialogArgumentsDTO;if(dtoValue.get("pageParameter")==null)
{$(strDialogIframeName).src=dtoValue.get("pageURL");}else
{$(strDialogIframeName).src=dtoValue.get("pageURL")+dtoValue.get("pageParameter");};ajax.dialogParentDocument=dtoValue.get("parentDocument");ajax.dialogParentForm=dtoValue.get("formName");ajax.dialogParentWidget=dtoValue.get("widgetName");ajax.dialogReturnType=dtoValue.get("returnType");ajax.dialogReturnValue=dtoValue.get("returnValue");window.document.body.scroll='no';var widgetParent=ajax.dialogParentDocument.getElementById(ajax.dialogParentForm).namedItem(ajax.dialogParentWidget);var widgetControl=new widget.WidgetControl();if(ajax.dialogReturnType!="onlyValue")
{widgetControl.clearHiddenWidget('','inputValue');}
eventAttach.onUnloadByFunction(function(){(new ajax.DialogControl).closeTreeDialogEvent(strDialogIframeName);});}
catch(ex)
{throw new Exception("初始化树对话框失败",ex,this);}};ajax.DialogControl.prototype.closeTreeDialog=function()
{try{ajax.dialogArgumentsDTO.put("closeType","button");window.close();}
catch(ex)
{throw new Exception("关闭树对话框失败",ex,this);}};ajax.DialogControl.prototype.closeTreeDialogEvent=function(strDialogIframeName)
{try{if(ajax.dialogReturnType=="value"||ajax.dialogReturnType=="onlyValue")
{var widgetParent=ajax.dialogParentDocument.getElementById(ajax.dialogParentForm).namedItem(ajax.dialogParentWidget);var widgetTable=$(strDialogIframeName).Document.getElementById("tree_contentNode");var bFlag=false;var aInputLength=widgetTable.all.tags("INPUT").length;var aInputAll=widgetTable.all.tags("INPUT");for(var i=0;i<aInputLength;i++)
{var widgetCheckBox=aInputAll[i];if(widgetCheckBox.type=="checkbox"&&widgetCheckBox.checked)
{var strValue=widgetCheckBox.nodeValuePath.substring(widgetCheckBox.nodeValuePath.lastIndexOf(ajax.treeListSeparator)+ajax.treeListSeparator.length);if(widgetParent.type=="select-one")
{for(var j=0;j<widgetParent.length;j++)
{if(widgetParent[j].value==strValue)
{ajax.dialogArgumentsDTO.put('treeLabel',widgetCheckBox.nodeNamePath);ajax.dialogArgumentsDTO.put('treeValue',widgetCheckBox.nodeValuePath);widgetParent[j].selected=true;widgetParent.fireEvent("onchange");bFlag=true;};};if(!bFlag)
{alert("选择值在选择控件中并不存在,请重新选择");};}else
{widgetParent.value=strValue;ajax.dialogArgumentsDTO.put('treeLabel',widgetCheckBox.nodeNamePath);ajax.dialogArgumentsDTO.put('treeValue',widgetCheckBox.nodeValuePath);};};};};if(ajax.dialogReturnType=="label")
{var widgetParent=ajax.dialogParentDocument.getElementById(ajax.dialogParentForm).namedItem(ajax.dialogParentWidget);var widgetTable=$(strDialogIframeName).Document.getElementById("tree_contentNode");var aInputLength=widgetTable.all.tags("INPUT").length;var aInputAll=widgetTable.all.tags("INPUT");for(var i=0;i<aInputLength;i++)
{var widgetCheckBox=aInputAll[i];if(widgetCheckBox.type=="checkbox"&&widgetCheckBox.checked)
{widgetParent.value=widgetCheckBox.nodeNamePath.substring(widgetCheckBox.nodeNamePath.lastIndexOf(ajax.treeListSeparator)+ajax.treeListSeparator.length);ajax.dialogArgumentsDTO.put('treeLabel',widgetCheckBox.nodeNamePath);ajax.dialogArgumentsDTO.put('treeValue',widgetCheckBox.nodeValuePath);};};};if(ajax.dialogReturnType=="")
{var widgetTable=$(strDialogIframeName).Document.getElementById("tree_contentNode");var j=0;var aInputLength=widgetTable.all.tags("INPUT").length;var aInputAll=widgetTable.all.tags("INPUT");for(var i=0;i<aInputLength;i++)
{var widgetCheckBox=aInputAll[i];if(widgetCheckBox.type=="checkbox"&&widgetCheckBox.checked)
{ajax.dialogReturnValue.nextRow();ajax.dialogReturnValue.assign('treeLabel',widgetCheckBox.nodeNamePath);ajax.dialogReturnValue.assign('treeValue',widgetCheckBox.nodeValuePath);};};};}
catch(ex)
{throw new Exception("关闭树对话框事件失败",ex,this);}};ajax.DialogControl.prototype.inputValue=function()
{try{if(event.keyCode!=13)
{return;}
var widgetParent=ajax.dialogParentDocument.getElementById(ajax.dialogParentForm).namedItem(ajax.dialogParentWidget);var bFlag=false;var strValue=$(codeValue).value;for(var j=0;j<widgetParent.length;j++)
{if(widgetParent[j].value==strValue)
{widgetParent[j].selected=true;widgetParent.fireEvent("onchange");bFlag=true;};};if(!bFlag)
{alert("选择值在选择控件中并不存在,请重新选择");}else
{ajax.dialogArgumentsDTO.put("closeType","inputValue");window.close();};}
catch(ex)
{throw new Exception("直接录入失败",ex,this);}};},currentWidget:"",currentWidgetLength:0,clickHiddenWidget:true,SelectFilter:function SelectFilter()
{ajax.SelectFilter.prototype.displaySelectFilter=function(strFormName,strSelectWidgetName,strSelectFilterTitle,bAjax)
{var wiggetSelect;var widgetLayer;try{this.closeSelectFilter();wiggetSelect=$form(strFormName,strSelectWidgetName);if(bAjax)
{if(ajax.currentWidgetLength<=1||wiggetSelect.length!=ajax.currentWidgetLength)
{ajax.currentWidgetLength=wiggetSelect.length;setTimeout("(new ajax.SelectFilter()).displaySelectFilter('"+strFormName+"','"+strSelectWidgetName+"','"+strSelectFilterTitle+"',true)",1000);return;}}else
{if(wiggetSelect.length<=1)
{wiggetSelect.fireEvent("onclick");setTimeout("(new ajax.SelectFilter()).displaySelectFilter('"+strFormName+"','"+strSelectWidgetName+"','"+strSelectFilterTitle+"',true)",1000);return;}}
ajax.currentWidgetLength=0;var widgetControl=new widget.WidgetControl();var widgetLayerControl=new widget.WidgetLayerControl();var widgetSelectControl=new widget.WidgetSelectControl();var widgetSelectListControl=new widget.WidgetSelectListControl();widgetLayer=$("selectFilterLayer");if(widgetLayer==null)
{widgetLayer=widgetControl.createWidget("<div id='selectFilterLayer' class='selectFilterLayerStyle'></div>");var strInnerHTML="";strInnerHTML+="<table onclick='ajax.clickHiddenWidget=false;' class='TableStyle' border='0' cellpadding='0' cellspacing='1' >";strInnerHTML+=" <tr>";strInnerHTML+="  <td colspan='2'>";strInnerHTML+="   <table width='100%' cellspacing='0' class='HeaderStyle'>";strInnerHTML+="    <tr>";strInnerHTML+="     <td  width='90%' align='center' id='selectFilterTitle'></td>";strInnerHTML+="     <td  align='right'><input type='button' class='CloseStyle' value='关闭' onmouseover=\"this.className='CloseOverStyle'\" onmouseout=\"this.className='CloseStyle'\" onclick='(new ajax.SelectFilter()).closeSelectFilter();'></td>";strInnerHTML+="    </tr>";strInnerHTML+="   </table>";strInnerHTML+="  </td>";strInnerHTML+=" </tr>";strInnerHTML+=" <tr bgcolor='#EEEEEE' height='100'>";strInnerHTML+="  <td valign='middle' align='center'>";strInnerHTML+="   <table height='100%' width='220' class='BodyStyle' border='0' cellpadding='0' cellspacing='0'>";strInnerHTML+="    <tr>";strInnerHTML+="     <td height='5'></td>";strInnerHTML+="    </tr>";strInnerHTML+="    <tr valign='bottom'>";strInnerHTML+="     <td align='center'>代码: <input name='selectValue' type='text' class='FilterTextStyle' id='selectValue' onKeyDown='(new ajax.SelectFilter()).valueFilter(this.sourceFormName,this.sourceSelectName,this.value,true);' size='17'></td>";strInnerHTML+="    </tr>";strInnerHTML+="    <tr valign='top'  height='25'>";strInnerHTML+="     <td align='center'>名称: <input name='selectText' type='text' class='FilterTextStyle' id='selectText' onKeyDown='(new ajax.SelectFilter()).textFilter(this.sourceFormName,this.sourceSelectName,this.value,true);' size='17'></td>";strInnerHTML+="    </tr>";strInnerHTML+="    <tr  height='25'>";strInnerHTML+="     <td align='center'><input name='selectFilterSearch' type='button' class='buttonStyle' id='selectFilterSearch' value=' 筛 选 ' onmouseover=\"this.className='buttonOverStyle'\" onmouseout=\"this.className='buttonStyle'\" onclick=\"(new ajax.SelectFilter()).textAndValueFilter(this.sourceFormName,this.sourceSelectName,$('selectText').value,$('selectValue').value);\"></td>";strInnerHTML+="    </tr>";strInnerHTML+="    <tr  height='25'>";strInnerHTML+="     <td align='center'><div id='selectFilterWait' align='center'>&nbsp;</div></td>";strInnerHTML+="    </tr>";strInnerHTML+="    <tr>";strInnerHTML+="     <td height='5'></td>";strInnerHTML+="    </tr>";strInnerHTML+="   </table>";strInnerHTML+="  </td>";strInnerHTML+="  <td rowspan='6'>";strInnerHTML+="   <div align='left' id='_selectFilterValue_border'>";strInnerHTML+="    <div align='left' id='_selectFilterValue_layer'>";strInnerHTML+="     <select name='selectFilterValue' size='8' id='selectFilterValue' onChange='$form(this.sourceFormName,this.sourceSelectName).value=this.value; $form(this.sourceFormName,this.sourceSelectName).fireEvent(\"onchange\");' onClick='(new ajax.SelectFilter()).closeSelectFilter();'></select>";strInnerHTML+="    </div>";strInnerHTML+="   </div>";strInnerHTML+="  </td>";strInnerHTML+=" </tr>";strInnerHTML+="</table>";widgetLayer.innerHTML=strInnerHTML;}
$("selectFilterTitle").innerHTML=strSelectFilterTitle+"过滤筛选";$("selectFilterValue").setAttribute("sourceFormName",strFormName);$("selectFilterValue").setAttribute("sourceSelectName",strSelectWidgetName);$("selectText").setAttribute("sourceFormName",strFormName);$("selectText").setAttribute("sourceSelectName",strSelectWidgetName);$("selectValue").setAttribute("sourceFormName",strFormName);$("selectValue").setAttribute("sourceSelectName",strSelectWidgetName);$("selectFilterSearch").setAttribute("sourceFormName",strFormName);$("selectFilterSearch").setAttribute("sourceSelectName",strSelectWidgetName);$("selectText").value="";$("selectValue").value="";widgetSelectListControl.assignNormalSelectListEffect('','selectFilterValue');widgetSelectListControl.autoChangeNormalBorderSize('','selectFilterValue');$("selectFilterValue").style.width="";widgetSelectControl.copySelectValue(strFormName,strSelectWidgetName,"","selectFilterValue");if(wiggetSelect.value!="")
{$("selectFilterValue").value=wiggetSelect.value;}else
{$("selectFilterValue").value="";}
ajax.currentWidget="selectFilter";ajax.clickHiddenWidget=true;if($("selectFilterValue").offsetWidth>500)
{$("selectFilterValue").style.width="500px";}
setTimeout("(new ajax.SelectFilter()).displaySelectFilterLayer('"+strFormName+"','"+strSelectWidgetName+"')",50);}
catch(ex)
{throw new Exception("显示select过滤器失败",ex,this);}};ajax.SelectFilter.prototype.displaySelectFilterLayer=function(strFormName,strSelectWidgetName)
{try{var widgetControl=new widget.WidgetControl();var widgetLayer=$("selectFilterLayer");var dtoWidgetPlace=widgetControl.gainWidgetPlace(strFormName,strSelectWidgetName);var dtoLayerPlace=widgetControl.gainWidgetPlace("","selectFilterLayer");widgetLayer.style.top=dtoWidgetPlace.get("widgetTop")+dtoWidgetPlace.get("widgetHeight")+"px";if(dtoWidgetPlace.get("widgetLeft")+dtoLayerPlace.get("widgetWidth")>screen.width-20)
{widgetLayer.style.left=dtoWidgetPlace.get("widgetLeft")+dtoWidgetPlace.get("widgetWidth")-dtoLayerPlace.get("widgetWidth")+20+"px";}else
{widgetLayer.style.left=dtoWidgetPlace.get("widgetLeft")+"px";}
setTimeout("(new widget.WidgetLayerControl()).coverWidget('selectFilterLayer')",50);widgetControl.displayWidget("","selectFilterLayer");$("selectValue").focus();}
catch(ex)
{throw new Exception("显示select过滤器层失败",ex,this);}};ajax.SelectFilter.prototype.closeSelectFilter=function()
{try{var widgetControl=new widget.WidgetControl();var widgetLayerControl=new widget.WidgetLayerControl();widgetControl.hiddenWidget("","selectFilterLayer");widgetLayerControl.discoverWidget("selectFilterLayer");}
catch(ex)
{throw new Exception("关闭select过滤器失败",ex,this);}};ajax.SelectFilter.prototype.textFilter=function(strSourceFormName,strSourceSelectName,strTextValue,bKey)
{var widgetSourceSelect;var iLength;var widgetTargetSelect;var widgetLayer;try{if(bKey)
{if(event.keyCode!=13)
{return;}}
widgetLayer=$("selectFilterWait");$("selectValue").value="";widgetLayer.innerHTML="正在过滤查找,请等待...";widgetLayer.className="WaitStyle";setTimeout("(new widget.WidgetControl()).displayWidget('','selectFilterWait')",0);var widgetSelectControl=new widget.WidgetSelectControl();var widgetSelectListControl=new widget.WidgetSelectListControl();widgetSourceSelect=$form(strSourceFormName,strSourceSelectName);widgetTargetSelect=$("selectFilterValue");widgetTargetSelect.length=0;iLength=widgetSourceSelect.length;for(var i=0;i<iLength;i++)
{if(widgetSourceSelect.options[i].text.indexOf(strTextValue)!=-1)
{widgetSelectControl.addTextValue("","selectFilterValue",widgetSourceSelect.options[i].text,widgetSourceSelect.options[i].value);}}
widgetSelectListControl.autoChangeNormalBorderSize('','selectFilterValue');widgetLayer.innerHTML="过滤查找完毕，请继续使用。";widgetLayer.className="CompleteStyle";widgetLayer.filters[0].play();setTimeout("(new widget.WidgetControl()).hiddenWidget('','selectFilterWait')",2000);if(widgetTargetSelect.length==1)
{widgetTargetSelect.options[0].selected=true;widgetTargetSelect.fireEvent("onchange");widgetTargetSelect.fireEvent("onclick");}}
catch(ex)
{throw new Exception("根据Text过滤失败",ex,this);}};ajax.SelectFilter.prototype.valueFilter=function(strSourceFormName,strSourceSelectName,strValue,bKey)
{var widgetSourceSelect;var iLength;var widgetTargetSelect;var widgetLayer;try{if(bKey)
{if(event.keyCode!=13)
{return;}}
widgetLayer=$("selectFilterWait");$("selectText").value="";widgetLayer.innerHTML="正在过滤查找,请等待...";widgetLayer.className="WaitStyle";setTimeout("(new widget.WidgetControl()).displayWidget('','selectFilterWait')",0);var widgetSelectControl=new widget.WidgetSelectControl();var widgetSelectListControl=new widget.WidgetSelectListControl();widgetSourceSelect=$form(strSourceFormName,strSourceSelectName);widgetTargetSelect=$("selectFilterValue");widgetTargetSelect.length=0;iLength=widgetSourceSelect.length;for(var i=0;i<iLength;i++)
{if(widgetSourceSelect.options[i].value.indexOf(strValue)!=-1)
{widgetSelectControl.addTextValue("","selectFilterValue",widgetSourceSelect.options[i].text,widgetSourceSelect.options[i].value);}}
widgetSelectListControl.autoChangeNormalBorderSize('','selectFilterValue');widgetLayer.innerHTML="过滤查找完毕，请继续使用。";widgetLayer.className="CompleteStyle";widgetLayer.filters[0].play();setTimeout("(new widget.WidgetControl()).hiddenWidget('','selectFilterWait')",2000);if(widgetTargetSelect.length==1)
{widgetTargetSelect.options[0].selected=true;widgetTargetSelect.fireEvent("onchange");widgetTargetSelect.fireEvent("onclick");}}
catch(ex)
{throw new Exception("根据Value过滤失败",ex,this);}};ajax.SelectFilter.prototype.textAndValueFilter=function(strSourceFormName,strSourceSelectName,strText,strValue)
{var widgetSourceSelect;var iLength;var widgetTargetSelect;var widgetLayer;try{if(strText==""&&strValue!="")
{this.valueFilter(strSourceFormName,strSourceSelectName,strValue,false);return;}
if(strText!=""&&strValue=="")
{this.textFilter(strSourceFormName,strSourceSelectName,strText,false);return;}
widgetLayer=$("selectFilterWait");widgetLayer.innerHTML="正在过滤查找,请等待...";widgetLayer.className="WaitStyle";setTimeout("(new widget.WidgetControl()).displayWidget('','selectFilterWait')",0);var widgetSelectControl=new widget.WidgetSelectControl();var widgetSelectListControl=new widget.WidgetSelectListControl();widgetSourceSelect=$form(strSourceFormName,strSourceSelectName);widgetTargetSelect=$("selectFilterValue");widgetTargetSelect.length=0;iLength=widgetSourceSelect.length;for(var i=0;i<iLength;i++)
{if(widgetSourceSelect.options[i].value.indexOf(strValue)!=-1&&widgetSourceSelect.options[i].text.indexOf(strText)!=-1)
{widgetSelectControl.addTextValue("","selectFilterValue",widgetSourceSelect.options[i].text,widgetSourceSelect.options[i].value);}}
widgetSelectListControl.autoChangeNormalBorderSize('','selectFilterValue');widgetLayer.innerHTML="过滤查找完毕，请继续使用。";widgetLayer.className="CompleteStyle";widgetLayer.filters[0].play();setTimeout("(new widget.WidgetControl()).hiddenWidget('','selectFilterWait')",2000);if(widgetTargetSelect.length==1)
{widgetTargetSelect.options[0].selected=true;widgetTargetSelect.fireEvent("onchange");widgetTargetSelect.fireEvent("onclick");}}
catch(ex)
{throw new Exception("根据Text和value过滤失败",ex,this);}}},DateSelect:function DateSelect()
{ajax.DateSelect.prototype.displayDateSelect=function(strFormName,strTextWidgetName)
{var wiggetSelect;var widgetLayer;try{var widgetControl=new widget.WidgetControl();var widgetLayerControl=new widget.WidgetLayerControl();var widgetSelectControl=new widget.WidgetSelectControl();var toolDate=new tool.ToolDate();var errorProcess=new error.ErrorProcess();var dtoDay=toolDate.gainSplitToday();var aWeek=new Array("日","一","二","三","四","五","六");widgetLayer=$("dataSelectLayer");if(widgetLayer==null)
{widgetLayer=widgetControl.createWidget("<div id='dataSelectLayer' class='dataSelectLayerStyle'></div>");var strInnerHTML="";strInnerHTML+="<TABLE onclick='ajax.clickHiddenWidget=false;' id='CalendarTable' class='TableStyle' width='200px' cellspacing=0>";strInnerHTML+=" <TR class='TitleStyle' valign=top>";strInnerHTML+="  <TD>";strInnerHTML+="   <TABLE WIDTH=100% cellspacing=1 CELLPADDING=0>";strInnerHTML+="    <TR>";strInnerHTML+="     <TD align=right>";strInnerHTML+="      <INPUT type=button extra=button value=3 title='上一年' class='buttonRowStyle' onmouseover=\"this.className='buttonRowOverStyle'\" onmouseout=\"this.className='buttonRowStyle'\" onclick=\"changeCalendarDate(parseInt($('_calender_year').value)-1,parseInt($('_calender_month').value)-1)\">";strInnerHTML+="     </TD>";strInnerHTML+="     <TD width=1>";strInnerHTML+="      <INPUT id='_calender_year' type=text class=editor size=4 maxlength=4 onpropertychange=\"return _calendar_year_onpropertychange()\">";strInnerHTML+="     </TD>";strInnerHTML+="     <TD align=left width=20px>";strInnerHTML+="      <INPUT type=button extra=button value=4 title='下一年' class='buttonRowStyle' onmouseover=\"this.className='buttonRowOverStyle'\" onmouseout=\"this.className='buttonRowStyle'\" onclick=\"changeCalendarDate(parseInt($('_calender_year').value)+1,parseInt($('_calender_month').value)-1)\">";strInnerHTML+="     </TD>";strInnerHTML+="     <TD align=right width=20px>";strInnerHTML+="      <INPUT type=button extra=button value=3 title='上个月' class='buttonRowStyle' onmouseover=\"this.className='buttonRowOverStyle'\" onmouseout=\"this.className='buttonRowStyle'\" onclick=\"changeCalendarDate(parseInt($('_calender_year').value),parseInt($('_calender_month').value)-2)\">";strInnerHTML+="     </TD>";strInnerHTML+="     <TD width=1>";strInnerHTML+="      <INPUT id='_calender_month' type=text class=editor size=2 maxlength=2 onpropertychange=\"return _calendar_month_onpropertychange()\">";strInnerHTML+="     </TD>";strInnerHTML+="     <TD align=left>";strInnerHTML+="      <INPUT type=button extra=button value=4 title='下个月' class='buttonRowStyle' onmouseover=\"this.className='buttonRowOverStyle'\" onmouseout=\"this.className='buttonRowStyle'\" onclick=\"changeCalendarDate(parseInt($('_calender_year').value),parseInt($('_calender_month').value))\">";strInnerHTML+="     </TD>";strInnerHTML+="    </TR>";strInnerHTML+="   </TABLE>";strInnerHTML+="  </TD>";strInnerHTML+=" </TR>";strInnerHTML+=" <TR>";strInnerHTML+="  <TD>";strInnerHTML+="   <TABLE border=1 bordercolor=silver id='calendarData' HEIGHT=100% WIDTH=100% CELLSPACING=0 CELLPADDING=0 style='BORDER-COLLAPSE: collapse' >";strInnerHTML+="    <TR height=20px class='HeaderStyle'>";for(var i=0;i<=6;i++){strInnerHTML+="     <TD align=center>"+aWeek[i]+"</TD>";}
strInnerHTML+="    </TR>";for(var i=0;i<=5;i++){strInnerHTML+="    <TR>";for(var j=0;j<=6;j++){strInnerHTML+="     <TD align=center onclick=\"var strDay=this.getAttribute('selectDate');dateSelect=new ajax.DateSelect();if(strDay!=null){dateSelect.selectDate($('dataSelectLayer').getAttribute('sourceFormName'),$('dataSelectLayer').getAttribute('sourceTextName'),strDay);dateSelect.closeDateSelect();}\" onmouseover=\"if(this.className!='cell_selected' && this.className!='cell_trailing'){this.className='cell_dayOver'}\" onmouseout=\"if(this.className!='cell_selected' && this.className!='cell_trailing'){this.className='cell_day'}\"></TD>";}
strInnerHTML+="    </TR>";}
strInnerHTML+="   </TABLE>";strInnerHTML+="  </TD>";strInnerHTML+=" </TR>";strInnerHTML+=" <TR class='FooterStyle'>";strInnerHTML+="  <TD align=right>";strInnerHTML+="   <INPUT extra=button type=button value='今天 "+dtoDay.get("year")+"-"+(new tool.ToolString()).addLengthAtLeft(dtoDay.get("month"),"0",2)+"-"+(new tool.ToolString()).addLengthAtLeft(dtoDay.get("day"),"0",2)+"' class='buttonStyle' onmouseover=\"this.className='buttonOverStyle'\" onmouseout=\"this.className='buttonStyle'\" onclick=\"$form($('dataSelectLayer').getAttribute('sourceFormName'),$('dataSelectLayer').getAttribute('sourceTextName')).value=(this.value).substr(3);(new ajax.DateSelect()).closeDateSelect();\"";strInnerHTML+="  </TD>";strInnerHTML+=" </TR>";strInnerHTML+="</TABLE>";widgetLayer.innerHTML=strInnerHTML;}
wiggetSelect=$form(strFormName,strTextWidgetName);if(wiggetSelect.value!="")
{var dtoDate=toolDate.gainSplitString(wiggetSelect.value);if(isNaN(dtoDate.get("day")))
{changeCalendarDate(_calendarControl.todayYear,_calendarControl.todayMonth,_calendarControl.todayDay);}else
{changeCalendarDate(dtoDate.get("year"),dtoDate.get("month")-1,dtoDate.get("day"));}}
else
{changeCalendarDate(_calendarControl.todayYear,_calendarControl.todayMonth,_calendarControl.todayDay);}
$("dataSelectLayer").setAttribute("sourceFormName",strFormName);$("dataSelectLayer").setAttribute("sourceTextName",strTextWidgetName);var dtoWidgetPlace=widgetControl.gainWidgetPlace(strFormName,strTextWidgetName);var dtoLayerPlace=widgetControl.gainWidgetPlace("","dataSelectLayer");widgetLayer.style.top=dtoWidgetPlace.get("widgetTop")+dtoWidgetPlace.get("widgetHeight")+"px";if(dtoWidgetPlace.get("widgetLeft")+dtoLayerPlace.get("widgetWidth")>screen.width-20)
{widgetLayer.style.left=dtoWidgetPlace.get("widgetLeft")+dtoWidgetPlace.get("widgetWidth")-dtoLayerPlace.get("widgetWidth")+20+"px";}else
{widgetLayer.style.left=dtoWidgetPlace.get("widgetLeft")+"px";}
setTimeout("(new widget.WidgetLayerControl()).coverWidget('dataSelectLayer')",50);ajax.currentWidget="dataSelect";ajax.clickHiddenWidget=true;widgetControl.displayWidget("","dataSelectLayer");}
catch(ex)
{throw new Exception("显示日期选择失败",ex,this);}};ajax.DateSelect.prototype.closeDateSelect=function()
{try{var widgetControl=new widget.WidgetControl();var widgetLayerControl=new widget.WidgetLayerControl();widgetControl.hiddenWidget("","dataSelectLayer");widgetLayerControl.discoverWidget("dataSelectLayer");}
catch(ex)
{throw new Exception("关闭日期选择失败",ex,this);}};ajax.DateSelect.prototype.selectDate=function(strFormName,strTextWidgetName,strDay)
{var widgetText;try{widgetText=$form(strFormName,strTextWidgetName);widgetText.value=$("_calender_year").value+"-"+(new tool.ToolString()).addLengthAtLeft($("_calender_month").value,"0",2)+"-"+(new tool.ToolString()).addLengthAtLeft(strDay,"0",2);}
catch(ex)
{throw new Exception("选择日期失败",ex,this);}}},treeListSeparator:"|+|",TreeEffect:function TreeEffect()
{ajax.TreeEffect.prototype.assignJointEffect=function(strWidgetName)
{var widgetJointImage;var widgetJointEffectImage;var widgetObject;var strNodeLayerState;try{var widgetControl=new widget.WidgetControl();widgetJointEffectImage=$(strWidgetName+"_jointEffectImage");widgetJointImage=$(strWidgetName+"_jointImage");widgetObject=$(strWidgetName+"_contentNode");strNodeLayerState=$(strWidgetName).nodeLayerState;if(widgetObject!=null)
{if(widgetObject.style.display=="none")
{if(strNodeLayerState.substring(strNodeLayerState.length-1,strNodeLayerState.length)=="1")
{widgetJointImage.src=systemPath+"images/TreeMinus.gif";}else
{widgetJointImage.src=systemPath+"images/TreeMinusBottom.gif";}
widgetJointEffectImage.src=systemPath+"images/TreeFolderOpen.gif";widgetControl.clearDisplayWidget("",strWidgetName+"_contentNode");}else
{if(strNodeLayerState.substring(strNodeLayerState.length-1,strNodeLayerState.length)=="1")
{widgetJointImage.src=systemPath+"images/TreePlus.gif";}else
{widgetJointImage.src=systemPath+"images/TreePlusBottom.gif";}
widgetJointEffectImage.src=systemPath+"images/TreeFolder.gif";widgetControl.clearHiddenWidget("",strWidgetName+"_contentNode");}}}
catch(ex)
{throw new Exception("设置节点效果失败",ex,this);}};ajax.TreeEffect.prototype.assignCheckBoxEffect=function(strWidgetName,bSingleSelect)
{var widgetCheckBox;var widgetObject;try{var widgetCheckBoxControl=new widget.WidgetCheckBoxControl();widgetCheckBox=$(strWidgetName);if(bSingleSelect)
{if(widgetCheckBox.checked)
{widgetCheckBoxControl.unSelectAll("tree_contentNode");widgetCheckBox.checked=true;}}else
{widgetObject=$(strWidgetName+"_contentNode");if(widgetObject!=null)
{if(widgetCheckBox.checked)
{widgetCheckBoxControl.selectAll(strWidgetName+"_contentNode");}else
{widgetCheckBoxControl.unSelectAll(strWidgetName+"_contentNode");}}}}
catch(ex)
{throw new Exception("设置选择效果失败",ex,this);}};ajax.TreeEffect.prototype.createNodeContent=function(strNodeName,aNodeContent,dtoNodeChecked)
{var widgetNode;var widgetParentNodePlace;var widgetNodeTable;var widgetNodeRow;var widgetNodeCell;var strSingleSelect;var strSelect;var strNodeLayerState;var strNodeNamePath;var strNodeValuePath;try{var widgetTableControl=new widget.WidgetTableControl();strSingleSelect=$("tree_contentNode").singleSelect;widgetNode=$(strNodeName);widgetParentNodePlace=$(widgetNode.parentNodePlace).rows(parseInt(widgetNode.nodeRow)).cells(0);strNodeLayerState=widgetNode.nodeLayerState;strNodeNamePath=widgetNode.nodeNamePath;strNodeValuePath=widgetNode.nodeValuePath;var strNodeTable="<table id='"+strNodeName+"_contentNode' border='0' cellspacing='0' cellpadding='0'></table>"
widgetNodeTable=widgetTableControl.createTable(strNodeTable);var iRow=0;for(var j=0;j<aNodeContent.length;j++)
{var sbTemp=new Array();var strChildNodeName=aNodeContent[j][0];var strChildNodeValue=aNodeContent[j][1];var strChildNodeJointClick=aNodeContent[j][2];var strChildNodePage=aNodeContent[j][3];var strChildNodeAble=aNodeContent[j][4];var strJointImage="";var strChildNodeLayerState="";sbTemp.push("<table class='rowStyle' border='0' cellspacing='0' cellpadding='0'>");sbTemp.push(" <tr class='wordStyle'>");sbTemp.push("  <td>");if(j!=aNodeContent.length-1)
{if(strChildNodePage=="true")
{strJointImage="TreeJoin.gif";}else
{strJointImage="TreePlus.gif";}
strChildNodeLayerState="1";}else
{if(strChildNodePage=="true")
{strJointImage="TreeJoinBottom.gif";}else
{strJointImage="TreePlusBottom.gif";}
strChildNodeLayerState="0";}
for(var i=0;i<strNodeLayerState.length;i++)
{if(strNodeLayerState.substring(i,i+1)=="1")
{sbTemp.push("<img src='"+systemPath+"images/TreeJoinLine.gif' />");}else
{sbTemp.push("<img src='"+systemPath+"images/TreeEmpty.gif' />");}}
if(strChildNodePage=="true")
{sbTemp.push("<img id='"+strChildNodeValue+"_jointImage' src='"+systemPath+"images/"+strJointImage+"' /><img id='"+strChildNodeValue+"_jointEffectImage' src='"+systemPath+"images/TreePage.gif' />");}else
{sbTemp.push("<img id='"+strChildNodeValue+"_jointImage' class='jointStyle' src='"+systemPath+"images/"+strJointImage+"' onClick=\""+strChildNodeJointClick+"\"/><img id='"+strChildNodeValue+"_jointEffectImage' src='"+systemPath+"images/TreeFolder.gif' />");}
sbTemp.push("  </td>");sbTemp.push("  <td>");sbTemp.push("   <input type='checkbox' ");if(strChildNodeAble=="false")
{sbTemp.push(" style='display:none' ");}
if(dtoNodeChecked.get(strChildNodeValue)=="checked"||(widgetNode.checked&&strSingleSelect=="false"))
{sbTemp.push(" checked ");}
sbTemp.push(" parentNodePlace='"+strNodeName+"_contentNode' ");sbTemp.push(" nodeRow='"+iRow+"' ");sbTemp.push(" nodeLayerState='"+strNodeLayerState+strChildNodeLayerState+"' ");sbTemp.push(" nodeNamePath='"+strNodeNamePath+ajax.treeListSeparator+strChildNodeName+"' ");sbTemp.push(" nodeValuePath='"+strNodeValuePath+ajax.treeListSeparator+strChildNodeValue+"' ");sbTemp.push(" name='"+strChildNodeValue+"' value='tree' "+" onClick=\"new ajax.TreeEffect().assignCheckBoxEffect('"+strChildNodeValue+"',"+strSingleSelect+");\">"+strChildNodeName);sbTemp.push("  </td>");sbTemp.push(" </tr>");sbTemp.push("</table>");widgetNodeRow=widgetTableControl.addRow(widgetNodeTable);widgetNodeCell=widgetTableControl.addCell(widgetNodeRow,sbTemp.join(""));iRow++;}
widgetParentNodePlace.appendChild(widgetNodeTable);if(strNodeName!="allTree")
{if(strNodeLayerState.substring(strNodeLayerState.length-1)=="1")
{$(strNodeName+"_jointImage").src=systemPath+"images/TreeMinus.gif";}else
{$(strNodeName+"_jointImage").src=systemPath+"images/TreeMinusBottom.gif";}
$(strNodeName+"_jointEffectImage").src=systemPath+"images/TreeFolderOpen.gif"}}
catch(ex)
{throw new Exception("创建内容节点失败",ex,this);}};ajax.TreeEffect.prototype.changeToPageNode=function(strWidgetName)
{var widgetJointImage;var widgetJointEffectImage;try{widgetJointImage=$(strWidgetName+"_jointImage");widgetJointEffectImage=$(strWidgetName+"_jointEffectImage");widgetJointImage.className="";if(widgetJointImage.src.indexOf("Bottom")>0)
{widgetJointImage.src=systemPath+"images/TreeJoinBottom.gif";}else
{widgetJointImage.src=systemPath+"images/TreeJoin.gif"}
widgetJointImage.onclick=function(){};widgetJointEffectImage.src=systemPath+"images/TreePage.gif";}
catch(ex)
{throw new Exception("改变为页节点失败",ex,this);}};}};ajax.AjaxEffect.prototype=new base.BaseControl();ajax.AjaxEffect.prototype.constructor=ajax.AjaxEffect;ajax.PortalEffect.prototype=new base.BaseControl();ajax.PortalEffect.prototype.constructor=ajax.PortalEffect;ajax.PrintControl.prototype=new base.BaseControl();ajax.PrintControl.prototype.constructor=ajax.PrintControl;ajax.DialogControl.prototype=new base.BaseControl();ajax.DialogControl.prototype.constructor=ajax.DialogControl;ajax.SelectFilter.prototype=new base.BaseControl();ajax.SelectFilter.prototype.constructor=ajax.SelectFilter;ajax.DateSelect.prototype=new base.BaseControl();ajax.DateSelect.prototype.constructor=ajax.DateSelect;ajax.TreeEffect.prototype=new base.BaseControl();ajax.TreeEffect.prototype.constructor=ajax.TreeEffect;var _calendarControl=null;function calendar(){var today=new Date();this.todayDay=today.getDate();this.todayMonth=today.getMonth();this.todayYear=today.getFullYear();this.activeCellIndex=0;}
_calendarControl=new calendar();function changeCalendarDate(year,month,day){if(month==-1)
{year=year-1;month=11;}
if(month==12)
{year=year+1;month=0;}
if(year<1000)
{year=1000;}
if(month>12)
{month=11;}
if(_calendarControl.year==year&&_calendarControl.month==month&&(!day||_calendarControl.day==day))return;if(_calendarControl.year!=year||_calendarControl.month!=month){_calendarControl.year=year;_calendarControl.month=month;if(month==0){_calendarControl.preMonth=11;_calendarControl.preYear=_calendarControl.year-1;}else{_calendarControl.preMonth=_calendarControl.month-1;_calendarControl.preYear=_calendarControl.year;}
if(month==11){_calendarControl.nextMonth=0;_calendarControl.nextYear=_calendarControl.year+1;}else{_calendarControl.nextMonth=_calendarControl.month+1;_calendarControl.nextYear=_calendarControl.year;}
_calendarControl.startday=(new Date(year,month,1)).getDay();if(_calendarControl.startday==0)_calendarControl.startday=7;var curNumdays=getNumberOfDays(_calendarControl.month,_calendarControl.year);var preNumdays=getNumberOfDays(_calendarControl.preMonth,_calendarControl.preYear);var nextNumdays=getNumberOfDays(_calendarControl.nextMonth,_calendarControl.nextYear);var startDate=preNumdays-_calendarControl.startday+1;var endDate=42-curNumdays-_calendarControl.startday;_calender_month.value=(_calendarControl.month+1);_calender_year.innerText=_calendarControl.year;var datenum=0;for(var i=startDate;i<=preNumdays;i++){var cell=calendarData.cells[datenum+7];cell.monthAttribute="pre";cell.setAttribute("selectDate",null);cell.className="cell_trailing";cell.innerText=i;datenum++;}
for(var i=1;i<=curNumdays;i++){var cell=calendarData.cells[datenum+7];cell.monthAttribute="cur";if(datenum!=_calendarControl.activeCellIndex){cell.setAttribute("selectDate",i);cell.className="cell_day";}
cell.innerText=i;datenum++;}
for(var i=1;i<=endDate;i++){var cell=calendarData.cells[datenum+7];cell.monthAttribute="next";cell.setAttribute("selectDate",null);cell.className="cell_trailing";cell.innerText=i;datenum++;}}
if(day)_calendarControl.day=day;setCalendarActiveCell(calendarData.cells[_calendarControl.day+_calendarControl.startday-1+7]);}
function _calendar_year_onpropertychange(){if(!_calender_year.processing&&event.propertyName=="value"){if(_calender_year.value.length==4){_calender_year.processing=true;changeCalendarDate(getInt(_calender_year.value),_calendarControl.month);_calender_year.processing=false;}}}
function _calendar_month_onpropertychange(){if(parseInt(_calender_month.value)>'12')
{return;}
if(!_calender_month.processing&&event.propertyName=="value"){if(_calender_month.value.length>0){_calender_month.processing=true;changeCalendarDate(_calendarControl.year,getInt(_calender_month.value-1));_calender_month.processing=false;}}}
function getNumberOfDays(month,year){var numDays=new Array(31,28,31,30,31,30,31,31,30,31,30,31);n=numDays[month];if(month==1&&(year%4==0&&year%100!=0||year%400==0))n++;return n}
function setCalendarActiveCell(cell){function setActiveCell(cellIndex){var cell=calendarData.cells[_calendarControl.activeCellIndex+7];if(cell.monthAttribute=="cur"){cell.className="cell_day";}
else{cell.className="cell_trailing";}
var cell=calendarData.cells[cellIndex+7];cell.className="cell_selected";_calendarControl.activeCellIndex=cellIndex;}
if(cell.tagName.toLowerCase()!="td")return;var _activeCellIndex=cell.parentElement.rowIndex*7+cell.cellIndex-7;with(_calendarControl){if(activeCellIndex==_activeCellIndex)return;var monthAttribute=cell.monthAttribute;switch(monthAttribute){case"pre":{changeCalendarDate(preYear,preMonth,getNumberOfDays(preMonth,preYear)-startday+_activeCellIndex+1);setActiveCell(startday+day-1);break;}
case"cur":{changeCalendarDate(year,month,_activeCellIndex-startday+1);setActiveCell(_activeCellIndex);break;}
case"next":{changeCalendarDate(nextYear,nextMonth,_activeCellIndex-getNumberOfDays(month,year)-startday+1);setActiveCell(startday+day-1);break;}}}}
function getInt(value){var result=parseInt(value);if(isNaN(result))result=0;return result;}
var cn={com:{bestsoft:{kernelbase:kernelbase,dto:dto,tool:tool,base:base,widget:widget,ajax:ajax,error:error,event:events}}}
function TreeEffectDelegate()
{}
var treeListSeparator=cn.com.bestsoft.ajax.treeListSeparator;var staticTreeEffect;function treeEffectAssignJointEffect(strWidgetName)
{staticTreeEffect=$new(staticTreeEffect,cn.com.bestsoft.ajax.TreeEffect);staticTreeEffect.assignJointEffect(strWidgetName);}
function treeEffectAssignCheckBoxEffect(strWidgetName,bSingleSelect)
{staticTreeEffect=$new(staticTreeEffect,cn.com.bestsoft.ajax.TreeEffect);staticTreeEffect.assignCheckBoxEffect(strWidgetName,bSingleSelect);}
function treeEffectCreateNodeContent(strNodeName,aNodeContent,dtoNodeChecked)
{staticTreeEffect=$new(staticTreeEffect,cn.com.bestsoft.ajax.TreeEffect);staticTreeEffect.createNodeContent(strNodeName,aNodeContent,dtoNodeChecked);}
function treeEffectChangeToPageNode(strNodeName)
{staticTreeEffect=$new(staticTreeEffect,cn.com.bestsoft.ajax.TreeEffect);staticTreeEffect.changeToPageNode(strNodeName);}
function DateSelectDelegate()
{}
var staticDateSelect;function dateSelectCloseDateSelect()
{staticDateSelect=$new(staticDateSelect,cn.com.bestsoft.ajax.DateSelect);staticDateSelect.closeDateSelect();}
function DialogControlDelegate()
{}
var staticDialogControl;function dialogControlOpenStandardDialog(strDialogTitle,strPageURL,fDialogOver)
{staticDialogControl=$new(staticDialogControl,cn.com.bestsoft.ajax.DialogControl);staticDialogControl.openStandardDialog(strDialogTitle,strPageURL,fDialogOver);}
function dialogControlInitStandardDialogTitle()
{staticDialogControl=$new(staticDialogControl,cn.com.bestsoft.ajax.DialogControl);staticDialogControl.initStandardDialogTitle();}
function dialogControlInitStandardDialog(strDialogIframeName)
{staticDialogControl=$new(staticDialogControl,cn.com.bestsoft.ajax.DialogControl);staticDialogControl.initStandardDialog(strDialogIframeName);}
function dialogControlOpenTreeDialog(strDialogTitle,strPageURL,fDialogStart,fDialogOver)
{staticDialogControl=$new(staticDialogControl,cn.com.bestsoft.ajax.DialogControl);staticDialogControl.openTreeDialog(strDialogTitle,strPageURL,fDialogStart,fDialogOver);}
function dialogControlInitTreeDialogTitle()
{staticDialogControl=$new(staticDialogControl,cn.com.bestsoft.ajax.DialogControl);staticDialogControl.initTreeDialogTitle();}
function dialogControlInitTreeDialog(strDialogIframeName)
{staticDialogControl=$new(staticDialogControl,cn.com.bestsoft.ajax.DialogControl);staticDialogControl.initTreeDialog(strDialogIframeName);}
function dialogControlCloseTreeDialog()
{staticDialogControl=$new(staticDialogControl,cn.com.bestsoft.ajax.DialogControl);staticDialogControl.closeTreeDialog();}
function dialogControlInputValue()
{staticDialogControl=$new(staticDialogControl,cn.com.bestsoft.ajax.DialogControl);staticDialogControl.inputValue();}
function PortalEffectDelegate()
{}
var staticPortalEffect;function portalEffectAssignFieldsetEffect(strWidgetName,strImageTitle,bSpread)
{staticPortalEffect=$new(staticPortalEffect,cn.com.bestsoft.ajax.PortalEffect);staticPortalEffect.assignFieldsetEffect(strWidgetName,strImageTitle,bSpread);}
function PrintControlDelegate()
{}
var staticPrintControl;function printControlPrintPreview(strWidgetName)
{staticPrintControl=$new(staticPrintControl,cn.com.bestsoft.ajax.PrintControl);staticPrintControl.printPreview(strWidgetName);}
function printControlPrintButton(strPrintButtonName)
{staticPrintControl=$new(staticPrintControl,cn.com.bestsoft.ajax.PrintControl);staticPrintControl.controlPrintButton(strPrintButtonName);}
function SelectFilterDelegate()
{}
var staticSelectFilter;function selectFilterCloseSelectFilter()
{staticSelectFilter=$new(staticSelectFilter,cn.com.bestsoft.ajax.SelectFilter);staticSelectFilter.closeSelectFilter();}
function AjaxEffectDelegate()
{}
var staticAjaxEffect;function ajaxEffectDisplayLoadWaitLayer(strFormName,strWidgetName)
{staticAjaxEffect=$new(staticAjaxEffect,cn.com.bestsoft.ajax.AjaxEffect);staticAjaxEffect.displayLoadWaitLayer(strFormName,strWidgetName);}
function ajaxEffectHiddenLoadWaitLayer(strFormName,strWidgetName)
{staticAjaxEffect=$new(staticAjaxEffect,cn.com.bestsoft.ajax.AjaxEffect);staticAjaxEffect.hiddenLoadWaitLayer(strFormName,strWidgetName);}
function ErrorProcessDelegate()
{}
var staticErrorProcess;function errorProcessDisplayDialogError(strError)
{staticErrorProcess=$new(staticErrorProcess,cn.com.bestsoft.error.ErrorProcess);staticErrorProcess.displayDialogError(strError);}
function errorProcessDisplayPageError(strError)
{staticErrorProcess=$new(staticErrorProcess,cn.com.bestsoft.error.ErrorProcess);return staticErrorProcess.displayPageError(strError);}
function errorProcessDisplayHtmlError(strError)
{staticErrorProcess=$new(staticErrorProcess,cn.com.bestsoft.error.ErrorProcess);return staticErrorProcess.displayHtmlError(strError);}
function errorProcessDisplayTextError(strError)
{staticErrorProcess=$new(staticErrorProcess,cn.com.bestsoft.error.ErrorProcess);return staticErrorProcess.displayTextError(strError);}
function EventAttachDelegate()
{}
var staticEventAttach;function eventAttachOnLoad(strEvent)
{staticEventAttach=$new(staticEventAttach,cn.com.bestsoft.event.EventAttach);return staticEventAttach.onLoad(strEvent);}
function eventAttachOnClick(strFormName,strWidgetName,strEvent)
{staticEventAttach=$new(staticEventAttach,cn.com.bestsoft.event.EventAttach);return staticEventAttach.onClick(strFormName,strWidgetName,strEvent);}
function eventAttachOnDBClick(strFormName,strWidgetName,strEvent)
{staticEventAttach=$new(staticEventAttach,cn.com.bestsoft.event.EventAttach);return staticEventAttach.onDBClick(strFormName,strWidgetName,strEvent);}
function eventAttachOnChange(strFormName,strWidgetName,strEvent)
{staticEventAttach=$new(staticEventAttach,cn.com.bestsoft.event.EventAttach);return staticEventAttach.onChange(strFormName,strWidgetName,strEvent);}
function EventFireDelegate()
{}
var staticEventFire;function eventFireOnClick(strFormName,strWidgetName)
{staticEventFire=$new(staticEventFire,cn.com.bestsoft.event.EventFire);return staticEventFire.onClick(strFormName,strWidgetName);}
function ToolDateDelegate()
{}
var staticToolDate;function toolDateComputeAge(strBirthday)
{staticToolDate=$new(staticToolDate,cn.com.bestsoft.tool.ToolDate);return staticToolDate.computeAge(strBirthday);}
function toolDateAddYear(strDate,iNumber)
{staticToolDate=$new(staticToolDate,cn.com.bestsoft.tool.ToolDate);return staticToolDate.addYear(strDate,iNumber);}
function toolDateAddMonth(strDate,iNumber)
{staticToolDate=$new(staticToolDate,cn.com.bestsoft.tool.ToolDate);return staticToolDate.addMonth(strDate,iNumber);}
function toolDateAddDay(strDate,iNumber)
{staticToolDate=$new(staticToolDate,cn.com.bestsoft.tool.ToolDate);return staticToolDate.addDay(strDate,iNumber);}
function ToolMathDelegate()
{}
var staticToolMath;function toolMathRound(dbValue,iDot)
{staticToolMath=$new(staticToolMath,cn.com.bestsoft.tool.ToolMath);return staticToolMath.round(dbValue,iDot);}
function ToolStringDelegate()
{}
var staticToolString;function toolStringAddLengthAtLeft(strOld,strFill,iNewLength)
{staticToolString=$new(staticToolString,cn.com.bestsoft.tool.ToolString);return staticToolString.addLengthAtLeft(strOld,strFill,iNewLength);}
function toolStringAddLengthAtRight(strOld,strFill,iNewLength)
{staticToolString=$new(staticToolString,cn.com.bestsoft.tool.ToolString);return staticToolString.addLengthAtRight(strOld,strFill,iNewLength);}
function WidgetDialogControlDelegate()
{}
var staticWidgetDialogControl;function widgetDialogAutoAdaptMainDialog(strDialogWidgetName)
{staticWidgetDialogControl=$new(staticWidgetDialogControl,cn.com.bestsoft.widget.WidgetDialogControl);staticWidgetDialogControl.autoAdaptMainDialog(strDialogWidgetName);}
function WidgetCheckBoxControlDelegate()
{}
var staticWidgetCheckBoxControl;function widgetCheckBoxControlSelectAll(strFormName)
{staticWidgetCheckBoxControl=$new(staticWidgetCheckBoxControl,cn.com.bestsoft.widget.WidgetCheckBoxControl);staticWidgetCheckBoxControl.selectAll(strFormName);}
function widgetCheckBoxControlUnSelectAll(strFormName)
{staticWidgetCheckBoxControl=$new(staticWidgetCheckBoxControl,cn.com.bestsoft.widget.WidgetCheckBoxControl);staticWidgetCheckBoxControl.unSelectAll(strFormName);}
function widgetCheckBoxControlReverseSelect(strFormName)
{staticWidgetCheckBoxControl=$new(staticWidgetCheckBoxControl,cn.com.bestsoft.widget.WidgetCheckBoxControl);staticWidgetCheckBoxControl.reverseSelect(strFormName);}
function WidgetControlDelegate()
{}
var staticWidgetControl;function widgetControlGainWidgetPlace(strFormName,strWidgetName)
{staticWidgetControl=$new(staticWidgetControl,cn.com.bestsoft.widget.WidgetControl);return staticWidgetControl.gainWidgetPlace(strFormName,strWidgetName);}
function widgetControlHiddenWidget(strFormName,strWidgetName)
{staticWidgetControl=$new(staticWidgetControl,cn.com.bestsoft.widget.WidgetControl);staticWidgetControl.hiddenWidget(strFormName,strWidgetName);}
function WidgetButtonControlDelegate()
{}
var staticWidgetButtonControl;function widgetButtonAssignNormalButtonEffect(strFormName,strButtonName)
{staticWidgetButtonControl=$new(staticWidgetButtonControl,cn.com.bestsoft.widget.WidgetButtonControl);staticWidgetButtonControl.assignNormalButtonEffect(strFormName,strButtonName);}
function widgetButtonAssignRowButtonEffect(strFormName,strButtonName)
{staticWidgetButtonControl=$new(staticWidgetButtonControl,cn.com.bestsoft.widget.WidgetButtonControl);staticWidgetButtonControl.assignRowButtonEffect(strFormName,strButtonName);}
function widgetButtonAssignTabButtonEffect(strFormName,strButtonName)
{staticWidgetButtonControl=$new(staticWidgetButtonControl,cn.com.bestsoft.widget.WidgetButtonControl);staticWidgetButtonControl.assignTabButtonEffect(strFormName,strButtonName);}
function widgetButtonSubmit(strFormName,strAction)
{staticWidgetButtonControl=$new(staticWidgetButtonControl,cn.com.bestsoft.widget.WidgetButtonControl);staticWidgetButtonControl.submit(strFormName,strAction);}
function widgetButtonCustomSubmit(strFormName,strAction,strTarget)
{staticWidgetButtonControl=$new(staticWidgetButtonControl,cn.com.bestsoft.widget.WidgetButtonControl);staticWidgetButtonControl.customSubmit(strFormName,strAction,strTarget);}
function widgetButtonReset(strFormName)
{staticWidgetButtonControl=$new(staticWidgetButtonControl,cn.com.bestsoft.widget.WidgetButtonControl);staticWidgetButtonControl.reset(strFormName);}
function WidgetIframeControlDelegate()
{}
var staticWidgetIframeControl;function widgetIframeAutoAdaptMainIframe(strIframeWidgetName)
{staticWidgetIframeControl=$new(staticWidgetIframeControl,cn.com.bestsoft.widget.WidgetIframeControl);staticWidgetIframeControl.autoAdaptMainIframe(strIframeWidgetName);}
function widgetIframeAutoAdaptDialogIframe(strIframeWidgetName)
{staticWidgetIframeControl=$new(staticWidgetIframeControl,cn.com.bestsoft.widget.WidgetIframeControl);staticWidgetIframeControl.autoAdaptDialogIframe(strIframeWidgetName);}
function WidgetLayerControlDelegate()
{}
var staticWidgetLayerControl;function widgetLayerCoverWidget(strLayerName)
{staticWidgetLayerControl=$new(staticWidgetLayerControl,cn.com.bestsoft.widget.WidgetLayerControl);staticWidgetLayerControl.coverWidget(strLayerName);}
function widgetLayerdiscoverWidget(strLayerName)
{staticWidgetLayerControl=$new(staticWidgetLayerControl,cn.com.bestsoft.widget.WidgetLayerControl);staticWidgetLayerControl.discoverWidget(strLayerName);}
function WidgetSelectControlDelegate()
{}
var staticWidgetSelectControl;function widgetSelectAutoChangeNormalBorderSize(strFormName,strSelectWidgetName)
{staticWidgetSelectControl=$new(staticWidgetSelectControl,cn.com.bestsoft.widget.WidgetSelectControl);staticWidgetSelectControl.autoChangeNormalBorderSize(strFormName,strSelectWidgetName);}
function widgetSelectAssignNormalEffect(strFormName,strSelectWidgetName,strSelectTitle)
{staticWidgetSelectControl=$new(staticWidgetSelectControl,cn.com.bestsoft.widget.WidgetSelectControl);staticWidgetSelectControl.assignNormalEffect(strFormName,strSelectWidgetName,strSelectTitle);}
function widgetSelectAssignTreeEffect(strDialogTitle,strFormName,strSelectWidgetName,strPageURL,strReturnType,fDialogStart,fDialogOver)
{staticWidgetSelectControl=$new(staticWidgetSelectControl,cn.com.bestsoft.widget.WidgetSelectControl);staticWidgetSelectControl.assignTreeEffect(strDialogTitle,strFormName,strSelectWidgetName,strPageURL,strReturnType,fDialogStart,fDialogOver);}
function widgetSelectAssignGoToEffect(strFormName,strSelectWidgetName)
{staticWidgetSelectControl=$new(staticWidgetSelectControl,cn.com.bestsoft.widget.WidgetSelectControl);staticWidgetSelectControl.assignGoToEffect(strFormName,strSelectWidgetName);}
function widgetSelectAssignReadOnlyEffect(strFormName,strSelectWidgetName)
{staticWidgetSelectControl=$new(staticWidgetSelectControl,cn.com.bestsoft.widget.WidgetSelectControl);staticWidgetSelectControl.assignReadOnlyEffect(strFormName,strSelectWidgetName);}
function widgetSelectSpreadSelect(strFormName,strSelectWidgetName)
{staticWidgetSelectControl=$new(staticWidgetSelectControl,cn.com.bestsoft.widget.WidgetSelectControl);staticWidgetSelectControl.spreadSelect(strFormName,strSelectWidgetName);}
function widgetSelectAssignSelectValue(strFormName,strSelectWidgetName,strValue)
{staticWidgetSelectControl=$new(staticWidgetSelectControl,cn.com.bestsoft.widget.WidgetSelectControl);return staticWidgetSelectControl.assignSelectValue(strFormName,strSelectWidgetName,strValue);}
function WidgetSelectListControlDelegate()
{}
var staticWidgetSelectListControl;function widgetSelectAssignNormalSelectListEffect(strFormName,strSelectWidgetName)
{staticWidgetSelectListControl=$new(staticWidgetSelectListControl,cn.com.bestsoft.widget.WidgetSelectListControl);staticWidgetSelectListControl.assignNormalSelectListEffect(strFormName,strSelectWidgetName);}
function WidgetTextAreaControlDelegate()
{}
var staticWidgetTextAreaControl;function widgetTextAreaAssignNormalEffect(strFormName,strTextAreaWidgetName)
{staticWidgetTextAreaControl=$new(staticWidgetTextAreaControl,cn.com.bestsoft.widget.WidgetTextAreaControl);staticWidgetTextAreaControl.assignNormalEffect(strFormName,strTextAreaWidgetName);}
function widgetTextAreaAssignRequireEffect(strFormName,strTextAreaWidgetName)
{staticWidgetTextAreaControl=$new(staticWidgetTextAreaControl,cn.com.bestsoft.widget.WidgetTextAreaControl);staticWidgetTextAreaControl.assignRequireEffect(strFormName,strTextAreaWidgetName);}
function widgetTextAreaAssignReadOnlyEffect(strFormName,strTextAreaWidgetName)
{staticWidgetTextAreaControl=$new(staticWidgetTextAreaControl,cn.com.bestsoft.widget.WidgetTextAreaControl);staticWidgetTextAreaControl.assignReadOnlyEffect(strFormName,strTextAreaWidgetName);}
function widgetTextAreaAssignTreeEffect(strDialogTitle,strFormName,strTextAreaWidgetName,strPageURL,strReturnType,fDialogStart,fDialogOver)
{staticWidgetTextAreaControl=$new(staticWidgetTextAreaControl,cn.com.bestsoft.widget.WidgetTextAreaControl);staticWidgetTextAreaControl.assignTreeEffect(strDialogTitle,strFormName,strTextAreaWidgetName,strPageURL,strReturnType,fDialogStart,fDialogOver);}
function widgetTextAreaAssignReadOnlyTreeEffect(strDialogTitle,strFormName,strTextAreaWidgetName,strPageURL,strReturnType,fDialogStart,fDialogOver)
{staticWidgetTextAreaControl=$new(staticWidgetTextAreaControl,cn.com.bestsoft.widget.WidgetTextAreaControl);staticWidgetTextAreaControl.assignReadOnlyTreeEffect(strDialogTitle,strFormName,strTextAreaWidgetName,strPageURL,strReturnType,fDialogStart,fDialogOver);}
function WidgetTextControlDelegate()
{}
var staticWidgetTextControl;function widgetTextAssignNormalEffect(strFormName,strTextWidgetName)
{staticWidgetTextControl=$new(staticWidgetTextControl,cn.com.bestsoft.widget.WidgetTextControl);staticWidgetTextControl.assignNormalEffect(strFormName,strTextWidgetName);}
function widgetTextAssignRequireEffect(strFormName,strTextWidgetName)
{staticWidgetTextControl=$new(staticWidgetTextControl,cn.com.bestsoft.widget.WidgetTextControl);staticWidgetTextControl.assignRequireEffect(strFormName,strTextWidgetName);}
function widgetTextAssignReadOnlyEffect(strFormName,strTextWidgetName)
{staticWidgetTextControl=$new(staticWidgetTextControl,cn.com.bestsoft.widget.WidgetTextControl);staticWidgetTextControl.assignReadOnlyEffect(strFormName,strTextWidgetName);}
function widgetTextAssignDateEffect(strFormName,strTextWidgetName)
{staticWidgetTextControl=$new(staticWidgetTextControl,cn.com.bestsoft.widget.WidgetTextControl);staticWidgetTextControl.assignDateEffect(strFormName,strTextWidgetName);}
function widgetTextAssignTreeEffect(strDialogTitle,strFormName,strTextWidgetName,strPageURL,strReturnType,fDialogStart,fDialogOver)
{staticWidgetTextControl=$new(staticWidgetTextControl,cn.com.bestsoft.widget.WidgetTextControl);staticWidgetTextControl.assignTreeEffect(strDialogTitle,strFormName,strTextWidgetName,strPageURL,strReturnType,fDialogStart,fDialogOver);}
function widgetTextAssignReadOnlyTreeEffect(strDialogTitle,strFormName,strTextWidgetName,strPageURL,strReturnType,fDialogStart,fDialogOver)
{staticWidgetTextControl=$new(staticWidgetTextControl,cn.com.bestsoft.widget.WidgetTextControl);staticWidgetTextControl.assignReadOnlyTreeEffect(strDialogTitle,strFormName,strTextWidgetName,strPageURL,strReturnType,fDialogStart,fDialogOver);}
function printViewForm(strFormName)
{printPreview(strFormName);}
function SelectAll(strFormName)
{widgetCheckBoxControlSelectAll(strFormName);}
function generalformSubmit(strFormName,strAction,strTarget)
{widgetButtonCustomSubmit(strFormName,strAction,strTarget);}
function formReset(strFormName)
{widgetButtonReset(strFormName);}
function formSubmit(strFormName,strAction)
{widgetButtonCustomSubmit(strFormName,strAction,"");}
function formSubmitNewWindow(strFormName,strAction)
{widgetButtonCustomSubmit(strFormName,strAction,"_blank");}
function dialogControlOpenStandardDialog(strDialogTitle,strPageURL,fDialogOver)
{staticDialogControl=$new(staticDialogControl,cn.com.bestsoft.ajax.DialogControl);staticDialogControl.openStandardDialog(strDialogTitle,strPageURL,fDialogOver);var iStart=0;var iEnd=0;var strBackRequestCacheID=null;iStart=strPageURL.indexOf('backRequestCacheID=')+19;iEnd=strPageURL.indexOf('&',iStart)
if(iEnd==-1)
{strBackRequestCacheID=strPageURL.substring(iStart);}
else
{strBackRequestCacheID=strPageURL.substring(iStart,iEnd);}
document.URL=systemPath+'Backword.do?backRequestCacheID='+strBackRequestCacheID;}
function printPreview(strFormName)
{winNew=window.open(systemPath+"tiles/PrintPreview.jsp",'PrintPreview','');while(true)
{if(winNew.document.forms.length==1)
{break;}};var strInnerHTML=$(strFormName).innerHTML;var iTableStart=strInnerHTML.indexOf("<TABLE",strInnerHTML.indexOf("<TABLE")+1);var iTableEnd=strInnerHTML.indexOf("/TABLE>");strInnerHTML=strInnerHTML.substring(0,iTableStart)+strInnerHTML.substring(iTableEnd+7);winNew.document.print.innerHTML=strInnerHTML;}
document.attachEvent("onclick",function(){if(cn.com.bestsoft.ajax.currentWidget=="selectFilter")
{if(cn.com.bestsoft.ajax.clickHiddenWidget)
{selectFilterCloseSelectFilter();}
cn.com.bestsoft.ajax.clickHiddenWidget=true;dateSelectCloseDateSelect();}
if(cn.com.bestsoft.ajax.currentWidget=="dataSelect")
{if(cn.com.bestsoft.ajax.clickHiddenWidget)
{dateSelectCloseDateSelect();}
cn.com.bestsoft.ajax.clickHiddenWidget=true;selectFilterCloseSelectFilter();}});document.attachEvent("onkeydown",function(){if(window.event.keyCode==27)
{dateSelectCloseDateSelect();selectFilterCloseSelectFilter();}});window.attachEvent("onload",function(){try
{pageLoadEvent();}catch(ex)
{}
try
{pageOnLoadEvent();}catch(ex)
{}
try
{fillup();}catch(ex)
{}});
function MM_goToURL(){var i,args=MM_goToURL.arguments;document.MM_returnValue=false;for(i=0;i<(args.length-1);i+=2)eval(args[i]+".location='"+args[i+1]+"'");}
function MM_openBrWindow(theURL,winName,features){winNew=window.open(theURL,winName,features);return winNew;}
function MM_findObj(n,d){var p,i,x;if(!d)d=document;if((p=n.indexOf("?"))>0&&parent.frames.length){d=parent.frames[n.substring(p+1)].document;n=n.substring(0,p);}
if(!(x=d[n])&&d.all)x=d.all[n];for(i=0;!x&&i<d.forms.length;i++)x=d.forms[i][n];for(i=0;!x&&d.layers&&i<d.layers.length;i++)x=MM_findObj(n,d.layers[i].document);if(!x&&d.getElementById)x=d.getElementById(n);return x;}
function MM_showHideLayers(){var i,p,v,obj,args=MM_showHideLayers.arguments;for(i=0;i<(args.length-2);i+=3)if((obj=MM_findObj(args[i]))!=null){v=args[i+2];if(obj.style){obj=obj.style;v=(v=='show')?'visible':(v=='hide')?'hidden':v;}
obj.visibility=v;}}
var Prototype={Version:'1.4.0',ScriptFragment:'(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)',emptyFunction:function(){},K:function(x){return x}}
var Class={create:function(){return function(){this.initialize.apply(this,arguments);}}}
var Abstract=new Object();Object.extend=function(destination,source){for(property in source){destination[property]=source[property];}
return destination;}
Object.inspect=function(object){try{if(object==undefined)return'undefined';if(object==null)return'null';return object.inspect?object.inspect():object.toString();}catch(e){if(e instanceof RangeError)return'...';throw e;}}
Function.prototype.bind=function(){var __method=this,args=$A(arguments),object=args.shift();return function(){return __method.apply(object,args.concat($A(arguments)));}}
Function.prototype.bindAsEventListener=function(object){var __method=this;return function(event){return __method.call(object,event||window.event);}}
Object.extend(Number.prototype,{toColorPart:function(){var digits=this.toString(16);if(this<16)return'0'+digits;return digits;},succ:function(){return this+1;},times:function(iterator){$R(0,this,true).each(iterator);return this;}});var Try={these:function(){var returnValue;for(var i=0;i<arguments.length;i++){var lambda=arguments[i];try{returnValue=lambda();break;}catch(e){}}
return returnValue;}}
var PeriodicalExecuter=Class.create();PeriodicalExecuter.prototype={initialize:function(callback,frequency){this.callback=callback;this.frequency=frequency;this.currentlyExecuting=false;this.registerCallback();},registerCallback:function(){setInterval(this.onTimerEvent.bind(this),this.frequency*1000);},onTimerEvent:function(){if(!this.currentlyExecuting){try{this.currentlyExecuting=true;this.callback();}finally{this.currentlyExecuting=false;}}}}
function $(){var elements=new Array();for(var i=0;i<arguments.length;i++){var element=arguments[i];if(typeof element=='string')
element=document.getElementById(element);if(arguments.length==1)
return element;elements.push(element);}
return elements;}
Object.extend(String.prototype,{stripTags:function(){return this.replace(/<\/?[^>]+>/gi,'');},stripScripts:function(){return this.replace(new RegExp(Prototype.ScriptFragment,'img'),'');},extractScripts:function(){var matchAll=new RegExp(Prototype.ScriptFragment,'img');var matchOne=new RegExp(Prototype.ScriptFragment,'im');return(this.match(matchAll)||[]).map(function(scriptTag){return(scriptTag.match(matchOne)||['',''])[1];});},evalScripts:function(){return this.extractScripts().map(eval);},escapeHTML:function(){var div=document.createElement('div');var text=document.createTextNode(this);div.appendChild(text);return div.innerHTML;},unescapeHTML:function(){var div=document.createElement('div');div.innerHTML=this.stripTags();return div.childNodes[0]?div.childNodes[0].nodeValue:'';},toQueryParams:function(){var pairs=this.match(/^\??(.*)$/)[1].split('&');return pairs.inject({},function(params,pairString){var pair=pairString.split('=');params[pair[0]]=pair[1];return params;});},toArray:function(){return this.split('');},camelize:function(){var oStringList=this.split('-');if(oStringList.length==1)return oStringList[0];var camelizedString=this.indexOf('-')==0?oStringList[0].charAt(0).toUpperCase()+oStringList[0].substring(1):oStringList[0];for(var i=1,len=oStringList.length;i<len;i++){var s=oStringList[i];camelizedString+=s.charAt(0).toUpperCase()+s.substring(1);}
return camelizedString;},inspect:function(){return"'"+this.replace('\\','\\\\').replace("'",'\\\'')+"'";}});String.prototype.parseQuery=String.prototype.toQueryParams;var $break=new Object();var $continue=new Object();var Enumerable={each:function(iterator){var index=0;try{this._each(function(value){try{iterator(value,index++);}catch(e){if(e!=$continue)throw e;}});}catch(e){if(e!=$break)throw e;}},all:function(iterator){var result=true;this.each(function(value,index){result=result&&!!(iterator||Prototype.K)(value,index);if(!result)throw $break;});return result;},any:function(iterator){var result=true;this.each(function(value,index){if(result=!!(iterator||Prototype.K)(value,index))
throw $break;});return result;},collect:function(iterator){var results=[];this.each(function(value,index){results.push(iterator(value,index));});return results;},detect:function(iterator){var result;this.each(function(value,index){if(iterator(value,index)){result=value;throw $break;}});return result;},findAll:function(iterator){var results=[];this.each(function(value,index){if(iterator(value,index))
results.push(value);});return results;},grep:function(pattern,iterator){var results=[];this.each(function(value,index){var stringValue=value.toString();if(stringValue.match(pattern))
results.push((iterator||Prototype.K)(value,index));})
return results;},include:function(object){var found=false;this.each(function(value){if(value==object){found=true;throw $break;}});return found;},inject:function(memo,iterator){this.each(function(value,index){memo=iterator(memo,value,index);});return memo;},invoke:function(method){var args=$A(arguments).slice(1);return this.collect(function(value){return value[method].apply(value,args);});},max:function(iterator){var result;this.each(function(value,index){value=(iterator||Prototype.K)(value,index);if(value>=(result||value))
result=value;});return result;},min:function(iterator){var result;this.each(function(value,index){value=(iterator||Prototype.K)(value,index);if(value<=(result||value))
result=value;});return result;},partition:function(iterator){var trues=[],falses=[];this.each(function(value,index){((iterator||Prototype.K)(value,index)?trues:falses).push(value);});return[trues,falses];},pluck:function(property){var results=[];this.each(function(value,index){results.push(value[property]);});return results;},reject:function(iterator){var results=[];this.each(function(value,index){if(!iterator(value,index))
results.push(value);});return results;},sortBy:function(iterator){return this.collect(function(value,index){return{value:value,criteria:iterator(value,index)};}).sort(function(left,right){var a=left.criteria,b=right.criteria;return a<b?-1:a>b?1:0;}).pluck('value');},toArray:function(){return this.collect(Prototype.K);},zip:function(){var iterator=Prototype.K,args=$A(arguments);if(typeof args.last()=='function')
iterator=args.pop();var collections=[this].concat(args).map($A);return this.map(function(value,index){iterator(value=collections.pluck(index));return value;});},inspect:function(){return'#<Enumerable:'+this.toArray().inspect()+'>';}}
Object.extend(Enumerable,{map:Enumerable.collect,find:Enumerable.detect,select:Enumerable.findAll,member:Enumerable.include,entries:Enumerable.toArray});var $A=Array.from=function(iterable){if(!iterable)return[];if(iterable.toArray){return iterable.toArray();}else{var results=[];for(var i=0;i<iterable.length;i++)
results.push(iterable[i]);return results;}}
Object.extend(Array.prototype,Enumerable);Array.prototype._reverse=Array.prototype.reverse;Object.extend(Array.prototype,{_each:function(iterator){for(var i=0;i<this.length;i++)
iterator(this[i]);},clear:function(){this.length=0;return this;},first:function(){return this[0];},last:function(){return this[this.length-1];},compact:function(){return this.select(function(value){return value!=undefined||value!=null;});},flatten:function(){return this.inject([],function(array,value){return array.concat(value.constructor==Array?value.flatten():[value]);});},without:function(){var values=$A(arguments);return this.select(function(value){return!values.include(value);});},indexOf:function(object){for(var i=0;i<this.length;i++)
if(this[i]==object)return i;return-1;},reverse:function(inline){return(inline!==false?this:this.toArray())._reverse();},shift:function(){var result=this[0];for(var i=0;i<this.length-1;i++)
this[i]=this[i+1];this.length--;return result;},inspect:function(){return'['+this.map(Object.inspect).join(', ')+']';}});var Hash={_each:function(iterator){for(key in this){var value=this[key];if(typeof value=='function')continue;var pair=[key,value];pair.key=key;pair.value=value;iterator(pair);}},keys:function(){return this.pluck('key');},values:function(){return this.pluck('value');},merge:function(hash){return $H(hash).inject($H(this),function(mergedHash,pair){mergedHash[pair.key]=pair.value;return mergedHash;});},toQueryString:function(){return this.map(function(pair){return pair.map(encodeURIComponent).join('=');}).join('&');},inspect:function(){return'#<Hash:{'+this.map(function(pair){return pair.map(Object.inspect).join(': ');}).join(', ')+'}>';}}
function $H(object){var hash=Object.extend({},object||{});Object.extend(hash,Enumerable);Object.extend(hash,Hash);return hash;}
ObjectRange=Class.create();Object.extend(ObjectRange.prototype,Enumerable);Object.extend(ObjectRange.prototype,{initialize:function(start,end,exclusive){this.start=start;this.end=end;this.exclusive=exclusive;},_each:function(iterator){var value=this.start;do{iterator(value);value=value.succ();}while(this.include(value));},include:function(value){if(value<this.start)
return false;if(this.exclusive)
return value<this.end;return value<=this.end;}});var $R=function(start,end,exclusive){return new ObjectRange(start,end,exclusive);}
var Ajax={getTransport:function(){return Try.these(function(){return new ActiveXObject('Msxml2.XMLHTTP')},function(){return new ActiveXObject('Microsoft.XMLHTTP')},function(){return new XMLHttpRequest()})||false;},activeRequestCount:0}
Ajax.Responders={responders:[],_each:function(iterator){this.responders._each(iterator);},register:function(responderToAdd){if(!this.include(responderToAdd))
this.responders.push(responderToAdd);},unregister:function(responderToRemove){this.responders=this.responders.without(responderToRemove);},dispatch:function(callback,request,transport,json){this.each(function(responder){if(responder[callback]&&typeof responder[callback]=='function'){try{responder[callback].apply(responder,[request,transport,json]);}catch(e){}}});}};Object.extend(Ajax.Responders,Enumerable);Ajax.Responders.register({onCreate:function(){Ajax.activeRequestCount++;},onComplete:function(){Ajax.activeRequestCount--;}});Ajax.Base=function(){};Ajax.Base.prototype={setOptions:function(options){this.options={method:'post',asynchronous:true,parameters:''}
Object.extend(this.options,options||{});},responseIsSuccess:function(){return this.transport.status==undefined||this.transport.status==0||(this.transport.status>=200&&this.transport.status<300);},responseIsFailure:function(){return!this.responseIsSuccess();}}
Ajax.Request=Class.create();Ajax.Request.Events=['Uninitialized','Loading','Loaded','Interactive','Complete'];Ajax.Request.prototype=Object.extend(new Ajax.Base(),{initialize:function(url,options){this.transport=Ajax.getTransport();this.setOptions(options);this.request(url);},request:function(url){var parameters=this.options.parameters||'';if(parameters.length>0)parameters+='&_=';try{this.url=url;if(this.options.method=='get'&&parameters.length>0)
this.url+=(this.url.match(/\?/)?'&':'?')+parameters;Ajax.Responders.dispatch('onCreate',this,this.transport);this.transport.open(this.options.method,this.url,this.options.asynchronous);if(this.options.asynchronous){this.transport.onreadystatechange=this.onStateChange.bind(this);setTimeout((function(){this.respondToReadyState(1)}).bind(this),10);}
this.setRequestHeaders();var body=this.options.postBody?this.options.postBody:parameters;this.transport.send(this.options.method=='post'?body:null);}catch(e){this.dispatchException(e);}},setRequestHeaders:function(){var requestHeaders=['X-Requested-With','XMLHttpRequest','X-Prototype-Version',Prototype.Version];if(this.options.method=='post'){requestHeaders.push('Content-type','application/x-www-form-urlencoded');if(this.transport.overrideMimeType)
requestHeaders.push('Connection','close');}
if(this.options.requestHeaders)
requestHeaders.push.apply(requestHeaders,this.options.requestHeaders);for(var i=0;i<requestHeaders.length;i+=2)
this.transport.setRequestHeader(requestHeaders[i],requestHeaders[i+1]);},onStateChange:function(){var readyState=this.transport.readyState;if(readyState!=1)
this.respondToReadyState(this.transport.readyState);},header:function(name){try{return this.transport.getResponseHeader(name);}catch(e){}},evalJSON:function(){try{return eval(this.header('X-JSON'));}catch(e){}},evalResponse:function(){try{return eval(this.transport.responseText);}catch(e){this.dispatchException(e);}},respondToReadyState:function(readyState){var event=Ajax.Request.Events[readyState];var transport=this.transport,json=this.evalJSON();if(event=='Complete'){try{(this.options['on'+this.transport.status]||this.options['on'+(this.responseIsSuccess()?'Success':'Failure')]||Prototype.emptyFunction)(transport,json);}catch(e){this.dispatchException(e);}
if((this.header('Content-type')||'').match(/^text\/javascript/i))
this.evalResponse();}
try{(this.options['on'+event]||Prototype.emptyFunction)(transport,json);Ajax.Responders.dispatch('on'+event,this,transport,json);}catch(e){this.dispatchException(e);}
if(event=='Complete')
this.transport.onreadystatechange=Prototype.emptyFunction;},dispatchException:function(exception){(this.options.onException||Prototype.emptyFunction)(this,exception);Ajax.Responders.dispatch('onException',this,exception);}});Ajax.Updater=Class.create();Object.extend(Object.extend(Ajax.Updater.prototype,Ajax.Request.prototype),{initialize:function(container,url,options){this.containers={success:container.success?$(container.success):$(container),failure:container.failure?$(container.failure):(container.success?null:$(container))}
this.transport=Ajax.getTransport();this.setOptions(options);var onComplete=this.options.onComplete||Prototype.emptyFunction;this.options.onComplete=(function(transport,object){this.updateContent();onComplete(transport,object);}).bind(this);this.request(url);},updateContent:function(){var receiver=this.responseIsSuccess()?this.containers.success:this.containers.failure;var response=this.transport.responseText;if(!this.options.evalScripts)
response=response.stripScripts();if(receiver){if(this.options.insertion){new this.options.insertion(receiver,response);}else{Element.update(receiver,response);}}
if(this.responseIsSuccess()){if(this.onComplete)
setTimeout(this.onComplete.bind(this),10);}}});Ajax.PeriodicalUpdater=Class.create();Ajax.PeriodicalUpdater.prototype=Object.extend(new Ajax.Base(),{initialize:function(container,url,options){this.setOptions(options);this.onComplete=this.options.onComplete;this.frequency=(this.options.frequency||2);this.decay=(this.options.decay||1);this.updater={};this.container=container;this.url=url;this.start();},start:function(){this.options.onComplete=this.updateComplete.bind(this);this.onTimerEvent();},stop:function(){this.updater.onComplete=undefined;clearTimeout(this.timer);(this.onComplete||Prototype.emptyFunction).apply(this,arguments);},updateComplete:function(request){if(this.options.decay){this.decay=(request.responseText==this.lastText?this.decay*this.options.decay:1);this.lastText=request.responseText;}
this.timer=setTimeout(this.onTimerEvent.bind(this),this.decay*this.frequency*1000);},onTimerEvent:function(){this.updater=new Ajax.Updater(this.container,this.url,this.options);}});document.getElementsByClassName=function(className,parentElement){var children=($(parentElement)||document.body).getElementsByTagName('*');return $A(children).inject([],function(elements,child){if(child.className.match(new RegExp("(^|\\s)"+className+"(\\s|$)")))
elements.push(child);return elements;});}
if(!window.Element){var Element=new Object();}
Object.extend(Element,{visible:function(element){return $(element).style.display!='none';},toggle:function(){for(var i=0;i<arguments.length;i++){var element=$(arguments[i]);Element[Element.visible(element)?'hide':'show'](element);}},hide:function(){for(var i=0;i<arguments.length;i++){var element=$(arguments[i]);element.style.display='none';}},show:function(){for(var i=0;i<arguments.length;i++){var element=$(arguments[i]);element.style.display='';}},remove:function(element){element=$(element);element.parentNode.removeChild(element);},update:function(element,html){$(element).innerHTML=html.stripScripts();setTimeout(function(){html.evalScripts()},10);},getHeight:function(element){element=$(element);return element.offsetHeight;},classNames:function(element){return new Element.ClassNames(element);},hasClassName:function(element,className){if(!(element=$(element)))return;return Element.classNames(element).include(className);},addClassName:function(element,className){if(!(element=$(element)))return;return Element.classNames(element).add(className);},removeClassName:function(element,className){if(!(element=$(element)))return;return Element.classNames(element).remove(className);},cleanWhitespace:function(element){element=$(element);for(var i=0;i<element.childNodes.length;i++){var node=element.childNodes[i];if(node.nodeType==3&&!/\S/.test(node.nodeValue))
Element.remove(node);}},empty:function(element){return $(element).innerHTML.match(/^\s*$/);},scrollTo:function(element){element=$(element);var x=element.x?element.x:element.offsetLeft,y=element.y?element.y:element.offsetTop;window.scrollTo(x,y);},getStyle:function(element,style){element=$(element);var value=element.style[style.camelize()];if(!value){if(document.defaultView&&document.defaultView.getComputedStyle){var css=document.defaultView.getComputedStyle(element,null);value=css?css.getPropertyValue(style):null;}else if(element.currentStyle){value=element.currentStyle[style.camelize()];}}
if(window.opera&&['left','top','right','bottom'].include(style))
if(Element.getStyle(element,'position')=='static')value='auto';return value=='auto'?null:value;},setStyle:function(element,style){element=$(element);for(name in style)
element.style[name.camelize()]=style[name];},getDimensions:function(element){element=$(element);if(Element.getStyle(element,'display')!='none')
return{width:element.offsetWidth,height:element.offsetHeight};var els=element.style;var originalVisibility=els.visibility;var originalPosition=els.position;els.visibility='hidden';els.position='absolute';els.display='';var originalWidth=element.clientWidth;var originalHeight=element.clientHeight;els.display='none';els.position=originalPosition;els.visibility=originalVisibility;return{width:originalWidth,height:originalHeight};},makePositioned:function(element){element=$(element);var pos=Element.getStyle(element,'position');if(pos=='static'||!pos){element._madePositioned=true;element.style.position='relative';if(window.opera){element.style.top=0;element.style.left=0;}}},undoPositioned:function(element){element=$(element);if(element._madePositioned){element._madePositioned=undefined;element.style.position=element.style.top=element.style.left=element.style.bottom=element.style.right='';}},makeClipping:function(element){element=$(element);if(element._overflow)return;element._overflow=element.style.overflow;if((Element.getStyle(element,'overflow')||'visible')!='hidden')
element.style.overflow='hidden';},undoClipping:function(element){element=$(element);if(element._overflow)return;element.style.overflow=element._overflow;element._overflow=undefined;}});var Toggle=new Object();Toggle.display=Element.toggle;Abstract.Insertion=function(adjacency){this.adjacency=adjacency;}
Abstract.Insertion.prototype={initialize:function(element,content){this.element=$(element);this.content=content.stripScripts();if(this.adjacency&&this.element.insertAdjacentHTML){try{this.element.insertAdjacentHTML(this.adjacency,this.content);}catch(e){if(this.element.tagName.toLowerCase()=='tbody'){this.insertContent(this.contentFromAnonymousTable());}else{throw e;}}}else{this.range=this.element.ownerDocument.createRange();if(this.initializeRange)this.initializeRange();this.insertContent([this.range.createContextualFragment(this.content)]);}
setTimeout(function(){content.evalScripts()},10);},contentFromAnonymousTable:function(){var div=document.createElement('div');div.innerHTML='<table><tbody>'+this.content+'</tbody></table>';return $A(div.childNodes[0].childNodes[0].childNodes);}}
var Insertion=new Object();Insertion.Before=Class.create();Insertion.Before.prototype=Object.extend(new Abstract.Insertion('beforeBegin'),{initializeRange:function(){this.range.setStartBefore(this.element);},insertContent:function(fragments){fragments.each((function(fragment){this.element.parentNode.insertBefore(fragment,this.element);}).bind(this));}});Insertion.Top=Class.create();Insertion.Top.prototype=Object.extend(new Abstract.Insertion('afterBegin'),{initializeRange:function(){this.range.selectNodeContents(this.element);this.range.collapse(true);},insertContent:function(fragments){fragments.reverse(false).each((function(fragment){this.element.insertBefore(fragment,this.element.firstChild);}).bind(this));}});Insertion.Bottom=Class.create();Insertion.Bottom.prototype=Object.extend(new Abstract.Insertion('beforeEnd'),{initializeRange:function(){this.range.selectNodeContents(this.element);this.range.collapse(this.element);},insertContent:function(fragments){fragments.each((function(fragment){this.element.appendChild(fragment);}).bind(this));}});Insertion.After=Class.create();Insertion.After.prototype=Object.extend(new Abstract.Insertion('afterEnd'),{initializeRange:function(){this.range.setStartAfter(this.element);},insertContent:function(fragments){fragments.each((function(fragment){this.element.parentNode.insertBefore(fragment,this.element.nextSibling);}).bind(this));}});Element.ClassNames=Class.create();Element.ClassNames.prototype={initialize:function(element){this.element=$(element);},_each:function(iterator){this.element.className.split(/\s+/).select(function(name){return name.length>0;})._each(iterator);},set:function(className){this.element.className=className;},add:function(classNameToAdd){if(this.include(classNameToAdd))return;this.set(this.toArray().concat(classNameToAdd).join(' '));},remove:function(classNameToRemove){if(!this.include(classNameToRemove))return;this.set(this.select(function(className){return className!=classNameToRemove;}).join(' '));},toString:function(){return this.toArray().join(' ');}}
Object.extend(Element.ClassNames.prototype,Enumerable);var Field={clear:function(){for(var i=0;i<arguments.length;i++)
$(arguments[i]).value='';},focus:function(element){$(element).focus();},present:function(){for(var i=0;i<arguments.length;i++)
if($(arguments[i]).value=='')return false;return true;},select:function(element){$(element).select();},activate:function(element){element=$(element);element.focus();if(element.select)
element.select();}}
var Form={serialize:function(form){var elements=Form.getElements($(form));var queryComponents=new Array();for(var i=0;i<elements.length;i++){var queryComponent=Form.Element.serialize(elements[i]);if(queryComponent)
queryComponents.push(queryComponent);}
return queryComponents.join('&');},getElements:function(form){form=$(form);var elements=new Array();for(tagName in Form.Element.Serializers){var tagElements=form.getElementsByTagName(tagName);for(var j=0;j<tagElements.length;j++)
elements.push(tagElements[j]);}
return elements;},getInputs:function(form,typeName,name){form=$(form);var inputs=form.getElementsByTagName('input');if(!typeName&&!name)
return inputs;var matchingInputs=new Array();for(var i=0;i<inputs.length;i++){var input=inputs[i];if((typeName&&input.type!=typeName)||(name&&input.name!=name))
continue;matchingInputs.push(input);}
return matchingInputs;},disable:function(form){var elements=Form.getElements(form);for(var i=0;i<elements.length;i++){var element=elements[i];element.blur();element.disabled='true';}},enable:function(form){var elements=Form.getElements(form);for(var i=0;i<elements.length;i++){var element=elements[i];element.disabled='';}},findFirstElement:function(form){return Form.getElements(form).find(function(element){return element.type!='hidden'&&!element.disabled&&['input','select','textarea'].include(element.tagName.toLowerCase());});},focusFirstElement:function(form){Field.activate(Form.findFirstElement(form));},reset:function(form){$(form).reset();}}
Form.Element={serialize:function(element){element=$(element);var method=element.tagName.toLowerCase();var parameter=Form.Element.Serializers[method](element);if(parameter){var key=encodeURIComponent(parameter[0]);if(key.length==0)return;if(parameter[1].constructor!=Array)
parameter[1]=[parameter[1]];return parameter[1].map(function(value){return key+'='+encodeURIComponent(value);}).join('&');}},getValue:function(element){element=$(element);var method=element.tagName.toLowerCase();var parameter=Form.Element.Serializers[method](element);if(parameter)
return parameter[1];}}
Form.Element.Serializers={input:function(element){switch(element.type.toLowerCase()){case'submit':case'hidden':case'password':case'text':return Form.Element.Serializers.textarea(element);case'checkbox':case'radio':return Form.Element.Serializers.inputSelector(element);}
return false;},inputSelector:function(element){if(element.checked)
return[element.name,element.value];},textarea:function(element){return[element.name,element.value];},select:function(element){return Form.Element.Serializers[element.type=='select-one'?'selectOne':'selectMany'](element);},selectOne:function(element){var value='',opt,index=element.selectedIndex;if(index>=0){opt=element.options[index];value=opt.value;if(!value&&!('value'in opt))
value=opt.text;}
return[element.name,value];},selectMany:function(element){var value=new Array();for(var i=0;i<element.length;i++){var opt=element.options[i];if(opt.selected){var optValue=opt.value;if(!optValue&&!('value'in opt))
optValue=opt.text;value.push(optValue);}}
return[element.name,value];}}
var $F=Form.Element.getValue;Abstract.TimedObserver=function(){}
Abstract.TimedObserver.prototype={initialize:function(element,frequency,callback){this.frequency=frequency;this.element=$(element);this.callback=callback;this.lastValue=this.getValue();this.registerCallback();},registerCallback:function(){setInterval(this.onTimerEvent.bind(this),this.frequency*1000);},onTimerEvent:function(){var value=this.getValue();if(this.lastValue!=value){this.callback(this.element,value);this.lastValue=value;}}}
Form.Element.Observer=Class.create();Form.Element.Observer.prototype=Object.extend(new Abstract.TimedObserver(),{getValue:function(){return Form.Element.getValue(this.element);}});Form.Observer=Class.create();Form.Observer.prototype=Object.extend(new Abstract.TimedObserver(),{getValue:function(){return Form.serialize(this.element);}});Abstract.EventObserver=function(){}
Abstract.EventObserver.prototype={initialize:function(element,callback){this.element=$(element);this.callback=callback;this.lastValue=this.getValue();if(this.element.tagName.toLowerCase()=='form')
this.registerFormCallbacks();else
this.registerCallback(this.element);},onElementEvent:function(){var value=this.getValue();if(this.lastValue!=value){this.callback(this.element,value);this.lastValue=value;}},registerFormCallbacks:function(){var elements=Form.getElements(this.element);for(var i=0;i<elements.length;i++)
this.registerCallback(elements[i]);},registerCallback:function(element){if(element.type){switch(element.type.toLowerCase()){case'checkbox':case'radio':Event.observe(element,'click',this.onElementEvent.bind(this));break;case'password':case'text':case'textarea':case'select-one':case'select-multiple':Event.observe(element,'change',this.onElementEvent.bind(this));break;}}}}
Form.Element.EventObserver=Class.create();Form.Element.EventObserver.prototype=Object.extend(new Abstract.EventObserver(),{getValue:function(){return Form.Element.getValue(this.element);}});Form.EventObserver=Class.create();Form.EventObserver.prototype=Object.extend(new Abstract.EventObserver(),{getValue:function(){return Form.serialize(this.element);}});if(!window.Event){var Event=new Object();}
Object.extend(Event,{KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,element:function(event){return event.target||event.srcElement;},isLeftClick:function(event){return(((event.which)&&(event.which==1))||((event.button)&&(event.button==1)));},pointerX:function(event){return event.pageX||(event.clientX+
(document.documentElement.scrollLeft||document.body.scrollLeft));},pointerY:function(event){return event.pageY||(event.clientY+
(document.documentElement.scrollTop||document.body.scrollTop));},stop:function(event){if(event.preventDefault){event.preventDefault();event.stopPropagation();}else{event.returnValue=false;event.cancelBubble=true;}},findElement:function(event,tagName){var element=Event.element(event);while(element.parentNode&&(!element.tagName||(element.tagName.toUpperCase()!=tagName.toUpperCase())))
element=element.parentNode;return element;},observers:false,_observeAndCache:function(element,name,observer,useCapture){if(!this.observers)this.observers=[];if(element.addEventListener){this.observers.push([element,name,observer,useCapture]);element.addEventListener(name,observer,useCapture);}else if(element.attachEvent){this.observers.push([element,name,observer,useCapture]);element.attachEvent('on'+name,observer);}},unloadCache:function(){if(!Event.observers)return;for(var i=0;i<Event.observers.length;i++){Event.stopObserving.apply(this,Event.observers[i]);Event.observers[i][0]=null;}
Event.observers=false;},observe:function(element,name,observer,useCapture){var element=$(element);useCapture=useCapture||false;if(name=='keypress'&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||element.attachEvent))
name='keydown';this._observeAndCache(element,name,observer,useCapture);},stopObserving:function(element,name,observer,useCapture){var element=$(element);useCapture=useCapture||false;if(name=='keypress'&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||element.detachEvent))
name='keydown';if(element.removeEventListener){element.removeEventListener(name,observer,useCapture);}else if(element.detachEvent){element.detachEvent('on'+name,observer);}}});Event.observe(window,'unload',Event.unloadCache,false);var Position={includeScrollOffsets:false,prepare:function(){this.deltaX=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;this.deltaY=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;},realOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.scrollTop||0;valueL+=element.scrollLeft||0;element=element.parentNode;}while(element);return[valueL,valueT];},cumulativeOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;}while(element);return[valueL,valueT];},positionedOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;if(element){p=Element.getStyle(element,'position');if(p=='relative'||p=='absolute')break;}}while(element);return[valueL,valueT];},offsetParent:function(element){if(element.offsetParent)return element.offsetParent;if(element==document.body)return element;while((element=element.parentNode)&&element!=document.body)
if(Element.getStyle(element,'position')!='static')
return element;return document.body;},within:function(element,x,y){if(this.includeScrollOffsets)
return this.withinIncludingScrolloffsets(element,x,y);this.xcomp=x;this.ycomp=y;this.offset=this.cumulativeOffset(element);return(y>=this.offset[1]&&y<this.offset[1]+element.offsetHeight&&x>=this.offset[0]&&x<this.offset[0]+element.offsetWidth);},withinIncludingScrolloffsets:function(element,x,y){var offsetcache=this.realOffset(element);this.xcomp=x+offsetcache[0]-this.deltaX;this.ycomp=y+offsetcache[1]-this.deltaY;this.offset=this.cumulativeOffset(element);return(this.ycomp>=this.offset[1]&&this.ycomp<this.offset[1]+element.offsetHeight&&this.xcomp>=this.offset[0]&&this.xcomp<this.offset[0]+element.offsetWidth);},overlap:function(mode,element){if(!mode)return 0;if(mode=='vertical')
return((this.offset[1]+element.offsetHeight)-this.ycomp)/element.offsetHeight;if(mode=='horizontal')
return((this.offset[0]+element.offsetWidth)-this.xcomp)/element.offsetWidth;},clone:function(source,target){source=$(source);target=$(target);target.style.position='absolute';var offsets=this.cumulativeOffset(source);target.style.top=offsets[1]+'px';target.style.left=offsets[0]+'px';target.style.width=source.offsetWidth+'px';target.style.height=source.offsetHeight+'px';},page:function(forElement){var valueT=0,valueL=0;var element=forElement;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;if(element.offsetParent==document.body)
if(Element.getStyle(element,'position')=='absolute')break;}while(element=element.offsetParent);element=forElement;do{valueT-=element.scrollTop||0;valueL-=element.scrollLeft||0;}while(element=element.parentNode);return[valueL,valueT];},clone:function(source,target){var options=Object.extend({setLeft:true,setTop:true,setWidth:true,setHeight:true,offsetTop:0,offsetLeft:0},arguments[2]||{})
source=$(source);var p=Position.page(source);target=$(target);var delta=[0,0];var parent=null;if(Element.getStyle(target,'position')=='absolute'){parent=Position.offsetParent(target);delta=Position.page(parent);}
if(parent==document.body){delta[0]-=document.body.offsetLeft;delta[1]-=document.body.offsetTop;}
if(options.setLeft)target.style.left=(p[0]-delta[0]+options.offsetLeft)+'px';if(options.setTop)target.style.top=(p[1]-delta[1]+options.offsetTop)+'px';if(options.setWidth)target.style.width=source.offsetWidth+'px';if(options.setHeight)target.style.height=source.offsetHeight+'px';},absolutize:function(element){element=$(element);if(element.style.position=='absolute')return;Position.prepare();var offsets=Position.positionedOffset(element);var top=offsets[1];var left=offsets[0];var width=element.clientWidth;var height=element.clientHeight;element._originalLeft=left-parseFloat(element.style.left||0);element._originalTop=top-parseFloat(element.style.top||0);element._originalWidth=element.style.width;element._originalHeight=element.style.height;element.style.position='absolute';element.style.top=top+'px';;element.style.left=left+'px';;element.style.width=width+'px';;element.style.height=height+'px';;},relativize:function(element){element=$(element);if(element.style.position=='relative')return;Position.prepare();element.style.position='relative';var top=parseFloat(element.style.top||0)-(element._originalTop||0);var left=parseFloat(element.style.left||0)-(element._originalLeft||0);element.style.top=top+'px';element.style.left=left+'px';element.style.height=element._originalHeight;element.style.width=element._originalWidth;}}
if(/Konqueror|Safari|KHTML/.test(navigator.userAgent)){Position.cumulativeOffset=function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;if(element.offsetParent==document.body)
if(Element.getStyle(element,'position')=='absolute')break;element=element.offsetParent;}while(element);return[valueL,valueT];}}
var Autocompleter={}
Autocompleter.Base=function(){};Autocompleter.Base.prototype={baseInitialize:function(element,update,options){this.element=$(element);this.update=$(update);this.hasFocus=false;this.changed=false;this.active=false;this.index=0;this.entryCount=0;if(this.setOptions)
this.setOptions(options);else
this.options=options||{};this.options.paramName=this.options.paramName||this.element.name;this.options.tokens=this.options.tokens||[];this.options.frequency=this.options.frequency||0.4;this.options.minChars=this.options.minChars||1;this.options.onShow=this.options.onShow||function(element,update){if(!update.style.position||update.style.position=='absolute'){update.style.position='absolute';Position.clone(element,update,{setHeight:false,offsetTop:element.offsetHeight});}
Effect.Appear(update,{duration:0.15});};this.options.onHide=this.options.onHide||function(element,update){new Effect.Fade(update,{duration:0.15})};if(typeof(this.options.tokens)=='string')
this.options.tokens=new Array(this.options.tokens);this.observer=null;this.element.setAttribute('autocomplete','off');Element.hide(this.update);Event.observe(this.element,"blur",this.onBlur.bindAsEventListener(this));Event.observe(this.element,"keypress",this.onKeyPress.bindAsEventListener(this));},show:function(){if(Element.getStyle(this.update,'display')=='none')this.options.onShow(this.element,this.update);if(!this.iefix&&(navigator.appVersion.indexOf('MSIE')>0)&&(navigator.userAgent.indexOf('Opera')<0)&&(Element.getStyle(this.update,'position')=='absolute')){new Insertion.After(this.update,'<iframe id="'+this.update.id+'_iefix" '+'style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" '+'src="javascript:false;" frameborder="0" scrolling="no"></iframe>');this.iefix=$(this.update.id+'_iefix');}
if(this.iefix)setTimeout(this.fixIEOverlapping.bind(this),50);},fixIEOverlapping:function(){Position.clone(this.update,this.iefix);this.iefix.style.zIndex=1;this.update.style.zIndex=2;Element.show(this.iefix);},hide:function(){this.stopIndicator();if(Element.getStyle(this.update,'display')!='none')this.options.onHide(this.element,this.update);if(this.iefix)Element.hide(this.iefix);},startIndicator:function(){if(this.options.indicator)Element.show(this.options.indicator);},stopIndicator:function(){if(this.options.indicator)Element.hide(this.options.indicator);},onKeyPress:function(event){if(this.active)
switch(event.keyCode){case Event.KEY_TAB:case Event.KEY_RETURN:this.selectEntry();Event.stop(event);case Event.KEY_ESC:this.hide();this.active=false;Event.stop(event);return;case Event.KEY_LEFT:case Event.KEY_RIGHT:return;case Event.KEY_UP:this.markPrevious();this.render();if(navigator.appVersion.indexOf('AppleWebKit')>0)Event.stop(event);return;case Event.KEY_DOWN:this.markNext();this.render();if(navigator.appVersion.indexOf('AppleWebKit')>0)Event.stop(event);return;}
else
if(event.keyCode==Event.KEY_TAB||event.keyCode==Event.KEY_RETURN)
return;this.changed=true;this.hasFocus=true;if(this.observer)clearTimeout(this.observer);this.observer=setTimeout(this.onObserverEvent.bind(this),this.options.frequency*1000);},activate:function(){this.changed=false;this.hasFocus=true;this.getUpdatedChoices();},onHover:function(event){var element=Event.findElement(event,'LI');if(this.index!=element.autocompleteIndex)
{this.index=element.autocompleteIndex;this.render();}
Event.stop(event);},onClick:function(event){var element=Event.findElement(event,'LI');this.index=element.autocompleteIndex;this.selectEntry();this.hide();},onBlur:function(event){setTimeout(this.hide.bind(this),250);this.hasFocus=false;this.active=false;},render:function(){if(this.entryCount>0){for(var i=0;i<this.entryCount;i++)
this.index==i?Element.addClassName(this.getEntry(i),"selected"):Element.removeClassName(this.getEntry(i),"selected");if(this.hasFocus){this.show();this.active=true;}}else{this.active=false;this.hide();}},markPrevious:function(){if(this.index>0)this.index--
else this.index=this.entryCount-1;},markNext:function(){if(this.index<this.entryCount-1)this.index++
else this.index=0;},getEntry:function(index){return this.update.firstChild.childNodes[index];},getCurrentEntry:function(){return this.getEntry(this.index);},selectEntry:function(){this.active=false;this.updateElement(this.getCurrentEntry());},updateElement:function(selectedElement){if(this.options.updateElement){this.options.updateElement(selectedElement);return;}
var value='';if(this.options.select){var nodes=document.getElementsByClassName(this.options.select,selectedElement)||[];if(nodes.length>0)value=Element.collectTextNodes(nodes[0],this.options.select);}else
value=Element.collectTextNodesIgnoreClass(selectedElement,'informal');var lastTokenPos=this.findLastToken();if(lastTokenPos!=-1){var newValue=this.element.value.substr(0,lastTokenPos+1);var whitespace=this.element.value.substr(lastTokenPos+1).match(/^\s+/);if(whitespace)
newValue+=whitespace[0];this.element.value=newValue+value;}else{this.element.value=value;}
this.element.focus();if(this.options.afterUpdateElement)
this.options.afterUpdateElement(this.element,selectedElement);},updateChoices:function(choices){if(!this.changed&&this.hasFocus){this.update.innerHTML=choices;Element.cleanWhitespace(this.update);Element.cleanWhitespace(this.update.firstChild);if(this.update.firstChild&&this.update.firstChild.childNodes){this.entryCount=this.update.firstChild.childNodes.length;for(var i=0;i<this.entryCount;i++){var entry=this.getEntry(i);entry.autocompleteIndex=i;this.addObservers(entry);}}else{this.entryCount=0;}
this.stopIndicator();this.index=0;this.render();}},addObservers:function(element){Event.observe(element,"mouseover",this.onHover.bindAsEventListener(this));Event.observe(element,"click",this.onClick.bindAsEventListener(this));},onObserverEvent:function(){this.changed=false;if(this.getToken().length>=this.options.minChars){this.startIndicator();this.getUpdatedChoices();}else{this.active=false;this.hide();}},getToken:function(){var tokenPos=this.findLastToken();if(tokenPos!=-1)
var ret=this.element.value.substr(tokenPos+1).replace(/^\s+/,'').replace(/\s+$/,'');else
var ret=this.element.value;return/\n/.test(ret)?'':ret;},findLastToken:function(){var lastTokenPos=-1;for(var i=0;i<this.options.tokens.length;i++){var thisTokenPos=this.element.value.lastIndexOf(this.options.tokens[i]);if(thisTokenPos>lastTokenPos)
lastTokenPos=thisTokenPos;}
return lastTokenPos;}}
Ajax.Autocompleter=Class.create();Object.extend(Object.extend(Ajax.Autocompleter.prototype,Autocompleter.Base.prototype),{initialize:function(element,update,url,options){this.baseInitialize(element,update,options);this.options.asynchronous=true;this.options.onComplete=this.onComplete.bind(this);this.options.defaultParams=this.options.parameters||null;this.url=url;},getUpdatedChoices:function(){entry=encodeURIComponent(this.options.paramName)+'='+
encodeURIComponent(this.getToken());this.options.parameters=this.options.callback?this.options.callback(this.element,entry):entry;if(this.options.defaultParams)
this.options.parameters+='&'+this.options.defaultParams;new Ajax.Request(this.url,this.options);},onComplete:function(request){this.updateChoices(request.responseText);}});Autocompleter.Local=Class.create();Autocompleter.Local.prototype=Object.extend(new Autocompleter.Base(),{initialize:function(element,update,array,options){this.baseInitialize(element,update,options);this.options.array=array;},getUpdatedChoices:function(){this.updateChoices(this.options.selector(this));},setOptions:function(options){this.options=Object.extend({choices:10,partialSearch:true,partialChars:2,ignoreCase:true,fullSearch:false,selector:function(instance){var ret=[];var partial=[];var entry=instance.getToken();var count=0;for(var i=0;i<instance.options.array.length&&ret.length<instance.options.choices;i++){var elem=instance.options.array[i];var foundPos=instance.options.ignoreCase?elem.toLowerCase().indexOf(entry.toLowerCase()):elem.indexOf(entry);while(foundPos!=-1){if(foundPos==0&&elem.length!=entry.length){ret.push("<li><strong>"+elem.substr(0,entry.length)+"</strong>"+
elem.substr(entry.length)+"</li>");break;}else if(entry.length>=instance.options.partialChars&&instance.options.partialSearch&&foundPos!=-1){if(instance.options.fullSearch||/\s/.test(elem.substr(foundPos-1,1))){partial.push("<li>"+elem.substr(0,foundPos)+"<strong>"+
elem.substr(foundPos,entry.length)+"</strong>"+elem.substr(foundPos+entry.length)+"</li>");break;}}
foundPos=instance.options.ignoreCase?elem.toLowerCase().indexOf(entry.toLowerCase(),foundPos+1):elem.indexOf(entry,foundPos+1);}}
if(partial.length)
ret=ret.concat(partial.slice(0,instance.options.choices-ret.length))
return"<ul>"+ret.join('')+"</ul>";}},options||{});}});Field.scrollFreeActivate=function(field){setTimeout(function(){Field.activate(field);},1);}
Ajax.InPlaceEditor=Class.create();Ajax.InPlaceEditor.defaultHighlightColor="#FFFF99";Ajax.InPlaceEditor.prototype={initialize:function(element,url,options){this.url=url;this.element=$(element);this.options=Object.extend({okButton:true,okText:"ok",cancelLink:true,cancelText:"cancel",savingText:"Saving...",clickToEditText:"Click to edit",okText:"ok",rows:1,onComplete:function(transport,element){new Effect.Highlight(element,{startcolor:this.options.highlightcolor});},onFailure:function(transport){alert("Error communicating with the server: "+transport.responseText.stripTags());},callback:function(form){return Form.serialize(form);},handleLineBreaks:true,loadingText:'Loading...',savingClassName:'inplaceeditor-saving',loadingClassName:'inplaceeditor-loading',formClassName:'inplaceeditor-form',highlightcolor:Ajax.InPlaceEditor.defaultHighlightColor,highlightendcolor:"#FFFFFF",externalControl:null,submitOnBlur:false,ajaxOptions:{},evalScripts:false},options||{});if(!this.options.formId&&this.element.id){this.options.formId=this.element.id+"-inplaceeditor";if($(this.options.formId)){this.options.formId=null;}}
if(this.options.externalControl){this.options.externalControl=$(this.options.externalControl);}
this.originalBackground=Element.getStyle(this.element,'background-color');if(!this.originalBackground){this.originalBackground="transparent";}
this.element.title=this.options.clickToEditText;this.onclickListener=this.enterEditMode.bindAsEventListener(this);this.mouseoverListener=this.enterHover.bindAsEventListener(this);this.mouseoutListener=this.leaveHover.bindAsEventListener(this);Event.observe(this.element,'click',this.onclickListener);Event.observe(this.element,'mouseover',this.mouseoverListener);Event.observe(this.element,'mouseout',this.mouseoutListener);if(this.options.externalControl){Event.observe(this.options.externalControl,'click',this.onclickListener);Event.observe(this.options.externalControl,'mouseover',this.mouseoverListener);Event.observe(this.options.externalControl,'mouseout',this.mouseoutListener);}},enterEditMode:function(evt){if(this.saving)return;if(this.editing)return;this.editing=true;this.onEnterEditMode();if(this.options.externalControl){Element.hide(this.options.externalControl);}
Element.hide(this.element);this.createForm();this.element.parentNode.insertBefore(this.form,this.element);Field.scrollFreeActivate(this.editField);if(evt){Event.stop(evt);}
return false;},createForm:function(){this.form=document.createElement("form");this.form.id=this.options.formId;Element.addClassName(this.form,this.options.formClassName)
this.form.onsubmit=this.onSubmit.bind(this);this.createEditField();if(this.options.textarea){var br=document.createElement("br");this.form.appendChild(br);}
if(this.options.okButton){okButton=document.createElement("input");okButton.type="submit";okButton.value=this.options.okText;okButton.className='editor_ok_button';this.form.appendChild(okButton);}
if(this.options.cancelLink){cancelLink=document.createElement("a");cancelLink.href="#";cancelLink.appendChild(document.createTextNode(this.options.cancelText));cancelLink.onclick=this.onclickCancel.bind(this);cancelLink.className='editor_cancel';this.form.appendChild(cancelLink);}},hasHTMLLineBreaks:function(string){if(!this.options.handleLineBreaks)return false;return string.match(/<br/i)||string.match(/<p>/i);},convertHTMLLineBreaks:function(string){return string.replace(/<br>/gi,"\n").replace(/<br\/>/gi,"\n").replace(/<\/p>/gi,"\n").replace(/<p>/gi,"");},createEditField:function(){var text;if(this.options.loadTextURL){text=this.options.loadingText;}else{text=this.getText();}
var obj=this;if(this.options.rows==1&&!this.hasHTMLLineBreaks(text)){this.options.textarea=false;var textField=document.createElement("input");textField.obj=this;textField.type="text";textField.name="value";textField.value=text;textField.style.backgroundColor=this.options.highlightcolor;textField.className='editor_field';var size=this.options.size||this.options.cols||0;if(size!=0)textField.size=size;if(this.options.submitOnBlur)
textField.onblur=this.onSubmit.bind(this);this.editField=textField;}else{this.options.textarea=true;var textArea=document.createElement("textarea");textArea.obj=this;textArea.name="value";textArea.value=this.convertHTMLLineBreaks(text);textArea.rows=this.options.rows;textArea.cols=this.options.cols||40;textArea.className='editor_field';if(this.options.submitOnBlur)
textArea.onblur=this.onSubmit.bind(this);this.editField=textArea;}
if(this.options.loadTextURL){this.loadExternalText();}
this.form.appendChild(this.editField);},getText:function(){return this.element.innerHTML;},loadExternalText:function(){Element.addClassName(this.form,this.options.loadingClassName);this.editField.disabled=true;new Ajax.Request(this.options.loadTextURL,Object.extend({asynchronous:true,onComplete:this.onLoadedExternalText.bind(this)},this.options.ajaxOptions));},onLoadedExternalText:function(transport){Element.removeClassName(this.form,this.options.loadingClassName);this.editField.disabled=false;this.editField.value=transport.responseText.stripTags();},onclickCancel:function(){this.onComplete();this.leaveEditMode();return false;},onFailure:function(transport){this.options.onFailure(transport);if(this.oldInnerHTML){this.element.innerHTML=this.oldInnerHTML;this.oldInnerHTML=null;}
return false;},onSubmit:function(){var form=this.form;var value=this.editField.value;this.onLoading();if(this.options.evalScripts){new Ajax.Request(this.url,Object.extend({parameters:this.options.callback(form,value),onComplete:this.onComplete.bind(this),onFailure:this.onFailure.bind(this),asynchronous:true,evalScripts:true},this.options.ajaxOptions));}else{new Ajax.Updater({success:this.element,failure:null},this.url,Object.extend({parameters:this.options.callback(form,value),onComplete:this.onComplete.bind(this),onFailure:this.onFailure.bind(this)},this.options.ajaxOptions));}
if(arguments.length>1){Event.stop(arguments[0]);}
return false;},onLoading:function(){this.saving=true;this.removeForm();this.leaveHover();this.showSaving();},showSaving:function(){this.oldInnerHTML=this.element.innerHTML;this.element.innerHTML=this.options.savingText;Element.addClassName(this.element,this.options.savingClassName);this.element.style.backgroundColor=this.originalBackground;Element.show(this.element);},removeForm:function(){if(this.form){if(this.form.parentNode)Element.remove(this.form);this.form=null;}},enterHover:function(){if(this.saving)return;this.element.style.backgroundColor=this.options.highlightcolor;if(this.effect){this.effect.cancel();}
Element.addClassName(this.element,this.options.hoverClassName)},leaveHover:function(){if(this.options.backgroundColor){this.element.style.backgroundColor=this.oldBackground;}
Element.removeClassName(this.element,this.options.hoverClassName)
if(this.saving)return;this.effect=new Effect.Highlight(this.element,{startcolor:this.options.highlightcolor,endcolor:this.options.highlightendcolor,restorecolor:this.originalBackground});},leaveEditMode:function(){Element.removeClassName(this.element,this.options.savingClassName);this.removeForm();this.leaveHover();this.element.style.backgroundColor=this.originalBackground;Element.show(this.element);if(this.options.externalControl){Element.show(this.options.externalControl);}
this.editing=false;this.saving=false;this.oldInnerHTML=null;this.onLeaveEditMode();},onComplete:function(transport){this.leaveEditMode();this.options.onComplete.bind(this)(transport,this.element);},onEnterEditMode:function(){},onLeaveEditMode:function(){},dispose:function(){if(this.oldInnerHTML){this.element.innerHTML=this.oldInnerHTML;}
this.leaveEditMode();Event.stopObserving(this.element,'click',this.onclickListener);Event.stopObserving(this.element,'mouseover',this.mouseoverListener);Event.stopObserving(this.element,'mouseout',this.mouseoutListener);if(this.options.externalControl){Event.stopObserving(this.options.externalControl,'click',this.onclickListener);Event.stopObserving(this.options.externalControl,'mouseover',this.mouseoverListener);Event.stopObserving(this.options.externalControl,'mouseout',this.mouseoutListener);}}};Ajax.InPlaceCollectionEditor=Class.create();Object.extend(Ajax.InPlaceCollectionEditor.prototype,Ajax.InPlaceEditor.prototype);Object.extend(Ajax.InPlaceCollectionEditor.prototype,{createEditField:function(){if(!this.cached_selectTag){var selectTag=document.createElement("select");var collection=this.options.collection||[];var optionTag;collection.each(function(e,i){optionTag=document.createElement("option");optionTag.value=(e instanceof Array)?e[0]:e;if(this.options.value==optionTag.value)optionTag.selected=true;optionTag.appendChild(document.createTextNode((e instanceof Array)?e[1]:e));selectTag.appendChild(optionTag);}.bind(this));this.cached_selectTag=selectTag;}
this.editField=this.cached_selectTag;if(this.options.loadTextURL)this.loadExternalText();this.form.appendChild(this.editField);this.options.callback=function(form,value){return"value="+encodeURIComponent(value);}}});Form.Element.DelayedObserver=Class.create();Form.Element.DelayedObserver.prototype={initialize:function(element,delay,callback){this.delay=delay||0.5;this.element=$(element);this.callback=callback;this.timer=null;this.lastValue=$F(this.element);Event.observe(this.element,'keyup',this.delayedListener.bindAsEventListener(this));},delayedListener:function(event){if(this.lastValue==$F(this.element))return;if(this.timer)clearTimeout(this.timer);this.timer=setTimeout(this.onTimerEvent.bind(this),this.delay*1000);this.lastValue=$F(this.element);},onTimerEvent:function(){this.timer=null;this.callback(this.element,$F(this.element));}};
var AjaxJspTag={Version:'1.2'}
AJAX_DEFAULT_PARAMETER="ajaxParameter";AJAX_PORTLET_MAX=1;AJAX_PORTLET_MIN=2;AJAX_PORTLET_CLOSE=3;AJAX_CALLOUT_OVERLIB_DEFAULT="STICKY,"
+"CLOSECLICK,"
+"DELAY,250,"
+"TIMEOUT,5000,"
+"VAUTO,WRAPMAX,240,"
+"CSSCLASS,FGCLASS,'olfg',BGCLASS,'olbg',CGCLASS,'olcg',"
+"CAPTIONFONTCLASS,'olcap',CLOSEFONTCLASS,'olclo',TEXTFONTCLASS,'oltxt'";function isAlien(a){return isObject(a)&&typeof a.constructor!='function';}
function isArray(a){return isObject(a)&&a.constructor==Array;}
function isBoolean(a){return typeof a=='boolean';}
function isEmpty(o){var i,v;if(isObject(o)){for(i in o){v=o[i];if(isUndefined(v)&&isFunction(v)){return false;}}}
return true;}
function isFunction(a){return typeof a=='function';}
function isNull(a){return typeof a=='object'&&!a;}
function isNumber(a){return typeof a=='number'&&isFinite(a);}
function isObject(a){return(a&&typeof a=='object')||isFunction(a);}
function isString(a){return typeof a=='string';}
function isUndefined(a){return typeof a=='undefined';}
function addOnLoadEvent(func){var oldonload=window.onload;if(typeof window.onload!='function'){window.onload=func;}else{window.onload=function(){oldonload();func();}}}
function extractQueryString(url){var ret=(url.indexOf('?')>=0&&url.indexOf('?')<(url.length-1))?url.substr(url.indexOf('?')+1):'';return ret;}
function trimQueryString(url){var ret=url.indexOf('?')>=0?url.substring(0,url.indexOf('?')):url;return ret;}
function delimitQueryString(qs){var ret='';if(qs.length>0){var params=qs.split('&');for(var i=0;i<params.length;i++){if(i>0)ret+=',';ret+=params[i];}}
return ret;}
function buildParameterString(parameterList){var returnString='';var params=(parameterList||'').split(',');if(params!=null){for(var p=0;p<params.length;p++){var pair=params[p].split('=');var key=pair[0];var val=pair[1];if(!isEmpty(val)||isString(val)){var varList=val.match(new RegExp("\\{[\\w\\.\\(\\)\\[\\]]*\\}",'g'));if(!isNull(varList)){var field=$(varList[0].substring(1,varList[0].length-1));switch(field.type){case'checkbox':case'radio':case'text':case'textarea':case'password':case'hidden':case'select-one':returnString+='&'+key+'='+encodeURIComponent(field.value);break;case'select-multiple':var fieldValue=$F(varList[0].substring(1,varList[0].length-1));for(var i=0;i<fieldValue.length;i++){returnString+='&'+key+'='+encodeURIComponent(fieldValue[i]);}
break;default:returnString+='&'+key+'='+encodeURIComponent(field.innerHTML);break;}}else{returnString+='&'+key+'='+encodeURIComponent(val);}}}}
if(returnString.charAt(0)=='&'){returnString=returnString.substr(1);}
return returnString;}
function getElementsByClassName(node,className){var children=node.getElementsByTagName('*');var elements=new Array();for(var i=0;i<children.length;i++){var child=children[i];var classNames=child.className.split(' ');for(var j=0;j<classNames.length;j++){if(classNames[j]==className){elements.push(child);break;}}}
return elements;}
function evalBoolean(value,defaultValue){if(!isNull(value)&&isString(value)){return("true"==value.toLowerCase()||"yes"==value.toLowerCase())?"true":"false";}else{return defaultValue==true?"true":"false";}}
function getExpDate(days,hours,minutes){var expDate=new Date();if(typeof days=="number"&&typeof hours=="number"&&typeof hours=="number"){expDate.setDate(expDate.getDate()+parseInt(days));expDate.setHours(expDate.getHours()+parseInt(hours));expDate.setMinutes(expDate.getMinutes()+parseInt(minutes));return expDate.toGMTString();}}
function getCookieVal(offset){var endstr=document.cookie.indexOf(";",offset);if(endstr==-1){endstr=document.cookie.length;}
return unescape(document.cookie.substring(offset,endstr));}
function getCookie(name){var arg=name+"=";var alen=arg.length;var clen=document.cookie.length;var i=0;while(i<clen){var j=i+alen;if(document.cookie.substring(i,j)==arg){return getCookieVal(j);}
i=document.cookie.indexOf(" ",i)+1;if(i==0)break;}
return null;}
function setCookie(name,value,expires,path,domain,secure){document.cookie=name+"="+escape(value)+
((expires)?"; expires="+expires:"")+
((path)?"; path="+path:"")+
((domain)?"; domain="+domain:"")+
((secure)?"; secure":"");}
function deleteCookie(name,path,domain){if(getCookie(name)){document.cookie=name+"="+
((path)?"; path="+path:"")+
((domain)?"; domain="+domain:"")+"; expires=Thu, 01-Jan-70 00:00:01 GMT";}}
AbstractResponseParser=function(){};ResponseTextParser=Class.create();ResponseTextParser.prototype=Object.extend(new AbstractResponseParser(),{initialize:function(){this.type="text";},load:function(request){this.content=request.responseText;this.split();},split:function(){this.itemList=new Array();var lines=this.content.split('\n');for(var i=0;i<lines.length;i++){this.itemList.push(lines[i].split(','));}}});ResponseXmlParser=Class.create();ResponseXmlParser.prototype=Object.extend(new AbstractResponseParser(),{initialize:function(){this.type="xml";},load:function(request){this.content=request.responseXML;this.parse();},parse:function(){var root=this.content.documentElement;var responseNodes=root.getElementsByTagName("response");this.itemList=new Array();if(responseNodes.length>0){var responseNode=responseNodes[0];var itemNodes=responseNode.getElementsByTagName("item");for(var i=0;i<itemNodes.length;i++){var nameNodes=itemNodes[i].getElementsByTagName("name");var valueNodes=itemNodes[i].getElementsByTagName("value");if(nameNodes.length>0&&valueNodes.length>0){var name=nameNodes[0].firstChild.nodeValue;if(valueNodes[0].firstChild==null)
{var value="";}else
{var value=valueNodes[0].firstChild.nodeValue;}
this.itemList.push(new Array(name,value));}}}}});ResponseHtmlParser=Class.create();ResponseHtmlParser.prototype=Object.extend(new AbstractResponseParser(),{initialize:function(){this.type="html";},load:function(request){this.content=request.responseText;}});ResponseXmlToHtmlParser=Class.create();ResponseXmlToHtmlParser.prototype=Object.extend(new AbstractResponseParser(),{initialize:function(){this.type="xmltohtml";},load:function(request){this.xml=request.responseXML;this.parse();},parse:function(){this.content='';var root=this.xml.documentElement;var responseNodes=root.getElementsByTagName("response");if(responseNodes.length>0){var responseNode=responseNodes[0];var itemNodes=responseNode.getElementsByTagName("item");for(var i=0;i<itemNodes.length;i++){var nameNodes=itemNodes[i].getElementsByTagName("name");var valueNodes=itemNodes[i].getElementsByTagName("value");if(nameNodes.length>0&&valueNodes.length>0){var name=nameNodes[0].firstChild.nodeValue;var value=valueNodes[0].firstChild.nodeValue;this.content+='<h1>'+name+'</h1>';this.content+='<div>'+value+'</div>';}}}}});ResponseXmlToHtmlListParser=Class.create();ResponseXmlToHtmlListParser.prototype=Object.extend(new AbstractResponseParser(),{initialize:function(){this.type="xmltohtmllist";},load:function(request){this.xml=request.responseXML;this.parse();},parse:function(){var ul='<ul>';var root=this.xml.documentElement;var responseNodes=root.getElementsByTagName("response");if(responseNodes.length>0){var responseNode=responseNodes[0];var itemNodes=responseNode.getElementsByTagName("item");for(var i=0;i<itemNodes.length;i++){var nameNodes=itemNodes[i].getElementsByTagName("name");var valueNodes=itemNodes[i].getElementsByTagName("value");if(nameNodes.length>0&&valueNodes.length>0){var name=nameNodes[0].firstChild.nodeValue;var value=valueNodes[0].firstChild.nodeValue;ul+='<li id="'+value+'">'+name+'</li>';}}}
ul+='</ul>';this.content=ul;}});AjaxJspTag.Base=function(){};AjaxJspTag.Base.prototype={resolveParameters:function(){var qs=delimitQueryString(extractQueryString(this.url));if(this.options.parameters){this.options.parameters+=','+qs;}else{this.options.parameters=qs;}
this.url=trimQueryString(this.url);if(this.options.parameters.length>0&&this.options.parameters.charAt(this.options.parameters.length-1)==','){this.options.parameters=this.options.parameters.substr(0,this.options.parameters.length-1);}}}
AjaxJspTag.UpdateField=Class.create();AjaxJspTag.UpdateField.prototype=Object.extend(new AjaxJspTag.Base(),{initialize:function(url,options){this.url=url;this.setOptions(options);this.setListeners();},setOptions:function(options){this.options=Object.extend({parameters:options.parameters||'',eventType:options.eventType?options.eventType:"click",parser:options.parser?options.parser:new ResponseTextParser(),handler:options.handler?options.handler:this.handler},options||{});},setListeners:function(){eval("$(this.options.action).on"+this.options.eventType+" = this.execute.bindAsEventListener(this)");},execute:function(e){if(this.options.preFunction!=null)this.options.preFunction();var params=buildParameterString(this.options.parameters);var targetList=this.options.target.split(',');var obj=this;var setFunc=this.setField;var aj=new Ajax.Request(this.url,{asynchronous:true,method:'get',evalScripts:true,parameters:params,onSuccess:function(request){obj.options.parser.load(request);var results=obj.options.parser.itemList;obj.options.handler(request,{targets:targetList,items:results});},onFailure:function(request){if(obj.options.errorFunction!=null)obj.options.errorFunction(request);},onComplete:function(request){if(obj.options.postFunction!=null)obj.options.postFunction(request);}});},handler:function(request,options){for(var i=0;i<options.targets.length&&i<options.items.length;i++){$(options.targets[i]).value=options.items[i][1];}}});AjaxJspTag.Select=Class.create();AjaxJspTag.Select.prototype=Object.extend(new AjaxJspTag.Base(),{initialize:function(url,options){this.url=url;this.setOptions(options);this.setListeners();if(this.options.executeOnLoad=="true"){this.execute();}},setOptions:function(options){this.options=Object.extend({parameters:options.parameters||'',eventType:options.eventType?options.eventType:"change",parser:options.parser?options.parser:new ResponseXmlParser(),handler:options.handler?options.handler:this.handler},options||{});},setListeners:function(){Event.observe($(this.options.source),this.options.eventType,this.execute.bindAsEventListener(this),false);eval("$(this.options.source).on"+this.options.eventType+" = function(){return false;};");},execute:function(e){if(this.options.preFunction!=null)this.options.preFunction();var params=buildParameterString(this.options.parameters);var obj=this;var aj=new Ajax.Request(this.url,{asynchronous:true,method:'get',evalScripts:true,parameters:params,onSuccess:function(request){obj.options.parser.load(request);var results=obj.options.parser.itemList;obj.options.handler(request,{target:obj.options.target,items:results,defaultOptions:obj.options.defaultOptions});},onFailure:function(request){if(obj.options.errorFunction!=null)obj.options.errorFunction(request);},onComplete:function(request){if(obj.options.postFunction!=null)obj.options.postFunction(request);}});},handler:function(request,options){var defaultSelectedValues=(options.defaultOptions||'').split(",");$(options.target).options.length=0;$(options.target).disabled=false;for(var i=0;i<options.items.length;i++){var newOption=new Option(options.items[i][0],options.items[i][1]);for(j=0;j<defaultSelectedValues.length&&newOption.selected==false;j++){if(defaultSelectedValues[j]==options.items[i][1]){newOption.selected=true;}}
$(options.target).options[i]=newOption;}}});AjaxJspTag.HtmlContent=Class.create();AjaxJspTag.HtmlContent.prototype=Object.extend(new AjaxJspTag.Base(),{initialize:function(url,options){this.url=url;this.setOptions(options);this.setListeners();},setOptions:function(options){this.options=Object.extend({parameterName:options.parameterName?options.parameterName:AJAX_DEFAULT_PARAMETER,parameters:options.parameters||'',eventType:options.eventType?options.eventType:"click",parser:options.parser?options.parser:new ResponseHtmlParser(),handler:options.handler?options.handler:this.handler},options||{});},setListeners:function(){if(this.options.source){eval("$(this.options.source).on"+this.options.eventType+" = this.execute.bindAsEventListener(this)");}else if(this.options.sourceClass){var elementArray=document.getElementsByClassName(this.options.sourceClass);for(var i=0;i<elementArray.length;i++){eval("elementArray[i].on"+this.options.eventType+" = this.execute.bindAsEventListener(this)");}}},execute:function(e){if(this.options.preFunction!=null)this.options.preFunction();var ajaxParameters=this.options.parameters;if(this.options.sourceClass){var re=new RegExp("(\\{"+this.options.parameterName+"\\})",'g');var elem=Event.element(e);if(elem.type){ajaxParameters=ajaxParameters.replace(re,$F(elem));}else{ajaxParameters=ajaxParameters.replace(re,elem.innerHTML);}}
var params=buildParameterString(ajaxParameters);var obj=this;var aj=new Ajax.Updater(this.options.target,this.url,{asynchronous:true,method:'get',evalScripts:true,parameters:params,onFailure:function(request){if(obj.options.errorFunction!=null)obj.options.errorFunction(request);},onComplete:function(request){if(obj.options.postFunction!=null)obj.options.postFunction(request);}});}});AjaxJspTag.TabPanel=Class.create();AjaxJspTag.TabPanel.prototype=Object.extend(new AjaxJspTag.Base(),{initialize:function(url,options){this.url=url;this.setOptions(options);this.execute();},setOptions:function(options){this.options=Object.extend({parameters:options.parameters||'',eventType:options.eventType?options.eventType:"click",parser:options.parser?options.parser:new ResponseHtmlParser(),handler:options.handler?options.handler:this.handler},options||{});},execute:function(e){if(this.options.preFunction!=null)this.options.preFunction();this.resolveParameters();var params=buildParameterString(this.options.parameters);var obj=this;var aj=new Ajax.Updater(this.options.target,this.url,{asynchronous:true,method:'get',evalScripts:true,parameters:params,onSuccess:function(request){var src;if(obj.options.source){src=obj.options.source;}else{src=document.getElementsByClassName(obj.options.currentStyleClass,$(obj.options.panelStyleId))[0];}
obj.options.handler(request,{source:src,panelStyleId:obj.options.panelStyleId,currentStyleClass:obj.options.currentStyleClass});},onFailure:function(request){if(obj.options.errorFunction!=null)obj.options.errorFunction(request);},onComplete:function(request){if(obj.options.postFunction!=null)obj.options.postFunction(request);}});},handler:function(request,options){var cur=document.getElementsByClassName(options.currentStyleClass,$(options.panelStyleId));cur[0].className='';options.source.className=options.currentStyleClass;}});AjaxJspTag.Portlet=Class.create();AjaxJspTag.Portlet.prototype=Object.extend(new AjaxJspTag.Base(),{initialize:function(url,options){this.url=url;this.setOptions(options);this.setListeners();if(this.options.executeOnLoad=="true"){this.execute();}
if(this.preserveState)this.checkCookie();},setOptions:function(options){this.options=Object.extend({parameters:options.parameters||'',target:options.source+"Content",close:options.source+"Close",refresh:options.source+"Refresh",toggle:options.source+"Size",isMaximized:true,expireDays:options.expireDays||"0",expireHours:options.expireHours||"0",expireMinutes:options.expireMinutes||"0",executeOnLoad:evalBoolean(options.executeOnLoad,true),refreshPeriod:options.refreshPeriod||null,eventType:options.eventType?options.eventType:"click",parser:options.parser?options.parser:new ResponseHtmlParser(),handler:options.handler?options.handler:this.handler},options||{});if(parseInt(this.options.expireDays)>0||parseInt(this.options.expireHours)>0||parseInt(this.options.expireMinutes)>0){this.preserveState=true;this.options.expireDate=getExpDate(parseInt(this.options.expireDays),parseInt(this.options.expireHours),parseInt(this.options.expireMinutes));}
this.isAutoRefreshSet=false;},setListeners:function(){if(this.options.imageClose){eval("$(this.options.close).on"+this.options.eventType+" = this.closePortlet.bindAsEventListener(this)");}
if(this.options.imageRefresh){eval("$(this.options.refresh).on"+this.options.eventType+" = this.refreshPortlet.bindAsEventListener(this)");}
if(this.options.imageMaximize&&this.options.imageMinimize){eval("$(this.options.toggle).on"+this.options.eventType+" = this.togglePortlet.bindAsEventListener(this)");}},execute:function(e){if(this.options.preFunction!=null)this.options.preFunction();this.resolveParameters();var params=buildParameterString(this.options.parameters);var obj=this;if(this.options.refreshPeriod&&this.isAutoRefreshSet==false){var freq=this.options.refreshPeriod;this.ajaxPeriodicalUpdater=new Ajax.PeriodicalUpdater(this.options.target,this.url,{asynchronous:true,method:'get',evalScripts:true,parameters:params,frequency:freq,onFailure:function(request){if(obj.options.errorFunction!=null)obj.options.errorFunction(request);},onComplete:function(request){},onSuccess:function(request){if(obj.options.postFunction!=null)obj.options.postFunction(request);}});this.isAutoRefreshSet=true;}else{this.ajaxUpdater=new Ajax.Updater(this.options.target,this.url,{asynchronous:true,method:'get',parameters:params,evalScripts:true,onFailure:function(request){if(obj.options.errorFunction!=null)obj.options.errorFunction(request);},onComplete:function(request){if(obj.options.postFunction!=null)obj.options.postFunction(request);}});}},checkCookie:function(){var cVal=getCookie("AjaxJspTag.Portlet."+this.options.source);if(cVal!=null){if(cVal==AJAX_PORTLET_MIN){this.togglePortlet();}else if(cVal==AJAX_PORTLET_CLOSE){this.closePortlet();}}},stopAutoRefresh:function(){if(this.ajaxPeriodicalUpdater!=null&&this.options.refreshPeriod&&this.isAutoRefreshSet==true){this.ajaxPeriodicalUpdater.stop();}},startAutoRefresh:function(){if(this.ajaxPeriodicalUpdater!=null&&this.options.refreshPeriod){this.ajaxPeriodicalUpdater.start();}},refreshPortlet:function(e){this.stopAutoRefresh();if(this.ajaxPeriodicalUpdater!=null){this.startAutoRefresh();}else{this.execute();}},closePortlet:function(e){this.stopAutoRefresh();Element.remove(this.options.source);if(this.preserveState){setCookie("AjaxJspTag.Portlet."+this.options.source,AJAX_PORTLET_CLOSE,this.options.expireDate);}},togglePortlet:function(e){Element.toggle(this.options.target);if(this.options.isMaximized){$(this.options.toggle).src=this.options.imageMaximize;this.stopAutoRefresh();}else{$(this.options.toggle).src=this.options.imageMinimize;this.startAutoRefresh();}
this.options.isMaximized=!this.options.isMaximized;if(this.preserveState){setCookie("AjaxJspTag.Portlet."+this.options.source,(this.options.isMaximized==true?AJAX_PORTLET_MAX:AJAX_PORTLET_MIN),this.options.expireDate);}}});Ajax.XmlToHtmlAutocompleter=Class.create();Object.extend(Object.extend(Ajax.XmlToHtmlAutocompleter.prototype,Autocompleter.Base.prototype),{initialize:function(element,update,url,options){this.baseInitialize(element,update,options);this.options.asynchronous=true;this.options.onComplete=this.onComplete.bind(this);this.options.defaultParams=this.options.parameters||null;this.url=url;},getUpdatedChoices:function(){entry=encodeURIComponent(this.options.paramName)+'='+
encodeURIComponent(this.getToken());this.options.parameters=this.options.callback?this.options.callback(this.element,entry):entry;var params=buildParameterString(this.options.defaultParams);if(!isEmpty(params)||(isString(params)&&params.length>0)){this.options.parameters+='&'+params;}
new Ajax.Request(this.url,this.options);},onComplete:function(request){var parser=new ResponseXmlToHtmlListParser();parser.load(request);this.updateChoices(parser.content);}});AjaxJspTag.Autocomplete=Class.create();AjaxJspTag.Autocomplete.prototype=Object.extend(new AjaxJspTag.Base(),{initialize:function(url,options){this.url=url;this.setOptions(options);$(this.options.source).setAttribute("autocomplete","off");new Insertion.After(this.options.source,'<div id="'+this.options.divElement+'" class="'+this.options.className+'"></div>');this.execute();},setOptions:function(options){this.options=Object.extend({divElement:"ajaxAuto_"+options.source,indicator:options.indicator||'',parameters:options.parameters||'',parser:options.parser?options.parser:new ResponseHtmlParser(),handler:options.handler?options.handler:this.handler},options||{});},execute:function(e){if(this.options.preFunction!=null)this.options.preFunction();var obj=this;var aj=new Ajax.XmlToHtmlAutocompleter(this.options.source,this.options.divElement,this.url,{minChars:obj.options.minimumCharacters,tokens:obj.options.appendSeparator,indicator:obj.options.indicator,parameters:obj.options.parameters,evalScripts:true,afterUpdateElement:function(inputField,selectedItem){obj.options.handler(null,{selectedItem:selectedItem,tokens:obj.options.appendSeparator,target:obj.options.target,inputField:inputField,postFunction:obj.options.postFunction});}});},handler:function(request,options){if(options.target){if(options.tokens){if($(options.target).value.length>0){$(options.target).value+=options.tokens;}
$(options.target).value+=options.selectedItem.id;}else{$(options.target).value=options.selectedItem.id;}}
if(options.postFunction!=null){var onupdateHandler=$(options.inputField).onupdate;$(options.inputField).onupdate='';options.postFunction(request);$(options.inputField).onupdate=onupdateHandler;}}});AjaxJspTag.Toggle=Class.create();AjaxJspTag.Toggle.prototype=Object.extend(new AjaxJspTag.Base(),{initialize:function(url,options){this.url=url;this.setOptions(options);if(this.options.messageClass){this.messageContainer=new Insertion.Top($(this.options.source),'<div id="'+this.options.source+'_message" class="'+this.options.messageClass+'"></div>');}
this.setListeners();},setOptions:function(options){this.options=Object.extend({parameters:options.parameters||'rating={ajaxParameter}',parser:options.parser?options.parser:new ResponseTextParser(),handler:options.handler?options.handler:this.handler},options||{});this.ratingParameter=AJAX_DEFAULT_PARAMETER;},setListeners:function(){var elements=$(this.options.source).getElementsByTagName('a');for(var j=0;j<elements.length;j++){elements[j].onmouseover=this.raterMouseOver.bindAsEventListener(this);elements[j].onmouseout=this.raterMouseOut.bindAsEventListener(this);elements[j].onclick=this.raterClick.bindAsEventListener(this);}},getCurrentRating:function(list){var selectedIndex=-1;for(var i=0;i<list.length;i++){if(Element.hasClassName(list[i],this.options.selectedClass)){selectedIndex=i;}}
return selectedIndex;},getCurrentIndex:function(list,elem){var currentIndex=0;for(var i=0;i<list.length;i++){if(elem==list[i]){currentIndex=i;}}
return currentIndex;},raterMouseOver:function(e){var container=Event.findElement(e,'div');var elements=container.getElementsByTagName('a');var selectedIndex=this.getCurrentRating(elements);var currentIndex=this.getCurrentIndex(elements,Event.element(e));if(this.options.messageClass){$(container.id+'_message').innerHTML=Event.element(e).title;}
for(var i=0;i<elements.length;i++){if(selectedIndex>-1){if(i<=selectedIndex&&i<=currentIndex)
Element.addClassName(elements[i],this.options.selectedOverClass);else if(i<=selectedIndex&&i>currentIndex)
Element.addClassName(elements[i],this.options.selectedLessClass);else if(i>selectedIndex&&i<=currentIndex)
Element.addClassName(elements[i],this.options.overClass);}else{if(i<=currentIndex)Element.addClassName(elements[i],this.options.overClass);}}},raterMouseOut:function(e){var container=Event.findElement(e,'div');var elements=container.getElementsByTagName('a');if(this.options.messageClass){$(container.id+'_message').innerHTML='';}
for(var i=0;i<elements.length;i++){Element.removeClassName(elements[i],this.options.selectedOverClass);Element.removeClassName(elements[i],this.options.selectedLessClass);Element.removeClassName(elements[i],this.options.overClass);}},raterClick:function(e){var container=Event.findElement(e,'div');var elements=container.getElementsByTagName('a');var currentIndex=this.getCurrentIndex(elements,Event.element(e));for(var i=0;i<elements.length;i++){Element.removeClassName(elements[i],this.options.selectedOverClass);Element.removeClassName(elements[i],this.options.selectedLessClass);Element.removeClassName(elements[i],this.options.overClass);if(i<=currentIndex){if(Element.hasClassName(container,'onoff')&&Element.hasClassName(elements[i],this.options.selectedClass)){Element.removeClassName(elements[i],this.options.selectedClass);}else{Element.addClassName(elements[i],this.options.selectedClass);}}else if(i>currentIndex){Element.removeClassName(elements[i],this.options.selectedClass);}}
var ratingToSend=elements[currentIndex].title;if(Element.hasClassName(container,'onoff')){var ratings=this.options.ratings.split(',');if(ratings[0]==ratingToSend)ratingToSend=ratings[1];else ratingToSend=ratings[0];}
this.execute(ratingToSend);if(this.options.state){$(this.options.state).value=ratingToSend;}},execute:function(ratingValue){if(this.options.preFunction!=null)this.options.preFunction();var ajaxParameters=this.options.parameters||'';var re=new RegExp("(\\{"+this.ratingParameter+"\\})",'g');ajaxParameters=ajaxParameters.replace(re,ratingValue);var params=buildParameterString(ajaxParameters);var obj=this;var toggleStateFunc=this.getToggleStateValue;var aj=new Ajax.Request(this.url,{asynchronous:true,method:'get',evalScripts:true,parameters:params,onSuccess:function(request){obj.options.parser.load(request);var results=obj.options.parser.itemList;obj.options.handler(request,{items:results});},onFailure:function(request){if(obj.options.errorFunction!=null)obj.options.errorFunction(request);},onComplete:function(request){if(obj.options.postFunction!=null)obj.options.postFunction(request);}});},handler:function(request,options){},getToggleStateValue:function(name,results){for(var i=0;i<results.length;i++){if(results[i][0]==name)return results[i][1];}
return"";}});AjaxJspTag.Callout=Class.create();AjaxJspTag.Callout.prototype=Object.extend(new AjaxJspTag.Base(),{initialize:function(url,options){this.url=url;this.setOptions(options);this.setListeners();},setOptions:function(options){this.options=Object.extend({parameters:options.parameters||'',overlib:options.overlib||AJAX_CALLOUT_OVERLIB_DEFAULT,parser:options.parser?options.parser:new ResponseXmlToHtmlParser(),handler:options.handler?options.handler:this.handler},options||{});this.calloutParameter=AJAX_DEFAULT_PARAMETER;},setListeners:function(){if(this.options.sourceClass){var elemList=document.getElementsByClassName(this.options.sourceClass);for(var i=0;i<elemList.length;i++){elemList[i].onmouseover=this.calloutMouseover.bindAsEventListener(this);elemList[i].onmouseout=this.calloutMouseout.bindAsEventListener(this);}}},calloutMouseover:function(e){this.execute(e);},calloutMouseout:function(e){nd();},execute:function(e){if(this.options.preFunction!=null)this.options.preFunction();var ajaxParameters=this.options.parameters||'';var re=new RegExp("(\\{"+this.calloutParameter+"\\})",'g');var elem=Event.element(e);if(elem.type){ajaxParameters=ajaxParameters.replace(re,$F(elem));}else{ajaxParameters=ajaxParameters.replace(re,elem.innerHTML);}
var params=buildParameterString(ajaxParameters);var obj=this;var aj=new Ajax.Request(this.url,{asynchronous:true,method:'get',evalScripts:true,parameters:params,onSuccess:function(request){obj.options.parser.load(request);obj.options.handler(obj.options.parser.content,{title:obj.options.title,overlib:obj.options.overlib});},onFailure:function(request){if(obj.options.errorFunction!=null)obj.options.errorFunction(request);},onComplete:function(request){if(obj.options.postFunction!=null)obj.options.postFunction(request);}});},handler:function(content,options){if(options.overlib){if(options.title){return eval("overlib(content,CAPTION,options.title,"+options.overlib+")");}else{return eval("overlib(content,"+options.overlib+")");}}else{if(options.title){return overlib(content,CAPTION,options.title);}else{return overlib(content);}}}});
function reportError(request){errorProcessDisplayHtmlError(request.responseText);}
AjaxJspTag.LoadSelect=Class.create();AjaxJspTag.LoadSelect.prototype=Object.extend(new AjaxJspTag.Base(),{initialize:function(url,options){this.url=url;this.setOptions(options);if($form(this.options.form,this.options.source).length>1){return;}
this.setListeners();if($form(this.options.form,this.options.source).getAttribute("selectValue")!=""){this.execute();}},setOptions:function(options){this.options=Object.extend({parameters:options.parameters||'',eventType:options.eventType?options.eventType:"click",parser:options.parser?options.parser:new ResponseXmlParser(),handler:options.handler?options.handler:this.handler},options||{});},setListeners:function(){var eventFun=this.execute.bindAsEventListener(this);Event.observe($form(this.options.form,this.options.source),this.options.eventType,eventFun,false);this.options.eventFun=eventFun;if($form(this.options.form,this.options.source).length<=1){eval("$form(this.options.form,this.options.source).onbeforeactivate = function(){return false;};");}},execute:function(e){if($(this.options.source).length>1){Event.stopObserving($(this.options.source),this.options.eventType,this.options.eventFun,false);return;}
$form(this.options.form,this.options.source).disabled=true;if($form(this.options.form,this.options.source).getAttribute("selectValue")!=""){eventAttachOnLoad("ajaxEffectDisplayLoadWaitLayer('"+this.options.form+"','"+this.options.source+"')");}else
{ajaxEffectDisplayLoadWaitLayer(this.options.form,this.options.source);}
var params=buildParameterString(this.options.parameters);var obj=this;var aj=new Ajax.Request(this.url,{asynchronous:true,method:'get',evalScripts:true,parameters:params,onSuccess:function(request){obj.options.parser.load(request);var results=obj.options.parser.itemList;obj.options.handler(request,{form:obj.options.form,target:obj.options.source,items:results,eventFun:obj.options.eventFun,eventType:obj.options.eventType,defaultOptions:obj.options.defaultOptions});},onFailure:function(request){if(obj.options.errorFunction!=null)obj.options.errorFunction(request);},onComplete:function(request){if(obj.options.postFunction!=null)obj.options.postFunction(request);}});},handler:function(request,options){var widgetSelect=$form(options.form,options.target);var strValue=widgetSelect.value;if(strValue=="")
{strValue=widgetSelect.getAttribute("selectValue");}
var defaultSelectedValues=(options.defaultOptions||'').split(",");widgetSelect.options.length=0;widgetSelect.disabled=false;for(var i=0;i<options.items.length;i++){var newOption=new Option(options.items[i][0],options.items[i][1]);widgetSelect.options[i]=newOption;}
widgetSelectAutoChangeNormalBorderSize(options.form,options.target);if(strValue!="")
{var bSelect=widgetSelectAssignSelectValue(options.form,options.target,strValue);}
if(widgetSelect.getAttribute("selectReadOnly")!="true")
{eval("$form(options.form,options.target).onbeforeactivate = function(){};");}
Event.stopObserving(widgetSelect,options.eventType,options.eventFun,false);ajaxEffectHiddenLoadWaitLayer(options.form,options.target);}});AjaxJspTag.AtOnceLoadSelect=Class.create();AjaxJspTag.AtOnceLoadSelect.prototype=Object.extend(new AjaxJspTag.Base(),{initialize:function(url,options){this.url=url;this.setOptions(options);this.execute();},setOptions:function(options){this.options=Object.extend({parameters:options.parameters||'',eventType:options.eventType?options.eventType:"click",parser:options.parser?options.parser:new ResponseXmlParser(),handler:options.handler?options.handler:this.handler},options||{});},execute:function(e){$form(this.options.form,this.options.source).disabled=true;if(this.options.eventFrom=="init"){eventAttachOnLoad("ajaxEffectDisplayLoadWaitLayer('"+this.options.form+"','"+this.options.source+"')");}else
{ajaxEffectDisplayLoadWaitLayer(this.options.form,this.options.source);}
var params=buildParameterString(this.options.parameters);var obj=this;var aj=new Ajax.Request(this.url,{asynchronous:true,method:'get',evalScripts:true,parameters:params,onSuccess:function(request){obj.options.parser.load(request);var results=obj.options.parser.itemList;obj.options.handler(request,{form:obj.options.form,target:obj.options.source,eventFrom:obj.options.eventFrom,items:results,eventFun:obj.options.eventFun,eventType:obj.options.eventType,defaultOptions:obj.options.defaultOptions});},onFailure:function(request){if(obj.options.errorFunction!=null)obj.options.errorFunction(request);},onComplete:function(request){}});},handler:function(request,options){var widgetSelect=$form(options.form,options.target);var strValue=widgetSelect.value;if(options.eventFrom=="init")
{strValue=widgetSelect.getAttribute("selectValue");}
var defaultSelectedValues=(options.defaultOptions||'').split(",");widgetSelect.options.length=0;widgetSelect.disabled=false;for(var i=0;i<options.items.length;i++){var newOption=new Option(options.items[i][0],options.items[i][1]);widgetSelect.options[i]=newOption;}
widgetSelectAutoChangeNormalBorderSize(options.form,options.target);if(strValue!="")
{var bSelect=widgetSelectAssignSelectValue(options.form,options.target,strValue);}
ajaxEffectHiddenLoadWaitLayer(options.form,options.target);}});AjaxJspTag.ActiveSelect=Class.create();AjaxJspTag.ActiveSelect.prototype=Object.extend(new AjaxJspTag.Base(),{initialize:function(url,options){this.url=url;this.setOptions(options);this.execute();},setOptions:function(options){this.options=Object.extend({parameters:options.parameters||'',eventType:options.eventType?options.eventType:"change",parser:options.parser?options.parser:new ResponseXmlParser(),handler:options.handler?options.handler:this.handler},options||{});},execute:function(e){$form(this.options.form,this.options.source).disabled=true;if(this.options.eventFrom=="init"){eventAttachOnLoad("ajaxEffectDisplayLoadWaitLayer('"+this.options.form+"','"+this.options.source+"')");}else
{ajaxEffectDisplayLoadWaitLayer(this.options.form,this.options.source);}
var params=buildParameterString(this.options.parameters);var obj=this;var aj=new Ajax.Request(this.url,{asynchronous:true,method:'get',evalScripts:true,parameters:params,onSuccess:function(request){obj.options.parser.load(request);var results=obj.options.parser.itemList;obj.options.handler(request,{form:obj.options.form,target:obj.options.source,eventFrom:obj.options.eventFrom,items:results,eventFun:obj.options.eventFun,eventType:obj.options.eventType,defaultOptions:obj.options.defaultOptions});},onFailure:function(request){if(obj.options.errorFunction!=null)obj.options.errorFunction(request);}});},handler:function(request,options){var widgetSelect=$form(options.form,options.target);var strValue=widgetSelect.value;if(options.eventFrom=="init")
{strValue=widgetSelect.getAttribute("selectValue");}
var defaultSelectedValues=(options.defaultOptions||'').split(",");widgetSelect.options.length=0;widgetSelect.disabled=false;for(var i=0;i<options.items.length;i++){var newOption=new Option(options.items[i][0],options.items[i][1]);widgetSelect.options[i]=newOption;}
widgetSelectAutoChangeNormalBorderSize(options.form,options.target);if(strValue!="")
{var bSelect=widgetSelectAssignSelectValue(options.form,options.target,strValue);}
ajaxEffectHiddenLoadWaitLayer(options.form,options.target);}});AjaxJspTag.ActiveSelectControl=Class.create();AjaxJspTag.ActiveSelectControl.prototype=Object.extend(new AjaxJspTag.Base(),{initialize:function(options){this.setOptions(options);this.setListeners();if($form(this.options.form,this.options.source).getAttribute("selectValue")!=""){this.executeInit();}},setOptions:function(options){this.options=Object.extend({eventType:options.eventType?options.eventType:"change"},options||{});},setListeners:function(){var eventFun=this.execute.bindAsEventListener(this);Event.observe($form(this.options.form,this.options.source),this.options.eventType,eventFun,false);this.options.eventFun=eventFun;var eventFunClick=this.executeClick.bindAsEventListener(this);Event.observe($form(this.options.form,this.options.source),"click",eventFunClick,false);this.options.eventFunClick=eventFunClick;if($form(this.options.form,this.options.source).length<=1){eval("$form(this.options.form,this.options.source).onbeforeactivate = function(){return false;};");}},executeInit:function(e){if(this.options.parent!=""&&$form(this.options.form,this.options.parent).getAttribute("selectValue")!="")
{new AjaxJspTag.ActiveSelect(this.options.activeChildSelect,{parameters:"codeName="+this.options.sourceCodeName+",parentCode="+$form(this.options.form,this.options.parent).getAttribute("selectValue")+",parentCodeName="+this.options.parentCodeName+this.options.parameters,form:this.options.form,source:this.options.source,eventFrom:"init",parser:new ResponseXmlParser(),errorFunction:reportError});}else
{new AjaxJspTag.AtOnceLoadSelect(this.options.atOnceLoadSelect,{parameters:"codeName="+this.options.sourceCodeName+this.options.parameters,form:this.options.form,source:this.options.source,eventFrom:"init",parser:new ResponseXmlParser(),errorFunction:reportError});}
Event.stopObserving($form(this.options.form,this.options.source),"click",this.options.eventFunClick,false);if($form(this.options.form,this.options.source).getAttribute("selectReadOnly")!="true")
{eval("$form(this.options.form,this.options.source).onbeforeactivate = function(){};");}},executeClick:function(e){if(this.options.parent==""&&this.options.child!="")
{if($form(this.options.form,this.options.child).value=="")
{new AjaxJspTag.AtOnceLoadSelect(this.options.atOnceLoadSelect,{parameters:"codeName="+this.options.sourceCodeName+this.options.parameters,form:this.options.form,source:this.options.source,eventFrom:"click",parser:new ResponseXmlParser(),errorFunction:reportError});}else
{new AjaxJspTag.ActiveSelect(this.options.activeParentSelect,{parameters:"codeName="+this.options.sourceCodeName+",childCode="+$form(this.options.form,this.options.child).value+",childCodeName="+this.options.childCodeName+this.options.parameters,form:this.options.form,source:this.options.source,eventFrom:"",parser:new ResponseXmlParser(),errorFunction:reportError});}}
if(this.options.parent!=""&&this.options.child!="")
{if($form(this.options.form,this.options.parent).value=="")
{alert("请先选择<"+$form(this.options.form,this.options.parent).getAttribute("selectNameCN")+">");return;}else
{if($form(this.options.form,this.options.source).getAttribute("isSelectActive")==null)
{new AjaxJspTag.ActiveSelect(this.options.activeChildSelect,{parameters:"codeName="+this.options.sourceCodeName+",parentCode="+$form(this.options.form,this.options.parent).value+",parentCodeName="+this.options.parentCodeName+this.options.parameters,form:this.options.form,source:this.options.source,eventFrom:"",parser:new ResponseXmlParser(),errorFunction:reportError});};}}
if(this.options.parent!=""&&this.options.child=="")
{if($form(this.options.form,this.options.parent).value=="")
{alert("请先选择<"+$form(this.options.form,this.options.parent).getAttribute("selectNameCN")+">");return;}else
{if($form(this.options.form,this.options.source).getAttribute("isSelectActive")==null)
{new AjaxJspTag.ActiveSelect(this.options.activeChildSelect,{parameters:"codeName="+this.options.sourceCodeName+",parentCode="+$form(this.options.form,this.options.parent).value+",parentCodeName="+this.options.parentCodeName+this.options.parameters,form:this.options.form,source:this.options.source,eventFrom:"",parser:new ResponseXmlParser(),errorFunction:reportError});}}}
Event.stopObserving($form(this.options.form,this.options.source),"click",this.options.eventFunClick,false);if($form(this.options.form,this.options.source).getAttribute("selectReadOnly")!="true")
{eval("$form(this.options.form,this.options.source).onbeforeactivate = function(){};");}},execute:function(e){if(this.options.parent==""&&this.options.child!="")
{if($form(this.options.form,this.options.source).value=="")
{new AjaxJspTag.AtOnceLoadSelect(this.options.atOnceLoadSelect,{parameters:"codeName="+this.options.sourceCodeName+this.options.parameters,form:this.options.form,source:this.options.source,eventFrom:"change",parser:new ResponseXmlParser(),errorFunction:reportError});}else
{if($form(this.options.form,this.options.child).getAttribute("selectReadOnly")!="true")
{new AjaxJspTag.ActiveSelect(this.options.activeChildSelect,{parameters:"codeName="+this.options.childCodeName+",parentCode="+$form(this.options.form,this.options.source).value+",parentCodeName="+this.options.sourceCodeName+this.options.parameters,form:this.options.form,source:this.options.child,eventFrom:"",parser:new ResponseXmlParser(),errorFunction:reportError});eval("$form(this.options.form,this.options.child).onbeforeactivate = function(){};");$form(this.options.form,this.options.child).setAttribute("isSelectActive","true");}}}
if(this.options.parent!=""&&this.options.child!="")
{if($form(this.options.form,this.options.source).value=="")
{if($form(this.options.form,this.options.parent).value!="")
{new AjaxJspTag.ActiveSelect(this.options.activeChildSelect,{parameters:"codeName="+this.options.sourceCodeName+",parentCode="+$form(this.options.form,this.options.parent).value+",parentCodeName="+this.options.parentCodeName+this.options.parameters,form:this.options.form,source:this.options.source,eventFrom:"",parser:new ResponseXmlParser(),errorFunction:reportError});}}else
{if($form(this.options.form,this.options.child).getAttribute("selectReadOnly")!="true")
{new AjaxJspTag.ActiveSelect(this.options.activeChildSelect,{parameters:"codeName="+this.options.childCodeName+",parentCode="+$form(this.options.form,this.options.source).value+",parentCodeName="+this.options.sourceCodeName+this.options.parameters,form:this.options.form,source:this.options.child,eventFrom:"",parser:new ResponseXmlParser(),errorFunction:reportError});eval("$form(this.options.form,this.options.child).onbeforeactivate = function(){};");$form(this.options.form,this.options.child).setAttribute("isSelectActive","true");}
if($form(this.options.form,this.options.parent).getAttribute("selectReadOnly")!="true")
{new AjaxJspTag.ActiveSelect(this.options.activeParentSelect,{parameters:"codeName="+this.options.parentCodeName+",childCode="+$form(this.options.form,this.options.source).value+",childCodeName="+this.options.sourceCodeName+this.options.parameters,form:this.options.form,source:this.options.parent,eventFrom:"",parser:new ResponseXmlParser(),errorFunction:reportError});eval("$form(this.options.form,this.options.parent).onbeforeactivate = function(){};");}}}
if(this.options.parent!=""&&this.options.child=="")
{if($form(this.options.form,this.options.source).value=="")
{if($form(this.options.form,this.options.parent).value!="")
{new AjaxJspTag.ActiveSelect(this.options.activeChildSelect,{parameters:"codeName="+this.options.sourceCodeName+",parentCode="+$form(this.options.form,this.options.parent).value+",parentCodeName="+this.options.parentCodeName+this.options.parameters,form:this.options.form,source:this.options.source,eventFrom:"",parser:new ResponseXmlParser(),errorFunction:reportError});}}else
{if($form(this.options.form,this.options.parent).getAttribute("selectReadOnly")!="true")
{new AjaxJspTag.ActiveSelect(this.options.activeParentSelect,{parameters:"codeName="+this.options.parentCodeName+",childCode="+$form(this.options.form,this.options.source).value+",childCodeName="+this.options.sourceCodeName+this.options.parameters,form:this.options.form,source:this.options.parent,eventFrom:"",parser:new ResponseXmlParser(),errorFunction:reportError});eval("$form(this.options.form,this.options.parent).onbeforeactivate = function(){};");}}}}});AjaxJspTag.LoadTree=Class.create();AjaxJspTag.LoadTree.prototype=Object.extend(new AjaxJspTag.Base(),{initialize:function(url,options){this.url=url;this.setOptions(options);this.execute();},setOptions:function(options){this.options=Object.extend({parameters:options.parameters||'',eventType:options.eventType?options.eventType:"click",parser:options.parser?options.parser:new ResponseXmlParser(),handler:options.handler?options.handler:this.handler},options||{});},execute:function(e){ajaxEffectDisplayLoadWaitLayer("",this.options.source);var params=buildParameterString(this.options.parameters);var obj=this;var aj=new Ajax.Request(this.url,{asynchronous:true,method:'get',evalScripts:true,parameters:params,onSuccess:function(request){obj.options.parser.load(request);var results=obj.options.parser.itemList;obj.options.handler(request,{target:obj.options.source,items:results,eventFun:obj.options.eventFun,eventType:obj.options.eventType,defaultOptions:obj.options.defaultOptions});},onFailure:function(request){if(obj.options.errorFunction!=null)obj.options.errorFunction(request);},onComplete:function(request){if(obj.options.postFunction!=null)obj.options.postFunction(request);}});},handler:function(request,options){var strTreeURL;var strChildCode;var strCodeName;var strNodePage;var strNodeAble;var dtoNodeChecked=new cn.com.bestsoft.dto.DTO();for(var i=0;i<options.items.length;i++){if(options.items[i][0]=="treeURL")
{strTreeURL=options.items[i][1];continue;}
if(options.items[i][0]=="childCode")
{strChildCode=options.items[i][1];continue;}
if(options.items[i][0]=="codeName")
{strCodeName=options.items[i][1];continue;}
if(options.items[i][0]=="nodePage")
{strNodePage=options.items[i][1];continue;}
if(options.items[i][0]=="nodeAble")
{strNodeAble=options.items[i][1];continue;}
if(options.items[i][0]=="checked")
{dtoNodeChecked.put(options.items[i][1],"checked");continue;}}
var aNodeContent=new Array();for(var i=0;i<options.items.length;i++){if(options.items[i][0]=="treeURL")
{continue;}
if(options.items[i][0]=="childCode")
{continue;}
if(options.items[i][0]=="codeName")
{continue;}
if(options.items[i][0]=="nodePage")
{continue;}
if(options.items[i][0]=="nodeAble")
{continue;}
if(options.items[i][0]=="checked")
{continue;}
aNodeContent.push(new Array(options.items[i][0],options.items[i][1],"new AjaxJspTag.LoadTree('"+strTreeURL+"',{parameters: 'codeName="+strChildCode+",parentCode="+options.items[i][1]+",parentCodeName="+strCodeName+"',source:'"+options.items[i][1]+"',parser: new ResponseXmlParser(),errorFunction: reportError});",strNodePage,strNodeAble));}
if(aNodeContent.length==0)
{treeEffectChangeToPageNode(options.target);}else
{treeEffectCreateNodeContent(options.target,aNodeContent,dtoNodeChecked);if($(options.target+"_jointImage")!=null)
{$(options.target+"_jointImage").onclick=function(){treeEffectAssignJointEffect(options.target);};}}
ajaxEffectHiddenLoadWaitLayer("",options.target);}});
function validateCreditCard(form){var bValid=true;var focusField=null;var i=0;var fields=new Array();var formName=form.getAttributeNode("name");oCreditCard=eval('new '+formName.value+'_creditCard()');for(x in oCreditCard){if((form[oCreditCard[x][0]].type=='text'||form[oCreditCard[x][0]].type=='textarea')&&(form[oCreditCard[x][0]].value.length>0)&&form[oCreditCard[x][0]].disabled==false){if(!luhnCheck(form[oCreditCard[x][0]].value)){if(i==0){focusField=form[oCreditCard[x][0]];}
fields[i++]=oCreditCard[x][1];bValid=false;}}}
if(fields.length>0){focusField.focus();alert(fields.join('\n'));}
return bValid;}
function luhnCheck(cardNumber){if(isLuhnNum(cardNumber)){var no_digit=cardNumber.length;var oddoeven=no_digit&1;var sum=0;for(var count=0;count<no_digit;count++){var digit=parseInt(cardNumber.charAt(count));if(!((count&1)^oddoeven)){digit*=2;if(digit>9)digit-=9;};sum+=digit;};if(sum==0)return false;if(sum%10==0)return true;};return false;}
function isLuhnNum(argvalue){argvalue=argvalue.toString();if(argvalue.length==0){return false;}
for(var n=0;n<argvalue.length;n++){if((argvalue.substring(n,n+1)<"0")||(argvalue.substring(n,n+1)>"9")){return false;}}
return true;}
function validateDate(form){var bValid=true;var focusField=null;var i=0;var fields=new Array();var formName=form.getAttributeNode("name");oDate=eval('new '+formName.value+'_DateValidations()');for(x in oDate){var field=form[oDate[x][0]];var value=field.value;var datePattern=oDate[x][2]("datePatternStrict");if(datePattern==null)
datePattern=oDate[x][2]("datePattern");if((field.type=='hidden'||field.type=='text'||field.type=='textarea')&&(value.length>0)&&(datePattern.length>0)&&field.disabled==false){var MONTH="MM";var DAY="dd";var YEAR="yyyy";var orderMonth=datePattern.indexOf(MONTH);var orderDay=datePattern.indexOf(DAY);var orderYear=datePattern.indexOf(YEAR);if((orderDay<orderYear&&orderDay>orderMonth)){var iDelim1=orderMonth+MONTH.length;var iDelim2=orderDay+DAY.length;var delim1=datePattern.substring(iDelim1,iDelim1+1);var delim2=datePattern.substring(iDelim2,iDelim2+1);if(iDelim1==orderDay&&iDelim2==orderYear){dateRegexp=new RegExp("^(\\d{2})(\\d{2})(\\d{4})$");}else if(iDelim1==orderDay){dateRegexp=new RegExp("^(\\d{2})(\\d{2})["+delim2+"](\\d{4})$");}else if(iDelim2==orderYear){dateRegexp=new RegExp("^(\\d{2})["+delim1+"](\\d{2})(\\d{4})$");}else{dateRegexp=new RegExp("^(\\d{2})["+delim1+"](\\d{2})["+delim2+"](\\d{4})$");}
var matched=dateRegexp.exec(value);if(matched!=null){if(!isValidDate(matched[2],matched[1],matched[3])){if(i==0){focusField=field;}
fields[i++]=oDate[x][1];bValid=false;}}else{if(i==0){focusField=field;}
fields[i++]=oDate[x][1];bValid=false;}}else if((orderMonth<orderYear&&orderMonth>orderDay)){var iDelim1=orderDay+DAY.length;var iDelim2=orderMonth+MONTH.length;var delim1=datePattern.substring(iDelim1,iDelim1+1);var delim2=datePattern.substring(iDelim2,iDelim2+1);if(iDelim1==orderMonth&&iDelim2==orderYear){dateRegexp=new RegExp("^(\\d{2})(\\d{2})(\\d{4})$");}else if(iDelim1==orderMonth){dateRegexp=new RegExp("^(\\d{2})(\\d{2})["+delim2+"](\\d{4})$");}else if(iDelim2==orderYear){dateRegexp=new RegExp("^(\\d{2})["+delim1+"](\\d{2})(\\d{4})$");}else{dateRegexp=new RegExp("^(\\d{2})["+delim1+"](\\d{2})["+delim2+"](\\d{4})$");}
var matched=dateRegexp.exec(value);if(matched!=null){if(!isValidDate(matched[1],matched[2],matched[3])){if(i==0){focusField=field;}
fields[i++]=oDate[x][1];bValid=false;}}else{if(i==0){focusField=field;}
fields[i++]=oDate[x][1];bValid=false;}}else if((orderMonth>orderYear&&orderMonth<orderDay)){var iDelim1=orderYear+YEAR.length;var iDelim2=orderMonth+MONTH.length;var delim1=datePattern.substring(iDelim1,iDelim1+1);var delim2=datePattern.substring(iDelim2,iDelim2+1);if(iDelim1==orderMonth&&iDelim2==orderDay){dateRegexp=new RegExp("^(\\d{4})(\\d{2})(\\d{2})$");}else if(iDelim1==orderMonth){dateRegexp=new RegExp("^(\\d{4})(\\d{2})["+delim2+"](\\d{2})$");}else if(iDelim2==orderDay){dateRegexp=new RegExp("^(\\d{4})["+delim1+"](\\d{2})(\\d{2})$");}else{dateRegexp=new RegExp("^(\\d{4})["+delim1+"](\\d{2})["+delim2+"](\\d{2})$");}
var matched=dateRegexp.exec(value);if(matched!=null){if(!isValidDate(matched[3],matched[2],matched[1])){if(i==0){focusField=field;}
fields[i++]=oDate[x][1];bValid=false;}}else{if(i==0){focusField=field;}
fields[i++]=oDate[x][1];bValid=false;}}else{if(i==0){focusField=field;}
fields[i++]=oDate[x][1];bValid=false;}}}
if(fields.length>0){focusField.focus();alert(fields.join('\n'));}
return bValid;}
function isValidDate(day,month,year){if(month<1||month>12){return false;}
if(day<1||day>31){return false;}
if((month==4||month==6||month==9||month==11)&&(day==31)){return false;}
if(month==2){var leap=(year%4==0&&(year%100!=0||year%400==0));if(day>29||(day==29&&!leap)){return false;}}
return true;}
function validateFloatRange(form){var isValid=true;var focusField=null;var i=0;var fields=new Array();var formName=form.getAttributeNode("name");oRange=eval('new '+formName.value+'_floatRange()');for(x in oRange){var field=form[oRange[x][0]];if((field.type=='hidden'||field.type=='text'||field.type=='textarea')&&(field.value.length>0)&&field.disabled==false){var fMin=parseFloat(oRange[x][2]("min"));var fMax=parseFloat(oRange[x][2]("max"));var fValue=parseFloat(field.value);if(!(fValue>=fMin&&fValue<=fMax)){if(i==0){focusField=field;}
fields[i++]=oRange[x][1];isValid=false;}}}
if(fields.length>0){focusField.focus();alert(fields.join('\n'));}
return isValid;}
function validateEmail(form){var bValid=true;var focusField=null;var i=0;var fields=new Array();var formName=form.getAttributeNode("name");oEmail=eval('new '+formName.value+'_email()');for(x in oEmail){var field=form[oEmail[x][0]];if((field.type=='hidden'||field.type=='text'||field.type=='textarea')&&(field.value.length>0)&&field.disabled==false){if(!checkEmail(field.value)){if(i==0){focusField=field;}
fields[i++]=oEmail[x][1];bValid=false;}}}
if(fields.length>0){focusField.focus();alert(fields.join('\n'));}
return bValid;}
function checkEmail(emailStr){if(emailStr.length==0){return true;}
var emailPat=/^(.+)@(.+)$/;var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";var validChars="\[^\\s"+specialChars+"\]";var quotedUser="(\"[^\"]*\")";var ipDomainPat=/^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.](\d{1,3})$/;var atom=validChars+'+';var word="("+atom+"|"+quotedUser+")";var userPat=new RegExp("^"+word+"(\\."+word+")*$");var domainPat=new RegExp("^"+atom+"(\\."+atom+")*$");var matchArray=emailStr.match(emailPat);if(matchArray==null){return false;}
var user=matchArray[1];var domain=matchArray[2];if(user.match(userPat)==null){return false;}
var IPArray=domain.match(ipDomainPat);if(IPArray!=null){for(var i=1;i<=4;i++){if(IPArray[i]>255){return false;}}
return true;}
var domainArray=domain.match(domainPat);if(domainArray==null){return false;}
var atomPat=new RegExp(atom,"g");var domArr=domain.match(atomPat);var len=domArr.length;if((domArr[domArr.length-1].length<2)||(domArr[domArr.length-1].length>3)){return false;}
if(len<2){return false;}
return true;}
function validateFloat(form){var bValid=true;var focusField=null;var i=0;var fields=new Array();var formName=form.getAttributeNode("name");oFloat=eval('new '+formName.value+'_FloatValidations()');for(x in oFloat){var field=form[oFloat[x][0]];if((field.type=='hidden'||field.type=='text'||field.type=='textarea'||field.type=='select-one'||field.type=='radio')&&field.disabled==false){var value='';if(field.type=="select-one"){var si=field.selectedIndex;if(si>=0){value=field.options[si].value;}}else{value=field.value;}
if(value.length>0){var tempArray=value.split('.');var zeroIndex=0;var joinedString=tempArray.join('');while(joinedString.charAt(zeroIndex)=='0'){zeroIndex++;}
var noZeroString=joinedString.substring(zeroIndex,joinedString.length);if(!isAllDigits(noZeroString)){bValid=false;if(i==0){focusField=field;}
fields[i++]=oFloat[x][1];}else{var iValue=parseFloat(value);if(isNaN(iValue)){if(i==0){focusField=field;}
fields[i++]=oFloat[x][1];bValid=false;}}}}}
if(fields.length>0){focusField.focus();alert(fields.join('\n'));}
return bValid;}
function validateByte(form){var bValid=true;var focusField=null;var i=0;var fields=new Array();var formName=form.getAttributeNode("name");oByte=eval('new '+formName.value+'_ByteValidations()');for(x in oByte){var field=form[oByte[x][0]];if((field.type=='hidden'||field.type=='text'||field.type=='textarea'||field.type=='select-one'||field.type=='radio')&&field.disabled==false){var value='';if(field.type=="select-one"){var si=field.selectedIndex;if(si>=0){value=field.options[si].value;}}else{value=field.value;}
if(value.length>0){if(!isAllDigits(value)){bValid=false;if(i==0){focusField=field;}
fields[i++]=oByte[x][1];}else{var iValue=parseInt(value);if(isNaN(iValue)||!(iValue>=-128&&iValue<=127)){if(i==0){focusField=field;}
fields[i++]=oByte[x][1];bValid=false;}}}}}
if(fields.length>0){focusField.focus();alert(fields.join('\n'));}
return bValid;}
function validateInteger(form){var bValid=true;var focusField=null;var i=0;var fields=new Array();var formName=form.getAttributeNode("name");oInteger=eval('new '+formName.value+'_IntegerValidations()');for(x in oInteger){var field=form[oInteger[x][0]];if((field.type=='hidden'||field.type=='text'||field.type=='textarea'||field.type=='select-one'||field.type=='radio')&&field.disabled==false){var value='';if(field.type=="select-one"){var si=field.selectedIndex;if(si>=0){value=field.options[si].value;}}else{value=field.value;}
if(value.length>0){if(!isAllDigits(value)){bValid=false;if(i==0){focusField=field;}
fields[i++]=oInteger[x][1];}else{var iValue=parseInt(value);if(isNaN(iValue)||!(iValue>=-2147483648&&iValue<=2147483647)){if(i==0){focusField=field;}
fields[i++]=oInteger[x][1];bValid=false;}}}}}
if(fields.length>0){focusField.focus();alert(fields.join('\n'));}
return bValid;}
function isAllDigits(argvalue){argvalue=argvalue.toString();var validChars="0123456789";var startFrom=0;if(argvalue.substring(0,2)=="0x"){validChars="0123456789abcdefABCDEF";startFrom=2;}else if(argvalue.charAt(0)=="0"){validChars="01234567";startFrom=1;}else if(argvalue.charAt(0)=="-"){startFrom=1;}
for(var n=startFrom;n<argvalue.length;n++){if(validChars.indexOf(argvalue.substring(n,n+1))==-1)return false;}
return true;}
function validateIntRange(form){var isValid=true;var focusField=null;var i=0;var fields=new Array();var formName=form.getAttributeNode("name");oRange=eval('new '+formName.value+'_intRange()');for(x in oRange){var field=form[oRange[x][0]];if(field.disabled==false){var value='';if(field.type=='hidden'||field.type=='text'||field.type=='textarea'||field.type=='radio'){value=field.value;}
if(field.type=='select-one'){var si=field.selectedIndex;if(si>=0){value=field.options[si].value;}}
if(value.length>0){var iMin=parseInt(oRange[x][2]("min"));var iMax=parseInt(oRange[x][2]("max"));var iValue=parseInt(value);if(!(iValue>=iMin&&iValue<=iMax)){if(i==0){focusField=field;}
fields[i++]=oRange[x][1];isValid=false;}}}}
if(fields.length>0){focusField.focus();alert(fields.join('\n'));}
return isValid;}
function validateMask(form){var isValid=true;var focusField=null;var i=0;var fields=new Array();var formName=form.getAttributeNode("name");oMasked=eval('new '+formName.value+'_mask()');for(x in oMasked){var field=form[oMasked[x][0]];if((field.type=='hidden'||field.type=='text'||field.type=='textarea'||field.type=='file')&&(field.value.length>0)&&field.disabled==false){if(!matchPattern(field.value,oMasked[x][2]("mask"))){if(i==0){focusField=field;}
fields[i++]=oMasked[x][1];isValid=false;}}}
if(fields.length>0){focusField.focus();alert(fields.join('\n'));}
return isValid;}
function matchPattern(value,mask){return mask.exec(value);}
function validateMaxLength(form){var isValid=true;var focusField=null;var i=0;var fields=new Array();var formName=form.getAttributeNode("name");oMaxLength=eval('new '+formName.value+'_maxlength()');for(x in oMaxLength){var field=form[oMaxLength[x][0]];if((field.type=='hidden'||field.type=='text'||field.type=='password'||field.type=='textarea')&&field.disabled==false){var iMax=parseInt(oMaxLength[x][2]("maxlength"));if(field.value.length>iMax){if(i==0){focusField=field;}
fields[i++]=oMaxLength[x][1];isValid=false;}}}
if(fields.length>0){focusField.focus();alert(fields.join('\n'));}
return isValid;}
function validateMinLength(form){var isValid=true;var focusField=null;var i=0;var fields=new Array();var formName=form.getAttributeNode("name");oMinLength=eval('new '+formName.value+'_minlength()');for(x in oMinLength){var field=form[oMinLength[x][0]];if((field.type=='hidden'||field.type=='text'||field.type=='password'||field.type=='textarea')&&field.disabled==false){var iMin=parseInt(oMinLength[x][2]("minlength"));if((trim(field.value).length>0)&&(field.value.length<iMin)){if(i==0){focusField=field;}
fields[i++]=oMinLength[x][1];isValid=false;}}}
if(fields.length>0){focusField.focus();alert(fields.join('\n'));}
return isValid;}
function validateRequired(form){var isValid=true;var focusField=null;var i=0;var fields=new Array();var formName=form.getAttributeNode("name");oRequired=eval('new '+formName.value+'_required()');for(x in oRequired){var field=form[oRequired[x][0]];if((field.type=='hidden'||field.type=='text'||field.type=='textarea'||field.type=='file'||field.type=='checkbox'||field.type=='select-one'||field.type=='password')&&field.disabled==false){var value='';if(field.type=="select-one"){var si=field.selectedIndex;if(si>=0){value=field.options[si].value;}}else if(field.type=='checkbox'){if(field.checked){value=field.value;}}else{value=field.value;}
if(trim(value).length==0){if(i==0){focusField=field;}
fields[i++]=oRequired[x][1];isValid=false;}}else if(field.type=="select-multiple"){var numOptions=field.options.length;lastSelected=-1;for(loop=numOptions-1;loop>=0;loop--){if(field.options[loop].selected){lastSelected=loop;value=field.options[loop].value;break;}}
if(lastSelected<0||trim(value).length==0){if(i==0){focusField=field;}
fields[i++]=oRequired[x][1];isValid=false;}}else if((field.length>0)&&(field[0].type=='radio'||field[0].type=='checkbox')){isChecked=-1;for(loop=0;loop<field.length;loop++){if(field[loop].checked){isChecked=loop;break;}}
if(isChecked<0){if(i==0){focusField=field[0];}
fields[i++]=oRequired[x][1];isValid=false;}}}
if(fields.length>0){focusField.focus();alert(fields.join('\n'));}
return isValid;}
function trim(s){return s.replace(/^\s*/,"").replace(/\s*$/,"");}
function validateShort(form){var bValid=true;var focusField=null;var i=0;var fields=new Array();var formName=form.getAttributeNode("name");oShort=eval('new '+formName.value+'_ShortValidations()');for(x in oShort){var field=form[oShort[x][0]];if((field.type=='hidden'||field.type=='text'||field.type=='textarea'||field.type=='select-one'||field.type=='radio')&&field.disabled==false){var value='';if(field.type=="select-one"){var si=field.selectedIndex;if(si>=0){value=field.options[si].value;}}else{value=field.value;}
if(value.length>0){if(!isAllDigits(value)){bValid=false;if(i==0){focusField=field;}
fields[i++]=oShort[x][1];}else{var iValue=parseInt(value);if(isNaN(iValue)||!(iValue>=-32768&&iValue<=32767)){if(i==0){focusField=field;}
fields[i++]=oShort[x][1];bValid=false;}}}}}
if(fields.length>0){focusField.focus();alert(fields.join('\n'));}
return bValid;}
function showHiddenWidget(widgetSign,widgetOne,contextPath,titleString)
{if(widgetOne.style.display=="none")
{widgetOne.style.display="";widgetSign.innerHTML="<img align='absmiddle' src='"+contextPath+"/minimize.gif' width='16' height='14' title='隐藏"+titleString+"'>";}
else
{widgetOne.style.display="none";widgetSign.innerHTML="<img align='absmiddle' src='"+contextPath+"/maxmize.gif' width='16' height='14' title='显示"+titleString+"'>";}
try{if(parent.document.all.iframe!=null)
{widgetIframeControlDialogAutoAdapt(parent.document.all.iframe);}}catch(ex)
{}
try{if(parent.document.all.iframe!=null)
{widgetIframeControlMainAutoAdapt(parent.document.all.iframe);}}catch(ex)
{}}
function SelectValue(strParentValue,strText,strValue)
{var parentValue;var text;var value;this.parentValue=strParentValue;this.text=strText;this.value=strValue;}
function gainSelectWidgetValue(widgetSelect)
{var aSelectValue=new Array();var iLength=widgetSelect.length;for(var i=0;i<iLength;i++)
{aSelectValue[i]=new SelectValue('',widgetSelect.options[i].text,widgetSelect.options[i].value)}
return aSelectValue;}
function addSelectWidgetValue(widgetSelect,aValue)
{var iSelectOldLength
iSelectOldLength=widgetSelect.length;widgetSelect.length=iSelectOldLength+aValue.length;for(var i=0;i<aValue.length;i++)
{widgetSelect.options[iSelectOldLength].value=aValue[i].value;widgetSelect.options[iSelectOldLength].text=aValue[i].text;iSelectOldLength++;}}
function gainChildSelectValue(aControlList,strParentValue)
{var aPartControlList=new Array();var iLength=0;for(var i=0;i<aControlList.length;i++)
{if(aControlList[i].parentValue==strParentValue)
{aPartControlList[iLength]=aControlList[i];iLength++;}}
return aPartControlList;}
function gainSelectValue(aControlList,strValue)
{for(var i=0;i<aControlList.length;i++)
{if(aControlList[i].value==strValue)
{return aControlList[i];}}}
function gainMultiSelectValue(controlSelect)
{for(var i=0;i<controlSelect.length;i++)
{if(controlSelect[i].selected)
{return controlSelect[i].value;}}}
function assignSelectValue(controlSelect,strValue)
{for(var i=0;i<controlSelect.length;i++)
{if(controlSelect[i].value==strValue)
{controlSelect[i].selected=true;return 1;}}
return 0;}
function multipleSelectAll(selectone)
{if(event.button==2)
{for(var i=0;i<selectone.length;i++)
{selectone.options[i].selected=true;}}}