
var fweb={"cache_path":"/14884"};function alertWinIP(IP,errmsg)
{window.alert(IP+" "+errmsg);}
function alertWinMask(mask,errmsg)
{window.alert(mask+"  "+errmsg);}
function alertWinF(falseNews)
{window.alert(falseNews);}
function toNumber(str,start,end)
{var tempVal=0;for(i=start;i<end;i++)
{c=str.charAt(i);if(c<'0'||c>'9')
return-1;tempVal=tempVal*10+(c-'0');}
return tempVal;}
function isInt(numStr){for(var i=0;i<numStr.length;i++){c=numStr.charAt(i);if(c<'0'||c>'9'){return false;}}
return true;}
function check_ip(ip_str,err_empty,err_invalid)
{re_blank=new RegExp("^[ ]*$");if(re_blank.test(ip_str.value)==true)
{window.alert(err_empty);ip_str.focus();return false;}
re=new RegExp("^(([1][0-9]{0,2})|([2]([0-4][0-9]|[5][0-5]))|[1-9][0-9]?)([.](([1][0-9]{0,2})|([2]([0-4][0-9]|[5][0-5]))|([1-9][0-9])|[0-9])){3}$");if(re.test(ip_str.value)==false)
{window.alert(ip_str.value+" "+err_invalid);ip_str.focus();return false;}
return true;}
function check_ip_scope(ip_str,err_empty,err_invalid)
{var index1=0;var index2=0;re_blank=new RegExp("^[ ]*$");if(re_blank.test(ip_str.value)==true)
{window.alert(err_empty);ip_str.focus();return false;}
re=new RegExp("^(([1][0-9]{0,2})|([2]([0-4][0-9]|[5][0-5]))|[1-9][0-9]?)([.](([1][0-9]{0,2})|([2]([0-4][0-9]|[5][0-5]))|([1-9][0-9])|[0-9])){3}$");index1=ip_str.value.indexOf("-",0);if(index1<0)
{if(re.test(ip_str.value)==false)
{window.alert(ip_str.value+" "+err_invalid);ip_str.focus();return false;}}
else
{index2=ip_str.value.indexOf("/",0);if(index2<0)
{str=ip_str.value.slice(0,index1);if(re.test(str)==false)
{window.alert(str+" "+err_invalid);ip_str.focus();return false;}
str=ip_str.value.slice(index1+1,ip_str.length);if(re.test(str)==false)
{window.alert(str+" "+err_invalid);ip_str.focus();return false;}}
else
{index3=ip_str.value.indexOf("/",0);str=ip_str.value.slice(0,index3);if(re.test(str)==false)
{window.alert(str+" "+err_invalid);ip_str.focus();return false;}
index4=ip_str.value.indexOf("/",index1);str=ip_str.value.slice(index1+1,index4);if(re.test(str)==false)
{window.alert(str+" "+err_invalid);ip_str.focus();return false;}}}
return true;}
function check_ip2(ip_str,err_empty,err_invalid)
{re_blank2=new RegExp("^[ ]*$");if(re_blank2.test(ip_str.value)==true)
{window.alert(err_empty);ip_str.focus();return false;}
re2=new RegExp("^(([1][0-9]{0,2})|([2]([0-4][0-9]|[5][0-5]))|([1-9][0-9])|[0-9])([.](([1][0-9]{0,2})|([2]([0-4][0-9]|[5][0-5]))|([1-9][0-9])|[0-9])){3}$");if(re2.test(ip_str.value)==false)
{window.alert(ip_str.value+" "+err_invalid);ip_str.focus();return false;}
return true;}
function check_dns_ip(ip_str,err_invalid)
{re_blank_dns=new RegExp("^[ ]+$");if(re_blank_dns.test(ip_str.value)==true)
{ip_str.focus();return true;}
redns=new RegExp("^(([1][0-9]{0,2})|([2]([0-4][0-9]|[5][0-5]))|([1-9][0-9]?))([.](([1][0-9]{0,2})|([2]([0-4][0-9]|[5][0-5]))|([1-9][0-9])|[0-9])){3}$");if(redns.test(ip_str.value)==false)
{window.alert(ip_str.value+" "+err_invalid);ip_str.focus();return false;}
return true;}
function check_gateway_ip(ip_str,err_empty,err_invalid)
{re_blank=new RegExp("^[ ]*$");if(re_blank.test(ip_str.value)==true)
{window.alert(err_empty);ip_str.focus();return false;}
re=new RegExp("^(([1][0-9]{0,2})|([2]([0-4][0-9]|[5][0-5]))|[1-9][0-9]?)([.](([1][0-9]{0,2})|([2]([0-4][0-9]|[5][0-5]))|([1-9][0-9])|[0-9])){3}$");if(re.test(ip_str.value)==false)
{window.alert(ip_str.value+" "+err_invalid);ip_str.focus();return false;}
re2=new RegExp("^[1][2][7][.][0-9.]+$");if(re2.test(ip_str.value)==true)
{window.alert(ip_str.value+" "+err_invalid);ip_str.focus();return false;}
return true;}
function isIP(ip_str){ipArray=ip_str.split(".");if(ipArray.length==4){for(var i=0;i<4;i++){if(ipArray[i].length==0)return false;if(isInt(ipArray[i])){octetInt=parseInt(ipArray[i]);if(octetInt<0||octetInt>255){return false;}}else{return false;}}
if(ipArray[0]=="0"){return false;}}else{return false;}
return true;}
function log2(num){return(Math.log(num)/Math.LN2);}
function ipStrToNum(ip_str){ipValue=0;ipArray=ip_str.split(".");for(var i=0;i<4;i++){ipValue=ipValue<<8;ipValue+=parseInt(ipArray[i]);}
return ipValue;}
function isMask(mask_str){if(isIP(mask_str)){mask=ipStrToNum(mask_str);if(mask==0)
return true;for(test_mask=0xffffffff;test_mask!=0x0;test_mask>>>=1){if(~mask==test_mask)
return true;}}
return false;}
function isBlank(str){if(str==""){return true;}else{return false;}}
function hasSpace(str){if(str.indexOf(" ")>=0){return true;}else{return false;}}
function isValid(fieldValue,checkType){switch(checkType){case 0:if(isIP(fieldValue)){return true;}break;case 1:if(isMask(fieldValue)){return true;}break;case 2:if(!isBlank(fieldValue)){return true;}break;case 3:if(!hasSpace(fieldValue)){return true;}break;default:return true;}
return false;}
function checkField(fieldObj,errmsg,checkMode){if(!isValid(fieldObj.value,checkMode)){alert(errmsg);fieldObj.select();return false;}else{return true;}}
function isSameSubnet(ip1,ip2,mask){if((ipStrToNum(ip1)&ipStrToNum(mask))==(ipStrToNum(ip2)&ipStrToNum(mask))){return true;}else{return false;}}
function verifyIP(cntrl,errmsg){var val=new Array();var i=index=longIPVal=0;ip_str=cntrl.value;while(index<ip_str.lastIndexOf(".")){k=index;index=ip_str.indexOf(".",index);val[i]=toNumber(ip_str,k,index);if(val[i]<0||val[i]>255)
break;i++;index++;}
if(val[0]==127)
{i=0;}
if(i==3){if(ip_str.length>index){val[i]=toNumber(ip_str,index,ip_str.length);if(val[i]<0||val[i]>255)
i=2
else{val[0]=val[0]<<24;val[1]=val[1]<<16;val[2]=val[2]<<8;longIPVal=val[0]+val[1]+val[2]+val[3];return(longIPVal);}}
else
i=2;}
if(i!=3){alertWinIP(cntrl.value,errmsg);cntrl.select();return 999999;}
return true;}
function verifyNetmask(cntrl,errmsg){val=new Array();var i=index=longMaskVal=0;ip_str=cntrl.value;while(index<ip_str.lastIndexOf(".")){k=index;index=ip_str.indexOf(".",index);val[i]=toNumber(ip_str,k,index);if(val[i]<0||val[i]>255){break;}
i++;index++;}
if(i==3){if(ip_str.length>index){val[i]=toNumber(ip_str,index,ip_str.length);if(val[i]<0||val[i]>255)
i=2
else{val[0]=val[0]<<24;val[1]=val[1]<<16;val[2]=val[2]<<8;longMaskVal=val[0]+val[1]+val[2]+val[3];if((longMaskVal&(~longMaskVal+1))==(~longMaskVal+1))
return(longMaskVal);else
i=2;}}
else
i=2;}
if(i!=3){alertWinMask(cntrl.value,errmsg);cntrl.select();return 999999;}
return true;}
function stringToNumber(str)
{var len=str.length;return toNumber(str,0,len);}
function verifyIPAndMask(cntrl,errmsg)
{var i;var tokens=new Array();var ip_mask_str=cntrl.value;tokens=ip_mask_str.split(".");if(tokens.length<4){alertWinIP(cntrl.value,errmsg);return false;}
for(i=0;i<3;i++){if((stringToNumber(tokens[i])<0)||(stringToNumber(tokens[i])>255)){alertWinIP(cntrl.value,errmsg);return false;}}
if(tokens.length==4){if((stringToNumber(tokens[3])>=0)&&(stringToNumber(tokens[i])<=255)){return true;}
if(tokens[3].indexOf("*")==0){return true;}
var parts=new Array();parts=tokens[3].split("/");if(parts.length==2){if((stringToNumber(parts[0])<0)||(stringToNumber(parts[0])>255)){alertWinIP(cntrl.value,errmsg);return false;}
if((stringToNumber(parts[1])<0)||(stringToNumber(parts[1])>32)){alertWinIP(cntrl.value,errmsg);return false;}
return true;}
parts=tokens[3].split("-");if(parts.length==2){var first=stringToNumber(parts[0].substring(1,parts[0].length));var second=stringToNumber(parts[1].substring(0,parts[1].length-1));if((parts[0].indexOf("[")==0)&&(first>=0)&&(first<=255)&&(parts[1].indexOf("]")==parts[1].length-1)&&(second>=0)&&(second<=255)&&(first<=second)){return true;}}}
if(tokens.length<=7){for(i=0;i<tokens.length;i++){if(i!=3){if((stringToNumber(tokens[i])<0)||(stringToNumber(tokens[i])>255)){alertWinIP(cntrl.value,errmsg);return false;}}}
var parts=new Array();parts=tokens[3].split("/");if(parts.length==2&&tokens.length==7){if((stringToNumber(parts[0])<0)||(stringToNumber(parts[0])>255)){alertWinIP(cntrl.value,errmsg);return false;}
if((stringToNumber(parts[1])<0)||(stringToNumber(parts[1])>255)){alertWinIP(cntrl.value,errmsg);return false;}
return true;}
parts=tokens[3].split("-");if(parts.length==2){var first=stringToNumber(parts[0].substring(0,parts[0].length));var second=stringToNumber(parts[1].substring(0,parts[1].length));if((first>=0)&&(first<=255)&&(second>=0)&&(second<=255)){return true;}}}
alertWinIP(cntrl.value,errmsg);return false;}
function verifyIPAndRange(cntrl,errmsg)
{var i;var tokens=new Array();var ip_mask_str=typeof(cntrl.value)=="string"?cntrl.value:cntrl;var is_elt=typeof(cntrl.value)=="string"?1:0;tokens=ip_mask_str.split(".");if(tokens.length<4){if(is_elt&&errmsg)
alertWinIP(cntrl.value,errmsg);return false;}
for(i=0;i<3;i++){if((stringToNumber(tokens[i])<0)||(stringToNumber(tokens[i])>255)){if(is_elt&&errmsg)
alertWinIP(cntrl.value,errmsg);return false;}}
if(tokens.length==4){if((stringToNumber(tokens[3])>=0)&&(stringToNumber(tokens[i])<=255)){return true;}}
if(tokens.length<=7){for(i=0;i<tokens.length;i++){if(i!=3){if((stringToNumber(tokens[i])<0)||(stringToNumber(tokens[i])>255)){if(is_elt&&errmsg)
alertWinIP(cntrl.value,errmsg);return false;}}}
var parts=new Array();parts=tokens[3].split("-");if(parts.length==2){var first=stringToNumber(parts[0].substring(0,parts[0].length));var second=stringToNumber(parts[1].substring(0,parts[1].length));if((first>=0)&&(first<=255)&&(second>=0)&&(second<=255)){return true;}}}
if(is_elt&&errmsg)
alertWinIP(cntrl.value,errmsg);return false;}
function verifyIPMask(IP_str,mask_str,err_ip,err_mask,err_ipmask)
{var longIPVal,longMaskVal
longIPVal=verifyIP(IP_str,err_ip);longMaskVal=verifyNetmask(mask_str,err_mask);if((longIPVal==999999)||(longMaskVal==999999))return false;if(longIPVal==0&&longMaskVal==0)
return true;if((!(longIPVal&longMaskVal))||(!(longIPVal&(~longMaskVal)))||((longIPVal&longMaskVal)==longMaskVal)||((longIPVal&(~longMaskVal))==(~longMaskVal)))
{window.alert(err_ipmask);IP_str.focus();return false;}
return true;}
function verify_routeIPMask(IP_str,mask_str,err_ip,err_mask,err_ipmask)
{var longIPVal,longMaskVal
longIPVal=verifyIP(IP_str,err_ip);longMaskVal=verifyNetmask(mask_str,err_mask);if((longIPVal==999999)||(longMaskVal==999999))return false;if(longIPVal==0&&longMaskVal==0)
return true;if((!(longIPVal&longMaskVal))||((longIPVal&longMaskVal)==longMaskVal)||((longIPVal&(~longMaskVal))==(~longMaskVal)))
{window.alert(err_ipmask);IP_str.focus();return false;}
val=new Array();var tempIPVal=longIPVal&longMaskVal;for(i=3;i>-1;i--)
{val[i]=(tempIPVal>>((3-i)*8))&255;}
IP_str.value=val[0]+"."+val[1]+"."+val[2]+"."+val[3];return true;}
function verifyCombination(int_IP_str,int_mask_str,ext_IP_str,ext_mask_str,DMZ_IP_str,DMZ_mask_str,dft_gw_str)
{var longIPVal=new Array();var longMaskVal=new Array();var IPandMaskID=new Array();var GWandExtID,IntandExtID,IntandDMZID,ExtandDMZID;var falseNews=new String("");var m=1;longIPVal[1]=verifyIP(int_IP_str);longMaskVal[1]=verifyNetmask(int_mask_str);longIPVal[2]=verifyIP(DMZ_IP_str);longMaskVal[2]=verifyNetmask(DMZ_mask_str);longIPVal[3]=verifyIP(ext_IP_str);longMaskVal[3]=verifyNetmask(ext_mask_str);longIPVal[4]=verifyIP(dft_gw_str);longMaskVal[4]=verifyNetmask(ext_mask_str);for(m=1;m<4;m++){if((!(longIPVal[m]&longMaskVal[m]))||(!(longIPVal[m]&(~longMaskVal[m])))||((longIPVal[m]&longMaskVal[m])==longMaskVal[m])||((longIPVal[m]&(~longMaskVal[m]))==(~longMaskVal[m])))
{IPandMaskID[m]=false;}}
if((longIPVal[4]&longMaskVal[4])!=(longIPVal[3]&longMaskVal[3]))
GWandExtID=false;if((longIPVal[1]&longMaskVal[1])==(longIPVal[3]&longMaskVal[3])||(longIPVal[1]&longMaskVal[3])==(longIPVal[3]&longMaskVal[3])||(longIPVal[1]&longMaskVal[1])==(longIPVal[3]&longMaskVal[1]))
IntandExtID=false;if((longIPVal[1]&longMaskVal[1])==(longIPVal[2]&longMaskVal[2])||(longIPVal[1]&longMaskVal[2])==(longIPVal[2]&longMaskVal[2])||(longIPVal[1]&longMaskVal[1])==(longIPVal[2]&longMaskVal[1]))
IntandDMZID=false;if((longIPVal[3]&longMaskVal[3])==(longIPVal[2]&longMaskVal[2])||(longIPVal[3]&longMaskVal[2])==(longIPVal[2]&longMaskVal[2])||(longIPVal[3]&longMaskVal[3])==(longIPVal[2]&longMaskVal[3]))
ExtandDMZID=false;if(falseNews==""){if(IPandMaskID[1]==false)
falseNews=falseNews+"The internal IP address and netmask don't match.\n";if(IPandMaskID[2]==false)
falseNews=falseNews+"The DMZ IP address and netmask don't match.\n";if(IPandMaskID[3]==false)
falseNews=falseNews+"The external address and netmask don't match.\n";}
if(falseNews==""){if(GWandExtID==false)
falseNews=falseNews+"The default gateway and external are not in the same subnet.\n";if(IntandExtID==false)
falseNews=falseNews+"The internal and external are in the same subnet.\n";if(IntandDMZID==false)
falseNews=falseNews+"The internal and DMZ are in the same subnet.\n";if(ExtandDMZID==false)
falseNews=falseNews+"The external and DMZ are in the same subnet.\n";}
if(falseNews!="")
{alertWinF(falseNews);return(false);}
return(true);}
function verifyIntExt(int_IP_str,int_mask_str,ext_IP_str,ext_mask_str,err_ip,err_mask,err_int,err_ext,err_subnet)
{var longIPVal=new Array();var longMaskVal=new Array();var IPandMaskID=new Array();var GWandExtID,IntandExtID;var falseNews=new String("");var m=1;longIPVal[1]=verifyIP(int_IP_str,err_ip);longMaskVal[1]=verifyNetmask(int_mask_str,err_mask);longIPVal[2]=verifyIP(ext_IP_str,err_ip);longMaskVal[2]=verifyNetmask(ext_mask_str,err_mask);for(m=1;m<3;m++){if((longIPVal[m]==999999)||(longMaskVal[m]==999999))return false;if((!(longIPVal[m]&longMaskVal[m]))||(!(longIPVal[m]&(~longMaskVal[m])))||((longIPVal[m]&longMaskVal[m])==longMaskVal[m])||((longIPVal[m]&(~longMaskVal[m]))==(~longMaskVal[m])))
{IPandMaskID[m]=false;}}
if((longIPVal[1]&longMaskVal[1])==(longIPVal[2]&longMaskVal[2])||(longIPVal[1]&longMaskVal[2])==(longIPVal[2]&longMaskVal[2])||(longIPVal[1]&longMaskVal[1])==(longIPVal[2]&longMaskVal[1]))
IntandExtID=false;if(falseNews==""){if(IPandMaskID[1]==false)
falseNews=falseNews+err_int+"\n";if(IPandMaskID[2]==false)
falseNews=falseNews+err_ext+"\n";}
if(falseNews==""){if(GWandExtID==false)
falseNews=falseNews+"The default gateway and external are not in the same subnet.\n";if(IntandExtID==false)
falseNews=falseNews+err_subnet+"\n";}
if(falseNews!="")
{alertWinF(falseNews);return(false);}
return(true);}
function verifyIntExtDMZ(int_IP_str,int_mask_str,ext_IP_str,ext_mask_str,DMZ_IP_str,DMZ_mask_str)
{var longIPVal=new Array();var longMaskVal=new Array();var IPandMaskID=new Array();var IntandExtID,IntandDMZID,ExtandDMZID;var falseNews=new String("");var m=1;longIPVal[1]=verifyIP(int_IP_str);longMaskVal[1]=verifyNetmask(int_mask_str);longIPVal[2]=verifyIP(DMZ_IP_str);longMaskVal[2]=verifyNetmask(DMZ_mask_str);longIPVal[3]=verifyIP(ext_IP_str);longMaskVal[3]=verifyNetmask(ext_mask_str);for(m=1;m<4;m++){if((!(longIPVal[m]&longMaskVal[m]))||(!(longIPVal[m]&(~longMaskVal[m])))||((longIPVal[m]&longMaskVal[m])==longMaskVal[m])||((longIPVal[m]&(~longMaskVal[m]))==(~longMaskVal[m])))
{IPandMaskID[m]=false;}}
if((longIPVal[1]&longMaskVal[1])==(longIPVal[3]&longMaskVal[3])||(longIPVal[1]&longMaskVal[3])==(longIPVal[3]&longMaskVal[3])||(longIPVal[1]&longMaskVal[1])==(longIPVal[3]&longMaskVal[1]))
IntandExtID=false;if((longIPVal[1]&longMaskVal[1])==(longIPVal[2]&longMaskVal[2])||(longIPVal[1]&longMaskVal[2])==(longIPVal[2]&longMaskVal[2])||(longIPVal[1]&longMaskVal[1])==(longIPVal[2]&longMaskVal[1]))
IntandDMZID=false;if((longIPVal[3]&longMaskVal[3])==(longIPVal[2]&longMaskVal[2])||(longIPVal[3]&longMaskVal[2])==(longIPVal[2]&longMaskVal[2])||(longIPVal[3]&longMaskVal[3])==(longIPVal[2]&longMaskVal[3]))
ExtandDMZID=false;if(falseNews==""){if(IPandMaskID[1]==false)
falseNews=falseNews+"The internal IP address and netmask don't match.\n";if(IPandMaskID[2]==false)
falseNews=falseNews+"The DMZ IP address and netmask don't match.\n";if(IPandMaskID[3]==false)
falseNews=falseNews+"The external address and netmask don't match.\n";}
if(falseNews==""){if(IntandExtID==false)
falseNews=falseNews+"The internal and external are in the same subnet.\n";if(IntandDMZID==false)
falseNews=falseNews+"The internal and DMZ are in the same subnet.\n";if(ExtandDMZID==false)
falseNews=falseNews+"The external and DMZ are in the same subnet.\n";}
if(falseNews!="")
{alertWinF(falseNews);return(false);}
return(true);}
function checkBlank(str){if(str.length==0){alert("Input is blank, please re-input.");return false;}
return true;}
function verify2IP(int_IP_str,int_mask_str,ext_IP_str,ext_mask_str,err_ip,err_mask)
{var longIPVal=new Array();var longMaskVal=new Array();var IntandExtID;longIPVal[1]=verifyIP(int_IP_str,err_ip);longMaskVal[1]=verifyNetmask(int_mask_str,err_mask);longIPVal[2]=verifyIP(ext_IP_str,err_ip);longMaskVal[2]=verifyNetmask(ext_mask_str,err_mask);if((longIPVal[1]&longMaskVal[1])==(longIPVal[2]&longMaskVal[2])||(longIPVal[1]&longMaskVal[2])==(longIPVal[2]&longMaskVal[2])||(longIPVal[1]&longMaskVal[1])==(longIPVal[2]&longMaskVal[1]))
IntandExtID=false;if(IntandExtID==false)
return(true);return(false);}
function IP2Long(ip_str)
{var val=new Array();var i=index=longIPVal=0;while(index<ip_str.lastIndexOf(".")){k=index;index=ip_str.indexOf(".",index);val[i]=toNumber(ip_str,k,index);if(val[i]<0||val[i]>255)
break;i++;index++;}
if(i==3){if(ip_str.length>index){val[i]=toNumber(ip_str,index,ip_str.length);if(val[i]<0||val[i]>255)
i=2
else{val[0]=val[0]<<24;val[1]=val[1]<<16;val[2]=val[2]<<8;longIPVal=val[0]+val[1]+val[2]+val[3];return(longIPVal);}}
else
i=2;}
if(i!=3)
return 0;}
function verify3IP(IP_str,mask_str,ext_IP_str,ext_mask_str)
{var longIPVal=new Array();var longMaskVal=new Array();var IntandExtID;longIPVal[1]=IP2Long(IP_str);longMaskVal[1]=IP2Long(mask_str);longIPVal[2]=IP2Long(ext_IP_str);longMaskVal[2]=IP2Long(ext_mask_str);if((longIPVal[1]&longMaskVal[1])==(longIPVal[2]&longMaskVal[2])||(longIPVal[1]&longMaskVal[2])==(longIPVal[2]&longMaskVal[2])||(longIPVal[1]&longMaskVal[1])==(longIPVal[2]&longMaskVal[1]))
IntandExtID=false;if(IntandExtID==false)
return(true);return(false);}
function isxdigit(theDigit){digitArray=new Array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','A','B','C','D','E','F');for(var j=0;j<digitArray.length;j++)
if(theDigit==digitArray[j])return true;return false;}
function ismacok(theString,errmsg)
{var i;var buf=theString.value;if(buf.length!=17){window.alert(buf+" "+errmsg);return false;}
for(i=0;i<buf.length;i+=3){if((!isxdigit(buf.charAt(i)))||(!isxdigit(buf.charAt(i+1)))){window.alert(buf+" "+errmsg);return false;}}
for(i=2;i<buf.length;i+=3){if((buf.charAt(i)!=':')&&(buf.charAt(i)!='-')){window.alert(buf+" "+errmsg);return false;}}
return true;}
function isDigit(ch)
{return(ch>='0')&&(ch<='9')}
function isAlpha(ch)
{return((ch>='a')&&(ch<='z'))||((ch>='A')&&(ch<='Z'))}
function isAlnum(ch)
{return isAlpha(ch)||isDigit(ch);}
function check_fqdn(fqdn)
{var iL=0;var iC=0;var i=fqdn.length-1;if((fqdn.charAt(0)=='.')||(fqdn.charAt(0)=='-'))
return false;if(fqdn.charAt(i)=='.')
i=i-1;for(;i>=0;i--)
{if(fqdn.charAt(i)=='.')
{if(iL<1&&iC<2)
return false;if(fqdn.charAt(i-1)=='-')
return false;iC++;iL=0;continue;}
if(isAlnum(fqdn.charAt(i)))
{iL++;continue;}
if(fqdn.charAt(i)=='-')
{if(!iL)
return false;iL++;continue;}
return false;}
if(!iC||(iL<1&&iC<2)||(!iL&&iC==1)){return false;}
return true;}
var debugging=false;if(typeof(win_alert)=="undefined"){var _last_errmsg='';var win_alert=window.alert;var _alert_counter=0;window.alert=mute_alert;}
function mute_alert(msg)
{_last_errmsg=msg;if(_alert_counter==0)
return win_alert(msg);}
function msg_alert(on,obj)
{if(on){_alert_counter--;if(_alert_counter<=0){if(_last_errmsg!=''){win_alert(_last_errmsg);_last_errmsg='';if(obj&&obj.focus)
obj.focus();return true;}}}
else{if(_alert_counter==0){_last_errmsg='';}
_alert_counter++;}
return _last_errmsg!='';}
function alertex(msg,elm)
{if(msg&&msg.length)
alert(msg);if(elm&&elm.focus)
elm.focus();if(elm&&elm.select)
elm.select()}
function check_contains(elm,chars,errInvalid,errBlank){val=typeof(elm.value)=="string"?elm.value:elm
if(errBlank&&(!val||val.length==0)){alertex(errBlank,elm);return false;}
if(!check_char(val,chars,true)){alertex(errInvalid,elm);return false;}
return true;}
var XSS_set="<>()#\\\"'"
var WSp_set="\\s\\u00A0\\u2028\\u2029";var Chr_set="\\\0-\\x7f"
var Grp_flt_set="<>#\\\"'"
var Nam_set="a-zA-Z0-9\\-_"
var XSS_exp="^[^"+XSS_set+"]*$";var WSp_exp="[^"+WSp_set+"]+";var Chr_exp="^["+Chr_set+"]*$";var NWS_exp="^[^"+WSp_set+"]*$";var Grp_flt_exp="^[^"+Grp_flt_set+"]*$";var Nam_exp="^["+Nam_set+"]+$";var YMD_exp="^\\d{4}-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]\\d|3[0-1])( ([0-1]?\\d|2[0-3])(:[0-5]?\\d){1,2})?$"
function check_exp(v,exp)
{var str=typeof(v.value)=="string"?v.value:v;if(!exp)
exp=XSS_exp;return RegExp(exp).test(str);}
function is_function(v)
{if(typeof(v)=="object"){return true;}
return typeof(v)=="function";}
function alert_focus_check(check_exp,v,msg){var ret=is_function(check_exp)?check_exp():check_exp;if(!ret){if(msg)alert(msg);if(is_function(v.focus))v.focus();if(is_function(v.select))v.select();}
return ret;}
function check_XSS(v,err_msg){return alert_focus_check(function(){return check_exp(v,XSS_exp)},v,err_msg);}
function check_XSS_by_grp_id(obj_ids,err_msg){if(!obj_ids||obj_ids=='')
return true;var id_array=obj_ids.split(',');for(var i=0;i<id_array.length;i++)
{var v=document.getElementById(id_array[i]);if(!v||!check_XSS(v,err_msg))
return false;}
return true;}
function check_ASCII(v,err_msg){return alert_focus_check(function(){return check_exp(v,Chr_exp)},v,err_msg);}
function check_value(v,err_msg){return alert_focus_check(function(){return check_exp(v,WSp_exp)},v,err_msg);}
function check_space(v,err_msg){return alert_focus_check(function(){return check_exp(v,NWS_exp)},v,err_msg);}
function check_name(v,err_msg){return alert_focus_check(function(){return check_exp(v,Nam_exp)},v,err_msg);}
function check_max_length(v,max_length,err_msg){if(typeof err_msg=="undefined"){if(typeof err_max_chars=="undefined"){err_msg="Maximum number of allowed characters for this field is";}else{err_msg=err_max_chars;}
err_msg+=(" "+max_length+".");}
return alert_focus_check(function(){var str=typeof(v.value)=="string"?v.value:v;return str.length<=max_length},v,err_msg);}
function check_regexp(v,reg_exp,err_msg){return alert_focus_check(function(){return check_exp(v,reg_exp)},v,err_msg);}
function check_number(v,err_msg,min,max){return alert_focus_check(function(){var n=parseInt(v.value);return n!="NaN"&&n>=min&&n<=max;},v,err_msg);}
function checknumber(txtfield,minvalue,maxvalue,err_blank,err_range)
{var val=0;var str=txtfield.value;if(!checkvoid(txtfield,err_blank))
{return false;}
return check_number(txtfield,str+" "+err_range,minvalue,maxvalue);}
function check_group_filter(v,err_msg){return alert_focus_check(function(){return check_exp(v,Grp_flt_exp)},v,err_msg);}
function check_datetime(v,err_msg){return alert_focus_check(function(){return check_exp(v,YMD_exp)},v,err_msg);}
function trim_space(v,lr){var str=typeof(v.value)=="string"?v.value:v;if(!lr||lr==-1)str=str.replace(RegExp("^["+WSp_set+"]+"),"");if(!lr||lr==1)str=str.replace(RegExp("["+WSp_set+"]+$"),"");return str;}
function check_pwd_eq(element1,element2,errmsg)
{if(element1.value==element2.value)
{return true;}
else
{window.alert(errmsg);element1.select();return false;}}
function checkname(field,err_blank,err_space,err_invalid)
{field.value=trim_space(field);if(err_space&&field.value.indexOf(" ")>=0)
{window.alert(err_space);field.focus();field.select();return false;}
if(err_blank&&(field.value==""|field.value==null))
{window.alert(err_blank);field.focus();field.select();return false;}
if(err_invalid&&checkOtherChar(field.value,err_invalid)==false)
{field.focus();field.select();return false;}
return true;}
function checkempty(field,err_blank)
{field.value=trim_space(field);if(field.value==""|field.value==null)
{window.alert(err_blank);field.focus();field.select();return false;}
return true;}
function checkport(field,errmsg1,errmsg2)
{var val=0;port_str=field.value;if(port_str==""){window.alert(errmsg1);field.focus();field.select();return false;}
val=toNumber(port_str,0,port_str.length);if(val<=0||val>65535)
{window.alert(errmsg2);field.focus();field.select();return false;}
else
{return true;}}
function check_integer(field,err_empty,err_invalid)
{var val=0;var int_str=field.value;if(int_str==""){window.alert(err_empty);field.focus();field.select();return false;}
val=toNumber(int_str,0,int_str.length);if(val<1||val>2147483647)
{window.alert(err_invalid);field.value="";field.focus();field.select();return false;}
else
{return true;}}
function checkIntRange(field,start,end,errmsg)
{field.value=trim_space(field);var value=field.value;var retVal=0;retVal=toNumber(value,0,value.length);if(retVal>=start&&retVal<=end)
return true;else{window.alert(errmsg);if(field.focus)field.focus();return false;}}
function checkValidInt(field,start,end,errmsg)
{return checkIntRange(field,0,2147483647,errmsg)}
function check_domain(domain_name,err_empty,err_invalid)
{re_blank=new RegExp("^[ ]*$");if(re_blank.test(domain_name.value)==true)
{window.alert(err_empty);domain_name.focus();return false;}
re=new RegExp("^((([a-zA-Z0-9]+)|([a-zA-Z0-9]+[-|_]{1}[a-zA-Z0-9]+))[.]){1,4}[a-zA-Z0-9]+$");if(re.test(domain_name.value)==false)
{window.alert(domain_name.value+" "+err_invalid);domain_name.focus();return false;}
return true;}
function checkvoid(field,err_msg)
{return check_value(field,err_msg);}
function checkcnonvoid(field,err_msg)
{if(!(field.value==""||field.value==null))
{window.alert(err_msg);field.focus();return true;}
return false;}
function check_user(user,passwd,err_user,err_pwd)
{if(check_char1(user)==false){alert(err_user);return false;}
if(check_char1(passwd)==false){alert(err_pwd);return false;}}
function check_pppoe_auth(uname,passw,uname_err,passw_err)
{if(uname.match(/[^ -~]+/)){alert(uname_err);return false;}
if(passw.match(/[^ -~]+/)){alert(passw_err);return false;}}
function check_char(str,charSet,not)
{for(i=0;i<str.length;i++){if((charSet.indexOf(str.charAt(i))<0)^not)
return false;}
return true;}
function check_char1(str)
{for(var loop_index=0;loop_index<str.length;loop_index++)
{if(str.charAt(loop_index)=='{'||str.charAt(loop_index)=='}'||str.charAt(loop_index)=='|'||str.charAt(loop_index)=='"'||str.charAt(loop_index)=='<'||str.charAt(loop_index)=='>'||str.charAt(loop_index)=='?'||str.charAt(loop_index)==','||str.charAt(loop_index)=='`'||str.charAt(loop_index)=='['||str.charAt(loop_index)==']'||str.charAt(loop_index)=='\\'||str.charAt(loop_index)=='\''||str.charAt(loop_index)=='/')
{return false;}}}
function check_char2(field)
{var charSet=new Array("\\",">","<","[","]","`","$","%","&");var i;var flag="no";for(i=0;i<charSet.length;i++)
{if(field.value.indexOf(charSet[i])>=0){flag="yes";break;}}
if(flag=="yes")return false;else return true;}
function checkFieldLength(field,length,errMsg)
{var len=field.value.length;if(field.tagName=='TEXTAREA')
{var i=0;while((i=field.value.indexOf('\n',i))!=-1)
{len++;i++;}}
if(len>length)
{alert(errMsg);field.focus();field.select();return false;}
return true;}
function leftTrim(str){var index=0;while(str.charAt(index)==' '){index++;}
return str.substring(index,str.length);}
function rightTrim(str){var index=str.length;while(str.charAt(index-1)==' '){index--;}
return str.substring(0,index);}
function fullTrim(str){if(str==null)return str;return leftTrim(rightTrim(str));}
function left_trim(field)
{field.value=trim_space(field,-1);}
function right_trim(field)
{field.value=trim_space(field,1);}
function trimSpace(obj)
{obj.value=trim_space(obj);}
function check_snmp_input(field,name)
{var errmsg;field.value=trim_space(field);errmsg=name+" should not be blank";if(checkvoid(field,errmsg)==false)return false;if(field.value.indexOf(" ")>=0){window.alert("SPACE is not allowed in "+name);field.focus();field.select();return false;}
if(check_char2(field)==false){window.alert("Invalid "+name);field.focus();field.select();return false;}
return true;}
function populate(f_year,f_mon,f_day)
{timeA=new Date(f_year.value,f_mon.options[f_mon.selectedIndex].value,1);timeDifference=timeA-86400000;timeB=new Date(timeDifference);var daysInMonth=timeB.getDate();for(var i=0;i<f_day.length;i++)
{f_day.options[i]=null;}
for(var i=0;i<daysInMonth;i++){if(i<9)
f_day.options[i]=new Option('0'+(i+1));else
f_day.options[i]=new Option(i+1);}
f_day.options[0].selected=true;}
function addToDestList(str,destList)
{var len=destList.length;var i;var found;found=false;for(var count=0;count<len;count++){if(destList.options[count]!=null){if(str==destList.options[count].text){found=true;break;}}}
if(found!=true){destList.options[len]=new Option(str);}}
function addSrcToDestList(srcList,destList)
{var llen=srcList.length;var len=destList.length;var i;var found;for(i=0;i<srcList.length;i++){if((srcList.options[i]!=null)&&(srcList.options[i].selected)){found=false;for(var count=0;count<len;count++){if(destList.options[count]!=null){if(srcList.options[i].text==destList.options[count].text){found=true;break;}}}
if(found!=true){destList.options[len]=new Option(srcList.options[i].text,srcList.options[i].value);destList.options[len].style.color=srcList.options[i].style.color;len++;}}}}
function deleteFromDestList(destList)
{if(destList.options!=null){var len=destList.options.length;var i;for(i=(len-1);i>=0;i--){if((destList.options[i]!=null)&&(destList.options[i].selected==true)){destList.options[i]=null;}}}}
function newRow(oTable,bgcolor)
{if(debugging)
alert("ADDING NEW ROW.");var total_num=document.forms[0].stot.value;if(total_num>=16){alert("The maximum number of service entry is 16.");return false;}
document.forms[0].counter.value++;var indexRow=oTable.rows.length-1;var InsRow=document.forms[0].counter.value;oTable.insertRow(indexRow);oTable.rows[indexRow].bgColor=bgcolor;oTable.rows[indexRow].setAttribute("id","Row"+InsRow);for(var i=0;i<6;i++){oTable.rows[indexRow].insertCell(0);oTable.rows[indexRow].align="center";}
var relativeRow=indexRow-4;var transportId="transport"+relativeRow;oTable.rows[indexRow].cells[0].innerHTML="<a href=\"javascript: rmRow('"+oTable.rows[indexRow].id+"');\"><img src=\"/images/delete.gif\" border=0></a>";oTable.rows[indexRow].cells[1].innerHTML="<input type=radio name='"+transportId+"' id='"+transportId+"' value='1' checked onclick=\"radioWorks('"+transportId+"', 1)\">TCP&nbsp;"
+"<input type=radio name='"+transportId+"' id='"+transportId+"' value='2' onclick=\"radioWorks('"+transportId+"', 2)\">UDP&nbsp;";oTable.rows[indexRow].cells[2].innerHTML="<input type=text name='slow"+relativeRow+"' size=6 maxlength=5 value='1' form=cst_srv>";oTable.rows[indexRow].cells[3].innerHTML="<input type=text name='shigh"+relativeRow+"' size=6 maxlength=5 value='65535'>";oTable.rows[indexRow].cells[4].innerHTML="<input type=text name='dlow"+relativeRow+"' size=6 maxlength=5>";oTable.rows[indexRow].cells[5].innerHTML="<input type=text name='dhigh"+relativeRow+"' size=6 maxlength=5>";document.forms[0].stot.value++;if(debugging)
{var ts=document.getElementsByName('transport1');ts.form=document.forms[0];ts.form=document.forms[0];alert("T1 checked="+ts[0].checked+" name="+ts[0].name+" id="+ts[0].id+" type="+ts[0].type);alert("T2 checked="+ts[1].checked+" name="+ts[1].name+" id="+ts[1].id+" type="+ts[0].type);for(var g=0;g<document.forms[0].elements.length;g++)
{alert("element("+g+")="+document.forms[0].elements[g].name);}}}
function radioWorks(tid,whichone)
{if(!document.all)
{var t=document.getElementsByName(tid);if(whichone==1){t[0].checked=true;t[1].checked=false;}
else{t[0].checked=false;t[1].checked=true;}}}
function catValue(oTable)
{var CountRows=oTable.rows.length-5;var oProtocol1,oProtocol2;var oPort1;var oPort2;var oPort3;var oPort4;var value1="";var value2="";var i;for(i=0;i<CountRows;i++){oProtocol1=eval("document.getElementsByName('transport"+i+"')").item(0);oProtocol2=eval("document.getElementsByName('transport"+i+"')").item(1);oPort1=eval("document.getElementsByName('dlow"+i+"')").item(0);oPort2=eval("document.getElementsByName('dhigh"+i+"')").item(0);oPort3=eval("document.getElementsByName('slow"+i+"')").item(0);oPort4=eval("document.getElementsByName('shigh"+i+"')").item(0);if(oProtocol1.checked==true){if(value1==""){value1=value1+"TCP/";}
else{value1=value1+",";}
if(oPort1.value==oPort2.value){value1=value1+oPort1.value;}
else{value1=value1+oPort1.value+"-"+oPort2.value;}
if(oPort3.value==oPort4.value){value1=value1+":"+oPort3.value;}
else{value1=value1+":"+oPort3.value+"-"+oPort4.value;}}
if(oProtocol2.checked==true){if(value2==""){value2=value2+"UDP/";}
else{value2=value2+",";}
if(oPort1.value==oPort2.value){value2=value2+oPort2.value;}
else{value2=value2+oPort1.value+"-"+oPort2.value;}
if(oPort3.value==oPort4.value){value2=value2+":"+oPort3.value;}
else{value2=value2+":"+oPort3.value+"-"+oPort4.value;}}}
document.forms[0].srv_value1.value=value1;document.forms[0].srv_value2.value=value2;}
function rmRow(objid)
{var i,j,k;var oProtocol1,oProtocol2;var oPort1;var oPort2;var oPort3;var oPort4;var obj=document.getElementById(objid);var index=obj.rowIndex;var theTable=document.getElementById('oTable');var CountRows=theTable.rows.length-5;theTable.deleteRow(index);document.forms[0].stot.value--;k=index;for(i=index-3;i<CountRows;i++)
{oProtocol1=eval("document.getElementsByName('transport"+i+"')").item(0);oProtocol2=eval("document.getElementsByName('transport"+i+"')").item(1);oPort1=eval("document.getElementsByName('dlow"+i+"')").item(0);oPort2=eval("document.getElementsByName('dhigh"+i+"')").item(0);oPort3=eval("document.getElementsByName('slow"+i+"')").item(0);oPort4=eval("document.getElementsByName('shigh"+i+"')").item(0);if(debugging){alert("oProtocol1 = "+oProtocol1.value);alert("oProtocol2 = "+oProtocol2.value);alert("oPort1 = "+oPort1.value);alert("oPort2 = "+oPort2.value);alert("oPort3 = "+oPort3.value);alert("oPort4 = "+oPort4.value);}
j=i-1;if(oProtocol1.checked==true)
{theTable.rows[k].cells[1].innerHTML="<input type=radio name='transport"+j+"' id='transport"+j+"' value='1' checked onclick=\"radioWorks('transport"+j+"', 1)\">TCP&nbsp;"
+"<input type=radio name='transport"+j+"' id='transport"+j+"' value='2' onclick=\"radioWorks('transport"+j+"', 2)\">UDP&nbsp;";}
else
{theTable.rows[k].cells[1].innerHTML="<input type=radio name='transport"+j+"' id='transport"+j+"' value='1' onclick=\"radioWorks('transport"+j+"', 1)\">TCP&nbsp;"
+"<input type=radio name='transport"+j+"' id='transport"+j+"' value='2' checked onclick=\"radioWorks('transport"+j+"', 2)\">UDP&nbsp;";}
theTable.rows[k].cells[2].innerHTML="<input type=text name='slow"+j+"' size=6 maxlength=5 value='"+oPort3.value+"'>";theTable.rows[k].cells[3].innerHTML="<input type=text name='shigh"+j+"' size=6 maxlength=5 value='"+oPort4.value+"'>";theTable.rows[k].cells[4].innerHTML="<input type=text name='dlow"+j+"' size=6 maxlength=5  value='"+oPort1.value+"'>";theTable.rows[k].cells[5].innerHTML="<input type=text name='dhigh"+j+"' size=6 maxlength=5 value='"+oPort2.value+"'>";k++;}}
function verifyport(cntrl,errmsg1,errmsg2)
{var val=0;port_str=cntrl.value;if(port_str==""){window.alert(errmsg1);return false;}
val=toNumber(port_str,0,port_str.length);if(val<=0||val>65535)
{window.alert(port_str+" "+errmsg2);cntrl.value=cntrl.defaultValue;return false;}
else
{return true;}}
function cmpport(cntrl1,cntrl2,errmsg)
{var low,high;low=toNumber(cntrl1.value,0,cntrl1.value.length);high=toNumber(cntrl2.value,0,cntrl2.value.length);if(low>high)
{window.alert(errmsg);cntrl1.value=cntrl1.defaultValue;cntrl2.value=cntrl2.defaultValue;return false;}
else
{return true;}}
function toNumber(str,start,end)
{var tempVal=0;for(i=start;i<end;i++)
{c=str.charAt(i);if(c<'0'||c>'9')
return-1;tempVal=tempVal*10+(c-'0');}
return tempVal;}
function alertWinPort(port)
{window.alert(port+"  is not a valid port.");}
function checkOtherChar(str,errmsg){for(var loop_index=0;loop_index<str.length;loop_index++)
{if(str.charAt(loop_index)=='~'||str.charAt(loop_index)=='!'||str.charAt(loop_index)=='@'||str.charAt(loop_index)=='#'||str.charAt(loop_index)=='$'||str.charAt(loop_index)=='%'||str.charAt(loop_index)=='^'||str.charAt(loop_index)=='&'||str.charAt(loop_index)=='*'||str.charAt(loop_index)=='('||str.charAt(loop_index)==')'||str.charAt(loop_index)=='+'||str.charAt(loop_index)=='{'||str.charAt(loop_index)=='}'||str.charAt(loop_index)=='|'||str.charAt(loop_index)==':'||str.charAt(loop_index)=='"'||str.charAt(loop_index)=='<'||str.charAt(loop_index)=='>'||str.charAt(loop_index)=='?'||str.charAt(loop_index)=='`'||str.charAt(loop_index)=='='||str.charAt(loop_index)=='['||str.charAt(loop_index)==']'||str.charAt(loop_index)=='\\'||str.charAt(loop_index)==';'||str.charAt(loop_index)=='\''||str.charAt(loop_index)==','||str.charAt(loop_index)=='.'||str.charAt(loop_index)=='/')
{if(errmsg)alert(errmsg);return false;}}
return true;}
function checkLegalChar(str,errmsg){return check_name(str,errmsg);}
function checkOtherChar2(str,errmsg)
{for(var loop_index=0;loop_index<str.length;loop_index++)
{if(str.charAt(loop_index)=='~'||str.charAt(loop_index)=='!'||str.charAt(loop_index)=='@'||str.charAt(loop_index)=='#'||str.charAt(loop_index)=='$'||str.charAt(loop_index)=='%'||str.charAt(loop_index)=='^'||str.charAt(loop_index)=='&'||str.charAt(loop_index)=='('||str.charAt(loop_index)==')'||str.charAt(loop_index)=='+'||str.charAt(loop_index)=='{'||str.charAt(loop_index)=='}'||str.charAt(loop_index)=='|'||str.charAt(loop_index)==':'||str.charAt(loop_index)=='"'||str.charAt(loop_index)=='<'||str.charAt(loop_index)=='>'||str.charAt(loop_index)=='?'||str.charAt(loop_index)=='`'||str.charAt(loop_index)=='='||str.charAt(loop_index)=='['||str.charAt(loop_index)==']'||str.charAt(loop_index)=='\\'||str.charAt(loop_index)==';'||str.charAt(loop_index)=='\'')
{alert(errmsg);return false;}}
return true;}
function checkInvalidChars(str,errmsg,invalidChars)
{var curChar;for(var loop_index=0;loop_index<str.length;loop_index++){curChar=str.charAt(loop_index);if(invalidChars.indexOf(curChar)!=-1){alert(errmsg);return false;}}
return true;}
function checkSourceAddress(str,errmsg,emptymsg)
{var addrs;if(str.length==0)
return true;addrs=str.split(',');for(var i=0;i<addrs.length;i++)
{if(addrs[i].length==0)
{alert(emptymsg);return false;}
if(!checkInvalidChars(addrs[i],errmsg,"!\"#$%&'()*+,;<=>?@[\\]^`{|}~"))
return false;}
return true;}
function checkEmailDomain(str,errmsg)
{return checkInvalidChars(str,errmsg,"~!@#$%^&()+{}|\"<>?`=\\;'");}
function checkLegalChar3(str,errmsg){var re=/^[0-9A-Za-z\-_,.\/]*$/;if(!re.test(str)){alert(errmsg);return false;}
return true;}
function checkLegalChar2(str,errmsg){var re=/^[0-9A-Za-z\-_,.]*$/;if(!re.test(str)){alert(errmsg);return false;}
return true;}
function checkLegalChar4(str,errmsg){var re=/^[0-9,]*$/;if(!re.test(str)){alert(errmsg);return false;}
return true;}
function checkLegal_User_Group_filter(str,errmsg){var re=/^[0-9A-Za-z\-_,.= \/\\\*\"\(\)]*$/;if(!re.test(str)){alert(errmsg);return false;}
return true;}
function checkLegalCharList(str,errmsg){var re=/^[0-9A-Za-z\-_, ]*$/;if(!re.test(str)){alert(errmsg);return false;}
return true;}
function checkAdminUserName(field,err_blank,err_space,err_invalid)
{var re=/^[0-9A-Za-z\-_.@]*$/;if(field){field.value=trim_space(field);if(field.value==""|field.value==null)
{window.alert(err_blank);field.focus();field.select();return false;}
if(field.value.indexOf(" ")>=0)
{window.alert(err_space);field.focus();field.select();return false;}
if(!re.test(field.value)){alert(err_invalid);field.focus();field.select();return false;}
return true;}else{return false;}}
function checkDigitalChar(cntrl,errmsg1,errmsg2)
{var str;str=cntrl.value;if(str.length==0)
{alert(errmsg1);return false;}
for(var loop_index=0;loop_index<str.length;loop_index++)
{if(str.charAt(loop_index)=='0'||str.charAt(loop_index)=='1'||str.charAt(loop_index)=='2'||str.charAt(loop_index)=='3'||str.charAt(loop_index)=='4'||str.charAt(loop_index)=='5'||str.charAt(loop_index)=='6'||str.charAt(loop_index)=='7'||str.charAt(loop_index)=='8'||str.charAt(loop_index)=='9')
continue;else
{alert(errmsg2);return false;}}
return true;}
function check_pwd(field,errmsg1,errmsg3)
{if(field.value==""){window.alert(errmsg1);field.focus();return false;}
if(field.value.length<6){window.alert(errmsg3);}
return true;}
function check_pwd_length(field,errmsg)
{if(field.value.length<6&&field.value.length>0){window.alert(errmsg);}
return true;}
function checkSpace(str,errmsg){if(str.indexOf(" ")>=0){alert(errmsg);return false;}
return true;}
function checkMail(obj)
{if(obj==null)
return"NULL";if(obj.value=="")
return"EMPTY";var filter=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;if(filter.test(obj.value))
return"VALID";else
return"INVALID";}
function getScrollX()
{if(document.all)
return document.body.scrollLeft;else
return pageXOffset;}
function getScrollY()
{if(document.all)
return document.body.scrollTop;else
return pageYOffset;}
function check_banphrase(str){var idx=0;var inquote=0;var lang=1;var ret=true;while(idx<str.length){if(str.charAt(idx)=='+'||str.charAt(idx)==' '||str.charAt(idx)=='\t'||isalnum(str.charAt(idx))){idx++;continue;}
if(str.charAt(idx)=='"'){inquote=!inquote;}else{ret=false;break;}
idx++;}
if((inquote==1)&&(ret==true)){ret=false;}
return ret;}
function isdigit(ch){chCode=ch.charCodeAt(0);if(((chCode>=48)&&(chCode<=57))){return true;}else{return false;}}
function isalnum(ch){chCode=ch.charCodeAt(0);if(((chCode>=97)&&(chCode<=122))||((chCode>=65)&&(chCode<=90))||((chCode>=48)&&(chCode<=57))||chCode>127){return true;}else{return false;}}
function addTextToList(text,list){var len=list.length;var i;var found;if((text.value!=null)&&(text.value!="")){found=false;for(var count=0;count<len;count++){if(list.options[count]!=null){if(text.value==list.options[count].text){found=true;break;}}}
if(found!=true){list.options[len]=new Option(text.value);list.options[len].title=text.value;len++;}
text.value="";}}
function check_spaces(str)
{for(var i=0;i<str.length;i++){if(str.charAt(i)==' '||str.charAt(i)=='\t'){return true;}}
return false;}
function check_start(str)
{if(str.charAt(0)>='A'&&str.charAt(0)<='Z'){return true;}
if(str.charAt(0)>='a'&&str.charAt(0)<='z'){return true;}
return false;}
function check_cmdb_obj_name(str)
{if(!str||str=='')return-1;if(checkLegalChar(str)==false)return-2;return 0;}
function check_cmdb_obj_name_by_id(obj_id,err_none,err_invalid)
{var obj=document.getElementById(obj_id);if(!obj)return false;var ret=check_cmdb_obj_name(obj.value);return alert_focus_check(ret!=-1&&ret!=-2,obj,ret==-1?err_none:err_invalid);}
function check_user_group_name(str)
{var charset=/[\(\)\<\>\#\"\']/;if(charset.test(str))
return false;return true;}
function check_group_name(str){var re=/[^a-zA-Z0-9\-\/\(\)\_]/;if(re.test(str))
return false;return true;}
function check_rpt_name(str)
{return check_exp(str,Nam_exp);}
function check_id(str)
{for(var i=0;i<str.length;i++){if(str.charAt(i)<'0'||str.charAt(i)>'9'){return false;}}
return true;}
function check_root(dir,root){if((dir=="/Storage")||(dir.substr(0,root.length+1)==root+'/')){return true;}
return false;}
function checkCommonFields(have_comment)
{if(!check_value($('name'),g_msgs.err_name))return false;if(!check_name($('name'),g_msgs.err_namechar))return false;if(have_comment&&checkFieldLength($('comments'),g_msgs.max_comment_length,g_msgs.err_comment)==false)return false;return true;}
var IE=navigator.userAgent.indexOf("MSIE")>0;var FF=navigator.userAgent.indexOf("Gecko")>0;var IE6=/MSIE (\d+\.\d+);/.test(navigator.userAgent)&&Number(RegExp.$1)==6;var FF2=/Firefox\/(\d+\.\d+)/.test(navigator.userAgent)&&Number(RegExp.$1)==2;function check(obj)
{obj.checked=true;}
function uncheck(obj)
{obj.checked=false;}
function enable(obj)
{obj.disabled=false;}
function disable(obj)
{obj.disabled=true;}
function show(obj)
{obj.style.display="";}
function hide(obj)
{obj.style.display="none";}
function display(obj,isYes)
{if(isYes)show(obj);else hide(obj);}
function isChecked(obj)
{return(obj.checked==true);}
function isUnchecked(obj)
{return(obj.checked==false);}
function isEnabled(obj)
{return(obj.disabled==false);}
function nobubble(event)
{if(event.stopPropagation)
event.stopPropagation();else
event.cancelBubble=true;return false;}
function popup_generic_i(link,windowName,width,height,attrs)
{var x=((document.body.clientWidth?document.body.clientWidth+140:800)-width)/2;var y=((document.body.clientHeight?document.body.clientHeight+55+23:600)-height)/2;var popupWindow=window.open(link,windowName,attrs+',width='+width+',height='+height+',top='+y+',left='+x+',screenX='+x+',screenY='+y);if(!popupWindow)
return;popupWindow.resizeTo(width,height);popupWindow.moveTo(x,y);popupWindow.focus();return popupWindow;}
function popup_resizable(link,windowName,width,height)
{return popup_generic_i(link,windowName,width,height,'dependent=yes,scrollbars=yes,resizable=1');}
function popup(link,windowName,width,height)
{return popup_generic_i(link,windowName,width,height,'scrollbars=yes,location=0');}
function popup_nonscrollable(link,windowName,width,height)
{return popup_generic_i(link,windowName,width,height,'dependent=yes,scrollbars=no,resizable=1');}
function popupdlg(obj,link,width,height){window.inputcontainer=obj;popup(link,null,width,height);}
function dlg_close(url)
{if(window.opener){window.close();}else if(parent&&parent.wij_in_modal_op&&parent.wij_in_modal_op()){parent.wij_end_modal_dialog();}else if(url){document.location=url;}}
function appendFormField(thisForm,name,value){var obj=thisForm.elements[name];if(!obj){obj=document.createElement("input");obj.type="hidden";obj.name=name;obj.id=name;thisForm.appendChild(obj);}
obj.value=value;return obj;}
function passwd_change(thePasswd){new_passwd=thePasswd.form["_"+thePasswd.name];if(!new_passwd)
new_passwd=appendFormField(thePasswd.form,"_"+thePasswd.name,"");new_passwd.value=thePasswd.value;}
if(typeof(newObj)=="undefined"){var newObj=null;}
function addFieldOption(){insertOption(newObj.field,new Option(newObj.name?newObj.name:newObj.value,newObj.value),null,true);if(newObj.action)newObj.action(newObj.field);}
function checkCreateObj(field,url,width,height,dlgname,action){if(field.value!=""||field.selectedIndex!=1)
return false;field.selectedIndex=0;newObj=new Object();newObj.addNewObj=addFieldOption;newObj.field=field;newObj.action=action;if(dlgname)
popup(url,dlgname,width,height);else
popup(url,"create_new_dlg",width,height);}
function dlgButtonClick(link)
{if(window.opener){if(opener.inputcontainer)opener.inputcontainer=null;if(opener.newObj)opener.newObj=null;window.close();return;}
if(link&&link.length>0)document.location=link;else history.back();}
function dlgSubmitClick(val){if(window.opener){if(opener.newObj)
opener.newObj.value=typeof(val)=="String"?val:val.value;if(val.form)
appendFormField(val.form,'retval',typeof(val)=="String"?val:val.value);}}
function insertOption(selectField,oOption,compareFn,selectOption){var i=selectField.length;if(compareFn){for(i=0;i<selectField.length;i++){if(compareFn(oOption,selectField.options[i])<0){break;}}}
try{selectField.add(oOption,selectField.options[i]);}
catch(e){selectField.add(oOption,i);}
if(selectOption){selectField.options[i].selected=true;}
return i;}
function removeDupListItems(src_list,dest_list)
{var i,k;for(i=0;i<src_list.length;i++){for(k=0;k<dest_list.length;k++){if(dest_list.options[k].value==src_list.options[i].value){src_list.options[i].value=dest_list.options[k].value;dest_list.options[k].selected=true;}}}
deleteFromDestList(dest_list);}
function removeDupListItemsSub(src_list,dest_list,sub_size)
{var i,k;for(i=0;i<src_list.length;i++){for(k=0;k<dest_list.length;k++){if(dest_list.options[k].value.substring(sub_size)==src_list.options[i].value){src_list.options[i].value=dest_list.options[k].value;dest_list.options[k].selected=true;}}}
deleteFromDestList(dest_list);}
function pad_digit(num,len)
{var str=''+num;while(str.length<len)
str='0'+str;return str;}
function inactivePopup(countdown)
{var twind=window.opener?window.opener.top.window:top.window;var secs=countdown?countdown:60;var timer=setInterval(function(){secs--;if(secs<=0){inactiveCountDown();}
else{$j("#logoutTimeCount").html(secs);}},1000);openModalDialog(generalDialogHtml("<div class='logoutPopup'><p align=center><span id=logoutTimeCount>"+secs+"</span> "+twind.inactiveMsg+"</p></div>"),function(){clearInterval(timer);setInactiveCountDown(twind.inactiveInterval,function(){inactivePopup(countdown)});return true;});}
function inactiveCountDown()
{if(window.opener){window.opener.top.location='/logout?timeout=1';self.close();}
else top.location="/logout?timeout=1";return;}
function clearInactiveCountDown()
{var twind=null;try{if(window.opener)
twind=window.opener.top.window;else
twind=top.window;if(twind.inactiveOpenerTimer!=null){window.clearTimeout(twind.inactiveOpenerTimer);twind.inactiveOpenerTimer=null;}
if(twind.inactiveTimer!=null){if(window.opener)
window.opener.clearTimeout(twind.inactiveTimer);else
window.clearTimeout(twind.inactiveTimer);twind.inactiveTimer=null;}}catch(e){}}
function setInactiveCountDown(secs,proc)
{var twind=null;try{if(window.opener)
twind=window.opener.top.window;else
twind=top.window;if(twind.inactiveOpenerTimer!=null){window.clearTimeout(twind.inactiveOpenerTimer);twind.inactiveOpenerTimer=null;}
if(twind.inactiveTimer!=null){if(window.opener)
window.opener.clearTimeout(twind.inactiveTimer);else
window.clearTimeout(twind.inactiveTimer);twind.inactiveTimer=null;}
twind.inactiveInterval=secs;if(window.opener)
twind.inactiveOpenerTimer=window.setTimeout(proc?proc:inactiveCountDown,secs*1000);else
twind.inactiveTimer=window.setTimeout(proc?proc:inactiveCountDown,secs*1000);}catch(e){}}
function get_xmlhttp(){return window.XMLHttpRequest||!window.ActiveXObject?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");}
function send_request(str_url,str_body){var xmlhttp=get_xmlhttp();var str_method=str_body?"POST":"GET";xmlhttp.open(str_method,str_url,false);xmlhttp.send(str_body);return xmlhttp.responseText;}
var Request=new Object();Request.send=function(url,method,callback,data,urlencoded){var req=window.XMLHttpRequest||!window.ActiveXObject?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");var readychange=function(){if(req.readyState<4)
return;req.onreadystatechange=function(){};if(!callback)callback=function(){};if(req.errorDetect)
callback(req);else try{if(req&&req.status&&req.status==200){if(method=="POST")
callback(req);else
callback(req,data);}else if(typeof req=="undefined"||typeof req.status=="undefined"){}else if(req.status==404){alert('Request URL was not found.');callback(req);}}catch(e){}}
function do_request(){if(method=="POST"){req.open("POST",url,true);if(urlencoded)req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');req.onreadystatechange=readychange;req.send(data);}else{req.open("GET",url,true);req.onreadystatechange=readychange;req.send(null);}}
do_request();return req;}
Request.sendRawPOST=function(url,data,callback){return Request.send(url,"POST",callback,data,false);}
Request.sendPOST=function(url,data,callback){return Request.send(url,"POST",callback,data,true);}
Request.sendGET=function(url,callback,args){return Request.send(url,"GET",callback,args);}
var HTTPRequest={};HTTPRequest.sendGET=function(url,callback,args){var req=Request.send(url,"GET",callback,args);try{req.errorDetect=true}catch(e){};return req;}
function obj_del(obj,msg){var row_obj=obj.parentNode.parentNode;var row_mout;if(row_obj&&row_obj.config)
{row_mout=row_obj.onmouseout;row_obj.onmouseout=null;}
var ret=confirm(msg);if(row_obj&&row_obj.config)
{row_obj.onmouseout=row_mout;row_obj.onmouseout();}
return ret;}
function getValuesByName(nameExp,includeAll){var i;var re=new RegExp(nameExp);var objElementArray=document.getElementsByTagName("input");var values=new Array();for(i=0;i<objElementArray.length;i++){if(re.test(objElementArray[i].name)){if(objElementArray[i].type=="checkbox"){if(!includeAll&&!objElementArray[i].checked)continue;if(includeAll&&!objElementArray[i].checked){values[values.length]=0;continue;}
if(objElementArray[i].value=="on"){values[values.length]=1;}
else{values[values.length]=objElementArray[i].value;}}else{values[values.length]=objElementArray[i].value;}}}
return values;}
function setProperty(obj,property,value){var evalStr="obj."+property+"="+value+";";eval(evalStr);}
function setPropertyByName(rootObj,elementNames,nameExp,property,value,use_id){var i,j;var re=new RegExp(nameExp);var objElementArray;var obj_ref;if(use_id==null)
use_id=false;for(i=0;i<elementNames.length;i++){objElementArray=rootObj.getElementsByTagName(elementNames[i]);for(j=0;j<objElementArray.length;j++){obj_ref=use_id?objElementArray[j].id:objElementArray[j].name;if(re.test(obj_ref)&&(!objElementArray[j].disabled||property=="disabled")){setProperty(objElementArray[j],property,value);}}}}
function checkInputByName(rootObj,nameExp,checked){setPropertyByName(rootObj,['input'],nameExp,"checked",checked);}
function twistSection(controlObj,idArray){if(!idArray||!idArray.length)
return;var disp=$(idArray[0]).style.display=="none";for(var i=0;i<idArray.length;i++)
$(idArray[i]).style.display=disp?"":"none";if(controlObj.src)
controlObj.src="/theme/images/"+(disp?"twistie_expanded.gif":"twistie_collapsed.gif");}
function selectOptions(selectObj,optionArray,compareFn,selectValue,scroll){var numberSelected=0;var objOption=null;for(var i=0;i<selectObj.length;i++){for(var j=0;j<optionArray.length;j++){if(compareFn(selectObj[i],optionArray[j])==0){selectObj[i].selected=selectValue;numberSelected++;objOption=selectObj[i];break;}}}
if(scroll&&objOption)objOption.scrollIntoView();return numberSelected;}
function optionsToArray(selectObj,mode,remove,startIndex,endIndex){var optionArray=new Array();var i=startIndex?startIndex:0;endIndex=endIndex?endIndex:selectObj.length;while(i<endIndex){switch(mode){case 0:if(!selectObj[i].selected){optionArray[optionArray.length]=selectObj[i];if(remove){selectObj.removeChild(selectObj[i]);endIndex--;break;}}
i++;break;case 1:if(selectObj[i].selected){optionArray[optionArray.length]=selectObj[i];if(remove==1){selectObj.removeChild(selectObj[i]);endIndex--;break;}}
i++;break;case 2:default:optionArray[optionArray.length]=selectObj[i];if(remove==1){selectObj.removeChild(selectObj[i]);endIndex--;break;}
i++;}}
return optionArray;}
function arrayToOptions(selectObj,optionArray){for(var i=0;i<optionArray.length;i++){selectObj.options[selectObj.options.length]=new Option(optionArray[i].text,optionArray[i].value,optionArray[i].selected);selectObj.options[selectObj.options.length-1].selected=optionArray[i].selected;}}
function stringToOption(stringArray){var optionArray=new Array();for(var i=0;i<stringArray.length;i++){optionArray[i]=new Option(stringArray[i],stringArray[i],false);optionArray[i].selected=false;}
return optionArray;}
function optionToString(optionArray){var stringArray=[];for(var i=0;i<optionArray.length;i++){stringArray[i]=optionArray[i].value;}
return stringArray;}
function compareObjTextString(a,b){if(a.text<b.text)return-1;if(a.text>b.text)return 1;return 0;}
function compareObjValueString(a,b){if(a.value<b.value)return-1;if(a.value>b.value)return 1;return 0;}
function sortOptions(selectObj,compareFn){var optionArray=optionsToArray(selectObj,2,1);optionArray.sort(compareFn);arrayToOptions(selectObj,optionArray);}
function send_soap_request(request,callback)
{var prefix="<?xml version='1.0' encoding='UTF-8'?>"+'<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"'+'xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"'+'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'+'xmlns:xsd="http://www.w3.org/2001/XMLSchema"'+'xmlns:ns2="urn:FortiAnalyzerWS"'+'xmlns:ns1="http://localhost:8080/FortiAnalyzerWS.wsdl">'+'<SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><req>';var suffix='</req></SOAP-ENV:Body></SOAP-ENV:Envelope>';var message=prefix+request+suffix;var xmlhttp;if(window.XMLHttpRequest)
{xmlhttp=new XMLHttpRequest();}
else if(window.ActiveXObject)
{xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}
xmlhttp.open('POST','/FortiAnalyzerWS',true);xmlhttp.setRequestHeader("MessageType","CALL");xmlhttp.setRequestHeader("Content-Type","text/xml");xmlhttp.onreadystatechange=function(){if(xmlhttp.readyState==4){if(xmlhttp.status>=200&&xmlhttp.status<300){var xmldoc=xmlhttp.responseXML;if(!xmldoc)
{alert("Error \n")
return;}
var env=xmldoc.getElementsByTagName('Envelope').item(0);if(!env||env.childNodes.length<=0){alert("Invalid reply, no SOAP body");return;}
var body=env.childNodes[0];if(body.childNodes.length<=0){alert("Invalid reply, no FortiResponse");return;}
var response=body.childNodes[0];callback(response);}else{alert('There was a problem with the request.'+xmlhttp.status);}}}
xmlhttp.send(message);}
function clear_table(tablename)
{var tbl=document.getElementById(tablename);if(!tbl)
return;var lastRow=tbl.rows.length;var start_index=1;for(var r=lastRow-1;r>=start_index;r--)
{tbl.deleteRow(r);}}
function add_row(tablename,arr)
{var tbl=document.getElementById(tablename);if(!tbl)
return;var lastRow=tbl.rows.length;var row=tbl.insertRow(lastRow);for(r=0;r<arr.length;r++)
{var cell=row.insertCell(r);cell.innerHTML=arr[r];}}
function set_req_header(req,username,password,domain)
{req=req+'<ns2:Header>'+'<ns2:UserName>'+username+'</ns2:UserName>'+'<ns2:Password>'+password+'</ns2:Password>'+'<ns2:Domain>'+domain+'</ns2:Domain>'+'</ns2:Header>';return req;}
function set_req_top_users(req,top_type,devicename,timeframe,maxmatch,start,search,resolve)
{req=req+'<ns2:Body><ns2:FortiAnalyzerNetworkSummary>'+'<ns2:TopUsers>';if(top_type==0){req=req+'<ns2:Type>WebTraffic</ns2:Type>';}else if(top_type==1){req=req+'<ns2:Type>EmailTraffic</ns2:Type>';}else if(top_type==2){req=req+'<ns2:Type>FTPTraffic</ns2:Type>';}else if(top_type==3){req=req+'<ns2:Type>IM_P2PTraffic</ns2:Type>';}
req=req+'<ns2:DeviceName>'+devicename+'</ns2:DeviceName>';if(timeframe=='hour')
{req=req+'<ns2:TimeFrame>Hour</ns2:TimeFrame>';}else if(timeframe=='day')
{req=req+'<ns2:TimeFrame>24 Hours</ns2:TimeFrame>';}else if(timeframe=='week')
{req=req+'<ns2:TimeFrame>7 Days</ns2:TimeFrame>';}else if(timeframe=='month')
{req=req+'<ns2:TimeFrame>30 Days</ns2:TimeFrame>';}
req=req+'<ns2:MaxNumMatches>'+maxmatch+'</ns2:MaxNumMatches>';req=req+'<ns2:StartIndex>'+start+'</ns2:StartIndex>';req=req+'<ns2:SearchCriteria>'+search+'</ns2:SearchCriteria>';if(resolve){req=req+'<ns2:ResolveHostName>Yes</ns2:ResolveHostName>';}else{req=req+'<ns2:ResolveHostName>No</ns2:ResolveHostName>';}
req=req+'</ns2:TopUsers></ns2:FortiAnalyzerNetworkSummary></ns2:Body>';return req;}
function list_top_users(fortiresponse)
{var totalfound,totaldata,totalDownloads,totalMessages,totalfileTrans,totalUploads;var table='datatable';var no=1;if(!fortiresponse||fortiresponse.childNodes.length<=0)
{alert("Data not available");return;}
var topusers=fortiresponse.childNodes[0];if(!topusers||topusers.childNodes.length<=0)
{alert("Invalid syntax");return;}
var topusers_results=topusers.childNodes[0];if(!topusers_results||topusers_results.childNodes.length<=0)
{alert("Invalid syntax");return;}
clear_table(table);for(var i=0;i<topusers_results.childNodes.length;i++)
{if(topusers_results.childNodes[i].tagName=="ns2:TotalResultsFound"){totalfound=topusers_results.childNodes[i].textContent;}else if(topusers_results.childNodes[i].tagName=="ns2:TotalDataInMB"){totaldata=topusers_results.childNodes[i].textContent;}else if(topusers_results.childNodes[i].tagName=="ns2:TotalDownloads"){totalDownloads=topusers_results.childNodes[i].textContent;}else if(topusers_results.childNodes[i].tagName=="ns2:TotalMessages"){totalMessages=topusers_results.childNodes[i].textContent;}else if(topusers_results.childNodes[i].tagName=="ns2:TotalFileTransfers"){totalfileTrans=topusers_results.childNodes[i].textContent;}else if(topusers_results.childNodes[i].tagName=="ns2:TotalUploads"){totalUploads=topusers_results.childNodes[i].textContent;}else if(topusers_results.childNodes[i].tagName=="ns2:TrafficSummariesEntries"){var report_entry=topusers_results.childNodes[i];var num_col=report_entry.childNodes.length+1;var arr=new Array(num_col);arr[0]=no++;for(var x=1;x<num_col;x++)
{arr[x]="";if(report_entry.childNodes[x-1].tagName=="ns2:Traffic")
{var v=report_entry.childNodes[x-1].textContent;v=v/(1024*1024);var val=v.toFixed(2);}else if(report_entry.childNodes[x-1].tagName=="ns2:LastActivity")
{var v=report_entry.childNodes[x-1].textContent;var val1=v.replace("T"," ");var val=val1.replace("Z","");}else
{val=report_entry.childNodes[x-1].textContent;}
arr[x]=val;}
add_row(table,arr);}}
var l=document.getElementById('datasummary');if(totalUploads&&totalDownloads)
{l.innerHTML=totaldata+" MB, "+totalDownloads+" Downloads, "+totalUploads+" Uploads";}else if(totalMessages&&totalfileTrans)
{l.innerHTML=totaldata+" MB, "+totalMessages+" Messages,"+totalfileTrans+" File transfers";}else
{l.innerHTML=totaldata+" MB";}}
function set_req_security_events(req,top_type,devicename,timeframe,maxmatch,start)
{req=req+'<ns2:Body><ns2:FortiAnalyzerNetworkSummary><ns2:SecurityEvent>';if(top_type==1){req=req+'<ns2:Type>VirusActivity</ns2:Type>';}else if(top_type==2){req=req+'<ns2:Type>IntrusionActivity</ns2:Type>';}else if(top_type==3){req=req+'<ns2:Type>SuspiciousTrafficActivity</ns2:Type>';}else if(top_type==4){req=req+'<ns2:Type>SuspiciousSessionsActivity</ns2:Type>';}else if(top_type==5){req=req+'<ns2:Type>AdministrativeActivity</ns2:Type>';}
req=req+'<ns2:DeviceName>'+devicename+'</ns2:DeviceName>';if(timeframe=="hour"){req=req+'<ns2:TimeFrame>Hour</ns2:TimeFrame>';}else if(timeframe=="day"){req=req+'<ns2:TimeFrame>24 Hours</ns2:TimeFrame>';}else if(timeframe=="week"){req=req+'<ns2:TimeFrame>7 Days</ns2:TimeFrame>';}else if(timeframe=="month"){req=req+'<ns2:TimeFrame>30 Days</ns2:TimeFrame>';}
req=req+'<ns2:MaxNumMatches>'+maxmatch+'</ns2:MaxNumMatches>';req=req+'<ns2:StartIndex>'+start+'</ns2:StartIndex>';req=req+'</ns2:SecurityEvent></ns2:FortiAnalyzerNetworkSummary></ns2:Body>';return req;}
function list_security_events(fortiresponse)
{var totalfound,startindex;if(!fortiresponse||fortiresponse.childNodes.length<=0)
{alert("Data not available");return;}
var topusers=fortiresponse.childNodes[0];if(!topusers||topusers.childNodes.length<=0)
{alert("Invalid syntax");return;}
var topusers_results=topusers.childNodes[0];if(!topusers_results||topusers_results.childNodes.length<=0)
{alert("Invalid syntax");return;}
clear_table("datatable");for(var i=0;i<topusers_results.childNodes.length;i++)
{if(topusers_results.childNodes[i].tagName=="ns2:TotalResultsFound"){totalfound=topusers_results.childNodes[i].textContent;}else{var report_entry=topusers_results.childNodes[i];var num_col=report_entry.childNodes.length+1;var arr=new Array(num_col);arr[0]=i;for(var x=1;x<num_col;x++)
{arr[x]="";if(report_entry.childNodes[x-1].tagName=="ns2:Usage")
{var v=report_entry.childNodes[x-1].textContent;v=v/(1024*1024);var val=v.toFixed(2);}else if(report_entry.childNodes[x-1].tagName=="ns2:LastActivity")
{var v=report_entry.childNodes[x-1].textContent;var val1=v.replace("T"," ");var val=val1.replace("Z","");}else
{val=report_entry.childNodes[x-1].textContent;}
arr[x]=val;}
add_row("datatable",arr);}}}
function list_security_events2(fortiresponse)
{var totalfound,startindex;if(!fortiresponse||fortiresponse.childNodes.length<=0)
{alert("Data not available");return;}
var topusers=fortiresponse.childNodes[0];if(!topusers||topusers.childNodes.length<=0)
{alert("Invalid syntax");return;}
var topusers_results=topusers.childNodes[0];if(!topusers_results||topusers_results.childNodes.length<=0)
{alert("Invalid syntax");return;}
clear_table("datatable2");for(var i=0;i<topusers_results.childNodes.length;i++)
{if(topusers_results.childNodes[i].tagName=="ns2:TotalResultsFound"){totalfound=topusers_results.childNodes[i].textContent;}else{var report_entry=topusers_results.childNodes[i];var num_col=report_entry.childNodes.length+1;var arr=new Array(num_col);arr[0]=i;for(var x=1;x<num_col;x++)
{arr[x]="";if(report_entry.childNodes[x-1].tagName=="ns2:Usage")
{var v=report_entry.childNodes[x-1].textContent;v=v/(1024*1024);var val=v.toFixed(2);}else if(report_entry.childNodes[x-1].tagName=="ns2:LastActivity")
{var v=report_entry.childNodes[x-1].textContent;var val1=v.replace("T"," ");var val=val1.replace("Z","");}else
{val=report_entry.childNodes[x-1].textContent;}
arr[x]=val;}
add_row("datatable2",arr);}}}
function set_req_device_summary(req,type,devicename,timeframe)
{req=req+'<ns2:Body><ns2:FortiAnalyzerNetworkSummary>'+'<ns2:DeviceSummary>';if(type==0){req=req+'<ns2:Type>ProtocolDistribution</ns2:Type>';}else if(type==1){req=req+'<ns2:Type>WebFTP</ns2:Type>';}else if(type==2){req=req+'<ns2:Type>Email</ns2:Type>';}else if(type==3){req=req+'<ns2:Type>Multi-media</ns2:Type>';}
req=req+'<ns2:DeviceName>'+devicename+'</ns2:DeviceName>';if(timeframe=="hour"){req=req+'<ns2:TimeFrame>Hour</ns2:TimeFrame>';}else if(timeframe=="day"){req=req+'<ns2:TimeFrame>24 Hours</ns2:TimeFrame>';}else if(timeframe=="week"){req=req+'<ns2:TimeFrame>7 Days</ns2:TimeFrame>';}else if(timeframe=="month"){req=req+'<ns2:TimeFrame>30 Days</ns2:TimeFrame>';}
req=req+'</ns2:DeviceSummary></ns2:FortiAnalyzerNetworkSummary></ns2:Body>';return req;}
function list_device_summary(fortiresponse)
{var totalfound,startindex;if(!fortiresponse||fortiresponse.childNodes.length<=0)
{alert("Data not available");return;}
var device_summary=fortiresponse.childNodes[0];if(!device_summary||device_summary.childNodes.length<=0)
{alert("Invalid syntax");return;}
var device_summary_results=device_summary.childNodes[0];if(!device_summary_results||device_summary_results.childNodes.length<=0)
{alert("Invalid syntax");return;}
for(var i=0;i<device_summary_results.childNodes.length;i++)
{if(device_summary_results.childNodes[i].tagName=="ns2:DeviceSummaryGraph")
{var img_entry=device_summary_results.childNodes[i];var fields=img_entry.childNodes.length;if(fields<2)
{continue;}
var img=document.getElementById('dataimg'+i);img.src='data:image/png;base64,'+img_entry.childNodes[1].textContent;}}}
function set_req_traffic_report(req,reportname,deletereport,config,devicename,timeframe,includetop,pdf,rtf)
{req=req+'<ns2:Body><ns2:FortiAnalyzerNetworkSummary>'+'<ns2:TrafficReport>';req=req+'<ns2:ReportName>'+reportname+'</ns2:ReportName>';if(deletereport){req=req+'<ns2:Command>Delete</ns2:Delete>';}else{req=req+'<ns2:Command>ConfigureAndRun</ns2:Delete>';}
if(config){req=req+'<ns2:Configure>';if(timeframe=='hour')
{req=req+'<ns2:TimeFrame>Hour</ns2:TimeFrame>';}else if(timeframe=='day')
{req=req+'<ns2:TimeFrame>24 Hours</ns2:TimeFrame>';}else if(timeframe=='week')
{req=req+'<ns2:TimeFrame>7 Days</ns2:TimeFrame>';}else if(timeframe=='month')
{req=req+'<ns2:TimeFrame>30 Days</ns2:TimeFrame>';}
if(includetop){req=req+'<ns2:IncludeTopUserSummary>Yes</ns2:IncludeTopUserSummary>';}else{req=req+'<ns2:IncludeTopUserSummary>No</ns2:IncludeTopUserSummary>';}
req=req+'<ns2:DeviceName>'+devicename+'</ns2:DeviceName>';if(pdf){req=req+'<ns2:Output>PDF</ns2:Output>';}
if(rtf){req=req+'<ns2:Output>MSWord</ns2:Output>';}
req=req+'</ns2:Configure>';}
req=req+'</ns2:TrafficReport></ns2:FortiAnalyzerNetworkSummary></ns2:Body>';return req;}
function list_traffic_report(fortiresponse)
{var totalfound,startindex;if(!fortiresponse||fortiresponse.childNodes.length<=0)
{alert("Data not available");return;}
var traffic_report=fortiresponse.childNodes[0];if(!traffic_report||traffic_report.childNodes.length<=0)
{alert("Invalid syntax");return;}
var traffic_report_results=traffic_report.childNodes[0];if(!traffic_report_results||traffic_report_results.childNodes.length<=0)
{alert("Invalid syntax");return;}
for(var i=0;i<traffic_report_results.childNodes.length;i++)
{if(traffic_report_results.childNodes[i].tagName=="ns2:Status")
{}}}
function set_req_browser_report(req,reporttype,starttime,endtime)
{req=req+'<ns2:Body><ns2:FortiAnalyzerListGeneratedReports>';req=req+'<ns2:Type>'+reporttype+'</ns2:Type>';req=req+'<ns2:CreateDateStart>'+starttime+'</ns2:CreateDateStart>';req=req+'<ns2:CreateDateEnd>'+endtime+'</ns2:CreateDateEnd>';req=req+'</ns2:FortiAnalyzerListGeneratedReports></ns2:Body>';return req;}
function list_browser_report(fortiresponse)
{var val;var table='datatable';if(!fortiresponse||fortiresponse.childNodes.length<=0)
{alert("Data not available");return;}
var reports_results=fortiresponse.childNodes[0];if(!reports_results||reports_results.childNodes.length<=0)
{alert("Invalid syntax");return;}
clear_table(table);for(var i=0;i<reports_results.childNodes.length;i++)
{if(reports_results.childNodes[i].tagName=="ns2:ReportList"){var report_entry=reports_results.childNodes[i];var num_col=report_entry.childNodes.length+1;var arr=new Array(num_col);arr[0]=i;for(var x=1;x<num_col;x++)
{arr[x]="";if(report_entry.childNodes[x-1].tagName=="ns2:GeneratedReport"){val=report_entry.childNodes[x-1].textContent;}else if(report_entry.childNodes[x-1].tagName=="ns2:StartTime"){var v=report_entry.childNodes[x-1].textContent;var val1=v.replace("T"," ");val=val1.replace("Z","");}else if(report_entry.childNodes[x-1].tagName=="ns2:EndTime"){var v=report_entry.childNodes[x-1].textContent;var val1=v.replace("T"," ");val=val1.replace("Z","");}else if(report_entry.childNodes[x-1].tagName=="ns2:ReportProgressPercent"){val=report_entry.childNodes[x-1].textContent;if(val!=100){val+="%";arr[x-1]=val;}
val="";}else if(report_entry.childNodes[x-1].tagName=="ns2:Size"){val="";}else if(report_entry.childNodes[x-1].tagName=="ns2:Formats"){var var1="";val=report_entry.childNodes[x-1].textContent;if(val.indexOf("P")>=0)
var1+="PDF ";if(val.indexOf("R")>0)
var1+="MSWord ";if(val.indexOf("T")>0)
var1+="TXT ";if(val.indexOf("M")>0)
var1+="MHT ";val=var1;}else if(report_entry.childNodes[x-1].tagName=="ns2:ActivityReports"){}
arr[x]=val;}
add_row(table,arr);}}}
function set_req_get_systemstatus(req)
{req=req+'<ns2:Body><ns2:FortiAnalyzerGetSystemStatus>';req=req+'</ns2:FortiAnalyzerGetSystemStatus></ns2:Body>';return req;}
function list_get_systemstatus(fortiresponse)
{var val;if(!fortiresponse||fortiresponse.childNodes.length<=0)
{alert("Data not available");return;}
var system_status=fortiresponse.childNodes[0];if(!system_status||system_status.childNodes.length<=0)
{alert("Invalid syntax");return;}
for(var i=0;i<system_status.childNodes.length;i++)
{if(system_status.childNodes[i].tagName=="ns2:SerialNumber"){document.getElementById('SerialNumber').innerHTML=system_status.childNodes[i].textContent;}else if(system_status.childNodes[i].tagName=="ns2:UpTime"){document.getElementById('UpTime').innerHTML=system_status.childNodes[i].textContent;}else if(system_status.childNodes[i].tagName=="ns2:HostName"){document.getElementById('HostName').innerHTML=system_status.childNodes[i].textContent;}else if(system_status.childNodes[i].tagName=="ns2:FirmwareVersion"){document.getElementById('FirmwareVersion').innerHTML=system_status.childNodes[i].textContent;}else if(system_status.childNodes[i].tagName=="ns2:LicenseInfo_RVSEngine"){document.getElementById('LicenseInfo_RVSEngine').innerHTML=system_status.childNodes[i].textContent;}else if(system_status.childNodes[i].tagName=="ns2:LicenseInfo_RVPPlugins"){document.getElementById('LicenseInfo_RVPPlugins').innerHTML=system_status.childNodes[i].textContent;}else if(system_status.childNodes[i].tagName=="ns2:DeviceLicense_FortiGateSyslogs_reg"){document.getElementById('DeviceLicense_FortiGateSyslogs_reg').innerHTML=system_status.childNodes[i].textContent;}else if(system_status.childNodes[i].tagName=="ns2:DeviceLicense_FortiGateSyslogs_unreg"){document.getElementById('DeviceLicense_FortiGateSyslogs_unreg').innerHTML=system_status.childNodes[i].textContent;}else if(system_status.childNodes[i].tagName=="ns2:DeviceLicense_FortiManagers_reg"){document.getElementById('DeviceLicense_FortiManagers_reg').innerHTML=system_status.childNodes[i].textContent;}else if(system_status.childNodes[i].tagName=="ns2:DeviceLicense_FortiManagers_unreg"){document.getElementById('DeviceLicense_FortiManagers_unreg').innerHTML=system_status.childNodes[i].textContent;}else if(system_status.childNodes[i].tagName=="ns2:SystemResources_mem"){document.getElementById('SystemResources_mem').innerHTML=system_status.childNodes[i].textContent+"%";}else if(system_status.childNodes[i].tagName=="ns2:SystemResources_cpu"){document.getElementById('SystemResources_cpu').innerHTML=system_status.childNodes[i].textContent+"%";}else if(system_status.childNodes[i].tagName=="ns2:SystemResources_HD"){document.getElementById('SystemResources_HD').innerHTML=system_status.childNodes[i].textContent+"%";}}}
function set_search(req,search_type,format,filter,maxmatch,start)
{req=req+'<ns2:Body><ns2:FortiAnalyzerSearch>';req=req+'<ns2:Content>'+search_type+'</ns2:Content>';req=req+'<ns2:Format>'+format+'</ns2:Format>';req=req+'<ns2:SearchCriteria>'+filter+'</ns2:SearchCriteria>';req=req+'<ns2:MaxNumMatches>'+maxmatch+'</ns2:MaxNumMatches>';req=req+'<ns2:StartIndex>'+start+'</ns2:StartIndex>';req=req+'</ns2:FortiAnalyzerSearch></ns2:Body>';return req;}
function list_search(fortiresponse)
{var totalfound=0,matchreturn,startindex;var table='datatable'
if(!fortiresponse||fortiresponse.childNodes.length<=0)
{alert("Data not available");return;}
var search_results=fortiresponse.childNodes[0];if(!search_results||search_results.childNodes.length<=0)
{alert("Invalid syntax");return;}
clear_table(table);for(var i=0;i<search_results.childNodes.length;i++)
{if(search_results.childNodes[i].tagName=="ns2:TotalResultsFound"){totalfound=search_results.childNodes[i].textContent;document.getElementById('totalmatch').innerHTML="total found:"+totalfound;}else if(search_results.childNodes[i].tagName=="ns2:MatchesReturned"){matchreturn=search_results.childNodes[i].textContent;document.getElementById('current').innerHTML="current show:"+matchreturn;}else if(search_results.childNodes[i].tagName=="ns2:StartIndex"){startindex=search_results.childNodes[i].textContent;}else if(search_results.childNodes[i].tagName=="ns2:Logs"){var logs=search_results.childNodes[i];for(var j=0;j<logs.childNodes.length;j++){var data=logs.childNodes[j].childNodes[0];if(data.tagName=="ns2:LogEntry"){var arr=new Array(2);arr[0]=j;arr[1]=data.textContent;}else{var num_col=data.childNodes.length+1;var arr=new Array(num_col);arr[0]=j;for(var x=1;x<num_col;x++){arr[x]=data.childNodes[x-1].textContent;;}}
add_row(table,arr);}}}
if(totalfound==0)
document.getElementById('totalmatch').innerHTML="total found:"+0;}
function pwdChangeCB(flg_field){if(flg_field==null)
{flg_field=document.getElementById('pwdchg');if(flg_field==null)
{flg_field=document.forms[0].pwdchg;}}
if(flg_field!=null&&flg_field.value==0)
{flg_field.value=1;}}
function removeOptions(field){var removedOptions=document.createElement("select");var i;var j=0;for(i=0;i<field.options.length;i++){if(field.options[i].selected){removedOptions.options[j]=new Option();removedOptions.options[j].text=field.options[i].text;removedOptions.options[j].value=field.options[i].value;removedOptions.options[j].selected=true;field.options[i]=null;i--;j++;}}
return removedOptions;}
function moveOptionField(fromField,toField){var insertIndex=toField.options.length;var selectedOptions;var insertNumber=0;var i;for(i=0;i<toField.options.length;i++){if(toField.options[i].selected){insertIndex=i+1;toField.options[i].selected=false;}}
selectedOptions=removeOptions(fromField);toField.options.length+=selectedOptions.options.length;for(i=(toField.options.length-1);i>=(insertIndex+selectedOptions.options.length);i--){toField.options[i].text=toField.options[i-selectedOptions.options.length].text;toField.options[i].value=toField.options[i-selectedOptions.options.length].value;}
for(i=0;i<selectedOptions.options.length;i++,insertIndex++){toField.options[insertIndex].text=selectedOptions.options[i].text;toField.options[insertIndex].value=selectedOptions.options[i].value;toField.options[insertIndex].selected=true;}}
function moveOptionUp(selectField){var i;var oOption=new Option();var length=selectField.options.length;if(length==0||selectField.options[0].selected){return 0;}
for(i=1;i<length;i++){if(selectField.options[i].selected){oOption.text=selectField.options[i-1].text;oOption.value=selectField.options[i-1].value;selectField.options[i-1].text=selectField.options[i].text;selectField.options[i-1].value=selectField.options[i].value;selectField.options[i-1].selected=true;selectField.options[i].text=oOption.text;selectField.options[i].value=oOption.value;selectField.options[i].selected=false;}}}
function moveOptionDown(selectField){var i;var oOption=new Option();var length=selectField.options.length;if(length==0||selectField.options[length-1].selected){return 0;}
for(i=length-1;i>=0;i--){if(selectField.options[i].selected){oOption.text=selectField.options[i+1].text;oOption.value=selectField.options[i+1].value;selectField.options[i+1].text=selectField.options[i].text;selectField.options[i+1].value=selectField.options[i].value;selectField.options[i+1].selected=true;selectField.options[i].text=oOption.text;selectField.options[i].value=oOption.value;selectField.options[i].selected=false;}}}
function initOptionField(avail_list,sel_list,selarray)
{for(var i=0;i<avail_list.options.length;i++){for(var j=0;j<selarray.length;j++)
if(avail_list.options[i].value==selarray[j]){avail_list.options[i].selected=true;break;}}
moveOptionField(avail_list,sel_list);}
function getElementsByNameRegex(rootObj,elementNames,re){var i,j;var objElementArray;var coll=new Array();for(i=0;i<elementNames.length;i++){objElementArray=rootObj.getElementsByTagName(elementNames[i]);for(j=0;j<objElementArray.length;j++){if(re.test(objElementArray[j].name)){coll.push(objElementArray[j]);}}}
return coll;}
function getQueryValue(url,name)
{name=name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var regexS="[\\?&]"+name+"=([^&#]*)";var regex=new RegExp(regexS);var results=regex.exec(url);if(results==null)
return"";else
return decodeURIComponent(results[1].replace(/\+/g," "));}
function setQueryValue(url,name,value){var re=new RegExp("([?|&])"+name+"=.*?(&|$)");var str=(typeof(value=="undefined")||value==null)?"":name+"="+value;var done=0;var newUrl=(url||"").replace(re,function($m,$1,$2){done=1;return str?$1+str+$2:($1=='?'?$1:$2);});if(!done&&str)newUrl+=(newUrl.indexOf("?")<0?"?":"&")+str;return newUrl;}
function submit_all_selected(confirm_msg,result_id,separator,use_index,form_index,re)
{var count=0;var obj,objArray;var checked_lines="";if(!result_id)result_id="checked_lines";if(!form_index)form_index=0;if(!re)re=/^line_checkbox/;if(!separator)separator=",";objArray=getElementsByNameRegex(document,['input'],re);for(i=objArray.length-1;i>=0;i--){obj=objArray[i];if(isChecked(obj)&&isEnabled(obj)){if(count!=0)
checked_lines=checked_lines+separator;checked_lines=checked_lines+(use_index?i:obj.value);count=count+1;}}
if(count!=0){var form=document.forms[form_index];var em=document.getElementById(result_id);if(em)
em.value=checked_lines;else
appendFormField(form,result_id,checked_lines);if(!confirm_msg||(confirm(confirm_msg)==true)){if(!form.onsubmit||form.onsubmit())
form.submit();}}
return false;}
function delete_all_selected(del_all_msg,separator,use_index,result_id,form_index,re)
{submit_all_selected(del_all_msg,result_id,separator,use_index,form_index,re);}
function show_download_all_button()
{var obj=document.getElementById('download_all');if(obj)
{obj.className='button';obj.parentNode.className='downloadAll';}}
function getCheckedCount(re)
{var objArray;var count=0;if(!re)re=/^line_checkbox/;objArray=getElementsByNameRegex(document,['input'],re);for(var i=0;i<objArray.length;i++){if(isChecked(objArray[i])&&isEnabled(objArray[i]))
count++;}
return count;}
function check_all()
{var chk,checked_value;var obj,objArray;chk=document.getElementById('checkallbox');checked_value=isChecked(chk);objArray=document.getElementsByTagName("input");for(i=0;i<objArray.length;i++){obj=objArray[i];if(obj.type=="checkbox"&&obj.name.indexOf("line_checkbox")>=0&&isEnabled(obj)){obj.checked=checked_value;}}}
function check_row(e){while(e&&e.tagName!='TR')
e=e.parentNode;if(!e)return false;var elmts=e.getElementsByTagName('INPUT');for(var i=0;i<elmts.length;i++){if(elmts[i].type!='checkbox')
continue;elmts[i].checked=true;return true;}
return false;}
function line_checkbox_clicked()
{var chk,checked_value=true;var obj,objArray;objArray=document.getElementsByTagName("input");for(i=0;i<objArray.length;i++){obj=objArray[i];if(obj.type=="checkbox"&&obj.name.indexOf("line_checkbox")>=0){if(isUnchecked(obj)&&isEnabled(obj)){checked_value=false;break;}}}
chk=document.getElementById('checkallbox');chk.checked=checked_value;}
function scrollTableHeader(headerID,containerID)
{var containerDiv=document.getElementById(containerID);var headerTable=document.getElementById(headerID);if(containerDiv&&headerTable)
{headerTable.style.left=-1*containerDiv.scrollLeft;}}
function matchTables(headerID,contentID,containerID,headerContainerID)
{var contentTable=document.getElementById(contentID);var headerTable=document.getElementById(headerID);var containerDiv=document.getElementById(containerID);var headerDiv=headerContainerID?document.getElementById(headerContainerID):null;if(contentTable&&headerTable&&containerDiv)
{var tableHeader=contentTable.getElementsByTagName('thead');var tableBody=contentTable.getElementsByTagName('tbody');var tableHeadings=null;var tableRows=null;var tableCells=null;var headingsCount=null;if(tableHeader.length)
{tableHeader=tableHeader[0]
tableHeadings=tableHeader.getElementsByTagName('th');headingsCount=tableHeadings.length;}
if(tableBody.length)
tableRows=tableBody[0].getElementsByTagName('tr');if(!tableHeadings||!headingsCount||!tableRows)
return;for(var j=0;j<tableRows.length;j++)
{tableCells=tableRows[j].cells;if(tableCells.length==headingsCount)
break;}
if(!tableCells||tableCells.length!=headingsCount){containerDiv.style.height='auto';return;}
for(var i=0;i<tableHeadings.length;i++)
{tableHeadings[i].width=tableHeadings[i].offsetWidth;tableCells[i].width=tableCells[i].offsetWidth-4;}
headerTable.style.width=contentTable.offsetWidth+'px';contentTable.style.width=contentTable.offsetWidth+'px';containerDiv.style.overflow='auto';if((contentTable.offsetWidth+20)>document.body.clientWidth)
containerDiv.style.width=document.body.clientWidth-(Prototype.Browser.IE?20:0)+'px';else
containerDiv.style.width=contentTable.offsetWidth+(Prototype.Browser.IE?20:0)+'px';if((contentTable.offsetHeight)>document.body.clientHeight)
containerDiv.style.height=(document.body.clientHeight-40)+'px';else
containerDiv.style.height=(contentTable.offsetHeight+10)+'px';if(headerDiv)
{containerDiv.onscroll=function(){scrollTableHeader(headerID,containerID);};headerDiv.style.width=containerDiv.style.width;headerTable.style.position='relative';headerDiv.style.overflow='hidden';}
var clonedHeader=tableHeader.cloneNode(true);headerTable.appendChild(clonedHeader);headerTable.style.margin='0';headerTable.style.padding='0';contentTable.removeChild(tableHeader);}}
function get_iframe_object(iframe_name,wnd)
{var iframe=wnd.document.getElementById(iframe_name);var loc_str=new String(wnd.document.location);if(wnd.opener||window.opener||loc_str.indexOf("detach")!=-1)
{return;}
if(!iframe)
{iframe=document.getElementById(iframe_name);}
return iframe;}
function get_iframe_body(iframe)
{var doc=iframe.contentWindow||iframe.contentDocument;if(doc.document)
doc=doc.document;if(doc&&doc.body)
{return doc.body;}
return null;}
function get_iframe_height(iframe)
{var body=get_iframe_body(iframe);var height=0;if(!body)return;if(body.scrollHeight)
height=body.scrollHeight;else if(body.offsetHeight)
height=body.offsetHeight;return height;}
function update_iframe_height(iframe_name,win_obj,clear_height)
{var auto_scroll_height='300px';var auto_size_height_ratio=0.8;var wnd=win_obj?win_obj:window;var iframe=get_iframe_object(iframe_name,wnd);if(!iframe)return;if(iframe.scrolling=='auto')
{iframe.style.height=auto_scroll_height;return;}
if(clear_height)
{iframe.style.height='5px';}
var height=get_iframe_height(iframe);if(typeof wnd.jQuery!="undefined")
{var max_height=Math.floor(wnd.jQuery(wnd).height()*auto_size_height_ratio);if(height>max_height)
{height=max_height;}}
if(height>0)
{iframe.style.height=(height+3)+'px';}}
function tbl_realign_columns(tbl_hdr,tbl)
{var tblElems=[];var hdrElems=[];function get_hdr_elems()
{$j("tr.heading",tbl_hdr).each(function(i){hdrElems=$j(hdrElems).add(this.cells);tblElems=$j(tblElems).add(tbl.rows[i].cells);});return hdrElems.length;}
if(!get_hdr_elems()||tblElems.length!=hdrElems.length)
return;$j(tbl_hdr).width($j(tbl).width()).css("min-width",($j("#main_window")[0]||$j("body")[0]).clientWidth);$j(hdrElems).each(function(i){var w=$j(tblElems[i]).is(":visible")&&tblElems[i].offsetWidth;if(!w){$j(this).hide();}
else{$j("div:first",this).width(w);$j(this).width($j(this).attr("defWidth")?"":w).show();}});}
function relocate_tbl_hdr(contentTable,headerTable)
{var rows=1;var tableHeadings=null;function locate_table_header()
{var hdr=contentTable&&contentTable.rows[0];if(hdr)$j(hdr.cells).each(function(){var r=$j(this).attr("rowspan");if(r>rows)rows=r;});return hdr;}
if(!locate_table_header())
return;$j(headerTable).addClass($j(contentTable).attr("class"));$j(headerTable).attr("cellspacing",$j(contentTable).attr("cellspacing"));$j(headerTable).attr("cellpadding",0);$j(contentTable).attr("cellpadding",0);for(var i=0;i<rows;i++){$j(contentTable.rows[i]).clone().appendTo(headerTable).children().each(function(){$j(this).html("<div class=tbh_spacer height=1 width=1>"+$j(this).html()+"</div>");});}
tbl_realign_columns(headerTable,contentTable);$j(window).resize(function(){tbl_realign_columns(headerTable,contentTable);});$j(document).click(function(){tbl_realign_columns(headerTable,contentTable);});$j(window).scroll(function(){$j("#hrdtc").css("left",-$j(this).scrollLeft());});}
function tbl_realign_tbl_columns(tbl_hdr,tbl)
{var tblElems=[];var hdrElems=[];function get_hdr_elems()
{$j("tr.heading",tbl_hdr).each(function(i){hdrElems=$j(hdrElems).add(this.cells);tblElems=$j(tblElems).add(tbl.rows[i].cells);});return hdrElems.length;}
if(!get_hdr_elems()||tblElems.length!=hdrElems.length)
return;$j(hdrElems).each(function(i){var w=this.offsetWidth;$j("div:first",this).width(w);if($j(this).attr("defWidth")){var minw=parseInt($j(this).attr("defWidth"));$j(tblElems[i]).width(w<=minw?minw:"");}
else{$j(tblElems[i]).width(w)}});$j(tbl_hdr).width($j(tbl).width());}
function relocate_tbl_hdr2(contentTable,headerTable)
{var lastCell;var widths=[];var hdr=$j("thead",contentTable);if(!hdr[0])hdr=$j("tr:first",contentTable);function locate_table_header()
{var cell;$j("th,td",hdr).each(function(){cell=$j(this);lastCell=cell;widths.push([cell,cell.width()]);});$j(lastCell).attr("defWidth",$j(lastCell).width()).css("min-width","30px").css("max-width","none");return hdr;}
if(!locate_table_header())
return;$j(contentTable).addClass("oneline").css("table-layout","fixed");$j(widths).each(function(){this[0].width(this[1]);});$j(headerTable).addClass($j(contentTable).attr("class")).css("table-layout",$j(contentTable).css("table-layout")).attr("cellspacing",$j(contentTable).attr("cellspacing")).attr("cellpadding",$j(contentTable).attr("cellpadding"));$j(headerTable).width($j(contentTable).width()).css("min-width",($j("#main_window")[0]||$j("body")[0]).clientWidth);var hdr_hdr=hdr.clone().appendTo(headerTable);$j("th,td",hdr_hdr).each(function(i){var that=this;$j(this).wrapInner($j("<div class=tbh_spacer></div>"));$j("div:first",this).width(widths[i][1]).resizable({minWidth:30,maxWidth:600,handles:'e',alsoResize:this,start:function(event,ui){$j(headerTable).width("");$j(lastCell).width("");},resize:function(e,ui){},stop:function(event,ui){$j(this).height("");$j(that).height("");if(that==lastCell){$j(lastCell).attr("defWidth",$j(lastCell).width());}
tbl_realign_tbl_columns(headerTable,contentTable);tbl_save_column_widths(contentTable);$j("#hrdtc").css("left",-$j(window).scrollLeft());qlist_realign_floating_header();qlist_realign_floating_footer();}});lastCell=this;});$j(window).scroll(function(){$j("#hrdtc").css("left",-$j(this).scrollLeft());});$j(window).resize(function(){tbl_realign_columns(headerTable,contentTable);});}
function tbl_save_column_widths(table){var cx;var cell;var label;var id;var column_info=[];var log_id=$j(table).attr("ck_name");if(!log_id)return;for(cx=0;cx<table.rows[0].cells.length;cx++){cell=table.rows[0].cells[cx];label=$j.trim($j(cell).text());id=label.replace(/[\s#]/,"")||"_";column_info.push({"name":id,"value":$j(cell).width()});}
setCookie("log/display/size"+log_id,$j.param(column_info));}
function tbl_restore_columns_widths(table,ck_name){var log_id=ck_name;var cookie=getCookie("log/display/size"+log_id);var column_info={};var cx;var ctmp,ftmp;var id,width;if(!log_id)return;$j(table).attr("ck_name",log_id);if(cookie==null){return;}
ctmp=cookie.split("&");for(cx=0;cx<ctmp.length;cx++){ftmp=ctmp[cx].split("=");if(ftmp.length==2){column_info[ftmp[0]]=ftmp[1];}}
$j(table).css("table-layout","fixed");$j(table).addClass("oneline");for(cx=0;cx<table.rows[0].cells.length;cx++){cell=table.rows[0].cells[cx];label=$j.trim($j(cell).text());id=label.replace(/[\s#]/,"")||"_";if(column_info[id]){if(cx==table.rows[0].cells.length-1){if(column_info[id]<=$j(cell).width())
continue;}
$j(cell).css("width",column_info[id]+"px");}}}
function addEvent(obj,type,fn)
{if(obj.addEventListener)
obj.addEventListener(type,fn,false);else if(obj.attachEvent){obj["e"+type+fn]=fn;obj[type+fn]=function(){obj["e"+type+fn](window.event);}
obj.attachEvent("on"+type,obj[type+fn]);}}
function removeEvent(obj,type,fn)
{if(obj.removeEventListener)
obj.removeEventListener(type,fn,false);else if(obj.detachEvent){obj.detachEvent("on"+type,obj[type+fn]);obj[type+fn]=null;obj["e"+type+fn]=null;}}
function get_last_child_of_type(obj,type)
{var i;try
{var len=obj.childNodes.length;}
catch(e)
{return null;}
for(i=len-1;i>=0;i--)
{if(obj.childNodes[i].nodeName==type)
{return obj.childNodes[i];}}
return null;}
function arrayContains(array,item)
{for(var i=0;i<array.length;i++)
{if(array[i]==item)
return true;}
return false;}
function arrayUnique(array){var tmp=new Array(0);for(var i=0;i<array.length;i++)
{if(!arrayContains(tmp,array[i]))
{tmp.length+=1;tmp[tmp.length-1]=array[i];}}
return tmp;}
function removeFromArray(array,item)
{for(var i=0;i<array.length;i++)
{if(array[i]==item)
{array.splice(i,1);}}}
function refreshSelects(listObjects,usedObjects,avail,used)
{if(avail&&used&&listObjects&&usedObjects)
{avail.length=0;used.length=0;for(var i=0;i<listObjects.length;i++)
{var catObjs=listObjects[i][2];var catValues=listObjects[i][3];if(listObjects[i][0]==-1)
{var hidden=new Option(listObjects[i][1],listObjects[i][2]);hidden.className='multiListOptHidden';avail.options[avail.options.length]=hidden;continue;}
else if(listObjects[i][1]!='')
{avail.options[avail.options.length]=new Option('------ '+listObjects[i][1]+' ------','');used.options[used.options.length]=new Option('------ '+listObjects[i][1]+' ------','');}
for(var j=0;j<catObjs.length;j++)
{var objID=catValues?catValues[j]:(listObjects[i][0]+catObjs[j]);if(arrayContains(usedObjects,objID))
{used.options[used.options.length]=new Option(catObjs[j],objID);continue;}
avail.options[avail.options.length]=new Option(catObjs[j],objID);}}
if(avail.onchange)avail.onchange();if(used.onchange)used.onchange();}}
function addOptionsToUsedList(listObjects,usedObjects,avail,used)
{if(avail&&listObjects&&usedObjects)
{for(var i=0;i<avail.length;i++)
{var option=avail[i];if(option.selected&&option.value!=''&&option.className!='multiListOptHidden')
{usedObjects[usedObjects.length++]=option.value;}}
refreshSelects(listObjects,usedObjects,avail,used);avail.selectedIndex=-1;}}
function removeOptionsFromUsedList(listObjects,usedObjects,avail,used)
{if(used&&listObjects&&usedObjects)
{for(var i=0;i<used.length;i++)
{var option=used[i];if(option.selected&&option.value!='')
{removeFromArray(usedObjects,option.value);}}
refreshSelects(listObjects,usedObjects,avail,used);used.selectedIndex=-1;}}
function setupMultiSelectLists(listObjects,usedObjects,availID,usedID,leftID,rightID)
{var avail=document.getElementById(availID);var used=document.getElementById(usedID);var left=document.getElementById(leftID);var right=document.getElementById(rightID);if(listObjects&&usedObjects&&avail&&used&&left&&right)
{left.onclick=function(){removeOptionsFromUsedList(listObjects,usedObjects,avail,used);return false;};right.onclick=function(){addOptionsToUsedList(listObjects,usedObjects,avail,used);return false;};refreshSelects(listObjects,usedObjects,avail,used);}}
function getRadioValue(radioObj){var i;for(i=0;i<radioObj.length;i++){if(radioObj[i].checked){if(radioObj[i].value){return radioObj[i].value;}else{return i;}}}
return null;}
function setRadioValue(radioObj,value,set_default){var i;var set_flag=0;var ret_value;if(!radioObj)return ret_value;for(i=0;i<radioObj.length;i++){if(radioObj[i].value==value)
{radioObj[i].checked=true;set_flag=1;ret_value=value;}
else
radioObj[i].checked=false;}
if(set_default&&!set_flag&&radioObj.length)
{radioObj[0].checked=true;ret_value=radioObj[0].value;}
return ret_value;}
function setSelectValue(selectObj,value,set_default)
{var set_flag=0;var ret_value;if(!selectObj)return ret_value;for(var i=0;i<selectObj.length;i++)
{var option=selectObj.options[i];if(option.value==value)
{selectObj.selectedIndex=i;set_flag=1;ret_value=value;break;}}
if(set_default&&!set_flag&&selectObj.length)
{selectObj.selectedIndex=0;ret_value=selectObj.options[0].value;}
return ret_value;}
function set_elt_value(elt,type,value)
{var obj;if(type=='radio')
obj=document.getElementsByName(elt);else
obj=document.getElementById(elt);if(!obj)
obj=document.getElementsByName(elt);if(!obj)
return;switch(type){case'text':obj.value=value;break;case'checkbox':obj.checked=value;break;case'radio':setRadioValue(obj,value,1);break;case'select':setSelectValue(obj,value,1);break;default:break;}}
function check_opt_dep(obj_id,dep_obj_id)
{var master_obj=document.getElementById(obj_id);var dep_obj=document.getElementById(dep_obj_id);if(master_obj&&dep_obj)
if(master_obj.checked==true)
dep_obj.disabled=false;else
dep_obj.disabled=true;}
function findInArray(thisArray,elementToFind){var index=-1;for(var i=0;i<thisArray.length;i++){if(thisArray[i]==elementToFind){index=i;break;}}
return index;}
function get_checked(buttons)
{var val=new Array();if(!buttons.length){if(typeof(buttons.checked)=='undefined'||buttons.checked)
val.push(buttons.value);}
else{var radio=buttons[0].type=='radio';for(var i=0;i<buttons.length;i++)
if(buttons[i].checked){val.push(buttons[i].value);if(radio)break;}}
return val;}
function set_checked(buttons,values)
{if(!buttons.length){buttons.checked=buttons.value==values;return;}
for(var i=0;i<buttons.length;i++)
if(!values.length||typeof(values)!="object")
buttons[i].checked=buttons[i].value==values;else{buttons[i].checked=false;var s=buttons[i].value;for(var j=0;j<values.length;j++)
if(s==values[j]){buttons[i].checked=true;break;}}}
function update_widget_image(prefix,img_url)
{var img=document.getElementById(prefix+'_img');var width=null;if(!img)
return;if(img.parentNode)
{width=img.parentNode.offsetWidth-20;}
img_url+='&nocache='+Math.random();if(width)img_url+='&width='+width;img.src=img_url;}
function form_data(f,elt_list)
{var data='';for(var i=0;f[i];i++)
{if(f[i].name&&(!elt_list||arrayContains(elt_list,f[i].name))&&f[i].style.display!='none'&&(f[i].type!='checkbox'&&f[i].type!='radio'||f[i].checked))
{data+='&'+f[i].name+'='+encodeURIComponent(f[i].value);}}
return data.substr(1);}
function setCookie(key,value,expires,pathname,domain,secure){if(!pathname){pathname=location.pathname.substring(0,location.pathname.lastIndexOf('/'))+'/';}
if(!expires){expires=value?365*24*3600*1000:-1;}
var expireDate=new Date();expireDate.setTime(expireDate.getTime()+(expires));document.cookie=key+"="+escape(value)+
(expires<0?"":("; expires="+expireDate.toGMTString()))+"; path="+pathname+
(domain?"; domain="+domain:"")+
(secure?"; secure="+secure:"");}
function getCookie(key)
{var aCookie=document.cookie.split("; ");for(var i=0;i<aCookie.length;i++){var aCrumb=aCookie[i].split("=");if(key==aCrumb[0])
return aCrumb[1]?unescape(aCrumb[1]):aCrumb[1];}
return null;}
function getQueryValue(url,name)
{name=name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var regexS="[\\?&]"+name+"=([^&#]*)";var regex=new RegExp(regexS);var results=regex.exec(url);if(results==null)
return"";else
return decodeURIComponent(results[1].replace(/\+/g," "));}
function update_url_component(url,attr,val)
{function append_url_fragment()
{var idx=url.indexOf("?");var sep_char=(idx<0?"?":"&");url+=sep_char+attr+"="+val;return url;}
function replace_url_fragment(idx)
{var end_idx=url.indexOf("&",idx+attr.length);var new_url=url.substring(0,idx+1)+attr+"="+val;if(end_idx>0)
new_url+=url.substring(end_idx);return new_url;}
var srch_str="?"+attr+"=";var idx=url.indexOf(srch_str);if(idx>=0)
{return replace_url_fragment(idx);}
srch_str="&"+attr+"=";idx=url.indexOf(srch_str);if(idx>=0)
{return replace_url_fragment(idx);}
return append_url_fragment();}
function extract_url_parameter(url,name)
{var search_str=name+'=';var len=search_str.length;var idx=url.indexOf(search_str);if(idx>0)
{idx+=len;var idx2=url.indexOf("&",idx);if(idx2>0)
{return url.substring(idx,idx2);}
else
{return url.substring(idx);}}
return null;}
function enhanceListVisualEffect(list_id)
{var tables=[];if(list_id)
{tables.push(list_id)}
else
{$j('table[class=list]').each(function()
{if(this.id)
{tables.push(this.id);}});}
$j.each(tables,function(n,value)
{$j('table#'+value+' tr:nth-child(even)').addClass('odd');hlight_table(value,1,0,'over');});}
function ConvertToGroups(num)
{var s=num.toString();var rgx=/(\d+)(\d{3})/;while(rgx.test(s)){s=s.replace(rgx,'$1'+','+'$2');}
return s;}
function setQueryValue(url,name,value){var re=new RegExp("([?|&])"+name+"=.*?(&|$)");var str=(value==null)?"":name+"="+value;var done=0;var newUrl=(url||"").replace(re,function($m,$1,$2){done=1;return str?$1+str+$2:($1=='?'?$1:$2);});if(!done&&str)newUrl+=(newUrl.indexOf("?")<0?"?":"&")+str;return newUrl;}
String.prototype.getBytes=function(){return encodeURIComponent(this).replace(/%../g,'x').length;};function escapeHTML(val){if(!val)return val;var tmp=$j("<div />");tmp.text(val);return tmp.html();}
var olLoaded=0,pmStart=10000000,pmUpper=10001000,pmCount=pmStart+1,pmt='',pms=new Array(),olInfo=new Info('4.21',1),FREPLACE=0,FBEFORE=1,FAFTER=2,FALTERNATE=3,FCHAIN=4,olHideForm=0,olHautoFlag=0,olVautoFlag=0,hookPts=new Array(),postParse=new Array(),cmdLine=new Array(),runTime=new Array();registerCommands('donothing,inarray,caparray,sticky,background,noclose,caption,left,right,center,offsetx,offsety,fgcolor,bgcolor,textcolor,capcolor,closecolor,width,border,cellpad,status,autostatus,autostatuscap,height,closetext,snapx,snapy,fixx,fixy,relx,rely,fgbackground,bgbackground,padx,pady,fullhtml,above,below,capicon,textfont,captionfont,closefont,textsize,captionsize,closesize,timeout,function,delay,hauto,vauto,closeclick,wrap,followmouse,mouseoff,closetitle,cssoff,compatmode,cssclass,fgclass,bgclass,textfontclass,captionfontclass,closefontclass');if(typeof ol_fgcolor=='undefined')var ol_fgcolor="#FFFFCC";if(typeof ol_bgcolor=='undefined')var ol_bgcolor="#333399";if(typeof ol_textcolor=='undefined')var ol_textcolor="#000000";if(typeof ol_capcolor=='undefined')var ol_capcolor="#FFFFFF";if(typeof ol_closecolor=='undefined')var ol_closecolor="#9999FF";if(typeof ol_textfont=='undefined')var ol_textfont="Verdana,Arial,Helvetica";if(typeof ol_captionfont=='undefined')var ol_captionfont="Verdana,Arial,Helvetica";if(typeof ol_closefont=='undefined')var ol_closefont="Verdana,Arial,Helvetica";if(typeof ol_textsize=='undefined')var ol_textsize="1";if(typeof ol_captionsize=='undefined')var ol_captionsize="1";if(typeof ol_closesize=='undefined')var ol_closesize="1";if(typeof ol_width=='undefined')var ol_width="200";if(typeof ol_border=='undefined')var ol_border="1";if(typeof ol_cellpad=='undefined')var ol_cellpad=2;if(typeof ol_offsetx=='undefined')var ol_offsetx=10;if(typeof ol_offsety=='undefined')var ol_offsety=10;if(typeof ol_text=='undefined')var ol_text="Default Text";if(typeof ol_cap=='undefined')var ol_cap="";if(typeof ol_sticky=='undefined')var ol_sticky=0;if(typeof ol_background=='undefined')var ol_background="";if(typeof ol_close=='undefined')var ol_close="Close";if(typeof ol_hpos=='undefined')var ol_hpos=RIGHT;if(typeof ol_status=='undefined')var ol_status="";if(typeof ol_autostatus=='undefined')var ol_autostatus=0;if(typeof ol_height=='undefined')var ol_height=-1;if(typeof ol_snapx=='undefined')var ol_snapx=0;if(typeof ol_snapy=='undefined')var ol_snapy=0;if(typeof ol_fixx=='undefined')var ol_fixx=-1;if(typeof ol_fixy=='undefined')var ol_fixy=-1;if(typeof ol_relx=='undefined')var ol_relx=null;if(typeof ol_rely=='undefined')var ol_rely=null;if(typeof ol_fgbackground=='undefined')var ol_fgbackground="";if(typeof ol_bgbackground=='undefined')var ol_bgbackground="";if(typeof ol_padxl=='undefined')var ol_padxl=1;if(typeof ol_padxr=='undefined')var ol_padxr=1;if(typeof ol_padyt=='undefined')var ol_padyt=1;if(typeof ol_padyb=='undefined')var ol_padyb=1;if(typeof ol_fullhtml=='undefined')var ol_fullhtml=0;if(typeof ol_vpos=='undefined')var ol_vpos=BELOW;if(typeof ol_aboveheight=='undefined')var ol_aboveheight=0;if(typeof ol_capicon=='undefined')var ol_capicon="";if(typeof ol_frame=='undefined')var ol_frame=self;if(typeof ol_timeout=='undefined')var ol_timeout=0;if(typeof ol_function=='undefined')var ol_function=null;if(typeof ol_delay=='undefined')var ol_delay=0;if(typeof ol_hauto=='undefined')var ol_hauto=0;if(typeof ol_vauto=='undefined')var ol_vauto=0;if(typeof ol_closeclick=='undefined')var ol_closeclick=0;if(typeof ol_wrap=='undefined')var ol_wrap=0;if(typeof ol_followmouse=='undefined')var ol_followmouse=1;if(typeof ol_mouseoff=='undefined')var ol_mouseoff=0;if(typeof ol_closetitle=='undefined')var ol_closetitle='Close';if(typeof ol_compatmode=='undefined')var ol_compatmode=0;if(typeof ol_css=='undefined')var ol_css=CSSOFF;if(typeof ol_fgclass=='undefined')var ol_fgclass="";if(typeof ol_bgclass=='undefined')var ol_bgclass="";if(typeof ol_textfontclass=='undefined')var ol_textfontclass="";if(typeof ol_captionfontclass=='undefined')var ol_captionfontclass="";if(typeof ol_closefontclass=='undefined')var ol_closefontclass="";if(typeof ol_texts=='undefined')var ol_texts=new Array("Text 0","Text 1");if(typeof ol_caps=='undefined')var ol_caps=new Array("Caption 0","Caption 1");var o3_text="",o3_cap="",o3_sticky=0,o3_background="",o3_close="Close",o3_hpos=RIGHT,o3_offsetx=2,o3_offsety=2,o3_fgcolor="",o3_bgcolor="",o3_textcolor="",o3_capcolor="",o3_closecolor="",o3_width=100,o3_border=1,o3_cellpad=2,o3_status="",o3_autostatus=0,o3_height=-1,o3_snapx=0,o3_snapy=0,o3_fixx=-1,o3_fixy=-1,o3_relx=null,o3_rely=null,o3_fgbackground="",o3_bgbackground="",o3_padxl=0,o3_padxr=0,o3_padyt=0,o3_padyb=0,o3_fullhtml=0,o3_vpos=BELOW,o3_aboveheight=0,o3_capicon="",o3_textfont="Verdana,Arial,Helvetica",o3_captionfont="Verdana,Arial,Helvetica",o3_closefont="Verdana,Arial,Helvetica",o3_textsize="1",o3_captionsize="1",o3_closesize="1",o3_frame=self,o3_timeout=0,o3_timerid=0,o3_allowmove=0,o3_function=null,o3_delay=0,o3_delayid=0,o3_hauto=0,o3_vauto=0,o3_closeclick=0,o3_wrap=0,o3_followmouse=1,o3_mouseoff=0,o3_closetitle='',o3_compatmode=0,o3_css=CSSOFF,o3_fgclass="",o3_bgclass="",o3_textfontclass="",o3_captionfontclass="",o3_closefontclass="";var o3_x=0,o3_y=0,o3_showingsticky=0,o3_removecounter=0;var over=null,fnRef,hoveringSwitch=false,olHideDelay;var isMac=(navigator.userAgent.indexOf("Mac")!=-1),olOp=(navigator.userAgent.toLowerCase().indexOf('opera')>-1&&document.createTextNode),olNs4=(navigator.appName=='Netscape'&&parseInt(navigator.appVersion)==4),olNs6=(document.getElementById)?true:false,olKq=(olNs6&&/konqueror/i.test(navigator.userAgent)),olIe4=(document.all)?true:false,olIe5=false,olIe55=false,docRoot='document.body';if(olNs4){var oW=window.innerWidth;var oH=window.innerHeight;window.onresize=function(){if(oW!=window.innerWidth||oH!=window.innerHeight)location.reload();}}
if(olIe4){var agent=navigator.userAgent;if(/MSIE/.test(agent)){var versNum=parseFloat(agent.match(/MSIE[ ](\d\.\d+)\.*/i)[1]);if(versNum>=5){olIe5=true;olIe55=(versNum>=5.5&&!olOp)?true:false;if(olNs6)olNs6=false;}}
if(olNs6)olIe4=false;}
if(document.compatMode&&document.compatMode=='CSS1Compat'){docRoot=((olIe4&&!olOp)?'document.documentElement':docRoot);}
if(window.addEventListener)window.addEventListener("load",OLonLoad_handler,false);else if(window.attachEvent)window.attachEvent("onload",OLonLoad_handler);var capExtent;function overlib(){if(!olLoaded||isExclusive(overlib.arguments))return true;if(olCheckMouseCapture)olMouseCapture();if(over){over=(typeof over.id!='string')?o3_frame.document.all['overDiv']:over;cClick();}
olHideDelay=0;o3_text=ol_text;o3_cap=ol_cap;o3_sticky=ol_sticky;o3_background=ol_background;o3_close=ol_close;o3_hpos=ol_hpos;o3_offsetx=ol_offsetx;o3_offsety=ol_offsety;o3_fgcolor=ol_fgcolor;o3_bgcolor=ol_bgcolor;o3_textcolor=ol_textcolor;o3_capcolor=ol_capcolor;o3_closecolor=ol_closecolor;o3_width=ol_width;o3_border=ol_border;o3_cellpad=ol_cellpad;o3_status=ol_status;o3_autostatus=ol_autostatus;o3_height=ol_height;o3_snapx=ol_snapx;o3_snapy=ol_snapy;o3_fixx=ol_fixx;o3_fixy=ol_fixy;o3_relx=ol_relx;o3_rely=ol_rely;o3_fgbackground=ol_fgbackground;o3_bgbackground=ol_bgbackground;o3_padxl=ol_padxl;o3_padxr=ol_padxr;o3_padyt=ol_padyt;o3_padyb=ol_padyb;o3_fullhtml=ol_fullhtml;o3_vpos=ol_vpos;o3_aboveheight=ol_aboveheight;o3_capicon=ol_capicon;o3_textfont=ol_textfont;o3_captionfont=ol_captionfont;o3_closefont=ol_closefont;o3_textsize=ol_textsize;o3_captionsize=ol_captionsize;o3_closesize=ol_closesize;o3_timeout=ol_timeout;o3_function=ol_function;o3_delay=ol_delay;o3_hauto=ol_hauto;o3_vauto=ol_vauto;o3_closeclick=ol_closeclick;o3_wrap=ol_wrap;o3_followmouse=ol_followmouse;o3_mouseoff=ol_mouseoff;o3_closetitle=ol_closetitle;o3_css=ol_css;o3_compatmode=ol_compatmode;o3_fgclass=ol_fgclass;o3_bgclass=ol_bgclass;o3_textfontclass=ol_textfontclass;o3_captionfontclass=ol_captionfontclass;o3_closefontclass=ol_closefontclass;setRunTimeVariables();fnRef='';o3_frame=ol_frame;if(!(over=createDivContainer()))return false;parseTokens('o3_',overlib.arguments);if(!postParseChecks())return false;if(o3_delay==0){return runHook("olMain",FREPLACE);}else{o3_delayid=setTimeout("runHook('olMain',FREPLACE)",o3_delay);return false;}}
function nd(time){if(olLoaded&&!isExclusive()){hideDelay(time);if(o3_removecounter>=1){o3_showingsticky=0};if(o3_showingsticky==0){o3_allowmove=0;if(over!=null&&o3_timerid==0)runHook("hideObject",FREPLACE,over);}else{o3_removecounter++;}}
return true;}
function cClick(){if(olLoaded){runHook("hideObject",FREPLACE,over);o3_showingsticky=0;}
return false;}
function overlib_pagedefaults(){parseTokens('ol_',overlib_pagedefaults.arguments);}
function olMain(){var layerhtml,styleType;runHook("olMain",FBEFORE);if(o3_background!=""||o3_fullhtml){layerhtml=runHook('ol_content_background',FALTERNATE,o3_css,o3_text,o3_background,o3_fullhtml);}else{styleType=(pms[o3_css-1-pmStart]=="cssoff"||pms[o3_css-1-pmStart]=="cssclass");if(o3_fgbackground!="")o3_fgbackground="background=\""+o3_fgbackground+"\"";if(o3_bgbackground!="")o3_bgbackground=(styleType?"background=\""+o3_bgbackground+"\"":o3_bgbackground);if(o3_fgcolor!="")o3_fgcolor=(styleType?"bgcolor=\""+o3_fgcolor+"\"":o3_fgcolor);if(o3_bgcolor!="")o3_bgcolor=(styleType?"bgcolor=\""+o3_bgcolor+"\"":o3_bgcolor);if(o3_height>0)o3_height=(styleType?"height=\""+o3_height+"\"":o3_height);else o3_height="";if(o3_cap==""){layerhtml=runHook('ol_content_simple',FALTERNATE,o3_css,o3_text);}else{if(o3_sticky){layerhtml=runHook('ol_content_caption',FALTERNATE,o3_css,o3_text,o3_cap,o3_close);}else{layerhtml=runHook('ol_content_caption',FALTERNATE,o3_css,o3_text,o3_cap,"");}}}
if(o3_sticky){if(o3_timerid>0){clearTimeout(o3_timerid);o3_timerid=0;}
o3_showingsticky=1;o3_removecounter=0;}
if(!runHook("createPopup",FREPLACE,layerhtml))return false;if(o3_autostatus>0){o3_status=o3_text;if(o3_autostatus>1)o3_status=o3_cap;}
o3_allowmove=0;if(o3_timeout>0){if(o3_timerid>0)clearTimeout(o3_timerid);o3_timerid=setTimeout("cClick()",o3_timeout);}
runHook("disp",FREPLACE,o3_status);runHook("olMain",FAFTER);return(olOp&&event&&event.type=='mouseover'&&!o3_status)?'':(o3_status!='');}
function ol_content_simple(text){var cpIsMultiple=/,/.test(o3_cellpad);var txt='<table width="'+o3_width+'" border="0" cellpadding="'+o3_border+'" cellspacing="0" '+(o3_bgclass?'class="'+o3_bgclass+'"':o3_bgcolor+' '+o3_height)+'><tr><td><table width="100%" border="0" '+((olNs4||!cpIsMultiple)?'cellpadding="'+o3_cellpad+'" ':'')+'cellspacing="0" '+(o3_fgclass?'class="'+o3_fgclass+'"':o3_fgcolor+' '+o3_fgbackground+' '+o3_height)+'><tr><td valign="TOP"'+(o3_textfontclass?' class="'+o3_textfontclass+'">':((!olNs4&&cpIsMultiple)?' style="'+setCellPadStr(o3_cellpad)+'">':'>'))+(o3_textfontclass?'':wrapStr(0,o3_textsize,'text'))+text+(o3_textfontclass?'':wrapStr(1,o3_textsize))+'</td></tr></table></td></tr></table>';set_background("");return txt;}
function ol_content_caption(text,title,close){var nameId,txt,cpIsMultiple=/,/.test(o3_cellpad);var closing,closeevent;closing="";closeevent="onmouseover";if(o3_closeclick==1)closeevent=(o3_closetitle?"title='"+o3_closetitle+"'":"")+" onclick";if(o3_capicon!=""){nameId=' hspace=\"5\"'+' align=\"middle\" alt=\"\"';if(typeof o3_dragimg!='undefined'&&o3_dragimg)nameId=' hspace=\"5\"'+' name=\"'+o3_dragimg+'\" id=\"'+o3_dragimg+'\" align=\"middle\" alt=\"Drag Enabled\" title=\"Drag Enabled\"';o3_capicon='<img src=\"'+o3_capicon+'\"'+nameId+' />';}
if(close!="")
closing='<td '+(!o3_compatmode&&o3_closefontclass?'class="'+o3_closefontclass:'align="RIGHT')+'"><a href="javascript:return '+fnRef+'cClick();"'+((o3_compatmode&&o3_closefontclass)?' class="'+o3_closefontclass+'" ':' ')+closeevent+'="return '+fnRef+'cClick();">'+(o3_closefontclass?'':wrapStr(0,o3_closesize,'close'))+close+(o3_closefontclass?'':wrapStr(1,o3_closesize,'close'))+'</a></td>';txt='<table width="'+o3_width+'" border="0" cellpadding="'+o3_border+'" cellspacing="0" '+(o3_bgclass?'class="'+o3_bgclass+'"':o3_bgcolor+' '+o3_bgbackground+' '+o3_height)+'><tr><td><table width="100%" border="0" cellpadding="2" cellspacing="0"><tr><td'+(o3_captionfontclass?' class="'+o3_captionfontclass+'">':'>')+(o3_captionfontclass?'':'<b>'+wrapStr(0,o3_captionsize,'caption'))+o3_capicon+title+(o3_captionfontclass?'':wrapStr(1,o3_captionsize)+'</b>')+'</td>'+closing+'</tr></table><table width="100%" border="0" '+((olNs4||!cpIsMultiple)?'cellpadding="'+o3_cellpad+'" ':'')+'cellspacing="0" '+(o3_fgclass?'class="'+o3_fgclass+'"':o3_fgcolor+' '+o3_fgbackground+' '+o3_height)+'><tr><td valign="TOP"'+(o3_textfontclass?' class="'+o3_textfontclass+'">':((!olNs4&&cpIsMultiple)?' style="'+setCellPadStr(o3_cellpad)+'">':'>'))+(o3_textfontclass?'':wrapStr(0,o3_textsize,'text'))+text+(o3_textfontclass?'':wrapStr(1,o3_textsize))+'</td></tr></table></td></tr></table>';set_background("");return txt;}
function ol_content_background(text,picture,hasfullhtml){if(hasfullhtml){txt=text;}else{txt='<table width="'+o3_width+'" border="0" cellpadding="0" cellspacing="0" height="'+o3_height+'"><tr><td colspan="3" height="'+o3_padyt+'"></td></tr><tr><td width="'+o3_padxl+'"></td><td valign="TOP" width="'+(o3_width-o3_padxl-o3_padxr)+(o3_textfontclass?'" class="'+o3_textfontclass:'')+'">'+(o3_textfontclass?'':wrapStr(0,o3_textsize,'text'))+text+(o3_textfontclass?'':wrapStr(1,o3_textsize))+'</td><td width="'+o3_padxr+'"></td></tr><tr><td colspan="3" height="'+o3_padyb+'"></td></tr></table>';}
set_background(picture);return txt;}
function set_background(pic){if(pic==""){if(olNs4){over.background.src=null;}else if(over.style){over.style.backgroundImage="none";}}else{if(olNs4){over.background.src=pic;}else if(over.style){over.style.width=o3_width+'px';over.style.backgroundImage="url("+pic+")";}}}
var olShowId=-1;function disp(statustext){runHook("disp",FBEFORE);if(o3_allowmove==0){runHook("placeLayer",FREPLACE);(olNs6&&olShowId<0)?olShowId=setTimeout("runHook('showObject',FREPLACE,over)",1):runHook("showObject",FREPLACE,over);o3_allowmove=(o3_sticky||o3_followmouse==0)?0:1;}
runHook("disp",FAFTER);if(statustext!="")self.status=statustext;}
function createPopup(lyrContent){runHook("createPopup",FBEFORE);if(o3_wrap){var wd,ww,theObj=(olNs4?over:over.style);theObj.top=theObj.left=((olIe4&&!olOp)?0:-10000)+(!olNs4?'px':0);layerWrite(lyrContent);wd=(olNs4?over.clip.width:over.offsetWidth);if(wd>(ww=windowWidth())){lyrContent=lyrContent.replace(/\&nbsp;/g,' ');o3_width=ww;o3_wrap=0;}}
layerWrite(lyrContent);if(o3_wrap)o3_width=(olNs4?over.clip.width:over.offsetWidth);runHook("createPopup",FAFTER,lyrContent);return true;}
function placeLayer(){var placeX,placeY,widthFix=0;if(o3_frame.innerWidth)widthFix=18;iwidth=windowWidth();winoffset=(olIe4)?eval('o3_frame.'+docRoot+'.scrollLeft'):o3_frame.pageXOffset;placeX=runHook('horizontalPlacement',FCHAIN,iwidth,winoffset,widthFix);if(o3_frame.innerHeight){iheight=o3_frame.innerHeight;}else if(eval('o3_frame.'+docRoot)&&eval("typeof o3_frame."+docRoot+".clientHeight=='number'")&&eval('o3_frame.'+docRoot+'.clientHeight')){iheight=eval('o3_frame.'+docRoot+'.clientHeight');}
scrolloffset=(olIe4)?eval('o3_frame.'+docRoot+'.scrollTop'):o3_frame.pageYOffset;placeY=runHook('verticalPlacement',FCHAIN,iheight,scrolloffset);repositionTo(over,placeX,placeY);}
function olMouseMove(e){var e=(e)?e:event;if(e.pageX){o3_x=e.pageX;o3_y=e.pageY;}else if(e.clientX){o3_x=eval('e.clientX+o3_frame.'+docRoot+'.scrollLeft');o3_y=eval('e.clientY+o3_frame.'+docRoot+'.scrollTop');}
if(o3_allowmove==1)runHook("placeLayer",FREPLACE);if(hoveringSwitch&&!olNs4&&runHook("cursorOff",FREPLACE)){(olHideDelay?hideDelay(olHideDelay):cClick());hoveringSwitch=!hoveringSwitch;}}
function no_overlib(){return ver3fix;}
function olMouseCapture(){capExtent=document;var fN,str='',l,k,f,wMv,sS,mseHandler=olMouseMove;var re=/function[ ]*(\w*)\(/;wMv=(!olIe4&&window.onmousemove);if(document.onmousemove||wMv){if(wMv)capExtent=window;f=capExtent.onmousemove.toString();fN=f.match(re);if(fN==null){str=f+'(e);';}else if(fN[1]=='anonymous'||fN[1]=='olMouseMove'||(wMv&&fN[1]=='onmousemove')){if(!olOp&&wMv){l=f.indexOf('{')+1;k=f.lastIndexOf('}');sS=f.substring(l,k);if((l=sS.indexOf('('))!=-1){sS=sS.substring(0,l).replace(/^\s+/,'').replace(/\s+$/,'');if(eval("typeof "+sS+"=='undefined'"))window.onmousemove=null;else str=sS+'(e);';}}
if(!str){olCheckMouseCapture=false;return;}}else{if(fN[1])str=fN[1]+'(e);';else{l=f.indexOf('{')+1;k=f.lastIndexOf('}');str=f.substring(l,k)+'\n';}}
str+='olMouseMove(e);';mseHandler=new Function('e',str);}
capExtent.onmousemove=mseHandler;if(olNs4)capExtent.captureEvents(Event.MOUSEMOVE);}
function parseTokens(pf,ar){var v,i,mode=-1,par=(pf!='ol_'),fnMark=(par&&!ar.length?1:0);for(i=0;i<ar.length;i++){if(mode<0){if(typeof ar[i]=='number'&&ar[i]>pmStart&&ar[i]<pmUpper){fnMark=(par?1:0);i--;}else{switch(pf){case'ol_':ol_text=ar[i].toString();break;default:o3_text=ar[i].toString();}}
mode=0;}else{if(ar[i]>=pmCount||ar[i]==DONOTHING){continue;}
if(ar[i]==INARRAY){fnMark=0;eval(pf+'text=ol_texts['+ar[++i]+'].toString()');continue;}
if(ar[i]==CAPARRAY){eval(pf+'cap=ol_caps['+ar[++i]+'].toString()');continue;}
if(ar[i]==STICKY){if(pf!='ol_')eval(pf+'sticky=1');continue;}
if(ar[i]==BACKGROUND){eval(pf+'background="'+ar[++i]+'"');continue;}
if(ar[i]==NOCLOSE){if(pf!='ol_')opt_NOCLOSE();continue;}
if(ar[i]==CAPTION){eval(pf+"cap='"+escSglQuote(ar[++i])+"'");continue;}
if(ar[i]==CENTER||ar[i]==LEFT||ar[i]==RIGHT){eval(pf+'hpos='+ar[i]);if(pf!='ol_')olHautoFlag=1;continue;}
if(ar[i]==OFFSETX){eval(pf+'offsetx='+ar[++i]);continue;}
if(ar[i]==OFFSETY){eval(pf+'offsety='+ar[++i]);continue;}
if(ar[i]==FGCOLOR){eval(pf+'fgcolor="'+ar[++i]+'"');continue;}
if(ar[i]==BGCOLOR){eval(pf+'bgcolor="'+ar[++i]+'"');continue;}
if(ar[i]==TEXTCOLOR){eval(pf+'textcolor="'+ar[++i]+'"');continue;}
if(ar[i]==CAPCOLOR){eval(pf+'capcolor="'+ar[++i]+'"');continue;}
if(ar[i]==CLOSECOLOR){eval(pf+'closecolor="'+ar[++i]+'"');continue;}
if(ar[i]==WIDTH){eval(pf+'width='+ar[++i]);continue;}
if(ar[i]==BORDER){eval(pf+'border='+ar[++i]);continue;}
if(ar[i]==CELLPAD){i=opt_MULTIPLEARGS(++i,ar,(pf+'cellpad'));continue;}
if(ar[i]==STATUS){eval(pf+"status='"+escSglQuote(ar[++i])+"'");continue;}
if(ar[i]==AUTOSTATUS){eval(pf+'autostatus=('+pf+'autostatus==1)?0:1');continue;}
if(ar[i]==AUTOSTATUSCAP){eval(pf+'autostatus=('+pf+'autostatus==2)?0:2');continue;}
if(ar[i]==HEIGHT){eval(pf+'height='+pf+'aboveheight='+ar[++i]);continue;}
if(ar[i]==CLOSETEXT){eval(pf+"close='"+escSglQuote(ar[++i])+"'");continue;}
if(ar[i]==SNAPX){eval(pf+'snapx='+ar[++i]);continue;}
if(ar[i]==SNAPY){eval(pf+'snapy='+ar[++i]);continue;}
if(ar[i]==FIXX){eval(pf+'fixx='+ar[++i]);continue;}
if(ar[i]==FIXY){eval(pf+'fixy='+ar[++i]);continue;}
if(ar[i]==RELX){eval(pf+'relx='+ar[++i]);continue;}
if(ar[i]==RELY){eval(pf+'rely='+ar[++i]);continue;}
if(ar[i]==FGBACKGROUND){eval(pf+'fgbackground="'+ar[++i]+'"');continue;}
if(ar[i]==BGBACKGROUND){eval(pf+'bgbackground="'+ar[++i]+'"');continue;}
if(ar[i]==PADX){eval(pf+'padxl='+ar[++i]);eval(pf+'padxr='+ar[++i]);continue;}
if(ar[i]==PADY){eval(pf+'padyt='+ar[++i]);eval(pf+'padyb='+ar[++i]);continue;}
if(ar[i]==FULLHTML){if(pf!='ol_')eval(pf+'fullhtml=1');continue;}
if(ar[i]==BELOW||ar[i]==ABOVE){eval(pf+'vpos='+ar[i]);if(pf!='ol_')olVautoFlag=1;continue;}
if(ar[i]==CAPICON){eval(pf+'capicon="'+ar[++i]+'"');continue;}
if(ar[i]==TEXTFONT){eval(pf+"textfont='"+escSglQuote(ar[++i])+"'");continue;}
if(ar[i]==CAPTIONFONT){eval(pf+"captionfont='"+escSglQuote(ar[++i])+"'");continue;}
if(ar[i]==CLOSEFONT){eval(pf+"closefont='"+escSglQuote(ar[++i])+"'");continue;}
if(ar[i]==TEXTSIZE){eval(pf+'textsize="'+ar[++i]+'"');continue;}
if(ar[i]==CAPTIONSIZE){eval(pf+'captionsize="'+ar[++i]+'"');continue;}
if(ar[i]==CLOSESIZE){eval(pf+'closesize="'+ar[++i]+'"');continue;}
if(ar[i]==TIMEOUT){eval(pf+'timeout='+ar[++i]);continue;}
if(ar[i]==FUNCTION){if(pf=='ol_'){if(typeof ar[i+1]!='number'){v=ar[++i];ol_function=(typeof v=='function'?v:null);}}else{fnMark=0;v=null;if(typeof ar[i+1]!='number')v=ar[++i];opt_FUNCTION(v);}continue;}
if(ar[i]==DELAY){eval(pf+'delay='+ar[++i]);continue;}
if(ar[i]==HAUTO){eval(pf+'hauto=('+pf+'hauto==0)?1:0');continue;}
if(ar[i]==VAUTO){eval(pf+'vauto=('+pf+'vauto==0)?1:0');continue;}
if(ar[i]==CLOSECLICK){eval(pf+'closeclick=('+pf+'closeclick==0)?1:0');continue;}
if(ar[i]==WRAP){eval(pf+'wrap=('+pf+'wrap==0)?1:0');continue;}
if(ar[i]==FOLLOWMOUSE){eval(pf+'followmouse=('+pf+'followmouse==1)?0:1');continue;}
if(ar[i]==MOUSEOFF){eval(pf+'mouseoff=('+pf+'mouseoff==0)?1:0');v=ar[i+1];if(pf!='ol_'&&eval(pf+'mouseoff')&&typeof v=='number'&&(v<pmStart||v>pmUpper))olHideDelay=ar[++i];continue;}
if(ar[i]==CLOSETITLE){eval(pf+"closetitle='"+escSglQuote(ar[++i])+"'");continue;}
if(ar[i]==CSSOFF||ar[i]==CSSCLASS){eval(pf+'css='+ar[i]);continue;}
if(ar[i]==COMPATMODE){eval(pf+'compatmode=('+pf+'compatmode==0)?1:0');continue;}
if(ar[i]==FGCLASS){eval(pf+'fgclass="'+ar[++i]+'"');continue;}
if(ar[i]==BGCLASS){eval(pf+'bgclass="'+ar[++i]+'"');continue;}
if(ar[i]==TEXTFONTCLASS){eval(pf+'textfontclass="'+ar[++i]+'"');continue;}
if(ar[i]==CAPTIONFONTCLASS){eval(pf+'captionfontclass="'+ar[++i]+'"');continue;}
if(ar[i]==CLOSEFONTCLASS){eval(pf+'closefontclass="'+ar[++i]+'"');continue;}
i=parseCmdLine(pf,i,ar);}}
if(fnMark&&o3_function)o3_text=o3_function();if((pf=='o3_')&&o3_wrap){o3_width=0;var tReg=/<.*\n*>/ig;if(!tReg.test(o3_text))o3_text=o3_text.replace(/[ ]+/g,'&nbsp;');if(!tReg.test(o3_cap))o3_cap=o3_cap.replace(/[ ]+/g,'&nbsp;');}
if((pf=='o3_')&&o3_sticky){if(!o3_close&&(o3_frame!=ol_frame))o3_close=ol_close;if(o3_mouseoff&&(o3_frame==ol_frame))opt_NOCLOSE(' ');}}
function layerWrite(txt){txt+="\n";if(olNs4){var lyr=o3_frame.document.layers['overDiv'].document
lyr.write(txt)
lyr.close()}else if(typeof over.innerHTML!='undefined'){if(olIe5&&isMac)over.innerHTML='';over.innerHTML=txt;}else{range=o3_frame.document.createRange();range.setStartAfter(over);domfrag=range.createContextualFragment(txt);while(over.hasChildNodes()){over.removeChild(over.lastChild);}
over.appendChild(domfrag);}}
function showObject(obj){runHook("showObject",FBEFORE);var theObj=(olNs4?obj:obj.style);theObj.visibility='visible';runHook("showObject",FAFTER);}
function hideObject(obj){runHook("hideObject",FBEFORE);var theObj=(olNs4?obj:obj.style);if(olNs6&&olShowId>0){clearTimeout(olShowId);olShowId=0;}
theObj.visibility='hidden';theObj.top=theObj.left=((olIe4&&!olOp)?0:-10000)+(!olNs4?'px':0);if(o3_timerid>0)clearTimeout(o3_timerid);if(o3_delayid>0)clearTimeout(o3_delayid);o3_timerid=0;o3_delayid=0;self.status="";if(obj.onmouseout||obj.onmouseover){if(olNs4)obj.releaseEvents(Event.MOUSEOUT||Event.MOUSEOVER);obj.onmouseout=obj.onmouseover=null;}
runHook("hideObject",FAFTER);}
function repositionTo(obj,xL,yL){var theObj=(olNs4?obj:obj.style);theObj.left=xL+(!olNs4?'px':0);theObj.top=yL+(!olNs4?'px':0);}
function cursorOff(){var left=parseInt(over.style.left);var top=parseInt(over.style.top);var right=left+(over.offsetWidth>=parseInt(o3_width)?over.offsetWidth:parseInt(o3_width));var bottom=top+(over.offsetHeight>=o3_aboveheight?over.offsetHeight:o3_aboveheight);if(o3_x<left||o3_x>right||o3_y<top||o3_y>bottom)return true;return false;}
function opt_FUNCTION(callme){o3_text=(callme?(typeof callme=='string'?(/.+\(.*\)/.test(callme)?eval(callme):callme):callme()):(o3_function?o3_function():'No Function'));return 0;}
function opt_NOCLOSE(unused){if(!unused)o3_close="";if(olNs4){over.captureEvents(Event.MOUSEOUT||Event.MOUSEOVER);over.onmouseover=function(){if(o3_timerid>0){clearTimeout(o3_timerid);o3_timerid=0;}}
over.onmouseout=function(e){if(olHideDelay)hideDelay(olHideDelay);else cClick(e);}}else{over.onmouseover=function(){hoveringSwitch=true;if(o3_timerid>0){clearTimeout(o3_timerid);o3_timerid=0;}}}
return 0;}
function opt_MULTIPLEARGS(i,args,parameter){var k=i,re,pV,str='';for(k=i;k<args.length;k++){if(typeof args[k]=='number'&&args[k]>pmStart)break;str+=args[k]+',';}
if(str)str=str.substring(0,--str.length);k--;pV=(olNs4&&/cellpad/i.test(parameter))?str.split(',')[0]:str;eval(parameter+'="'+pV+'"');return k;}
function nbspCleanup(){if(o3_wrap){o3_text=o3_text.replace(/\&nbsp;/g,' ');o3_cap=o3_cap.replace(/\&nbsp;/g,' ');}}
function escSglQuote(str){return str.toString().replace(/'/g,"\\'");}
function OLonLoad_handler(e){var re=/\w+\(.*\)[;\s]+/g,olre=/overlib\(|nd\(|cClick\(/,fn,l,i;if(!olLoaded)olLoaded=1;if(window.removeEventListener&&e.eventPhase==3)window.removeEventListener("load",OLonLoad_handler,false);else if(window.detachEvent){window.detachEvent("onload",OLonLoad_handler);var fN=document.body.getAttribute('onload');if(fN){fN=fN.toString().match(re);if(fN&&fN.length){for(i=0;i<fN.length;i++){if(/anonymous/.test(fN[i]))continue;while((l=fN[i].search(/\)[;\s]+/))!=-1){fn=fN[i].substring(0,l+1);fN[i]=fN[i].substring(l+2);if(olre.test(fn))eval(fn);}}}}}}
function wrapStr(endWrap,fontSizeStr,whichString){var fontStr,fontColor,isClose=((whichString=='close')?1:0),hasDims=/[%\-a-z]+$/.test(fontSizeStr);fontSizeStr=(olNs4)?(!hasDims?fontSizeStr:'1'):fontSizeStr;if(endWrap)return(hasDims&&!olNs4)?(isClose?'</span>':'</div>'):'</font>';else{fontStr='o3_'+whichString+'font';fontColor='o3_'+((whichString=='caption')?'cap':whichString)+'color';return(hasDims&&!olNs4)?(isClose?'<span style="font-family: '+quoteMultiNameFonts(eval(fontStr))+';color: '+eval(fontColor)+';font-size: '+fontSizeStr+';">':'<div style="font-family: '+quoteMultiNameFonts(eval(fontStr))+';color: '+eval(fontColor)+';font-size: '+fontSizeStr+';">'):'<font face="'+eval(fontStr)+'" color="'+eval(fontColor)+'" size="'+(parseInt(fontSizeStr)>7?'7':fontSizeStr)+'">';}}
function quoteMultiNameFonts(theFont){var v,pM=theFont.split(',');for(var i=0;i<pM.length;i++){v=pM[i];v=v.replace(/^\s+/,'').replace(/\s+$/,'');if(/\s/.test(v)&&!/['"]/.test(v)){v="\'"+v+"\'";pM[i]=v;}}
return pM.join();}
function isExclusive(args){return false;}
function setCellPadStr(parameter){var Str='',j=0,ary=new Array(),top,bottom,left,right;Str+='padding: ';ary=parameter.replace(/\s+/g,'').split(',');switch(ary.length){case 2:top=bottom=ary[j];left=right=ary[++j];break;case 3:top=ary[j];left=right=ary[++j];bottom=ary[++j];break;case 4:top=ary[j];right=ary[++j];bottom=ary[++j];left=ary[++j];break;}
Str+=((ary.length==1)?ary[0]+'px;':top+'px '+right+'px '+bottom+'px '+left+'px;');return Str;}
function hideDelay(time){if(time&&!o3_delay){if(o3_timerid>0)clearTimeout(o3_timerid);o3_timerid=setTimeout("cClick()",(o3_timeout=time));}}
function horizontalPlacement(browserWidth,horizontalScrollAmount,widthFix){var placeX,iwidth=browserWidth,winoffset=horizontalScrollAmount;var parsedWidth=parseInt(o3_width);if(o3_fixx>-1||o3_relx!=null){placeX=(o3_relx!=null?(o3_relx<0?winoffset+o3_relx+iwidth-parsedWidth-widthFix:winoffset+o3_relx):o3_fixx);}else{if(o3_hauto==1){if((o3_x-winoffset)>(iwidth/2)){o3_hpos=LEFT;}else{o3_hpos=RIGHT;}}
if(o3_hpos==CENTER){placeX=o3_x+o3_offsetx-(parsedWidth/2);if(placeX<winoffset)placeX=winoffset;}
if(o3_hpos==RIGHT){placeX=o3_x+o3_offsetx;if((placeX+parsedWidth)>(winoffset+iwidth-widthFix)){placeX=iwidth+winoffset-parsedWidth-widthFix;if(placeX<0)placeX=0;}}
if(o3_hpos==LEFT){placeX=o3_x-o3_offsetx-parsedWidth;if(placeX<winoffset)placeX=winoffset;}
if(o3_snapx>1){var snapping=placeX%o3_snapx;if(o3_hpos==LEFT){placeX=placeX-(o3_snapx+snapping);}else{placeX=placeX+(o3_snapx-snapping);}
if(placeX<winoffset)placeX=winoffset;}}
return placeX;}
function verticalPlacement(browserHeight,verticalScrollAmount){var placeY,iheight=browserHeight,scrolloffset=verticalScrollAmount;var parsedHeight=(o3_aboveheight?parseInt(o3_aboveheight):(olNs4?over.clip.height:over.offsetHeight));if(o3_fixy>-1||o3_rely!=null){placeY=(o3_rely!=null?(o3_rely<0?scrolloffset+o3_rely+iheight-parsedHeight:scrolloffset+o3_rely):o3_fixy);}else{if(o3_vauto==1){if((o3_y-scrolloffset)>(iheight/2)&&o3_vpos==BELOW&&(o3_y+parsedHeight+o3_offsety-(scrolloffset+iheight)>0)){o3_vpos=ABOVE;}else if(o3_vpos==ABOVE&&(o3_y-(parsedHeight+o3_offsety)-scrolloffset<0)){o3_vpos=BELOW;}}
if(o3_vpos==ABOVE){if(o3_aboveheight==0)o3_aboveheight=parsedHeight;placeY=o3_y-(o3_aboveheight+o3_offsety);if(placeY<scrolloffset)placeY=scrolloffset;}else{placeY=o3_y+o3_offsety;}
if(o3_snapy>1){var snapping=placeY%o3_snapy;if(o3_aboveheight>0&&o3_vpos==ABOVE){placeY=placeY-(o3_snapy+snapping);}else{placeY=placeY+(o3_snapy-snapping);}
if(placeY<scrolloffset)placeY=scrolloffset;}}
return placeY;}
function checkPositionFlags(){if(olHautoFlag)olHautoFlag=o3_hauto=0;if(olVautoFlag)olVautoFlag=o3_vauto=0;return true;}
function windowWidth(){var w;if(o3_frame.innerWidth)w=o3_frame.innerWidth;else if(eval('o3_frame.'+docRoot)&&eval("typeof o3_frame."+docRoot+".clientWidth=='number'")&&eval('o3_frame.'+docRoot+'.clientWidth'))
w=eval('o3_frame.'+docRoot+'.clientWidth');return w;}
function createDivContainer(id,frm,zValue){id=(id||'overDiv'),frm=(frm||o3_frame),zValue=(zValue||1000);var objRef,divContainer=layerReference(id);if(divContainer==null){if(olNs4){divContainer=frm.document.layers[id]=new Layer(window.innerWidth,frm);objRef=divContainer;}else{var body=(olIe4?frm.document.all.tags('BODY')[0]:frm.document.getElementsByTagName("BODY")[0]);if(olIe4&&!document.getElementById){body.insertAdjacentHTML("beforeEnd",'<div id="'+id+'"></div>');divContainer=layerReference(id);}else{divContainer=frm.document.createElement("DIV");divContainer.id=id;body.appendChild(divContainer);}
objRef=divContainer.style;}
objRef.position='absolute';objRef.visibility='hidden';objRef.zIndex=zValue;if(olIe4&&!olOp)objRef.left=objRef.top='0px';else objRef.left=objRef.top=-10000+(!olNs4?'px':0);}
return divContainer;}
function layerReference(id){return(olNs4?o3_frame.document.layers[id]:(document.all?o3_frame.document.all[id]:o3_frame.document.getElementById(id)));}
function isFunction(fnRef){var rtn=true;if(typeof fnRef=='object'){for(var i=0;i<fnRef.length;i++){if(typeof fnRef[i]=='function')continue;rtn=false;break;}}else if(typeof fnRef!='function'){rtn=false;}
return rtn;}
function argToString(array,strtInd,argName){var jS=strtInd,aS='',ar=array;argName=(argName?argName:'ar');if(ar.length>jS){for(var k=jS;k<ar.length;k++)aS+=argName+'['+k+'], ';aS=aS.substring(0,aS.length-2);}
return aS;}
function reOrder(hookPt,fnRef,order){var newPt=new Array(),match,i,j;if(!order||typeof order=='undefined'||typeof order=='number')return hookPt;if(typeof order=='function'){if(typeof fnRef=='object'){newPt=newPt.concat(fnRef);}else{newPt[newPt.length++]=fnRef;}
for(i=0;i<hookPt.length;i++){match=false;if(typeof fnRef=='function'&&hookPt[i]==fnRef){continue;}else{for(j=0;j<fnRef.length;j++)if(hookPt[i]==fnRef[j]){match=true;break;}}
if(!match)newPt[newPt.length++]=hookPt[i];}
newPt[newPt.length++]=order;}else if(typeof order=='object'){if(typeof fnRef=='object'){newPt=newPt.concat(fnRef);}else{newPt[newPt.length++]=fnRef;}
for(j=0;j<hookPt.length;j++){match=false;if(typeof fnRef=='function'&&hookPt[j]==fnRef){continue;}else{for(i=0;i<fnRef.length;i++)if(hookPt[j]==fnRef[i]){match=true;break;}}
if(!match)newPt[newPt.length++]=hookPt[j];}
for(i=0;i<newPt.length;i++)hookPt[i]=newPt[i];newPt.length=0;for(j=0;j<hookPt.length;j++){match=false;for(i=0;i<order.length;i++){if(hookPt[j]==order[i]){match=true;break;}}
if(!match)newPt[newPt.length++]=hookPt[j];}
newPt=newPt.concat(order);}
hookPt=newPt;return hookPt;}
function setRunTimeVariables(){if(typeof runTime!='undefined'&&runTime.length){for(var k=0;k<runTime.length;k++){runTime[k]();}}}
function parseCmdLine(pf,i,args){if(typeof cmdLine!='undefined'&&cmdLine.length){for(var k=0;k<cmdLine.length;k++){var j=cmdLine[k](pf,i,args);if(j>-1){i=j;break;}}}
return i;}
function postParseChecks(pf,args){if(typeof postParse!='undefined'&&postParse.length){for(var k=0;k<postParse.length;k++){if(postParse[k](pf,args))continue;return false;}}
return true;}
function registerCommands(cmdStr){if(typeof cmdStr!='string')return;var pM=cmdStr.split(',');pms=pms.concat(pM);for(var i=0;i<pM.length;i++){eval(pM[i].toUpperCase()+'='+pmCount++);}}
function registerNoParameterCommands(cmdStr){if(!cmdStr&&typeof cmdStr!='string')return;pmt=(!pmt)?cmdStr:pmt+','+cmdStr;}
function registerHook(fnHookTo,fnRef,hookType,optPm){var hookPt,last=typeof optPm;if(fnHookTo=='plgIn'||fnHookTo=='postParse')return;if(typeof hookPts[fnHookTo]=='undefined')hookPts[fnHookTo]=new FunctionReference();hookPt=hookPts[fnHookTo];if(hookType!=null){if(hookType==FREPLACE){hookPt.ovload=fnRef;if(fnHookTo.indexOf('ol_content_')>-1)hookPt.alt[pms[CSSOFF-1-pmStart]]=fnRef;}else if(hookType==FBEFORE||hookType==FAFTER){var hookPt=(hookType==1?hookPt.before:hookPt.after);if(typeof fnRef=='object'){hookPt=hookPt.concat(fnRef);}else{hookPt[hookPt.length++]=fnRef;}
if(optPm)hookPt=reOrder(hookPt,fnRef,optPm);}else if(hookType==FALTERNATE){if(last=='number')hookPt.alt[pms[optPm-1-pmStart]]=fnRef;}else if(hookType==FCHAIN){hookPt=hookPt.chain;if(typeof fnRef=='object')hookPt=hookPt.concat(fnRef);else hookPt[hookPt.length++]=fnRef;}
return;}}
function registerRunTimeFunction(fn){if(isFunction(fn)){if(typeof fn=='object'){runTime=runTime.concat(fn);}else{runTime[runTime.length++]=fn;}}}
function registerCmdLineFunction(fn){if(isFunction(fn)){if(typeof fn=='object'){cmdLine=cmdLine.concat(fn);}else{cmdLine[cmdLine.length++]=fn;}}}
function registerPostParseFunction(fn){if(isFunction(fn)){if(typeof fn=='object'){postParse=postParse.concat(fn);}else{postParse[postParse.length++]=fn;}}}
function runHook(fnHookTo,hookType){var l=hookPts[fnHookTo],k,rtnVal=null,optPm,arS,ar=runHook.arguments;if(hookType==FREPLACE){arS=argToString(ar,2);if(typeof l=='undefined'||!(l=l.ovload))rtnVal=eval(fnHookTo+'('+arS+')');else rtnVal=eval('l('+arS+')');}else if(hookType==FBEFORE||hookType==FAFTER){if(typeof l!='undefined'){l=(hookType==1?l.before:l.after);if(l.length){arS=argToString(ar,2);for(var k=0;k<l.length;k++)eval('l[k]('+arS+')');}}}else if(hookType==FALTERNATE){optPm=ar[2];arS=argToString(ar,3);if(typeof l=='undefined'||(l=l.alt[pms[optPm-1-pmStart]])=='undefined'){rtnVal=eval(fnHookTo+'('+arS+')');}else{rtnVal=eval('l('+arS+')');}}else if(hookType==FCHAIN){arS=argToString(ar,2);l=l.chain;for(k=l.length;k>0;k--)if((rtnVal=eval('l[k-1]('+arS+')'))!=void(0))break;}
return rtnVal;}
function FunctionReference(){this.ovload=null;this.before=new Array();this.after=new Array();this.alt=new Array();this.chain=new Array();}
function Info(version,prerelease){this.version=version;this.prerelease=prerelease;this.simpleversion=Math.round(this.version*100);this.major=parseInt(this.simpleversion/100);this.minor=parseInt(this.simpleversion/10)-this.major*10;this.revision=parseInt(this.simpleversion)-this.major*100-this.minor*10;this.meets=meets;}
function meets(reqdVersion){return(!reqdVersion)?false:this.simpleversion>=Math.round(100*parseFloat(reqdVersion));}
registerHook("ol_content_simple",ol_content_simple,FALTERNATE,CSSOFF);registerHook("ol_content_caption",ol_content_caption,FALTERNATE,CSSOFF);registerHook("ol_content_background",ol_content_background,FALTERNATE,CSSOFF);registerHook("ol_content_simple",ol_content_simple,FALTERNATE,CSSCLASS);registerHook("ol_content_caption",ol_content_caption,FALTERNATE,CSSCLASS);registerHook("ol_content_background",ol_content_background,FALTERNATE,CSSCLASS);registerPostParseFunction(checkPositionFlags);registerHook("hideObject",nbspCleanup,FAFTER);registerHook("horizontalPlacement",horizontalPlacement,FCHAIN);registerHook("verticalPlacement",verticalPlacement,FCHAIN);if(olNs4||(olIe5&&isMac)||olKq)olLoaded=1;registerNoParameterCommands('sticky,autostatus,autostatuscap,fullhtml,hauto,vauto,closeclick,wrap,followmouse,mouseoff,compatmode');var olCheckMouseCapture=true;if((olNs4||olNs6||olIe4)){olMouseCapture();}else{overlib=no_overlib;nd=no_overlib;ver3fix=true;}
(function(window,undefined){var document=window.document;var jQuery=(function(){var jQuery=function(selector,context){return new jQuery.fn.init(selector,context,rootjQuery);},_jQuery=window.jQuery,_$=window.$,rootjQuery,quickExpr=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,rnotwhite=/\S/,trimLeft=/^\s+/,trimRight=/\s+$/,rdigit=/\d/,rsingleTag=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,rvalidchars=/^[\],:{}\s]*$/,rvalidescape=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,rvalidtokens=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,rvalidbraces=/(?:^|:|,)(?:\s*\[)+/g,rwebkit=/(webkit)[ \/]([\w.]+)/,ropera=/(opera)(?:.*version)?[ \/]([\w.]+)/,rmsie=/(msie) ([\w.]+)/,rmozilla=/(mozilla)(?:.*? rv:([\w.]+))?/,userAgent=navigator.userAgent,browserMatch,readyBound=false,readyList,promiseMethods="then done fail isResolved isRejected promise".split(" "),DOMContentLoaded,toString=Object.prototype.toString,hasOwn=Object.prototype.hasOwnProperty,push=Array.prototype.push,slice=Array.prototype.slice,trim=String.prototype.trim,indexOf=Array.prototype.indexOf,class2type={};jQuery.fn=jQuery.prototype={constructor:jQuery,init:function(selector,context,rootjQuery){var match,elem,ret,doc;if(!selector){return this;}
if(selector.nodeType){this.context=this[0]=selector;this.length=1;return this;}
if(selector==="body"&&!context&&document.body){this.context=document;this[0]=document.body;this.selector="body";this.length=1;return this;}
if(typeof selector==="string"){match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1]){context=context instanceof jQuery?context[0]:context;doc=(context?context.ownerDocument||context:document);ret=rsingleTag.exec(selector);if(ret){if(jQuery.isPlainObject(context)){selector=[document.createElement(ret[1])];jQuery.fn.attr.call(selector,context,true);}else{selector=[doc.createElement(ret[1])];}}else{ret=jQuery.buildFragment([match[1]],[doc]);selector=(ret.cacheable?jQuery.clone(ret.fragment):ret.fragment).childNodes;}
return jQuery.merge(this,selector);}else{elem=document.getElementById(match[2]);if(elem&&elem.parentNode){if(elem.id!==match[2]){return rootjQuery.find(selector);}
this.length=1;this[0]=elem;}
this.context=document;this.selector=selector;return this;}}else if(!context||context.jquery){return(context||rootjQuery).find(selector);}else{return this.constructor(context).find(selector);}}else if(jQuery.isFunction(selector)){return rootjQuery.ready(selector);}
if(selector.selector!==undefined){this.selector=selector.selector;this.context=selector.context;}
return jQuery.makeArray(selector,this);},selector:"",jquery:"1.5.1",length:0,size:function(){return this.length;},toArray:function(){return slice.call(this,0);},get:function(num){return num==null?this.toArray():(num<0?this[this.length+num]:this[num]);},pushStack:function(elems,name,selector){var ret=this.constructor();if(jQuery.isArray(elems)){push.apply(ret,elems);}else{jQuery.merge(ret,elems);}
ret.prevObject=this;ret.context=this.context;if(name==="find"){ret.selector=this.selector+(this.selector?" ":"")+selector;}else if(name){ret.selector=this.selector+"."+name+"("+selector+")";}
return ret;},each:function(callback,args){return jQuery.each(this,callback,args);},ready:function(fn){jQuery.bindReady();readyList.done(fn);return this;},eq:function(i){return i===-1?this.slice(i):this.slice(i,+i+1);},first:function(){return this.eq(0);},last:function(){return this.eq(-1);},slice:function(){return this.pushStack(slice.apply(this,arguments),"slice",slice.call(arguments).join(","));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},end:function(){return this.prevObject||this.constructor(null);},push:push,sort:[].sort,splice:[].splice};jQuery.fn.init.prototype=jQuery.fn;jQuery.extend=jQuery.fn.extend=function(){var options,name,src,copy,copyIsArray,clone,target=arguments[0]||{},i=1,length=arguments.length,deep=false;if(typeof target==="boolean"){deep=target;target=arguments[1]||{};i=2;}
if(typeof target!=="object"&&!jQuery.isFunction(target)){target={};}
if(length===i){target=this;--i;}
for(;i<length;i++){if((options=arguments[i])!=null){for(name in options){src=target[name];copy=options[name];if(target===copy){continue;}
if(deep&&copy&&(jQuery.isPlainObject(copy)||(copyIsArray=jQuery.isArray(copy)))){if(copyIsArray){copyIsArray=false;clone=src&&jQuery.isArray(src)?src:[];}else{clone=src&&jQuery.isPlainObject(src)?src:{};}
target[name]=jQuery.extend(deep,clone,copy);}else if(copy!==undefined){target[name]=copy;}}}}
return target;};jQuery.extend({noConflict:function(deep){window.$=_$;if(deep){window.jQuery=_jQuery;}
return jQuery;},isReady:false,readyWait:1,ready:function(wait){if(wait===true){jQuery.readyWait--;}
if(!jQuery.readyWait||(wait!==true&&!jQuery.isReady)){if(!document.body){return setTimeout(jQuery.ready,1);}
jQuery.isReady=true;if(wait!==true&&--jQuery.readyWait>0){return;}
readyList.resolveWith(document,[jQuery]);if(jQuery.fn.trigger){jQuery(document).trigger("ready").unbind("ready");}}},bindReady:function(){if(readyBound){return;}
readyBound=true;if(document.readyState==="complete"){return setTimeout(jQuery.ready,1);}
if(document.addEventListener){document.addEventListener("DOMContentLoaded",DOMContentLoaded,false);window.addEventListener("load",jQuery.ready,false);}else if(document.attachEvent){document.attachEvent("onreadystatechange",DOMContentLoaded);window.attachEvent("onload",jQuery.ready);var toplevel=false;try{toplevel=window.frameElement==null;}catch(e){}
if(document.documentElement.doScroll&&toplevel){doScrollCheck();}}},isFunction:function(obj){return jQuery.type(obj)==="function";},isArray:Array.isArray||function(obj){return jQuery.type(obj)==="array";},isWindow:function(obj){return obj&&typeof obj==="object"&&"setInterval"in obj;},isNaN:function(obj){return obj==null||!rdigit.test(obj)||isNaN(obj);},type:function(obj){return obj==null?String(obj):class2type[toString.call(obj)]||"object";},isPlainObject:function(obj){if(!obj||jQuery.type(obj)!=="object"||obj.nodeType||jQuery.isWindow(obj)){return false;}
if(obj.constructor&&!hasOwn.call(obj,"constructor")&&!hasOwn.call(obj.constructor.prototype,"isPrototypeOf")){return false;}
var key;for(key in obj){}
return key===undefined||hasOwn.call(obj,key);},isEmptyObject:function(obj){for(var name in obj){return false;}
return true;},error:function(msg){throw msg;},parseJSON:function(data){if(typeof data!=="string"||!data){return null;}
data=jQuery.trim(data);if(rvalidchars.test(data.replace(rvalidescape,"@").replace(rvalidtokens,"]").replace(rvalidbraces,""))){return window.JSON&&window.JSON.parse?window.JSON.parse(data):(new Function("return "+data))();}else{jQuery.error("Invalid JSON: "+data);}},parseXML:function(data,xml,tmp){if(window.DOMParser){tmp=new DOMParser();xml=tmp.parseFromString(data,"text/xml");}else{xml=new ActiveXObject("Microsoft.XMLDOM");xml.async="false";xml.loadXML(data);}
tmp=xml.documentElement;if(!tmp||!tmp.nodeName||tmp.nodeName==="parsererror"){jQuery.error("Invalid XML: "+data);}
return xml;},noop:function(){},globalEval:function(data){if(data&&rnotwhite.test(data)){var head=document.head||document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");if(jQuery.support.scriptEval()){script.appendChild(document.createTextNode(data));}else{script.text=data;}
head.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()===name.toUpperCase();},each:function(object,callback,args){var name,i=0,length=object.length,isObj=length===undefined||jQuery.isFunction(object);if(args){if(isObj){for(name in object){if(callback.apply(object[name],args)===false){break;}}}else{for(;i<length;){if(callback.apply(object[i++],args)===false){break;}}}}else{if(isObj){for(name in object){if(callback.call(object[name],name,object[name])===false){break;}}}else{for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}}
return object;},trim:trim?function(text){return text==null?"":trim.call(text);}:function(text){return text==null?"":text.toString().replace(trimLeft,"").replace(trimRight,"");},makeArray:function(array,results){var ret=results||[];if(array!=null){var type=jQuery.type(array);if(array.length==null||type==="string"||type==="function"||type==="regexp"||jQuery.isWindow(array)){push.call(ret,array);}else{jQuery.merge(ret,array);}}
return ret;},inArray:function(elem,array){if(array.indexOf){return array.indexOf(elem);}
for(var i=0,length=array.length;i<length;i++){if(array[i]===elem){return i;}}
return-1;},merge:function(first,second){var i=first.length,j=0;if(typeof second.length==="number"){for(var l=second.length;j<l;j++){first[i++]=second[j];}}else{while(second[j]!==undefined){first[i++]=second[j++];}}
first.length=i;return first;},grep:function(elems,callback,inv){var ret=[],retVal;inv=!!inv;for(var i=0,length=elems.length;i<length;i++){retVal=!!callback(elems[i],i);if(inv!==retVal){ret.push(elems[i]);}}
return ret;},map:function(elems,callback,arg){var ret=[],value;for(var i=0,length=elems.length;i<length;i++){value=callback(elems[i],i,arg);if(value!=null){ret[ret.length]=value;}}
return ret.concat.apply([],ret);},guid:1,proxy:function(fn,proxy,thisObject){if(arguments.length===2){if(typeof proxy==="string"){thisObject=fn;fn=thisObject[proxy];proxy=undefined;}else if(proxy&&!jQuery.isFunction(proxy)){thisObject=proxy;proxy=undefined;}}
if(!proxy&&fn){proxy=function(){return fn.apply(thisObject||this,arguments);};}
if(fn){proxy.guid=fn.guid=fn.guid||proxy.guid||jQuery.guid++;}
return proxy;},access:function(elems,key,value,exec,fn,pass){var length=elems.length;if(typeof key==="object"){for(var k in key){jQuery.access(elems,k,key[k],exec,fn,value);}
return elems;}
if(value!==undefined){exec=!pass&&exec&&jQuery.isFunction(value);for(var i=0;i<length;i++){fn(elems[i],key,exec?value.call(elems[i],i,fn(elems[i],key)):value,pass);}
return elems;}
return length?fn(elems[0],key):undefined;},now:function(){return(new Date()).getTime();},_Deferred:function(){var
callbacks=[],fired,firing,cancelled,deferred={done:function(){if(!cancelled){var args=arguments,i,length,elem,type,_fired;if(fired){_fired=fired;fired=0;}
for(i=0,length=args.length;i<length;i++){elem=args[i];type=jQuery.type(elem);if(type==="array"){deferred.done.apply(deferred,elem);}else if(type==="function"){callbacks.push(elem);}}
if(_fired){deferred.resolveWith(_fired[0],_fired[1]);}}
return this;},resolveWith:function(context,args){if(!cancelled&&!fired&&!firing){firing=1;try{while(callbacks[0]){callbacks.shift().apply(context,args);}}
catch(e){throw e;}
finally{fired=[context,args];firing=0;}}
return this;},resolve:function(){deferred.resolveWith(jQuery.isFunction(this.promise)?this.promise():this,arguments);return this;},isResolved:function(){return!!(firing||fired);},cancel:function(){cancelled=1;callbacks=[];return this;}};return deferred;},Deferred:function(func){var deferred=jQuery._Deferred(),failDeferred=jQuery._Deferred(),promise;jQuery.extend(deferred,{then:function(doneCallbacks,failCallbacks){deferred.done(doneCallbacks).fail(failCallbacks);return this;},fail:failDeferred.done,rejectWith:failDeferred.resolveWith,reject:failDeferred.resolve,isRejected:failDeferred.isResolved,promise:function(obj){if(obj==null){if(promise){return promise;}
promise=obj={};}
var i=promiseMethods.length;while(i--){obj[promiseMethods[i]]=deferred[promiseMethods[i]];}
return obj;}});deferred.done(failDeferred.cancel).fail(deferred.cancel);delete deferred.cancel;if(func){func.call(deferred,deferred);}
return deferred;},when:function(object){var lastIndex=arguments.length,deferred=lastIndex<=1&&object&&jQuery.isFunction(object.promise)?object:jQuery.Deferred(),promise=deferred.promise();if(lastIndex>1){var array=slice.call(arguments,0),count=lastIndex,iCallback=function(index){return function(value){array[index]=arguments.length>1?slice.call(arguments,0):value;if(!(--count)){deferred.resolveWith(promise,array);}};};while((lastIndex--)){object=array[lastIndex];if(object&&jQuery.isFunction(object.promise)){object.promise().then(iCallback(lastIndex),deferred.reject);}else{--count;}}
if(!count){deferred.resolveWith(promise,array);}}else if(deferred!==object){deferred.resolve(object);}
return promise;},uaMatch:function(ua){ua=ua.toLowerCase();var match=rwebkit.exec(ua)||ropera.exec(ua)||rmsie.exec(ua)||ua.indexOf("compatible")<0&&rmozilla.exec(ua)||[];return{browser:match[1]||"",version:match[2]||"0"};},sub:function(){function jQuerySubclass(selector,context){return new jQuerySubclass.fn.init(selector,context);}
jQuery.extend(true,jQuerySubclass,this);jQuerySubclass.superclass=this;jQuerySubclass.fn=jQuerySubclass.prototype=this();jQuerySubclass.fn.constructor=jQuerySubclass;jQuerySubclass.subclass=this.subclass;jQuerySubclass.fn.init=function init(selector,context){if(context&&context instanceof jQuery&&!(context instanceof jQuerySubclass)){context=jQuerySubclass(context);}
return jQuery.fn.init.call(this,selector,context,rootjQuerySubclass);};jQuerySubclass.fn.init.prototype=jQuerySubclass.fn;var rootjQuerySubclass=jQuerySubclass(document);return jQuerySubclass;},browser:{}});readyList=jQuery._Deferred();jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(i,name){class2type["[object "+name+"]"]=name.toLowerCase();});browserMatch=jQuery.uaMatch(userAgent);if(browserMatch.browser){jQuery.browser[browserMatch.browser]=true;jQuery.browser.version=browserMatch.version;}
if(jQuery.browser.webkit){jQuery.browser.safari=true;}
if(indexOf){jQuery.inArray=function(elem,array){return indexOf.call(array,elem);};}
if(rnotwhite.test("\xA0")){trimLeft=/^[\s\xA0]+/;trimRight=/[\s\xA0]+$/;}
rootjQuery=jQuery(document);if(document.addEventListener){DOMContentLoaded=function(){document.removeEventListener("DOMContentLoaded",DOMContentLoaded,false);jQuery.ready();};}else if(document.attachEvent){DOMContentLoaded=function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",DOMContentLoaded);jQuery.ready();}};}
function doScrollCheck(){if(jQuery.isReady){return;}
try{document.documentElement.doScroll("left");}catch(e){setTimeout(doScrollCheck,1);return;}
jQuery.ready();}
return jQuery;})();(function(){jQuery.support={};var div=document.createElement("div");div.style.display="none";div.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var all=div.getElementsByTagName("*"),a=div.getElementsByTagName("a")[0],select=document.createElement("select"),opt=select.appendChild(document.createElement("option")),input=div.getElementsByTagName("input")[0];if(!all||!all.length||!a){return;}
jQuery.support={leadingWhitespace:div.firstChild.nodeType===3,tbody:!div.getElementsByTagName("tbody").length,htmlSerialize:!!div.getElementsByTagName("link").length,style:/red/.test(a.getAttribute("style")),hrefNormalized:a.getAttribute("href")==="/a",opacity:/^0.55$/.test(a.style.opacity),cssFloat:!!a.style.cssFloat,checkOn:input.value==="on",optSelected:opt.selected,deleteExpando:true,optDisabled:false,checkClone:false,noCloneEvent:true,noCloneChecked:true,boxModel:null,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableHiddenOffsets:true};input.checked=true;jQuery.support.noCloneChecked=input.cloneNode(true).checked;select.disabled=true;jQuery.support.optDisabled=!opt.disabled;var _scriptEval=null;jQuery.support.scriptEval=function(){if(_scriptEval===null){var root=document.documentElement,script=document.createElement("script"),id="script"+jQuery.now();try{script.appendChild(document.createTextNode("window."+id+"=1;"));}catch(e){}
root.insertBefore(script,root.firstChild);if(window[id]){_scriptEval=true;delete window[id];}else{_scriptEval=false;}
root.removeChild(script);root=script=id=null;}
return _scriptEval;};try{delete div.test;}catch(e){jQuery.support.deleteExpando=false;}
if(!div.addEventListener&&div.attachEvent&&div.fireEvent){div.attachEvent("onclick",function click(){jQuery.support.noCloneEvent=false;div.detachEvent("onclick",click);});div.cloneNode(true).fireEvent("onclick");}
div=document.createElement("div");div.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";var fragment=document.createDocumentFragment();fragment.appendChild(div.firstChild);jQuery.support.checkClone=fragment.cloneNode(true).cloneNode(true).lastChild.checked;jQuery(function(){var div=document.createElement("div"),body=document.getElementsByTagName("body")[0];if(!body){return;}
div.style.width=div.style.paddingLeft="1px";body.appendChild(div);jQuery.boxModel=jQuery.support.boxModel=div.offsetWidth===2;if("zoom"in div.style){div.style.display="inline";div.style.zoom=1;jQuery.support.inlineBlockNeedsLayout=div.offsetWidth===2;div.style.display="";div.innerHTML="<div style='width:4px;'></div>";jQuery.support.shrinkWrapBlocks=div.offsetWidth!==2;}
div.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";var tds=div.getElementsByTagName("td");jQuery.support.reliableHiddenOffsets=tds[0].offsetHeight===0;tds[0].style.display="";tds[1].style.display="none";jQuery.support.reliableHiddenOffsets=jQuery.support.reliableHiddenOffsets&&tds[0].offsetHeight===0;div.innerHTML="";body.removeChild(div).style.display="none";div=tds=null;});var eventSupported=function(eventName){var el=document.createElement("div");eventName="on"+eventName;if(!el.attachEvent){return true;}
var isSupported=(eventName in el);if(!isSupported){el.setAttribute(eventName,"return;");isSupported=typeof el[eventName]==="function";}
el=null;return isSupported;};jQuery.support.submitBubbles=eventSupported("submit");jQuery.support.changeBubbles=eventSupported("change");div=all=a=null;})();var rbrace=/^(?:\{.*\}|\[.*\])$/;jQuery.extend({cache:{},uuid:0,expando:"jQuery"+(jQuery.fn.jquery+Math.random()).replace(/\D/g,""),noData:{"embed":true,"object":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000","applet":true},hasData:function(elem){elem=elem.nodeType?jQuery.cache[elem[jQuery.expando]]:elem[jQuery.expando];return!!elem&&!isEmptyDataObject(elem);},data:function(elem,name,data,pvt){if(!jQuery.acceptData(elem)){return;}
var internalKey=jQuery.expando,getByName=typeof name==="string",thisCache,isNode=elem.nodeType,cache=isNode?jQuery.cache:elem,id=isNode?elem[jQuery.expando]:elem[jQuery.expando]&&jQuery.expando;if((!id||(pvt&&id&&!cache[id][internalKey]))&&getByName&&data===undefined){return;}
if(!id){if(isNode){elem[jQuery.expando]=id=++jQuery.uuid;}else{id=jQuery.expando;}}
if(!cache[id]){cache[id]={};if(!isNode){cache[id].toJSON=jQuery.noop;}}
if(typeof name==="object"||typeof name==="function"){if(pvt){cache[id][internalKey]=jQuery.extend(cache[id][internalKey],name);}else{cache[id]=jQuery.extend(cache[id],name);}}
thisCache=cache[id];if(pvt){if(!thisCache[internalKey]){thisCache[internalKey]={};}
thisCache=thisCache[internalKey];}
if(data!==undefined){thisCache[name]=data;}
if(name==="events"&&!thisCache[name]){return thisCache[internalKey]&&thisCache[internalKey].events;}
return getByName?thisCache[name]:thisCache;},removeData:function(elem,name,pvt){if(!jQuery.acceptData(elem)){return;}
var internalKey=jQuery.expando,isNode=elem.nodeType,cache=isNode?jQuery.cache:elem,id=isNode?elem[jQuery.expando]:jQuery.expando;if(!cache[id]){return;}
if(name){var thisCache=pvt?cache[id][internalKey]:cache[id];if(thisCache){delete thisCache[name];if(!isEmptyDataObject(thisCache)){return;}}}
if(pvt){delete cache[id][internalKey];if(!isEmptyDataObject(cache[id])){return;}}
var internalCache=cache[id][internalKey];if(jQuery.support.deleteExpando||cache!=window){delete cache[id];}else{cache[id]=null;}
if(internalCache){cache[id]={};if(!isNode){cache[id].toJSON=jQuery.noop;}
cache[id][internalKey]=internalCache;}else if(isNode){if(jQuery.support.deleteExpando){delete elem[jQuery.expando];}else if(elem.removeAttribute){elem.removeAttribute(jQuery.expando);}else{elem[jQuery.expando]=null;}}},_data:function(elem,name,data){return jQuery.data(elem,name,data,true);},acceptData:function(elem){if(elem.nodeName){var match=jQuery.noData[elem.nodeName.toLowerCase()];if(match){return!(match===true||elem.getAttribute("classid")!==match);}}
return true;}});jQuery.fn.extend({data:function(key,value){var data=null;if(typeof key==="undefined"){if(this.length){data=jQuery.data(this[0]);if(this[0].nodeType===1){var attr=this[0].attributes,name;for(var i=0,l=attr.length;i<l;i++){name=attr[i].name;if(name.indexOf("data-")===0){name=name.substr(5);dataAttr(this[0],name,data[name]);}}}}
return data;}else if(typeof key==="object"){return this.each(function(){jQuery.data(this,key);});}
var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length){data=jQuery.data(this[0],key);data=dataAttr(this[0],key,data);}
return data===undefined&&parts[1]?this.data(parts[0]):data;}else{return this.each(function(){var $this=jQuery(this),args=[parts[0],value];$this.triggerHandler("setData"+parts[1]+"!",args);jQuery.data(this,key,value);$this.triggerHandler("changeData"+parts[1]+"!",args);});}},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});}});function dataAttr(elem,key,data){if(data===undefined&&elem.nodeType===1){data=elem.getAttribute("data-"+key);if(typeof data==="string"){try{data=data==="true"?true:data==="false"?false:data==="null"?null:!jQuery.isNaN(data)?parseFloat(data):rbrace.test(data)?jQuery.parseJSON(data):data;}catch(e){}
jQuery.data(elem,key,data);}else{data=undefined;}}
return data;}
function isEmptyDataObject(obj){for(var name in obj){if(name!=="toJSON"){return false;}}
return true;}
jQuery.extend({queue:function(elem,type,data){if(!elem){return;}
type=(type||"fx")+"queue";var q=jQuery._data(elem,type);if(!data){return q||[];}
if(!q||jQuery.isArray(data)){q=jQuery._data(elem,type,jQuery.makeArray(data));}else{q.push(data);}
return q;},dequeue:function(elem,type){type=type||"fx";var queue=jQuery.queue(elem,type),fn=queue.shift();if(fn==="inprogress"){fn=queue.shift();}
if(fn){if(type==="fx"){queue.unshift("inprogress");}
fn.call(elem,function(){jQuery.dequeue(elem,type);});}
if(!queue.length){jQuery.removeData(elem,type+"queue",true);}}});jQuery.fn.extend({queue:function(type,data){if(typeof type!=="string"){data=type;type="fx";}
if(data===undefined){return jQuery.queue(this[0],type);}
return this.each(function(i){var queue=jQuery.queue(this,type,data);if(type==="fx"&&queue[0]!=="inprogress"){jQuery.dequeue(this,type);}});},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type);});},delay:function(time,type){time=jQuery.fx?jQuery.fx.speeds[time]||time:time;type=type||"fx";return this.queue(type,function(){var elem=this;setTimeout(function(){jQuery.dequeue(elem,type);},time);});},clearQueue:function(type){return this.queue(type||"fx",[]);}});var rclass=/[\n\t\r]/g,rspaces=/\s+/,rreturn=/\r/g,rspecialurl=/^(?:href|src|style)$/,rtype=/^(?:button|input)$/i,rfocusable=/^(?:button|input|object|select|textarea)$/i,rclickable=/^a(?:rea)?$/i,rradiocheck=/^(?:radio|checkbox)$/i;jQuery.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};jQuery.fn.extend({attr:function(name,value){return jQuery.access(this,name,value,true,jQuery.attr);},removeAttr:function(name,fn){return this.each(function(){jQuery.attr(this,name,"");if(this.nodeType===1){this.removeAttribute(name);}});},addClass:function(value){if(jQuery.isFunction(value)){return this.each(function(i){var self=jQuery(this);self.addClass(value.call(this,i,self.attr("class")));});}
if(value&&typeof value==="string"){var classNames=(value||"").split(rspaces);for(var i=0,l=this.length;i<l;i++){var elem=this[i];if(elem.nodeType===1){if(!elem.className){elem.className=value;}else{var className=" "+elem.className+" ",setClass=elem.className;for(var c=0,cl=classNames.length;c<cl;c++){if(className.indexOf(" "+classNames[c]+" ")<0){setClass+=" "+classNames[c];}}
elem.className=jQuery.trim(setClass);}}}}
return this;},removeClass:function(value){if(jQuery.isFunction(value)){return this.each(function(i){var self=jQuery(this);self.removeClass(value.call(this,i,self.attr("class")));});}
if((value&&typeof value==="string")||value===undefined){var classNames=(value||"").split(rspaces);for(var i=0,l=this.length;i<l;i++){var elem=this[i];if(elem.nodeType===1&&elem.className){if(value){var className=(" "+elem.className+" ").replace(rclass," ");for(var c=0,cl=classNames.length;c<cl;c++){className=className.replace(" "+classNames[c]+" "," ");}
elem.className=jQuery.trim(className);}else{elem.className="";}}}}
return this;},toggleClass:function(value,stateVal){var type=typeof value,isBool=typeof stateVal==="boolean";if(jQuery.isFunction(value)){return this.each(function(i){var self=jQuery(this);self.toggleClass(value.call(this,i,self.attr("class"),stateVal),stateVal);});}
return this.each(function(){if(type==="string"){var className,i=0,self=jQuery(this),state=stateVal,classNames=value.split(rspaces);while((className=classNames[i++])){state=isBool?state:!self.hasClass(className);self[state?"addClass":"removeClass"](className);}}else if(type==="undefined"||type==="boolean"){if(this.className){jQuery._data(this,"__className__",this.className);}
this.className=this.className||value===false?"":jQuery._data(this,"__className__")||"";}});},hasClass:function(selector){var className=" "+selector+" ";for(var i=0,l=this.length;i<l;i++){if((" "+this[i].className+" ").replace(rclass," ").indexOf(className)>-1){return true;}}
return false;},val:function(value){if(!arguments.length){var elem=this[0];if(elem){if(jQuery.nodeName(elem,"option")){var val=elem.attributes.value;return!val||val.specified?elem.value:elem.text;}
if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type==="select-one";if(index<0){return null;}
for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected&&(jQuery.support.optDisabled?!option.disabled:option.getAttribute("disabled")===null)&&(!option.parentNode.disabled||!jQuery.nodeName(option.parentNode,"optgroup"))){value=jQuery(option).val();if(one){return value;}
values.push(value);}}
if(one&&!values.length&&options.length){return jQuery(options[index]).val();}
return values;}
if(rradiocheck.test(elem.type)&&!jQuery.support.checkOn){return elem.getAttribute("value")===null?"on":elem.value;}
return(elem.value||"").replace(rreturn,"");}
return undefined;}
var isFunction=jQuery.isFunction(value);return this.each(function(i){var self=jQuery(this),val=value;if(this.nodeType!==1){return;}
if(isFunction){val=value.call(this,i,self.val());}
if(val==null){val="";}else if(typeof val==="number"){val+="";}else if(jQuery.isArray(val)){val=jQuery.map(val,function(value){return value==null?"":value+"";});}
if(jQuery.isArray(val)&&rradiocheck.test(this.type)){this.checked=jQuery.inArray(self.val(),val)>=0;}else if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(val);jQuery("option",this).each(function(){this.selected=jQuery.inArray(jQuery(this).val(),values)>=0;});if(!values.length){this.selectedIndex=-1;}}else{this.value=val;}});}});jQuery.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(elem,name,value,pass){if(!elem||elem.nodeType===3||elem.nodeType===8||elem.nodeType===2){return undefined;}
if(pass&&name in jQuery.attrFn){return jQuery(elem)[name](value);}
var notxml=elem.nodeType!==1||!jQuery.isXMLDoc(elem),set=value!==undefined;name=notxml&&jQuery.props[name]||name;if(elem.nodeType===1){var special=rspecialurl.test(name);if(name==="selected"&&!jQuery.support.optSelected){var parent=elem.parentNode;if(parent){parent.selectedIndex;if(parent.parentNode){parent.parentNode.selectedIndex;}}}
if((name in elem||elem[name]!==undefined)&&notxml&&!special){if(set){if(name==="type"&&rtype.test(elem.nodeName)&&elem.parentNode){jQuery.error("type property can't be changed");}
if(value===null){if(elem.nodeType===1){elem.removeAttribute(name);}}else{elem[name]=value;}}
if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name)){return elem.getAttributeNode(name).nodeValue;}
if(name==="tabIndex"){var attributeNode=elem.getAttributeNode("tabIndex");return attributeNode&&attributeNode.specified?attributeNode.value:rfocusable.test(elem.nodeName)||rclickable.test(elem.nodeName)&&elem.href?0:undefined;}
return elem[name];}
if(!jQuery.support.style&&notxml&&name==="style"){if(set){elem.style.cssText=""+value;}
return elem.style.cssText;}
if(set){elem.setAttribute(name,""+value);}
if(!elem.attributes[name]&&(elem.hasAttribute&&!elem.hasAttribute(name))){return undefined;}
var attr=!jQuery.support.hrefNormalized&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}
if(set){elem[name]=value;}
return elem[name];}});var rnamespaces=/\.(.*)$/,rformElems=/^(?:textarea|input|select)$/i,rperiod=/\./g,rspace=/ /g,rescape=/[^\w\s.|`]/g,fcleanup=function(nm){return nm.replace(rescape,"\\$&");};jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType===3||elem.nodeType===8){return;}
try{if(jQuery.isWindow(elem)&&(elem!==window&&!elem.frameElement)){elem=window;}}
catch(e){}
if(handler===false){handler=returnFalse;}else if(!handler){return;}
var handleObjIn,handleObj;if(handler.handler){handleObjIn=handler;handler=handleObjIn.handler;}
if(!handler.guid){handler.guid=jQuery.guid++;}
var elemData=jQuery._data(elem);if(!elemData){return;}
var events=elemData.events,eventHandle=elemData.handle;if(!events){elemData.events=events={};}
if(!eventHandle){elemData.handle=eventHandle=function(){return typeof jQuery!=="undefined"&&!jQuery.event.triggered?jQuery.event.handle.apply(eventHandle.elem,arguments):undefined;};}
eventHandle.elem=elem;types=types.split(" ");var type,i=0,namespaces;while((type=types[i++])){handleObj=handleObjIn?jQuery.extend({},handleObjIn):{handler:handler,data:data};if(type.indexOf(".")>-1){namespaces=type.split(".");type=namespaces.shift();handleObj.namespace=namespaces.slice(0).sort().join(".");}else{namespaces=[];handleObj.namespace="";}
handleObj.type=type;if(!handleObj.guid){handleObj.guid=handler.guid;}
var handlers=events[type],special=jQuery.event.special[type]||{};if(!handlers){handlers=events[type]=[];if(!special.setup||special.setup.call(elem,data,namespaces,eventHandle)===false){if(elem.addEventListener){elem.addEventListener(type,eventHandle,false);}else if(elem.attachEvent){elem.attachEvent("on"+type,eventHandle);}}}
if(special.add){special.add.call(elem,handleObj);if(!handleObj.handler.guid){handleObj.handler.guid=handler.guid;}}
handlers.push(handleObj);jQuery.event.global[type]=true;}
elem=null;},global:{},remove:function(elem,types,handler,pos){if(elem.nodeType===3||elem.nodeType===8){return;}
if(handler===false){handler=returnFalse;}
var ret,type,fn,j,i=0,all,namespaces,namespace,special,eventType,handleObj,origType,elemData=jQuery.hasData(elem)&&jQuery._data(elem),events=elemData&&elemData.events;if(!elemData||!events){return;}
if(types&&types.type){handler=types.handler;types=types.type;}
if(!types||typeof types==="string"&&types.charAt(0)==="."){types=types||"";for(type in events){jQuery.event.remove(elem,type+types);}
return;}
types=types.split(" ");while((type=types[i++])){origType=type;handleObj=null;all=type.indexOf(".")<0;namespaces=[];if(!all){namespaces=type.split(".");type=namespaces.shift();namespace=new RegExp("(^|\\.)"+
jQuery.map(namespaces.slice(0).sort(),fcleanup).join("\\.(?:.*\\.)?")+"(\\.|$)");}
eventType=events[type];if(!eventType){continue;}
if(!handler){for(j=0;j<eventType.length;j++){handleObj=eventType[j];if(all||namespace.test(handleObj.namespace)){jQuery.event.remove(elem,origType,handleObj.handler,j);eventType.splice(j--,1);}}
continue;}
special=jQuery.event.special[type]||{};for(j=pos||0;j<eventType.length;j++){handleObj=eventType[j];if(handler.guid===handleObj.guid){if(all||namespace.test(handleObj.namespace)){if(pos==null){eventType.splice(j--,1);}
if(special.remove){special.remove.call(elem,handleObj);}}
if(pos!=null){break;}}}
if(eventType.length===0||pos!=null&&eventType.length===1){if(!special.teardown||special.teardown.call(elem,namespaces)===false){jQuery.removeEvent(elem,type,elemData.handle);}
ret=null;delete events[type];}}
if(jQuery.isEmptyObject(events)){var handle=elemData.handle;if(handle){handle.elem=null;}
delete elemData.events;delete elemData.handle;if(jQuery.isEmptyObject(elemData)){jQuery.removeData(elem,undefined,true);}}},trigger:function(event,data,elem){var type=event.type||event,bubbling=arguments[3];if(!bubbling){event=typeof event==="object"?event[jQuery.expando]?event:jQuery.extend(jQuery.Event(type),event):jQuery.Event(type);if(type.indexOf("!")>=0){event.type=type=type.slice(0,-1);event.exclusive=true;}
if(!elem){event.stopPropagation();if(jQuery.event.global[type]){jQuery.each(jQuery.cache,function(){var internalKey=jQuery.expando,internalCache=this[internalKey];if(internalCache&&internalCache.events&&internalCache.events[type]){jQuery.event.trigger(event,data,internalCache.handle.elem);}});}}
if(!elem||elem.nodeType===3||elem.nodeType===8){return undefined;}
event.result=undefined;event.target=elem;data=jQuery.makeArray(data);data.unshift(event);}
event.currentTarget=elem;var handle=jQuery._data(elem,"handle");if(handle){handle.apply(elem,data);}
var parent=elem.parentNode||elem.ownerDocument;try{if(!(elem&&elem.nodeName&&jQuery.noData[elem.nodeName.toLowerCase()])){if(elem["on"+type]&&elem["on"+type].apply(elem,data)===false){event.result=false;event.preventDefault();}}}catch(inlineError){}
if(!event.isPropagationStopped()&&parent){jQuery.event.trigger(event,data,parent,true);}else if(!event.isDefaultPrevented()){var old,target=event.target,targetType=type.replace(rnamespaces,""),isClick=jQuery.nodeName(target,"a")&&targetType==="click",special=jQuery.event.special[targetType]||{};if((!special._default||special._default.call(elem,event)===false)&&!isClick&&!(target&&target.nodeName&&jQuery.noData[target.nodeName.toLowerCase()])){try{if(target[targetType]){old=target["on"+targetType];if(old){target["on"+targetType]=null;}
jQuery.event.triggered=true;target[targetType]();}}catch(triggerError){}
if(old){target["on"+targetType]=old;}
jQuery.event.triggered=false;}}},handle:function(event){var all,handlers,namespaces,namespace_re,events,namespace_sort=[],args=jQuery.makeArray(arguments);event=args[0]=jQuery.event.fix(event||window.event);event.currentTarget=this;all=event.type.indexOf(".")<0&&!event.exclusive;if(!all){namespaces=event.type.split(".");event.type=namespaces.shift();namespace_sort=namespaces.slice(0).sort();namespace_re=new RegExp("(^|\\.)"+namespace_sort.join("\\.(?:.*\\.)?")+"(\\.|$)");}
event.namespace=event.namespace||namespace_sort.join(".");events=jQuery._data(this,"events");handlers=(events||{})[event.type];if(events&&handlers){handlers=handlers.slice(0);for(var j=0,l=handlers.length;j<l;j++){var handleObj=handlers[j];if(all||namespace_re.test(handleObj.namespace)){event.handler=handleObj.handler;event.data=handleObj.data;event.handleObj=handleObj;var ret=handleObj.handler.apply(this,args);if(ret!==undefined){event.result=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}
if(event.isImmediatePropagationStopped()){break;}}}}
return event.result;},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(event){if(event[jQuery.expando]){return event;}
var originalEvent=event;event=jQuery.Event(originalEvent);for(var i=this.props.length,prop;i;){prop=this.props[--i];event[prop]=originalEvent[prop];}
if(!event.target){event.target=event.srcElement||document;}
if(event.target.nodeType===3){event.target=event.target.parentNode;}
if(!event.relatedTarget&&event.fromElement){event.relatedTarget=event.fromElement===event.target?event.toElement:event.fromElement;}
if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc&&doc.clientLeft||body&&body.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc&&doc.clientTop||body&&body.clientTop||0);}
if(event.which==null&&(event.charCode!=null||event.keyCode!=null)){event.which=event.charCode!=null?event.charCode:event.keyCode;}
if(!event.metaKey&&event.ctrlKey){event.metaKey=event.ctrlKey;}
if(!event.which&&event.button!==undefined){event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));}
return event;},guid:1E8,proxy:jQuery.proxy,special:{ready:{setup:jQuery.bindReady,teardown:jQuery.noop},live:{add:function(handleObj){jQuery.event.add(this,liveConvert(handleObj.origType,handleObj.selector),jQuery.extend({},handleObj,{handler:liveHandler,guid:handleObj.handler.guid}));},remove:function(handleObj){jQuery.event.remove(this,liveConvert(handleObj.origType,handleObj.selector),handleObj);}},beforeunload:{setup:function(data,namespaces,eventHandle){if(jQuery.isWindow(this)){this.onbeforeunload=eventHandle;}},teardown:function(namespaces,eventHandle){if(this.onbeforeunload===eventHandle){this.onbeforeunload=null;}}}}};jQuery.removeEvent=document.removeEventListener?function(elem,type,handle){if(elem.removeEventListener){elem.removeEventListener(type,handle,false);}}:function(elem,type,handle){if(elem.detachEvent){elem.detachEvent("on"+type,handle);}};jQuery.Event=function(src){if(!this.preventDefault){return new jQuery.Event(src);}
if(src&&src.type){this.originalEvent=src;this.type=src.type;this.isDefaultPrevented=(src.defaultPrevented||src.returnValue===false||src.getPreventDefault&&src.getPreventDefault())?returnTrue:returnFalse;}else{this.type=src;}
this.timeStamp=jQuery.now();this[jQuery.expando]=true;};function returnFalse(){return false;}
function returnTrue(){return true;}
jQuery.Event.prototype={preventDefault:function(){this.isDefaultPrevented=returnTrue;var e=this.originalEvent;if(!e){return;}
if(e.preventDefault){e.preventDefault();}else{e.returnValue=false;}},stopPropagation:function(){this.isPropagationStopped=returnTrue;var e=this.originalEvent;if(!e){return;}
if(e.stopPropagation){e.stopPropagation();}
e.cancelBubble=true;},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=returnTrue;this.stopPropagation();},isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse};var withinElement=function(event){var parent=event.relatedTarget;try{if(parent!==document&&!parent.parentNode){return;}
while(parent&&parent!==this){parent=parent.parentNode;}
if(parent!==this){event.type=event.data;jQuery.event.handle.apply(this,arguments);}}catch(e){}},delegate=function(event){event.type=event.data;jQuery.event.handle.apply(this,arguments);};jQuery.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(orig,fix){jQuery.event.special[orig]={setup:function(data){jQuery.event.add(this,fix,data&&data.selector?delegate:withinElement,orig);},teardown:function(data){jQuery.event.remove(this,fix,data&&data.selector?delegate:withinElement);}};});if(!jQuery.support.submitBubbles){jQuery.event.special.submit={setup:function(data,namespaces){if(this.nodeName&&this.nodeName.toLowerCase()!=="form"){jQuery.event.add(this,"click.specialSubmit",function(e){var elem=e.target,type=elem.type;if((type==="submit"||type==="image")&&jQuery(elem).closest("form").length){trigger("submit",this,arguments);}});jQuery.event.add(this,"keypress.specialSubmit",function(e){var elem=e.target,type=elem.type;if((type==="text"||type==="password")&&jQuery(elem).closest("form").length&&e.keyCode===13){trigger("submit",this,arguments);}});}else{return false;}},teardown:function(namespaces){jQuery.event.remove(this,".specialSubmit");}};}
if(!jQuery.support.changeBubbles){var changeFilters,getVal=function(elem){var type=elem.type,val=elem.value;if(type==="radio"||type==="checkbox"){val=elem.checked;}else if(type==="select-multiple"){val=elem.selectedIndex>-1?jQuery.map(elem.options,function(elem){return elem.selected;}).join("-"):"";}else if(elem.nodeName.toLowerCase()==="select"){val=elem.selectedIndex;}
return val;},testChange=function testChange(e){var elem=e.target,data,val;if(!rformElems.test(elem.nodeName)||elem.readOnly){return;}
data=jQuery._data(elem,"_change_data");val=getVal(elem);if(e.type!=="focusout"||elem.type!=="radio"){jQuery._data(elem,"_change_data",val);}
if(data===undefined||val===data){return;}
if(data!=null||val){e.type="change";e.liveFired=undefined;jQuery.event.trigger(e,arguments[1],elem);}};jQuery.event.special.change={filters:{focusout:testChange,beforedeactivate:testChange,click:function(e){var elem=e.target,type=elem.type;if(type==="radio"||type==="checkbox"||elem.nodeName.toLowerCase()==="select"){testChange.call(this,e);}},keydown:function(e){var elem=e.target,type=elem.type;if((e.keyCode===13&&elem.nodeName.toLowerCase()!=="textarea")||(e.keyCode===32&&(type==="checkbox"||type==="radio"))||type==="select-multiple"){testChange.call(this,e);}},beforeactivate:function(e){var elem=e.target;jQuery._data(elem,"_change_data",getVal(elem));}},setup:function(data,namespaces){if(this.type==="file"){return false;}
for(var type in changeFilters){jQuery.event.add(this,type+".specialChange",changeFilters[type]);}
return rformElems.test(this.nodeName);},teardown:function(namespaces){jQuery.event.remove(this,".specialChange");return rformElems.test(this.nodeName);}};changeFilters=jQuery.event.special.change.filters;changeFilters.focus=changeFilters.beforeactivate;}
function trigger(type,elem,args){var event=jQuery.extend({},args[0]);event.type=type;event.originalEvent={};event.liveFired=undefined;jQuery.event.handle.call(elem,event);if(event.isDefaultPrevented()){args[0].preventDefault();}}
if(document.addEventListener){jQuery.each({focus:"focusin",blur:"focusout"},function(orig,fix){jQuery.event.special[fix]={setup:function(){this.addEventListener(orig,handler,true);},teardown:function(){this.removeEventListener(orig,handler,true);}};function handler(e){e=jQuery.event.fix(e);e.type=fix;return jQuery.event.handle.call(this,e);}});}
jQuery.each(["bind","one"],function(i,name){jQuery.fn[name]=function(type,data,fn){if(typeof type==="object"){for(var key in type){this[name](key,data,type[key],fn);}
return this;}
if(jQuery.isFunction(data)||data===false){fn=data;data=undefined;}
var handler=name==="one"?jQuery.proxy(fn,function(event){jQuery(this).unbind(event,handler);return fn.apply(this,arguments);}):fn;if(type==="unload"&&name!=="one"){this.one(type,data,fn);}else{for(var i=0,l=this.length;i<l;i++){jQuery.event.add(this[i],type,handler,data);}}
return this;};});jQuery.fn.extend({unbind:function(type,fn){if(typeof type==="object"&&!type.preventDefault){for(var key in type){this.unbind(key,type[key]);}}else{for(var i=0,l=this.length;i<l;i++){jQuery.event.remove(this[i],type,fn);}}
return this;},delegate:function(selector,types,data,fn){return this.live(types,data,fn,selector);},undelegate:function(selector,types,fn){if(arguments.length===0){return this.unbind("live");}else{return this.die(types,null,fn,selector);}},trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this);});},triggerHandler:function(type,data){if(this[0]){var event=jQuery.Event(type);event.preventDefault();event.stopPropagation();jQuery.event.trigger(event,data,this[0]);return event.result;}},toggle:function(fn){var args=arguments,i=1;while(i<args.length){jQuery.proxy(fn,args[i++]);}
return this.click(jQuery.proxy(fn,function(event){var lastToggle=(jQuery._data(this,"lastToggle"+fn.guid)||0)%i;jQuery._data(this,"lastToggle"+fn.guid,lastToggle+1);event.preventDefault();return args[lastToggle].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut||fnOver);}});var liveMap={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};jQuery.each(["live","die"],function(i,name){jQuery.fn[name]=function(types,data,fn,origSelector){var type,i=0,match,namespaces,preType,selector=origSelector||this.selector,context=origSelector?this:jQuery(this.context);if(typeof types==="object"&&!types.preventDefault){for(var key in types){context[name](key,data,types[key],selector);}
return this;}
if(jQuery.isFunction(data)){fn=data;data=undefined;}
types=(types||"").split(" ");while((type=types[i++])!=null){match=rnamespaces.exec(type);namespaces="";if(match){namespaces=match[0];type=type.replace(rnamespaces,"");}
if(type==="hover"){types.push("mouseenter"+namespaces,"mouseleave"+namespaces);continue;}
preType=type;if(type==="focus"||type==="blur"){types.push(liveMap[type]+namespaces);type=type+namespaces;}else{type=(liveMap[type]||type)+namespaces;}
if(name==="live"){for(var j=0,l=context.length;j<l;j++){jQuery.event.add(context[j],"live."+liveConvert(type,selector),{data:data,selector:selector,handler:fn,origType:type,origHandler:fn,preType:preType});}}else{context.unbind("live."+liveConvert(type,selector),fn);}}
return this;};});function liveHandler(event){var stop,maxLevel,related,match,handleObj,elem,j,i,l,data,close,namespace,ret,elems=[],selectors=[],events=jQuery._data(this,"events");if(event.liveFired===this||!events||!events.live||event.target.disabled||event.button&&event.type==="click"){return;}
if(event.namespace){namespace=new RegExp("(^|\\.)"+event.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)");}
event.liveFired=this;var live=events.live.slice(0);for(j=0;j<live.length;j++){handleObj=live[j];if(handleObj.origType.replace(rnamespaces,"")===event.type){selectors.push(handleObj.selector);}else{live.splice(j--,1);}}
match=jQuery(event.target).closest(selectors,event.currentTarget);for(i=0,l=match.length;i<l;i++){close=match[i];for(j=0;j<live.length;j++){handleObj=live[j];if(close.selector===handleObj.selector&&(!namespace||namespace.test(handleObj.namespace))&&!close.elem.disabled){elem=close.elem;related=null;if(handleObj.preType==="mouseenter"||handleObj.preType==="mouseleave"){event.type=handleObj.preType;related=jQuery(event.relatedTarget).closest(handleObj.selector)[0];}
if(!related||related!==elem){elems.push({elem:elem,handleObj:handleObj,level:close.level});}}}}
for(i=0,l=elems.length;i<l;i++){match=elems[i];if(maxLevel&&match.level>maxLevel){break;}
event.currentTarget=match.elem;event.data=match.handleObj.data;event.handleObj=match.handleObj;ret=match.handleObj.origHandler.apply(match.elem,arguments);if(ret===false||event.isPropagationStopped()){maxLevel=match.level;if(ret===false){stop=false;}
if(event.isImmediatePropagationStopped()){break;}}}
return stop;}
function liveConvert(type,selector){return(type&&type!=="*"?type+".":"")+selector.replace(rperiod,"`").replace(rspace,"&");}
jQuery.each(("blur focus focusin focusout load resize scroll unload click dblclick "+"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave "+"change select submit keydown keypress keyup error").split(" "),function(i,name){jQuery.fn[name]=function(data,fn){if(fn==null){fn=data;data=null;}
return arguments.length>0?this.bind(name,data,fn):this.trigger(name);};if(jQuery.attrFn){jQuery.attrFn[name]=true;}});(function(){var chunker=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,done=0,toString=Object.prototype.toString,hasDuplicate=false,baseHasDuplicate=true,rBackslash=/\\/g,rNonWord=/\W/;[0,0].sort(function(){baseHasDuplicate=false;return 0;});var Sizzle=function(selector,context,results,seed){results=results||[];context=context||document;var origContext=context;if(context.nodeType!==1&&context.nodeType!==9){return[];}
if(!selector||typeof selector!=="string"){return results;}
var m,set,checkSet,extra,ret,cur,pop,i,prune=true,contextXML=Sizzle.isXML(context),parts=[],soFar=selector;do{chunker.exec("");m=chunker.exec(soFar);if(m){soFar=m[3];parts.push(m[1]);if(m[2]){extra=m[3];break;}}}while(m);if(parts.length>1&&origPOS.exec(selector)){if(parts.length===2&&Expr.relative[parts[0]]){set=posProcess(parts[0]+parts[1],context);}else{set=Expr.relative[parts[0]]?[context]:Sizzle(parts.shift(),context);while(parts.length){selector=parts.shift();if(Expr.relative[selector]){selector+=parts.shift();}
set=posProcess(selector,set);}}}else{if(!seed&&parts.length>1&&context.nodeType===9&&!contextXML&&Expr.match.ID.test(parts[0])&&!Expr.match.ID.test(parts[parts.length-1])){ret=Sizzle.find(parts.shift(),context,contextXML);context=ret.expr?Sizzle.filter(ret.expr,ret.set)[0]:ret.set[0];}
if(context){ret=seed?{expr:parts.pop(),set:makeArray(seed)}:Sizzle.find(parts.pop(),parts.length===1&&(parts[0]==="~"||parts[0]==="+")&&context.parentNode?context.parentNode:context,contextXML);set=ret.expr?Sizzle.filter(ret.expr,ret.set):ret.set;if(parts.length>0){checkSet=makeArray(set);}else{prune=false;}
while(parts.length){cur=parts.pop();pop=cur;if(!Expr.relative[cur]){cur="";}else{pop=parts.pop();}
if(pop==null){pop=context;}
Expr.relative[cur](checkSet,pop,contextXML);}}else{checkSet=parts=[];}}
if(!checkSet){checkSet=set;}
if(!checkSet){Sizzle.error(cur||selector);}
if(toString.call(checkSet)==="[object Array]"){if(!prune){results.push.apply(results,checkSet);}else if(context&&context.nodeType===1){for(i=0;checkSet[i]!=null;i++){if(checkSet[i]&&(checkSet[i]===true||checkSet[i].nodeType===1&&Sizzle.contains(context,checkSet[i]))){results.push(set[i]);}}}else{for(i=0;checkSet[i]!=null;i++){if(checkSet[i]&&checkSet[i].nodeType===1){results.push(set[i]);}}}}else{makeArray(checkSet,results);}
if(extra){Sizzle(extra,origContext,results,seed);Sizzle.uniqueSort(results);}
return results;};Sizzle.uniqueSort=function(results){if(sortOrder){hasDuplicate=baseHasDuplicate;results.sort(sortOrder);if(hasDuplicate){for(var i=1;i<results.length;i++){if(results[i]===results[i-1]){results.splice(i--,1);}}}}
return results;};Sizzle.matches=function(expr,set){return Sizzle(expr,null,null,set);};Sizzle.matchesSelector=function(node,expr){return Sizzle(expr,null,null,[node]).length>0;};Sizzle.find=function(expr,context,isXML){var set;if(!expr){return[];}
for(var i=0,l=Expr.order.length;i<l;i++){var match,type=Expr.order[i];if((match=Expr.leftMatch[type].exec(expr))){var left=match[1];match.splice(1,1);if(left.substr(left.length-1)!=="\\"){match[1]=(match[1]||"").replace(rBackslash,"");set=Expr.find[type](match,context,isXML);if(set!=null){expr=expr.replace(Expr.match[type],"");break;}}}}
if(!set){set=typeof context.getElementsByTagName!=="undefined"?context.getElementsByTagName("*"):[];}
return{set:set,expr:expr};};Sizzle.filter=function(expr,set,inplace,not){var match,anyFound,old=expr,result=[],curLoop=set,isXMLFilter=set&&set[0]&&Sizzle.isXML(set[0]);while(expr&&set.length){for(var type in Expr.filter){if((match=Expr.leftMatch[type].exec(expr))!=null&&match[2]){var found,item,filter=Expr.filter[type],left=match[1];anyFound=false;match.splice(1,1);if(left.substr(left.length-1)==="\\"){continue;}
if(curLoop===result){result=[];}
if(Expr.preFilter[type]){match=Expr.preFilter[type](match,curLoop,inplace,result,not,isXMLFilter);if(!match){anyFound=found=true;}else if(match===true){continue;}}
if(match){for(var i=0;(item=curLoop[i])!=null;i++){if(item){found=filter(item,match,i,curLoop);var pass=not^!!found;if(inplace&&found!=null){if(pass){anyFound=true;}else{curLoop[i]=false;}}else if(pass){result.push(item);anyFound=true;}}}}
if(found!==undefined){if(!inplace){curLoop=result;}
expr=expr.replace(Expr.match[type],"");if(!anyFound){return[];}
break;}}}
if(expr===old){if(anyFound==null){Sizzle.error(expr);}else{break;}}
old=expr;}
return curLoop;};Sizzle.error=function(msg){throw"Syntax error, unrecognized expression: "+msg;};var Expr=Sizzle.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(elem){return elem.getAttribute("href");},type:function(elem){return elem.getAttribute("type");}},relative:{"+":function(checkSet,part){var isPartStr=typeof part==="string",isTag=isPartStr&&!rNonWord.test(part),isPartStrNotTag=isPartStr&&!isTag;if(isTag){part=part.toLowerCase();}
for(var i=0,l=checkSet.length,elem;i<l;i++){if((elem=checkSet[i])){while((elem=elem.previousSibling)&&elem.nodeType!==1){}
checkSet[i]=isPartStrNotTag||elem&&elem.nodeName.toLowerCase()===part?elem||false:elem===part;}}
if(isPartStrNotTag){Sizzle.filter(part,checkSet,true);}},">":function(checkSet,part){var elem,isPartStr=typeof part==="string",i=0,l=checkSet.length;if(isPartStr&&!rNonWord.test(part)){part=part.toLowerCase();for(;i<l;i++){elem=checkSet[i];if(elem){var parent=elem.parentNode;checkSet[i]=parent.nodeName.toLowerCase()===part?parent:false;}}}else{for(;i<l;i++){elem=checkSet[i];if(elem){checkSet[i]=isPartStr?elem.parentNode:elem.parentNode===part;}}
if(isPartStr){Sizzle.filter(part,checkSet,true);}}},"":function(checkSet,part,isXML){var nodeCheck,doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!rNonWord.test(part)){part=part.toLowerCase();nodeCheck=part;checkFn=dirNodeCheck;}
checkFn("parentNode",part,doneName,checkSet,nodeCheck,isXML);},"~":function(checkSet,part,isXML){var nodeCheck,doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!rNonWord.test(part)){part=part.toLowerCase();nodeCheck=part;checkFn=dirNodeCheck;}
checkFn("previousSibling",part,doneName,checkSet,nodeCheck,isXML);}},find:{ID:function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m&&m.parentNode?[m]:[];}},NAME:function(match,context){if(typeof context.getElementsByName!=="undefined"){var ret=[],results=context.getElementsByName(match[1]);for(var i=0,l=results.length;i<l;i++){if(results[i].getAttribute("name")===match[1]){ret.push(results[i]);}}
return ret.length===0?null:ret;}},TAG:function(match,context){if(typeof context.getElementsByTagName!=="undefined"){return context.getElementsByTagName(match[1]);}}},preFilter:{CLASS:function(match,curLoop,inplace,result,not,isXML){match=" "+match[1].replace(rBackslash,"")+" ";if(isXML){return match;}
for(var i=0,elem;(elem=curLoop[i])!=null;i++){if(elem){if(not^(elem.className&&(" "+elem.className+" ").replace(/[\t\n\r]/g," ").indexOf(match)>=0)){if(!inplace){result.push(elem);}}else if(inplace){curLoop[i]=false;}}}
return false;},ID:function(match){return match[1].replace(rBackslash,"");},TAG:function(match,curLoop){return match[1].replace(rBackslash,"").toLowerCase();},CHILD:function(match){if(match[1]==="nth"){if(!match[2]){Sizzle.error(match[0]);}
match[2]=match[2].replace(/^\+|\s*/g,'');var test=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(match[2]==="even"&&"2n"||match[2]==="odd"&&"2n+1"||!/\D/.test(match[2])&&"0n+"+match[2]||match[2]);match[2]=(test[1]+(test[2]||1))-0;match[3]=test[3]-0;}
else if(match[2]){Sizzle.error(match[0]);}
match[0]=done++;return match;},ATTR:function(match,curLoop,inplace,result,not,isXML){var name=match[1]=match[1].replace(rBackslash,"");if(!isXML&&Expr.attrMap[name]){match[1]=Expr.attrMap[name];}
match[4]=(match[4]||match[5]||"").replace(rBackslash,"");if(match[2]==="~="){match[4]=" "+match[4]+" ";}
return match;},PSEUDO:function(match,curLoop,inplace,result,not){if(match[1]==="not"){if((chunker.exec(match[3])||"").length>1||/^\w/.test(match[3])){match[3]=Sizzle(match[3],null,null,curLoop);}else{var ret=Sizzle.filter(match[3],curLoop,inplace,true^not);if(!inplace){result.push.apply(result,ret);}
return false;}}else if(Expr.match.POS.test(match[0])||Expr.match.CHILD.test(match[0])){return true;}
return match;},POS:function(match){match.unshift(true);return match;}},filters:{enabled:function(elem){return elem.disabled===false&&elem.type!=="hidden";},disabled:function(elem){return elem.disabled===true;},checked:function(elem){return elem.checked===true;},selected:function(elem){if(elem.parentNode){elem.parentNode.selectedIndex;}
return elem.selected===true;},parent:function(elem){return!!elem.firstChild;},empty:function(elem){return!elem.firstChild;},has:function(elem,i,match){return!!Sizzle(match[3],elem).length;},header:function(elem){return(/h\d/i).test(elem.nodeName);},text:function(elem){return"text"===elem.getAttribute('type');},radio:function(elem){return"radio"===elem.type;},checkbox:function(elem){return"checkbox"===elem.type;},file:function(elem){return"file"===elem.type;},password:function(elem){return"password"===elem.type;},submit:function(elem){return"submit"===elem.type;},image:function(elem){return"image"===elem.type;},reset:function(elem){return"reset"===elem.type;},button:function(elem){return"button"===elem.type||elem.nodeName.toLowerCase()==="button";},input:function(elem){return(/input|select|textarea|button/i).test(elem.nodeName);}},setFilters:{first:function(elem,i){return i===0;},last:function(elem,i,match,array){return i===array.length-1;},even:function(elem,i){return i%2===0;},odd:function(elem,i){return i%2===1;},lt:function(elem,i,match){return i<match[3]-0;},gt:function(elem,i,match){return i>match[3]-0;},nth:function(elem,i,match){return match[3]-0===i;},eq:function(elem,i,match){return match[3]-0===i;}},filter:{PSEUDO:function(elem,match,i,array){var name=match[1],filter=Expr.filters[name];if(filter){return filter(elem,i,match,array);}else if(name==="contains"){return(elem.textContent||elem.innerText||Sizzle.getText([elem])||"").indexOf(match[3])>=0;}else if(name==="not"){var not=match[3];for(var j=0,l=not.length;j<l;j++){if(not[j]===elem){return false;}}
return true;}else{Sizzle.error(name);}},CHILD:function(elem,match){var type=match[1],node=elem;switch(type){case"only":case"first":while((node=node.previousSibling)){if(node.nodeType===1){return false;}}
if(type==="first"){return true;}
node=elem;case"last":while((node=node.nextSibling)){if(node.nodeType===1){return false;}}
return true;case"nth":var first=match[2],last=match[3];if(first===1&&last===0){return true;}
var doneName=match[0],parent=elem.parentNode;if(parent&&(parent.sizcache!==doneName||!elem.nodeIndex)){var count=0;for(node=parent.firstChild;node;node=node.nextSibling){if(node.nodeType===1){node.nodeIndex=++count;}}
parent.sizcache=doneName;}
var diff=elem.nodeIndex-last;if(first===0){return diff===0;}else{return(diff%first===0&&diff/first>=0);}}},ID:function(elem,match){return elem.nodeType===1&&elem.getAttribute("id")===match;},TAG:function(elem,match){return(match==="*"&&elem.nodeType===1)||elem.nodeName.toLowerCase()===match;},CLASS:function(elem,match){return(" "+(elem.className||elem.getAttribute("class"))+" ").indexOf(match)>-1;},ATTR:function(elem,match){var name=match[1],result=Expr.attrHandle[name]?Expr.attrHandle[name](elem):elem[name]!=null?elem[name]:elem.getAttribute(name),value=result+"",type=match[2],check=match[4];return result==null?type==="!=":type==="="?value===check:type==="*="?value.indexOf(check)>=0:type==="~="?(" "+value+" ").indexOf(check)>=0:!check?value&&result!==false:type==="!="?value!==check:type==="^="?value.indexOf(check)===0:type==="$="?value.substr(value.length-check.length)===check:type==="|="?value===check||value.substr(0,check.length+1)===check+"-":false;},POS:function(elem,match,i,array){var name=match[2],filter=Expr.setFilters[name];if(filter){return filter(elem,i,match,array);}}}};var origPOS=Expr.match.POS,fescape=function(all,num){return"\\"+(num-0+1);};for(var type in Expr.match){Expr.match[type]=new RegExp(Expr.match[type].source+(/(?![^\[]*\])(?![^\(]*\))/.source));Expr.leftMatch[type]=new RegExp(/(^(?:.|\r|\n)*?)/.source+Expr.match[type].source.replace(/\\(\d+)/g,fescape));}
var makeArray=function(array,results){array=Array.prototype.slice.call(array,0);if(results){results.push.apply(results,array);return results;}
return array;};try{Array.prototype.slice.call(document.documentElement.childNodes,0)[0].nodeType;}catch(e){makeArray=function(array,results){var i=0,ret=results||[];if(toString.call(array)==="[object Array]"){Array.prototype.push.apply(ret,array);}else{if(typeof array.length==="number"){for(var l=array.length;i<l;i++){ret.push(array[i]);}}else{for(;array[i];i++){ret.push(array[i]);}}}
return ret;};}
var sortOrder,siblingCheck;if(document.documentElement.compareDocumentPosition){sortOrder=function(a,b){if(a===b){hasDuplicate=true;return 0;}
if(!a.compareDocumentPosition||!b.compareDocumentPosition){return a.compareDocumentPosition?-1:1;}
return a.compareDocumentPosition(b)&4?-1:1;};}else{sortOrder=function(a,b){var al,bl,ap=[],bp=[],aup=a.parentNode,bup=b.parentNode,cur=aup;if(a===b){hasDuplicate=true;return 0;}else if(aup===bup){return siblingCheck(a,b);}else if(!aup){return-1;}else if(!bup){return 1;}
while(cur){ap.unshift(cur);cur=cur.parentNode;}
cur=bup;while(cur){bp.unshift(cur);cur=cur.parentNode;}
al=ap.length;bl=bp.length;for(var i=0;i<al&&i<bl;i++){if(ap[i]!==bp[i]){return siblingCheck(ap[i],bp[i]);}}
return i===al?siblingCheck(a,bp[i],-1):siblingCheck(ap[i],b,1);};siblingCheck=function(a,b,ret){if(a===b){return ret;}
var cur=a.nextSibling;while(cur){if(cur===b){return-1;}
cur=cur.nextSibling;}
return 1;};}
Sizzle.getText=function(elems){var ret="",elem;for(var i=0;elems[i];i++){elem=elems[i];if(elem.nodeType===3||elem.nodeType===4){ret+=elem.nodeValue;}else if(elem.nodeType!==8){ret+=Sizzle.getText(elem.childNodes);}}
return ret;};(function(){var form=document.createElement("div"),id="script"+(new Date()).getTime(),root=document.documentElement;form.innerHTML="<a name='"+id+"'/>";root.insertBefore(form,root.firstChild);if(document.getElementById(id)){Expr.find.ID=function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?m.id===match[1]||typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id").nodeValue===match[1]?[m]:undefined:[];}};Expr.filter.ID=function(elem,match){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return elem.nodeType===1&&node&&node.nodeValue===match;};}
root.removeChild(form);root=form=null;})();(function(){var div=document.createElement("div");div.appendChild(document.createComment(""));if(div.getElementsByTagName("*").length>0){Expr.find.TAG=function(match,context){var results=context.getElementsByTagName(match[1]);if(match[1]==="*"){var tmp=[];for(var i=0;results[i];i++){if(results[i].nodeType===1){tmp.push(results[i]);}}
results=tmp;}
return results;};}
div.innerHTML="<a href='#'></a>";if(div.firstChild&&typeof div.firstChild.getAttribute!=="undefined"&&div.firstChild.getAttribute("href")!=="#"){Expr.attrHandle.href=function(elem){return elem.getAttribute("href",2);};}
div=null;})();if(document.querySelectorAll){(function(){var oldSizzle=Sizzle,div=document.createElement("div"),id="__sizzle__";div.innerHTML="<p class='TEST'></p>";if(div.querySelectorAll&&div.querySelectorAll(".TEST").length===0){return;}
Sizzle=function(query,context,extra,seed){context=context||document;if(!seed&&!Sizzle.isXML(context)){var match=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(query);if(match&&(context.nodeType===1||context.nodeType===9)){if(match[1]){return makeArray(context.getElementsByTagName(query),extra);}else if(match[2]&&Expr.find.CLASS&&context.getElementsByClassName){return makeArray(context.getElementsByClassName(match[2]),extra);}}
if(context.nodeType===9){if(query==="body"&&context.body){return makeArray([context.body],extra);}else if(match&&match[3]){var elem=context.getElementById(match[3]);if(elem&&elem.parentNode){if(elem.id===match[3]){return makeArray([elem],extra);}}else{return makeArray([],extra);}}
try{return makeArray(context.querySelectorAll(query),extra);}catch(qsaError){}}else if(context.nodeType===1&&context.nodeName.toLowerCase()!=="object"){var oldContext=context,old=context.getAttribute("id"),nid=old||id,hasParent=context.parentNode,relativeHierarchySelector=/^\s*[+~]/.test(query);if(!old){context.setAttribute("id",nid);}else{nid=nid.replace(/'/g,"\\$&");}
if(relativeHierarchySelector&&hasParent){context=context.parentNode;}
try{if(!relativeHierarchySelector||hasParent){return makeArray(context.querySelectorAll("[id='"+nid+"'] "+query),extra);}}catch(pseudoError){}finally{if(!old){oldContext.removeAttribute("id");}}}}
return oldSizzle(query,context,extra,seed);};for(var prop in oldSizzle){Sizzle[prop]=oldSizzle[prop];}
div=null;})();}
(function(){var html=document.documentElement,matches=html.matchesSelector||html.mozMatchesSelector||html.webkitMatchesSelector||html.msMatchesSelector,pseudoWorks=false;try{matches.call(document.documentElement,"[test!='']:sizzle");}catch(pseudoError){pseudoWorks=true;}
if(matches){Sizzle.matchesSelector=function(node,expr){expr=expr.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!Sizzle.isXML(node)){try{if(pseudoWorks||!Expr.match.PSEUDO.test(expr)&&!/!=/.test(expr)){return matches.call(node,expr);}}catch(e){}}
return Sizzle(expr,null,null,[node]).length>0;};}})();(function(){var div=document.createElement("div");div.innerHTML="<div class='test e'></div><div class='test'></div>";if(!div.getElementsByClassName||div.getElementsByClassName("e").length===0){return;}
div.lastChild.className="e";if(div.getElementsByClassName("e").length===1){return;}
Expr.order.splice(1,0,"CLASS");Expr.find.CLASS=function(match,context,isXML){if(typeof context.getElementsByClassName!=="undefined"&&!isXML){return context.getElementsByClassName(match[1]);}};div=null;})();function dirNodeCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var match=false;elem=elem[dir];while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}
if(elem.nodeType===1&&!isXML){elem.sizcache=doneName;elem.sizset=i;}
if(elem.nodeName.toLowerCase()===cur){match=elem;break;}
elem=elem[dir];}
checkSet[i]=match;}}}
function dirCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var match=false;elem=elem[dir];while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}
if(elem.nodeType===1){if(!isXML){elem.sizcache=doneName;elem.sizset=i;}
if(typeof cur!=="string"){if(elem===cur){match=true;break;}}else if(Sizzle.filter(cur,[elem]).length>0){match=elem;break;}}
elem=elem[dir];}
checkSet[i]=match;}}}
if(document.documentElement.contains){Sizzle.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):true);};}else if(document.documentElement.compareDocumentPosition){Sizzle.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16);};}else{Sizzle.contains=function(){return false;};}
Sizzle.isXML=function(elem){var documentElement=(elem?elem.ownerDocument||elem:0).documentElement;return documentElement?documentElement.nodeName!=="HTML":false;};var posProcess=function(selector,context){var match,tmpSet=[],later="",root=context.nodeType?[context]:context;while((match=Expr.match.PSEUDO.exec(selector))){later+=match[0];selector=selector.replace(Expr.match.PSEUDO,"");}
selector=Expr.relative[selector]?selector+"*":selector;for(var i=0,l=root.length;i<l;i++){Sizzle(selector,root[i],tmpSet);}
return Sizzle.filter(later,tmpSet);};jQuery.find=Sizzle;jQuery.expr=Sizzle.selectors;jQuery.expr[":"]=jQuery.expr.filters;jQuery.unique=Sizzle.uniqueSort;jQuery.text=Sizzle.getText;jQuery.isXMLDoc=Sizzle.isXML;jQuery.contains=Sizzle.contains;})();var runtil=/Until$/,rparentsprev=/^(?:parents|prevUntil|prevAll)/,rmultiselector=/,/,isSimple=/^.[^:#\[\.,]*$/,slice=Array.prototype.slice,POS=jQuery.expr.match.POS,guaranteedUnique={children:true,contents:true,next:true,prev:true};jQuery.fn.extend({find:function(selector){var ret=this.pushStack("","find",selector),length=0;for(var i=0,l=this.length;i<l;i++){length=ret.length;jQuery.find(selector,this[i],ret);if(i>0){for(var n=length;n<ret.length;n++){for(var r=0;r<length;r++){if(ret[r]===ret[n]){ret.splice(n--,1);break;}}}}}
return ret;},has:function(target){var targets=jQuery(target);return this.filter(function(){for(var i=0,l=targets.length;i<l;i++){if(jQuery.contains(this,targets[i])){return true;}}});},not:function(selector){return this.pushStack(winnow(this,selector,false),"not",selector);},filter:function(selector){return this.pushStack(winnow(this,selector,true),"filter",selector);},is:function(selector){return!!selector&&jQuery.filter(selector,this).length>0;},closest:function(selectors,context){var ret=[],i,l,cur=this[0];if(jQuery.isArray(selectors)){var match,selector,matches={},level=1;if(cur&&selectors.length){for(i=0,l=selectors.length;i<l;i++){selector=selectors[i];if(!matches[selector]){matches[selector]=jQuery.expr.match.POS.test(selector)?jQuery(selector,context||this.context):selector;}}
while(cur&&cur.ownerDocument&&cur!==context){for(selector in matches){match=matches[selector];if(match.jquery?match.index(cur)>-1:jQuery(cur).is(match)){ret.push({selector:selector,elem:cur,level:level});}}
cur=cur.parentNode;level++;}}
return ret;}
var pos=POS.test(selectors)?jQuery(selectors,context||this.context):null;for(i=0,l=this.length;i<l;i++){cur=this[i];while(cur){if(pos?pos.index(cur)>-1:jQuery.find.matchesSelector(cur,selectors)){ret.push(cur);break;}else{cur=cur.parentNode;if(!cur||!cur.ownerDocument||cur===context){break;}}}}
ret=ret.length>1?jQuery.unique(ret):ret;return this.pushStack(ret,"closest",selectors);},index:function(elem){if(!elem||typeof elem==="string"){return jQuery.inArray(this[0],elem?jQuery(elem):this.parent().children());}
return jQuery.inArray(elem.jquery?elem[0]:elem,this);},add:function(selector,context){var set=typeof selector==="string"?jQuery(selector,context):jQuery.makeArray(selector),all=jQuery.merge(this.get(),set);return this.pushStack(isDisconnected(set[0])||isDisconnected(all[0])?all:jQuery.unique(all));},andSelf:function(){return this.add(this.prevObject);}});function isDisconnected(node){return!node||!node.parentNode||node.parentNode.nodeType===11;}
jQuery.each({parent:function(elem){var parent=elem.parentNode;return parent&&parent.nodeType!==11?parent:null;},parents:function(elem){return jQuery.dir(elem,"parentNode");},parentsUntil:function(elem,i,until){return jQuery.dir(elem,"parentNode",until);},next:function(elem){return jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return jQuery.dir(elem,"previousSibling");},nextUntil:function(elem,i,until){return jQuery.dir(elem,"nextSibling",until);},prevUntil:function(elem,i,until){return jQuery.dir(elem,"previousSibling",until);},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return jQuery.sibling(elem.firstChild);},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(until,selector){var ret=jQuery.map(this,fn,until),args=slice.call(arguments);if(!runtil.test(name)){selector=until;}
if(selector&&typeof selector==="string"){ret=jQuery.filter(selector,ret);}
ret=this.length>1&&!guaranteedUnique[name]?jQuery.unique(ret):ret;if((this.length>1||rmultiselector.test(selector))&&rparentsprev.test(name)){ret=ret.reverse();}
return this.pushStack(ret,name,args.join(","));};});jQuery.extend({filter:function(expr,elems,not){if(not){expr=":not("+expr+")";}
return elems.length===1?jQuery.find.matchesSelector(elems[0],expr)?[elems[0]]:[]:jQuery.find.matches(expr,elems);},dir:function(elem,dir,until){var matched=[],cur=elem[dir];while(cur&&cur.nodeType!==9&&(until===undefined||cur.nodeType!==1||!jQuery(cur).is(until))){if(cur.nodeType===1){matched.push(cur);}
cur=cur[dir];}
return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir]){if(cur.nodeType===1&&++num===result){break;}}
return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType===1&&n!==elem){r.push(n);}}
return r;}});function winnow(elements,qualifier,keep){if(jQuery.isFunction(qualifier)){return jQuery.grep(elements,function(elem,i){var retVal=!!qualifier.call(elem,i,elem);return retVal===keep;});}else if(qualifier.nodeType){return jQuery.grep(elements,function(elem,i){return(elem===qualifier)===keep;});}else if(typeof qualifier==="string"){var filtered=jQuery.grep(elements,function(elem){return elem.nodeType===1;});if(isSimple.test(qualifier)){return jQuery.filter(qualifier,filtered,!keep);}else{qualifier=jQuery.filter(qualifier,filtered);}}
return jQuery.grep(elements,function(elem,i){return(jQuery.inArray(elem,qualifier)>=0)===keep;});}
var rinlinejQuery=/ jQuery\d+="(?:\d+|null)"/g,rleadingWhitespace=/^\s+/,rxhtmlTag=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,rtagName=/<([\w:]+)/,rtbody=/<tbody/i,rhtml=/<|&#?\w+;/,rnocache=/<(?:script|object|embed|option|style)/i,rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i,wrapMap={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};wrapMap.optgroup=wrapMap.option;wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead;wrapMap.th=wrapMap.td;if(!jQuery.support.htmlSerialize){wrapMap._default=[1,"div<div>","</div>"];}
jQuery.fn.extend({text:function(text){if(jQuery.isFunction(text)){return this.each(function(i){var self=jQuery(this);self.text(text.call(this,i,self.text()));});}
if(typeof text!=="object"&&text!==undefined){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));}
return jQuery.text(this);},wrapAll:function(html){if(jQuery.isFunction(html)){return this.each(function(i){jQuery(this).wrapAll(html.call(this,i));});}
if(this[0]){var wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){wrap.insertBefore(this[0]);}
wrap.map(function(){var elem=this;while(elem.firstChild&&elem.firstChild.nodeType===1){elem=elem.firstChild;}
return elem;}).append(this);}
return this;},wrapInner:function(html){if(jQuery.isFunction(html)){return this.each(function(i){jQuery(this).wrapInner(html.call(this,i));});}
return this.each(function(){var self=jQuery(this),contents=self.contents();if(contents.length){contents.wrapAll(html);}else{self.append(html);}});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},unwrap:function(){return this.parent().each(function(){if(!jQuery.nodeName(this,"body")){jQuery(this).replaceWith(this.childNodes);}}).end();},append:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType===1){this.appendChild(elem);}});},prepend:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType===1){this.insertBefore(elem,this.firstChild);}});},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this);});}else if(arguments.length){var set=jQuery(arguments[0]);set.push.apply(set,this.toArray());return this.pushStack(set,"before",arguments);}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});}else if(arguments.length){var set=this.pushStack(this,"after",arguments);set.push.apply(set,jQuery(arguments[0]).toArray());return set;}},remove:function(selector,keepData){for(var i=0,elem;(elem=this[i])!=null;i++){if(!selector||jQuery.filter(selector,[elem]).length){if(!keepData&&elem.nodeType===1){jQuery.cleanData(elem.getElementsByTagName("*"));jQuery.cleanData([elem]);}
if(elem.parentNode){elem.parentNode.removeChild(elem);}}}
return this;},empty:function(){for(var i=0,elem;(elem=this[i])!=null;i++){if(elem.nodeType===1){jQuery.cleanData(elem.getElementsByTagName("*"));}
while(elem.firstChild){elem.removeChild(elem.firstChild);}}
return this;},clone:function(dataAndEvents,deepDataAndEvents){dataAndEvents=dataAndEvents==null?false:dataAndEvents;deepDataAndEvents=deepDataAndEvents==null?dataAndEvents:deepDataAndEvents;return this.map(function(){return jQuery.clone(this,dataAndEvents,deepDataAndEvents);});},html:function(value){if(value===undefined){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(rinlinejQuery,""):null;}else if(typeof value==="string"&&!rnocache.test(value)&&(jQuery.support.leadingWhitespace||!rleadingWhitespace.test(value))&&!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){value=value.replace(rxhtmlTag,"<$1></$2>");try{for(var i=0,l=this.length;i<l;i++){if(this[i].nodeType===1){jQuery.cleanData(this[i].getElementsByTagName("*"));this[i].innerHTML=value;}}}catch(e){this.empty().append(value);}}else if(jQuery.isFunction(value)){this.each(function(i){var self=jQuery(this);self.html(value.call(this,i,self.html()));});}else{this.empty().append(value);}
return this;},replaceWith:function(value){if(this[0]&&this[0].parentNode){if(jQuery.isFunction(value)){return this.each(function(i){var self=jQuery(this),old=self.html();self.replaceWith(value.call(this,i,old));});}
if(typeof value!=="string"){value=jQuery(value).detach();}
return this.each(function(){var next=this.nextSibling,parent=this.parentNode;jQuery(this).remove();if(next){jQuery(next).before(value);}else{jQuery(parent).append(value);}});}else{return this.pushStack(jQuery(jQuery.isFunction(value)?value():value),"replaceWith",value);}},detach:function(selector){return this.remove(selector,true);},domManip:function(args,table,callback){var results,first,fragment,parent,value=args[0],scripts=[];if(!jQuery.support.checkClone&&arguments.length===3&&typeof value==="string"&&rchecked.test(value)){return this.each(function(){jQuery(this).domManip(args,table,callback,true);});}
if(jQuery.isFunction(value)){return this.each(function(i){var self=jQuery(this);args[0]=value.call(this,i,table?self.html():undefined);self.domManip(args,table,callback);});}
if(this[0]){parent=value&&value.parentNode;if(jQuery.support.parentNode&&parent&&parent.nodeType===11&&parent.childNodes.length===this.length){results={fragment:parent};}else{results=jQuery.buildFragment(args,this,scripts);}
fragment=results.fragment;if(fragment.childNodes.length===1){first=fragment=fragment.firstChild;}else{first=fragment.firstChild;}
if(first){table=table&&jQuery.nodeName(first,"tr");for(var i=0,l=this.length,lastIndex=l-1;i<l;i++){callback.call(table?root(this[i],first):this[i],results.cacheable||(l>1&&i<lastIndex)?jQuery.clone(fragment,true,true):fragment);}}
if(scripts.length){jQuery.each(scripts,evalScript);}}
return this;}});function root(elem,cur){return jQuery.nodeName(elem,"table")?(elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody"))):elem;}
function cloneCopyEvent(src,dest){if(dest.nodeType!==1||!jQuery.hasData(src)){return;}
var internalKey=jQuery.expando,oldData=jQuery.data(src),curData=jQuery.data(dest,oldData);if((oldData=oldData[internalKey])){var events=oldData.events;curData=curData[internalKey]=jQuery.extend({},oldData);if(events){delete curData.handle;curData.events={};for(var type in events){for(var i=0,l=events[type].length;i<l;i++){jQuery.event.add(dest,type+(events[type][i].namespace?".":"")+events[type][i].namespace,events[type][i],events[type][i].data);}}}}}
function cloneFixAttributes(src,dest){if(dest.nodeType!==1){return;}
var nodeName=dest.nodeName.toLowerCase();dest.clearAttributes();dest.mergeAttributes(src);if(nodeName==="object"){dest.outerHTML=src.outerHTML;}else if(nodeName==="input"&&(src.type==="checkbox"||src.type==="radio")){if(src.checked){dest.defaultChecked=dest.checked=src.checked;}
if(dest.value!==src.value){dest.value=src.value;}}else if(nodeName==="option"){dest.selected=src.defaultSelected;}else if(nodeName==="input"||nodeName==="textarea"){dest.defaultValue=src.defaultValue;}
dest.removeAttribute(jQuery.expando);}
jQuery.buildFragment=function(args,nodes,scripts){var fragment,cacheable,cacheresults,doc=(nodes&&nodes[0]?nodes[0].ownerDocument||nodes[0]:document);if(args.length===1&&typeof args[0]==="string"&&args[0].length<512&&doc===document&&args[0].charAt(0)==="<"&&!rnocache.test(args[0])&&(jQuery.support.checkClone||!rchecked.test(args[0]))){cacheable=true;cacheresults=jQuery.fragments[args[0]];if(cacheresults){if(cacheresults!==1){fragment=cacheresults;}}}
if(!fragment){fragment=doc.createDocumentFragment();jQuery.clean(args,doc,fragment,scripts);}
if(cacheable){jQuery.fragments[args[0]]=cacheresults?fragment:1;}
return{fragment:fragment,cacheable:cacheable};};jQuery.fragments={};jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){var ret=[],insert=jQuery(selector),parent=this.length===1&&this[0].parentNode;if(parent&&parent.nodeType===11&&parent.childNodes.length===1&&insert.length===1){insert[original](this[0]);return this;}else{for(var i=0,l=insert.length;i<l;i++){var elems=(i>0?this.clone(true):this).get();jQuery(insert[i])[original](elems);ret=ret.concat(elems);}
return this.pushStack(ret,name,insert.selector);}};});function getAll(elem){if("getElementsByTagName"in elem){return elem.getElementsByTagName("*");}else if("querySelectorAll"in elem){return elem.querySelectorAll("*");}else{return[];}}
jQuery.extend({clone:function(elem,dataAndEvents,deepDataAndEvents){var clone=elem.cloneNode(true),srcElements,destElements,i;if((!jQuery.support.noCloneEvent||!jQuery.support.noCloneChecked)&&(elem.nodeType===1||elem.nodeType===11)&&!jQuery.isXMLDoc(elem)){cloneFixAttributes(elem,clone);srcElements=getAll(elem);destElements=getAll(clone);for(i=0;srcElements[i];++i){cloneFixAttributes(srcElements[i],destElements[i]);}}
if(dataAndEvents){cloneCopyEvent(elem,clone);if(deepDataAndEvents){srcElements=getAll(elem);destElements=getAll(clone);for(i=0;srcElements[i];++i){cloneCopyEvent(srcElements[i],destElements[i]);}}}
return clone;},clean:function(elems,context,fragment,scripts){context=context||document;if(typeof context.createElement==="undefined"){context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;}
var ret=[];for(var i=0,elem;(elem=elems[i])!=null;i++){if(typeof elem==="number"){elem+="";}
if(!elem){continue;}
if(typeof elem==="string"&&!rhtml.test(elem)){elem=context.createTextNode(elem);}else if(typeof elem==="string"){elem=elem.replace(rxhtmlTag,"<$1></$2>");var tag=(rtagName.exec(elem)||["",""])[1].toLowerCase(),wrap=wrapMap[tag]||wrapMap._default,depth=wrap[0],div=context.createElement("div");div.innerHTML=wrap[1]+elem+wrap[2];while(depth--){div=div.lastChild;}
if(!jQuery.support.tbody){var hasBody=rtbody.test(elem),tbody=tag==="table"&&!hasBody?div.firstChild&&div.firstChild.childNodes:wrap[1]==="<table>"&&!hasBody?div.childNodes:[];for(var j=tbody.length-1;j>=0;--j){if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length){tbody[j].parentNode.removeChild(tbody[j]);}}}
if(!jQuery.support.leadingWhitespace&&rleadingWhitespace.test(elem)){div.insertBefore(context.createTextNode(rleadingWhitespace.exec(elem)[0]),div.firstChild);}
elem=div.childNodes;}
if(elem.nodeType){ret.push(elem);}else{ret=jQuery.merge(ret,elem);}}
if(fragment){for(i=0;ret[i];i++){if(scripts&&jQuery.nodeName(ret[i],"script")&&(!ret[i].type||ret[i].type.toLowerCase()==="text/javascript")){scripts.push(ret[i].parentNode?ret[i].parentNode.removeChild(ret[i]):ret[i]);}else{if(ret[i].nodeType===1){ret.splice.apply(ret,[i+1,0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))));}
fragment.appendChild(ret[i]);}}}
return ret;},cleanData:function(elems){var data,id,cache=jQuery.cache,internalKey=jQuery.expando,special=jQuery.event.special,deleteExpando=jQuery.support.deleteExpando;for(var i=0,elem;(elem=elems[i])!=null;i++){if(elem.nodeName&&jQuery.noData[elem.nodeName.toLowerCase()]){continue;}
id=elem[jQuery.expando];if(id){data=cache[id]&&cache[id][internalKey];if(data&&data.events){for(var type in data.events){if(special[type]){jQuery.event.remove(elem,type);}else{jQuery.removeEvent(elem,type,data.handle);}}
if(data.handle){data.handle.elem=null;}}
if(deleteExpando){delete elem[jQuery.expando];}else if(elem.removeAttribute){elem.removeAttribute(jQuery.expando);}
delete cache[id];}}}});function evalScript(i,elem){if(elem.src){jQuery.ajax({url:elem.src,async:false,dataType:"script"});}else{jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");}
if(elem.parentNode){elem.parentNode.removeChild(elem);}}
var ralpha=/alpha\([^)]*\)/i,ropacity=/opacity=([^)]*)/,rdashAlpha=/-([a-z])/ig,rupper=/([A-Z])/g,rnumpx=/^-?\d+(?:px)?$/i,rnum=/^-?\d/,cssShow={position:"absolute",visibility:"hidden",display:"block"},cssWidth=["Left","Right"],cssHeight=["Top","Bottom"],curCSS,getComputedStyle,currentStyle,fcamelCase=function(all,letter){return letter.toUpperCase();};jQuery.fn.css=function(name,value){if(arguments.length===2&&value===undefined){return this;}
return jQuery.access(this,name,value,true,function(elem,name,value){return value!==undefined?jQuery.style(elem,name,value):jQuery.css(elem,name);});};jQuery.extend({cssHooks:{opacity:{get:function(elem,computed){if(computed){var ret=curCSS(elem,"opacity","opacity");return ret===""?"1":ret;}else{return elem.style.opacity;}}}},cssNumber:{"zIndex":true,"fontWeight":true,"opacity":true,"zoom":true,"lineHeight":true},cssProps:{"float":jQuery.support.cssFloat?"cssFloat":"styleFloat"},style:function(elem,name,value,extra){if(!elem||elem.nodeType===3||elem.nodeType===8||!elem.style){return;}
var ret,origName=jQuery.camelCase(name),style=elem.style,hooks=jQuery.cssHooks[origName];name=jQuery.cssProps[origName]||origName;if(value!==undefined){if(typeof value==="number"&&isNaN(value)||value==null){return;}
if(typeof value==="number"&&!jQuery.cssNumber[origName]){value+="px";}
if(!hooks||!("set"in hooks)||(value=hooks.set(elem,value))!==undefined){try{style[name]=value;}catch(e){}}}else{if(hooks&&"get"in hooks&&(ret=hooks.get(elem,false,extra))!==undefined){return ret;}
return style[name];}},css:function(elem,name,extra){var ret,origName=jQuery.camelCase(name),hooks=jQuery.cssHooks[origName];name=jQuery.cssProps[origName]||origName;if(hooks&&"get"in hooks&&(ret=hooks.get(elem,true,extra))!==undefined){return ret;}else if(curCSS){return curCSS(elem,name,origName);}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}
callback.call(elem);for(name in options){elem.style[name]=old[name];}},camelCase:function(string){return string.replace(rdashAlpha,fcamelCase);}});jQuery.curCSS=jQuery.css;jQuery.each(["height","width"],function(i,name){jQuery.cssHooks[name]={get:function(elem,computed,extra){var val;if(computed){if(elem.offsetWidth!==0){val=getWH(elem,name,extra);}else{jQuery.swap(elem,cssShow,function(){val=getWH(elem,name,extra);});}
if(val<=0){val=curCSS(elem,name,name);if(val==="0px"&&currentStyle){val=currentStyle(elem,name,name);}
if(val!=null){return val===""||val==="auto"?"0px":val;}}
if(val<0||val==null){val=elem.style[name];return val===""||val==="auto"?"0px":val;}
return typeof val==="string"?val:val+"px";}},set:function(elem,value){if(rnumpx.test(value)){value=parseFloat(value);if(value>=0){return value+"px";}}else{return value;}}};});if(!jQuery.support.opacity){jQuery.cssHooks.opacity={get:function(elem,computed){return ropacity.test((computed&&elem.currentStyle?elem.currentStyle.filter:elem.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":computed?"1":"";},set:function(elem,value){var style=elem.style;style.zoom=1;var opacity=jQuery.isNaN(value)?"":"alpha(opacity="+value*100+")",filter=style.filter||"";style.filter=ralpha.test(filter)?filter.replace(ralpha,opacity):style.filter+' '+opacity;}};}
if(document.defaultView&&document.defaultView.getComputedStyle){getComputedStyle=function(elem,newName,name){var ret,defaultView,computedStyle;name=name.replace(rupper,"-$1").toLowerCase();if(!(defaultView=elem.ownerDocument.defaultView)){return undefined;}
if((computedStyle=defaultView.getComputedStyle(elem,null))){ret=computedStyle.getPropertyValue(name);if(ret===""&&!jQuery.contains(elem.ownerDocument.documentElement,elem)){ret=jQuery.style(elem,name);}}
return ret;};}
if(document.documentElement.currentStyle){currentStyle=function(elem,name){var left,ret=elem.currentStyle&&elem.currentStyle[name],rsLeft=elem.runtimeStyle&&elem.runtimeStyle[name],style=elem.style;if(!rnumpx.test(ret)&&rnum.test(ret)){left=style.left;if(rsLeft){elem.runtimeStyle.left=elem.currentStyle.left;}
style.left=name==="fontSize"?"1em":(ret||0);ret=style.pixelLeft+"px";style.left=left;if(rsLeft){elem.runtimeStyle.left=rsLeft;}}
return ret===""?"auto":ret;};}
curCSS=getComputedStyle||currentStyle;function getWH(elem,name,extra){var which=name==="width"?cssWidth:cssHeight,val=name==="width"?elem.offsetWidth:elem.offsetHeight;if(extra==="border"){return val;}
jQuery.each(which,function(){if(!extra){val-=parseFloat(jQuery.css(elem,"padding"+this))||0;}
if(extra==="margin"){val+=parseFloat(jQuery.css(elem,"margin"+this))||0;}else{val-=parseFloat(jQuery.css(elem,"border"+this+"Width"))||0;}});return val;}
if(jQuery.expr&&jQuery.expr.filters){jQuery.expr.filters.hidden=function(elem){var width=elem.offsetWidth,height=elem.offsetHeight;return(width===0&&height===0)||(!jQuery.support.reliableHiddenOffsets&&(elem.style.display||jQuery.css(elem,"display"))==="none");};jQuery.expr.filters.visible=function(elem){return!jQuery.expr.filters.hidden(elem);};}
var r20=/%20/g,rbracket=/\[\]$/,rCRLF=/\r?\n/g,rhash=/#.*$/,rheaders=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,rinput=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,rlocalProtocol=/(?:^file|^widget|\-extension):$/,rnoContent=/^(?:GET|HEAD)$/,rprotocol=/^\/\//,rquery=/\?/,rscript=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,rselectTextarea=/^(?:select|textarea)/i,rspacesAjax=/\s+/,rts=/([?&])_=[^&]*/,rucHeaders=/(^|\-)([a-z])/g,rucHeadersFunc=function(_,$1,$2){return $1+$2.toUpperCase();},rurl=/^([\w\+\.\-]+:)\/\/([^\/?#:]*)(?::(\d+))?/,_load=jQuery.fn.load,prefilters={},transports={},ajaxLocation,ajaxLocParts;try{ajaxLocation=document.location.href;}catch(e){ajaxLocation=document.createElement("a");ajaxLocation.href="";ajaxLocation=ajaxLocation.href;}
ajaxLocParts=rurl.exec(ajaxLocation.toLowerCase());function addToPrefiltersOrTransports(structure){return function(dataTypeExpression,func){if(typeof dataTypeExpression!=="string"){func=dataTypeExpression;dataTypeExpression="*";}
if(jQuery.isFunction(func)){var dataTypes=dataTypeExpression.toLowerCase().split(rspacesAjax),i=0,length=dataTypes.length,dataType,list,placeBefore;for(;i<length;i++){dataType=dataTypes[i];placeBefore=/^\+/.test(dataType);if(placeBefore){dataType=dataType.substr(1)||"*";}
list=structure[dataType]=structure[dataType]||[];list[placeBefore?"unshift":"push"](func);}}};}
function inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR,dataType,inspected){dataType=dataType||options.dataTypes[0];inspected=inspected||{};inspected[dataType]=true;var list=structure[dataType],i=0,length=list?list.length:0,executeOnly=(structure===prefilters),selection;for(;i<length&&(executeOnly||!selection);i++){selection=list[i](options,originalOptions,jqXHR);if(typeof selection==="string"){if(!executeOnly||inspected[selection]){selection=undefined;}else{options.dataTypes.unshift(selection);selection=inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR,selection,inspected);}}}
if((executeOnly||!selection)&&!inspected["*"]){selection=inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR,"*",inspected);}
return selection;}
jQuery.fn.extend({load:function(url,params,callback){if(typeof url!=="string"&&_load){return _load.apply(this,arguments);}else if(!this.length){return this;}
var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}
var type="GET";if(params){if(jQuery.isFunction(params)){callback=params;params=undefined;}else if(typeof params==="object"){params=jQuery.param(params,jQuery.ajaxSettings.traditional);type="POST";}}
var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(jqXHR,status,responseText){responseText=jqXHR.responseText;if(jqXHR.isResolved()){jqXHR.done(function(r){responseText=r;});self.html(selector?jQuery("<div>").append(responseText.replace(rscript,"")).find(selector):responseText);}
if(callback){self.each(callback,[responseText,status,jqXHR]);}}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return this.elements?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||rselectTextarea.test(this.nodeName)||rinput.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:jQuery.isArray(val)?jQuery.map(val,function(val,i){return{name:elem.name,value:val.replace(rCRLF,"\r\n")};}):{name:elem.name,value:val.replace(rCRLF,"\r\n")};}).get();}});jQuery.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});jQuery.each(["get","post"],function(i,method){jQuery[method]=function(url,data,callback,type){if(jQuery.isFunction(data)){type=type||callback;callback=data;data=undefined;}
return jQuery.ajax({type:method,url:url,data:data,success:callback,dataType:type});};});jQuery.extend({getScript:function(url,callback){return jQuery.get(url,undefined,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},ajaxSetup:function(target,settings){if(!settings){settings=target;target=jQuery.extend(true,jQuery.ajaxSettings,settings);}else{jQuery.extend(true,target,jQuery.ajaxSettings,settings);}
for(var field in{context:1,url:1}){if(field in settings){target[field]=settings[field];}else if(field in jQuery.ajaxSettings){target[field]=jQuery.ajaxSettings[field];}}
return target;},ajaxSettings:{url:ajaxLocation,isLocal:rlocalProtocol.test(ajaxLocParts[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":window.String,"text html":true,"text json":jQuery.parseJSON,"text xml":jQuery.parseXML}},ajaxPrefilter:addToPrefiltersOrTransports(prefilters),ajaxTransport:addToPrefiltersOrTransports(transports),ajax:function(url,options){if(typeof url==="object"){options=url;url=undefined;}
options=options||{};var
s=jQuery.ajaxSetup({},options),callbackContext=s.context||s,globalEventContext=callbackContext!==s&&(callbackContext.nodeType||callbackContext instanceof jQuery)?jQuery(callbackContext):jQuery.event,deferred=jQuery.Deferred(),completeDeferred=jQuery._Deferred(),statusCode=s.statusCode||{},ifModifiedKey,requestHeaders={},responseHeadersString,responseHeaders,transport,timeoutTimer,parts,state=0,fireGlobals,i,jqXHR={readyState:0,setRequestHeader:function(name,value){if(!state){requestHeaders[name.toLowerCase().replace(rucHeaders,rucHeadersFunc)]=value;}
return this;},getAllResponseHeaders:function(){return state===2?responseHeadersString:null;},getResponseHeader:function(key){var match;if(state===2){if(!responseHeaders){responseHeaders={};while((match=rheaders.exec(responseHeadersString))){responseHeaders[match[1].toLowerCase()]=match[2];}}
match=responseHeaders[key.toLowerCase()];}
return match===undefined?null:match;},overrideMimeType:function(type){if(!state){s.mimeType=type;}
return this;},abort:function(statusText){statusText=statusText||"abort";if(transport){transport.abort(statusText);}
done(0,statusText);return this;}};function done(status,statusText,responses,headers){if(state===2){return;}
state=2;if(timeoutTimer){clearTimeout(timeoutTimer);}
transport=undefined;responseHeadersString=headers||"";jqXHR.readyState=status?4:0;var isSuccess,success,error,response=responses?ajaxHandleResponses(s,jqXHR,responses):undefined,lastModified,etag;if(status>=200&&status<300||status===304){if(s.ifModified){if((lastModified=jqXHR.getResponseHeader("Last-Modified"))){jQuery.lastModified[ifModifiedKey]=lastModified;}
if((etag=jqXHR.getResponseHeader("Etag"))){jQuery.etag[ifModifiedKey]=etag;}}
if(status===304){statusText="notmodified";isSuccess=true;}else{try{success=ajaxConvert(s,response);statusText="success";isSuccess=true;}catch(e){statusText="parsererror";error=e;}}}else{error=statusText;if(!statusText||status){statusText="error";if(status<0){status=0;}}}
jqXHR.status=status;jqXHR.statusText=statusText;if(isSuccess){deferred.resolveWith(callbackContext,[success,statusText,jqXHR]);}else{deferred.rejectWith(callbackContext,[jqXHR,statusText,error]);}
jqXHR.statusCode(statusCode);statusCode=undefined;if(fireGlobals){globalEventContext.trigger("ajax"+(isSuccess?"Success":"Error"),[jqXHR,s,isSuccess?success:error]);}
completeDeferred.resolveWith(callbackContext,[jqXHR,statusText]);if(fireGlobals){globalEventContext.trigger("ajaxComplete",[jqXHR,s]);if(!(--jQuery.active)){jQuery.event.trigger("ajaxStop");}}}
deferred.promise(jqXHR);jqXHR.success=jqXHR.done;jqXHR.error=jqXHR.fail;jqXHR.complete=completeDeferred.done;jqXHR.statusCode=function(map){if(map){var tmp;if(state<2){for(tmp in map){statusCode[tmp]=[statusCode[tmp],map[tmp]];}}else{tmp=map[jqXHR.status];jqXHR.then(tmp,tmp);}}
return this;};s.url=((url||s.url)+"").replace(rhash,"").replace(rprotocol,ajaxLocParts[1]+"//");s.dataTypes=jQuery.trim(s.dataType||"*").toLowerCase().split(rspacesAjax);if(!s.crossDomain){parts=rurl.exec(s.url.toLowerCase());s.crossDomain=!!(parts&&(parts[1]!=ajaxLocParts[1]||parts[2]!=ajaxLocParts[2]||(parts[3]||(parts[1]==="http:"?80:443))!=(ajaxLocParts[3]||(ajaxLocParts[1]==="http:"?80:443))));}
if(s.data&&s.processData&&typeof s.data!=="string"){s.data=jQuery.param(s.data,s.traditional);}
inspectPrefiltersOrTransports(prefilters,s,options,jqXHR);if(state===2){return false;}
fireGlobals=s.global;s.type=s.type.toUpperCase();s.hasContent=!rnoContent.test(s.type);if(fireGlobals&&jQuery.active++===0){jQuery.event.trigger("ajaxStart");}
if(!s.hasContent){if(s.data){s.url+=(rquery.test(s.url)?"&":"?")+s.data;}
ifModifiedKey=s.url;if(s.cache===false){var ts=jQuery.now(),ret=s.url.replace(rts,"$1_="+ts);s.url=ret+((ret===s.url)?(rquery.test(s.url)?"&":"?")+"_="+ts:"");}}
if(s.data&&s.hasContent&&s.contentType!==false||options.contentType){requestHeaders["Content-Type"]=s.contentType;}
if(s.ifModified){ifModifiedKey=ifModifiedKey||s.url;if(jQuery.lastModified[ifModifiedKey]){requestHeaders["If-Modified-Since"]=jQuery.lastModified[ifModifiedKey];}
if(jQuery.etag[ifModifiedKey]){requestHeaders["If-None-Match"]=jQuery.etag[ifModifiedKey];}}
requestHeaders.Accept=s.dataTypes[0]&&s.accepts[s.dataTypes[0]]?s.accepts[s.dataTypes[0]]+(s.dataTypes[0]!=="*"?", */*; q=0.01":""):s.accepts["*"];for(i in s.headers){jqXHR.setRequestHeader(i,s.headers[i]);}
if(s.beforeSend&&(s.beforeSend.call(callbackContext,jqXHR,s)===false||state===2)){jqXHR.abort();return false;}
for(i in{success:1,error:1,complete:1}){jqXHR[i](s[i]);}
transport=inspectPrefiltersOrTransports(transports,s,options,jqXHR);if(!transport){done(-1,"No Transport");}else{jqXHR.readyState=1;if(fireGlobals){globalEventContext.trigger("ajaxSend",[jqXHR,s]);}
if(s.async&&s.timeout>0){timeoutTimer=setTimeout(function(){jqXHR.abort("timeout");},s.timeout);}
try{state=1;transport.send(requestHeaders,done);}catch(e){if(status<2){done(-1,e);}else{jQuery.error(e);}}}
return jqXHR;},param:function(a,traditional){var s=[],add=function(key,value){value=jQuery.isFunction(value)?value():value;s[s.length]=encodeURIComponent(key)+"="+encodeURIComponent(value);};if(traditional===undefined){traditional=jQuery.ajaxSettings.traditional;}
if(jQuery.isArray(a)||(a.jquery&&!jQuery.isPlainObject(a))){jQuery.each(a,function(){add(this.name,this.value);});}else{for(var prefix in a){buildParams(prefix,a[prefix],traditional,add);}}
return s.join("&").replace(r20,"+");}});function buildParams(prefix,obj,traditional,add){if(jQuery.isArray(obj)&&obj.length){jQuery.each(obj,function(i,v){if(traditional||rbracket.test(prefix)){add(prefix,v);}else{buildParams(prefix+"["+(typeof v==="object"||jQuery.isArray(v)?i:"")+"]",v,traditional,add);}});}else if(!traditional&&obj!=null&&typeof obj==="object"){if(jQuery.isArray(obj)||jQuery.isEmptyObject(obj)){add(prefix,"");}else{for(var name in obj){buildParams(prefix+"["+name+"]",obj[name],traditional,add);}}}else{add(prefix,obj);}}
jQuery.extend({active:0,lastModified:{},etag:{}});function ajaxHandleResponses(s,jqXHR,responses){var contents=s.contents,dataTypes=s.dataTypes,responseFields=s.responseFields,ct,type,finalDataType,firstDataType;for(type in responseFields){if(type in responses){jqXHR[responseFields[type]]=responses[type];}}
while(dataTypes[0]==="*"){dataTypes.shift();if(ct===undefined){ct=s.mimeType||jqXHR.getResponseHeader("content-type");}}
if(ct){for(type in contents){if(contents[type]&&contents[type].test(ct)){dataTypes.unshift(type);break;}}}
if(dataTypes[0]in responses){finalDataType=dataTypes[0];}else{for(type in responses){if(!dataTypes[0]||s.converters[type+" "+dataTypes[0]]){finalDataType=type;break;}
if(!firstDataType){firstDataType=type;}}
finalDataType=finalDataType||firstDataType;}
if(finalDataType){if(finalDataType!==dataTypes[0]){dataTypes.unshift(finalDataType);}
return responses[finalDataType];}}
function ajaxConvert(s,response){if(s.dataFilter){response=s.dataFilter(response,s.dataType);}
var dataTypes=s.dataTypes,converters={},i,key,length=dataTypes.length,tmp,current=dataTypes[0],prev,conversion,conv,conv1,conv2;for(i=1;i<length;i++){if(i===1){for(key in s.converters){if(typeof key==="string"){converters[key.toLowerCase()]=s.converters[key];}}}
prev=current;current=dataTypes[i];if(current==="*"){current=prev;}else if(prev!=="*"&&prev!==current){conversion=prev+" "+current;conv=converters[conversion]||converters["* "+current];if(!conv){conv2=undefined;for(conv1 in converters){tmp=conv1.split(" ");if(tmp[0]===prev||tmp[0]==="*"){conv2=converters[tmp[1]+" "+current];if(conv2){conv1=converters[conv1];if(conv1===true){conv=conv2;}else if(conv2===true){conv=conv1;}
break;}}}}
if(!(conv||conv2)){jQuery.error("No conversion from "+conversion.replace(" "," to "));}
if(conv!==true){response=conv?conv(response):conv2(conv1(response));}}}
return response;}
var jsc=jQuery.now(),jsre=/(\=)\?(&|$)|()\?\?()/i;jQuery.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return jQuery.expando+"_"+(jsc++);}});jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,jqXHR){var dataIsString=(typeof s.data==="string");if(s.dataTypes[0]==="jsonp"||originalSettings.jsonpCallback||originalSettings.jsonp!=null||s.jsonp!==false&&(jsre.test(s.url)||dataIsString&&jsre.test(s.data))){var responseContainer,jsonpCallback=s.jsonpCallback=jQuery.isFunction(s.jsonpCallback)?s.jsonpCallback():s.jsonpCallback,previous=window[jsonpCallback],url=s.url,data=s.data,replace="$1"+jsonpCallback+"$2",cleanUp=function(){window[jsonpCallback]=previous;if(responseContainer&&jQuery.isFunction(previous)){window[jsonpCallback](responseContainer[0]);}};if(s.jsonp!==false){url=url.replace(jsre,replace);if(s.url===url){if(dataIsString){data=data.replace(jsre,replace);}
if(s.data===data){url+=(/\?/.test(url)?"&":"?")+s.jsonp+"="+jsonpCallback;}}}
s.url=url;s.data=data;window[jsonpCallback]=function(response){responseContainer=[response];};jqXHR.then(cleanUp,cleanUp);s.converters["script json"]=function(){if(!responseContainer){jQuery.error(jsonpCallback+" was not called");}
return responseContainer[0];};s.dataTypes[0]="json";return"script";}});jQuery.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(text){jQuery.globalEval(text);return text;}}});jQuery.ajaxPrefilter("script",function(s){if(s.cache===undefined){s.cache=false;}
if(s.crossDomain){s.type="GET";s.global=false;}});jQuery.ajaxTransport("script",function(s){if(s.crossDomain){var script,head=document.head||document.getElementsByTagName("head")[0]||document.documentElement;return{send:function(_,callback){script=document.createElement("script");script.async="async";if(s.scriptCharset){script.charset=s.scriptCharset;}
script.src=s.url;script.onload=script.onreadystatechange=function(_,isAbort){if(!script.readyState||/loaded|complete/.test(script.readyState)){script.onload=script.onreadystatechange=null;if(head&&script.parentNode){head.removeChild(script);}
script=undefined;if(!isAbort){callback(200,"success");}}};head.insertBefore(script,head.firstChild);},abort:function(){if(script){script.onload(0,1);}}};}});var
xhrId=jQuery.now(),xhrCallbacks,testXHR;function xhrOnUnloadAbort(){jQuery(window).unload(function(){for(var key in xhrCallbacks){xhrCallbacks[key](0,1);}});}
function createStandardXHR(){try{return new window.XMLHttpRequest();}catch(e){}}
function createActiveXHR(){try{return new window.ActiveXObject("Microsoft.XMLHTTP");}catch(e){}}
jQuery.ajaxSettings.xhr=window.ActiveXObject?function(){return!this.isLocal&&createStandardXHR()||createActiveXHR();}:createStandardXHR;testXHR=jQuery.ajaxSettings.xhr();jQuery.support.ajax=!!testXHR;jQuery.support.cors=testXHR&&("withCredentials"in testXHR);testXHR=undefined;if(jQuery.support.ajax){jQuery.ajaxTransport(function(s){if(!s.crossDomain||jQuery.support.cors){var callback;return{send:function(headers,complete){var xhr=s.xhr(),handle,i;if(s.username){xhr.open(s.type,s.url,s.async,s.username,s.password);}else{xhr.open(s.type,s.url,s.async);}
if(s.xhrFields){for(i in s.xhrFields){xhr[i]=s.xhrFields[i];}}
if(s.mimeType&&xhr.overrideMimeType){xhr.overrideMimeType(s.mimeType);}
if(!(s.crossDomain&&!s.hasContent)&&!headers["X-Requested-With"]){headers["X-Requested-With"]="XMLHttpRequest";}
try{for(i in headers){xhr.setRequestHeader(i,headers[i]);}}catch(_){}
xhr.send((s.hasContent&&s.data)||null);callback=function(_,isAbort){var status,statusText,responseHeaders,responses,xml;try{if(callback&&(isAbort||xhr.readyState===4)){callback=undefined;if(handle){xhr.onreadystatechange=jQuery.noop;delete xhrCallbacks[handle];}
if(isAbort){if(xhr.readyState!==4){xhr.abort();}}else{status=xhr.status;responseHeaders=xhr.getAllResponseHeaders();responses={};xml=xhr.responseXML;if(xml&&xml.documentElement){responses.xml=xml;}
responses.text=xhr.responseText;try{statusText=xhr.statusText;}catch(e){statusText="";}
if(!status&&s.isLocal&&!s.crossDomain){status=responses.text?200:404;}else if(status===1223){status=204;}}}}catch(firefoxAccessException){if(!isAbort){complete(-1,firefoxAccessException);}}
if(responses){complete(status,statusText,responses,responseHeaders);}};if(!s.async||xhr.readyState===4){callback();}else{if(!xhrCallbacks){xhrCallbacks={};xhrOnUnloadAbort();}
handle=xhrId++;xhr.onreadystatechange=xhrCallbacks[handle]=callback;}},abort:function(){if(callback){callback(0,1);}}};}});}
var elemdisplay={},rfxtypes=/^(?:toggle|show|hide)$/,rfxnum=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,timerId,fxAttrs=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];jQuery.fn.extend({show:function(speed,easing,callback){var elem,display;if(speed||speed===0){return this.animate(genFx("show",3),speed,easing,callback);}else{for(var i=0,j=this.length;i<j;i++){elem=this[i];display=elem.style.display;if(!jQuery._data(elem,"olddisplay")&&display==="none"){display=elem.style.display="";}
if(display===""&&jQuery.css(elem,"display")==="none"){jQuery._data(elem,"olddisplay",defaultDisplay(elem.nodeName));}}
for(i=0;i<j;i++){elem=this[i];display=elem.style.display;if(display===""||display==="none"){elem.style.display=jQuery._data(elem,"olddisplay")||"";}}
return this;}},hide:function(speed,easing,callback){if(speed||speed===0){return this.animate(genFx("hide",3),speed,easing,callback);}else{for(var i=0,j=this.length;i<j;i++){var display=jQuery.css(this[i],"display");if(display!=="none"&&!jQuery._data(this[i],"olddisplay")){jQuery._data(this[i],"olddisplay",display);}}
for(i=0;i<j;i++){this[i].style.display="none";}
return this;}},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2,callback){var bool=typeof fn==="boolean";if(jQuery.isFunction(fn)&&jQuery.isFunction(fn2)){this._toggle.apply(this,arguments);}else if(fn==null||bool){this.each(function(){var state=bool?fn:jQuery(this).is(":hidden");jQuery(this)[state?"show":"hide"]();});}else{this.animate(genFx("toggle",3),fn,fn2,callback);}
return this;},fadeTo:function(speed,to,easing,callback){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:to},speed,easing,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);if(jQuery.isEmptyObject(prop)){return this.each(optall.complete);}
return this[optall.queue===false?"each":"queue"](function(){var opt=jQuery.extend({},optall),p,isElement=this.nodeType===1,hidden=isElement&&jQuery(this).is(":hidden"),self=this;for(p in prop){var name=jQuery.camelCase(p);if(p!==name){prop[name]=prop[p];delete prop[p];p=name;}
if(prop[p]==="hide"&&hidden||prop[p]==="show"&&!hidden){return opt.complete.call(this);}
if(isElement&&(p==="height"||p==="width")){opt.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(jQuery.css(this,"display")==="inline"&&jQuery.css(this,"float")==="none"){if(!jQuery.support.inlineBlockNeedsLayout){this.style.display="inline-block";}else{var display=defaultDisplay(this.nodeName);if(display==="inline"){this.style.display="inline-block";}else{this.style.display="inline";this.style.zoom=1;}}}}
if(jQuery.isArray(prop[p])){(opt.specialEasing=opt.specialEasing||{})[p]=prop[p][1];prop[p]=prop[p][0];}}
if(opt.overflow!=null){this.style.overflow="hidden";}
opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(rfxtypes.test(val)){e[val==="toggle"?hidden?"show":"hide":val](prop);}else{var parts=rfxnum.exec(val),start=e.cur();if(parts){var end=parseFloat(parts[2]),unit=parts[3]||(jQuery.cssNumber[name]?"":"px");if(unit!=="px"){jQuery.style(self,name,(end||1)+unit);start=((end||1)/e.cur())*start;jQuery.style(self,name,start+unit);}
if(parts[1]){end=((parts[1]==="-="?-1:1)*end)+start;}
e.custom(start,end,unit);}else{e.custom(start,val,"");}}});return true;});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue){this.queue([]);}
this.each(function(){for(var i=timers.length-1;i>=0;i--){if(timers[i].elem===this){if(gotoEnd){timers[i](true);}
timers.splice(i,1);}}});if(!gotoEnd){this.dequeue();}
return this;}});function genFx(type,num){var obj={};jQuery.each(fxAttrs.concat.apply([],fxAttrs.slice(0,num)),function(){obj[this]=type;});return obj;}
jQuery.each({slideDown:genFx("show",1),slideUp:genFx("hide",1),slideToggle:genFx("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(name,props){jQuery.fn[name]=function(speed,easing,callback){return this.animate(props,speed,easing,callback);};});jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&typeof speed==="object"?jQuery.extend({},speed):{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};opt.duration=jQuery.fx.off?0:typeof opt.duration==="number"?opt.duration:opt.duration in jQuery.fx.speeds?jQuery.fx.speeds[opt.duration]:jQuery.fx.speeds._default;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false){jQuery(this).dequeue();}
if(jQuery.isFunction(opt.old)){opt.old.call(this);}};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig){options.orig={};}}});jQuery.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this);}
(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop];}
var parsed,r=jQuery.css(this.elem,this.prop);return isNaN(parsed=parseFloat(r))?!r||r==="auto"?0:r:parsed;},custom:function(from,to,unit){var self=this,fx=jQuery.fx;this.startTime=jQuery.now();this.start=from;this.end=to;this.unit=unit||this.unit||(jQuery.cssNumber[this.prop]?"":"px");this.now=this.start;this.pos=this.state=0;function t(gotoEnd){return self.step(gotoEnd);}
t.elem=this.elem;if(t()&&jQuery.timers.push(t)&&!timerId){timerId=setInterval(fx.tick,fx.interval);}},show:function(){this.options.orig[this.prop]=jQuery.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=jQuery.now(),done=true;if(gotoEnd||t>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var i in this.options.curAnim){if(this.options.curAnim[i]!==true){done=false;}}
if(done){if(this.options.overflow!=null&&!jQuery.support.shrinkWrapBlocks){var elem=this.elem,options=this.options;jQuery.each(["","X","Y"],function(index,value){elem.style["overflow"+value]=options.overflow[index];});}
if(this.options.hide){jQuery(this.elem).hide();}
if(this.options.hide||this.options.show){for(var p in this.options.curAnim){jQuery.style(this.elem,p,this.options.orig[p]);}}
this.options.complete.call(this.elem);}
return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;var specialEasing=this.options.specialEasing&&this.options.specialEasing[this.prop];var defaultEasing=this.options.easing||(jQuery.easing.swing?"swing":"linear");this.pos=jQuery.easing[specialEasing||defaultEasing](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}
return true;}};jQuery.extend(jQuery.fx,{tick:function(){var timers=jQuery.timers;for(var i=0;i<timers.length;i++){if(!timers[i]()){timers.splice(i--,1);}}
if(!timers.length){jQuery.fx.stop();}},interval:13,stop:function(){clearInterval(timerId);timerId=null;},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(fx){jQuery.style(fx.elem,"opacity",fx.now);},_default:function(fx){if(fx.elem.style&&fx.elem.style[fx.prop]!=null){fx.elem.style[fx.prop]=(fx.prop==="width"||fx.prop==="height"?Math.max(0,fx.now):fx.now)+fx.unit;}else{fx.elem[fx.prop]=fx.now;}}}});if(jQuery.expr&&jQuery.expr.filters){jQuery.expr.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem;}).length;};}
function defaultDisplay(nodeName){if(!elemdisplay[nodeName]){var elem=jQuery("<"+nodeName+">").appendTo("body"),display=elem.css("display");elem.remove();if(display==="none"||display===""){display="block";}
elemdisplay[nodeName]=display;}
return elemdisplay[nodeName];}
var rtable=/^t(?:able|d|h)$/i,rroot=/^(?:body|html)$/i;if("getBoundingClientRect"in document.documentElement){jQuery.fn.offset=function(options){var elem=this[0],box;if(options){return this.each(function(i){jQuery.offset.setOffset(this,options,i);});}
if(!elem||!elem.ownerDocument){return null;}
if(elem===elem.ownerDocument.body){return jQuery.offset.bodyOffset(elem);}
try{box=elem.getBoundingClientRect();}catch(e){}
var doc=elem.ownerDocument,docElem=doc.documentElement;if(!box||!jQuery.contains(docElem,elem)){return box?{top:box.top,left:box.left}:{top:0,left:0};}
var body=doc.body,win=getWindow(doc),clientTop=docElem.clientTop||body.clientTop||0,clientLeft=docElem.clientLeft||body.clientLeft||0,scrollTop=(win.pageYOffset||jQuery.support.boxModel&&docElem.scrollTop||body.scrollTop),scrollLeft=(win.pageXOffset||jQuery.support.boxModel&&docElem.scrollLeft||body.scrollLeft),top=box.top+scrollTop-clientTop,left=box.left+scrollLeft-clientLeft;return{top:top,left:left};};}else{jQuery.fn.offset=function(options){var elem=this[0];if(options){return this.each(function(i){jQuery.offset.setOffset(this,options,i);});}
if(!elem||!elem.ownerDocument){return null;}
if(elem===elem.ownerDocument.body){return jQuery.offset.bodyOffset(elem);}
jQuery.offset.initialize();var computedStyle,offsetParent=elem.offsetParent,prevOffsetParent=elem,doc=elem.ownerDocument,docElem=doc.documentElement,body=doc.body,defaultView=doc.defaultView,prevComputedStyle=defaultView?defaultView.getComputedStyle(elem,null):elem.currentStyle,top=elem.offsetTop,left=elem.offsetLeft;while((elem=elem.parentNode)&&elem!==body&&elem!==docElem){if(jQuery.offset.supportsFixedPosition&&prevComputedStyle.position==="fixed"){break;}
computedStyle=defaultView?defaultView.getComputedStyle(elem,null):elem.currentStyle;top-=elem.scrollTop;left-=elem.scrollLeft;if(elem===offsetParent){top+=elem.offsetTop;left+=elem.offsetLeft;if(jQuery.offset.doesNotAddBorder&&!(jQuery.offset.doesAddBorderForTableAndCells&&rtable.test(elem.nodeName))){top+=parseFloat(computedStyle.borderTopWidth)||0;left+=parseFloat(computedStyle.borderLeftWidth)||0;}
prevOffsetParent=offsetParent;offsetParent=elem.offsetParent;}
if(jQuery.offset.subtractsBorderForOverflowNotVisible&&computedStyle.overflow!=="visible"){top+=parseFloat(computedStyle.borderTopWidth)||0;left+=parseFloat(computedStyle.borderLeftWidth)||0;}
prevComputedStyle=computedStyle;}
if(prevComputedStyle.position==="relative"||prevComputedStyle.position==="static"){top+=body.offsetTop;left+=body.offsetLeft;}
if(jQuery.offset.supportsFixedPosition&&prevComputedStyle.position==="fixed"){top+=Math.max(docElem.scrollTop,body.scrollTop);left+=Math.max(docElem.scrollLeft,body.scrollLeft);}
return{top:top,left:left};};}
jQuery.offset={initialize:function(){var body=document.body,container=document.createElement("div"),innerDiv,checkDiv,table,td,bodyMarginTop=parseFloat(jQuery.css(body,"marginTop"))||0,html="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";jQuery.extend(container.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});container.innerHTML=html;body.insertBefore(container,body.firstChild);innerDiv=container.firstChild;checkDiv=innerDiv.firstChild;td=innerDiv.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(checkDiv.offsetTop!==5);this.doesAddBorderForTableAndCells=(td.offsetTop===5);checkDiv.style.position="fixed";checkDiv.style.top="20px";this.supportsFixedPosition=(checkDiv.offsetTop===20||checkDiv.offsetTop===15);checkDiv.style.position=checkDiv.style.top="";innerDiv.style.overflow="hidden";innerDiv.style.position="relative";this.subtractsBorderForOverflowNotVisible=(checkDiv.offsetTop===-5);this.doesNotIncludeMarginInBodyOffset=(body.offsetTop!==bodyMarginTop);body.removeChild(container);body=container=innerDiv=checkDiv=table=td=null;jQuery.offset.initialize=jQuery.noop;},bodyOffset:function(body){var top=body.offsetTop,left=body.offsetLeft;jQuery.offset.initialize();if(jQuery.offset.doesNotIncludeMarginInBodyOffset){top+=parseFloat(jQuery.css(body,"marginTop"))||0;left+=parseFloat(jQuery.css(body,"marginLeft"))||0;}
return{top:top,left:left};},setOffset:function(elem,options,i){var position=jQuery.css(elem,"position");if(position==="static"){elem.style.position="relative";}
var curElem=jQuery(elem),curOffset=curElem.offset(),curCSSTop=jQuery.css(elem,"top"),curCSSLeft=jQuery.css(elem,"left"),calculatePosition=(position==="absolute"&&jQuery.inArray('auto',[curCSSTop,curCSSLeft])>-1),props={},curPosition={},curTop,curLeft;if(calculatePosition){curPosition=curElem.position();}
curTop=calculatePosition?curPosition.top:parseInt(curCSSTop,10)||0;curLeft=calculatePosition?curPosition.left:parseInt(curCSSLeft,10)||0;if(jQuery.isFunction(options)){options=options.call(elem,i,curOffset);}
if(options.top!=null){props.top=(options.top-curOffset.top)+curTop;}
if(options.left!=null){props.left=(options.left-curOffset.left)+curLeft;}
if("using"in options){options.using.call(elem,props);}else{curElem.css(props);}}};jQuery.fn.extend({position:function(){if(!this[0]){return null;}
var elem=this[0],offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=rroot.test(offsetParent[0].nodeName)?{top:0,left:0}:offsetParent.offset();offset.top-=parseFloat(jQuery.css(elem,"marginTop"))||0;offset.left-=parseFloat(jQuery.css(elem,"marginLeft"))||0;parentOffset.top+=parseFloat(jQuery.css(offsetParent[0],"borderTopWidth"))||0;parentOffset.left+=parseFloat(jQuery.css(offsetParent[0],"borderLeftWidth"))||0;return{top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};},offsetParent:function(){return this.map(function(){var offsetParent=this.offsetParent||document.body;while(offsetParent&&(!rroot.test(offsetParent.nodeName)&&jQuery.css(offsetParent,"position")==="static")){offsetParent=offsetParent.offsetParent;}
return offsetParent;});}});jQuery.each(["Left","Top"],function(i,name){var method="scroll"+name;jQuery.fn[method]=function(val){var elem=this[0],win;if(!elem){return null;}
if(val!==undefined){return this.each(function(){win=getWindow(this);if(win){win.scrollTo(!i?val:jQuery(win).scrollLeft(),i?val:jQuery(win).scrollTop());}else{this[method]=val;}});}else{win=getWindow(elem);return win?("pageXOffset"in win)?win[i?"pageYOffset":"pageXOffset"]:jQuery.support.boxModel&&win.document.documentElement[method]||win.document.body[method]:elem[method];}};});function getWindow(elem){return jQuery.isWindow(elem)?elem:elem.nodeType===9?elem.defaultView||elem.parentWindow:false;}
jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn["inner"+name]=function(){return this[0]?parseFloat(jQuery.css(this[0],type,"padding")):null;};jQuery.fn["outer"+name]=function(margin){return this[0]?parseFloat(jQuery.css(this[0],type,margin?"margin":"border")):null;};jQuery.fn[type]=function(size){var elem=this[0];if(!elem){return size==null?null:this;}
if(jQuery.isFunction(size)){return this.each(function(i){var self=jQuery(this);self[type](size.call(this,i,self[type]()));});}
if(jQuery.isWindow(elem)){var docElemProp=elem.document.documentElement["client"+name];return elem.document.compatMode==="CSS1Compat"&&docElemProp||elem.document.body["client"+name]||docElemProp;}else if(elem.nodeType===9){return Math.max(elem.documentElement["client"+name],elem.body["scroll"+name],elem.documentElement["scroll"+name],elem.body["offset"+name],elem.documentElement["offset"+name]);}else if(size===undefined){var orig=jQuery.css(elem,type),ret=parseFloat(orig);return jQuery.isNaN(ret)?orig:ret;}else{return this.css(type,typeof size==="string"?size:size+"px");}};});window.jQuery=window.$=jQuery;})(window);if(typeof jQuery!="undefined")$j=jQuery.noConflict();var mixed_state_opacity=0.3;$j.fn.check=function(checked)
{if(typeof checked=='undefined')checked=true;return this.each(function()
{if(typeof this.checked!='undefined')this.checked=checked;});};$j.fn.uncheck=function()
{return this.check(false);};$j.fn.enable=function(enabled)
{if(typeof enabled=='undefined')enabled=true;return this.each(function()
{if(typeof this.disabled!='undefined')this.disabled=!enabled;});};$j.fn.disable=function()
{return this.enable(false);};$j.fn.inputValue=function(value)
{return this.each(function(){$obj=$j(this);if($obj.is("input"))
{$obj.val(value);}
else if($obj.is("select"))
{$obj.children("[value="+value+"]").attr("selected","selected");}});};$j.getInfo=function(id,langs)
{langs=langs||fgt_lang;for(var sec in langs){var langs_sec=langs[sec];if(langs_sec&&id in langs_sec){var lang=langs_sec[id];if(lang){return lang;}}}
return id;}
$j.addScript=function(src)
{var exists;$j("script").each(function(){exists=$j(this).attr("src")==src;if(exists)return false;});if(exists)return;$j.ajaxSetup({cache:true});$j("head").append("<script type=text/javascript src='"+src+"'></script>");}
$j.addStyle=function(src)
{var exists;$j("link[type='text/css']").each(function(){exists=$j(this).attr("href")==src;if(exists)return false;});if(exists)return;$j.ajaxSetup({cache:true});document.createStyleSheet?document.createStyleSheet(src):$j('<link rel="stylesheet" type="text/css" href="'+src+'" />').appendTo("head");}
$j.addLang=function(objs,langs)
{var s="var new_lang=";objs=objs||[{path:"lang/",sec:"global"}];langs=langs||window.fgt_lang||(fgt_lang={});var obj,paths="";for(var i=0;(obj=objs[i]);i++){var path=obj.path;if(path.substr(path.length-4)=="lang")
path=path+"/";paths+=","+path+":"+obj.sec;}
var cache_no="&q="+fweb["cache_path"].substr(1);jQuery.addScript("/fgt_lang.js?jsonp="+escape(s)+"&paths="+paths.substr(1)+cache_no);for(var i=0;(obj=objs[i]);i++)
langs[obj.sec]=new_lang[obj.sec];}
function updateTimeperiodOpts(new_tp_type)
{var last_n_lble=null;if(new_tp_type===TP_CONSTS.TP_UNDEFINED)
{$j("#row_tp_specify_begin").show();$j("#row_tp_specify_end").show();$j("#row_tp_last_n").hide();return;}
else if(new_tp_type===TP_CONSTS.TP_LAST_N_HOURS)
{last_n_lble=TP_CONSTS.last_n_hours;}
else if(new_tp_type===TP_CONSTS.TP_LAST_N_DAYS)
{last_n_lble=TP_CONSTS.last_n_days;}
else if(new_tp_type===TP_CONSTS.TP_LAST_N_WEEKS)
{last_n_lble=TP_CONSTS.last_n_weeks;}
if(last_n_lble)
{$j("#row_tp_specify_begin").hide();$j("#row_tp_specify_end").hide();$j("#row_tp_last_n").show();$j("#tp_lbl_last_n").html(last_n_lble);}
else
{$j("#row_tp_specify_begin").hide();$j("#row_tp_specify_end").hide();$j("#row_tp_last_n").hide();}}
function setupTimeperiod(tp_type,last_n,tp_specify_begin,tp_specify_end)
{$j("#tp_type").change(function()
{updateTimeperiodOpts(parseInt(this.value));});$j("img.time_selector").click(function()
{var url="/calendar?fmt=YYYY-MM-DD hh:mm&have_time=1&second=0";url+=("&date_textbox="+$j(this).attr("save_to"));window.open(url,"Calendar","resizable,width=300,height=270,top=150,left=350");});$j("#tp_type").val(tp_type);$j("#tp_last_n").val(last_n);$j("#tp_specify_begin").val(tp_specify_begin);$j("#tp_specify_end").val(tp_specify_end);updateTimeperiodOpts(tp_type);}
function checkTimeperiod()
{var tp_type=parseInt($j("#tp_type").val());if(tp_type===TP_CONSTS.TP_UNDEFINED)
{var start_time=$j("#tp_specify_begin")[0];if(checkvoid(start_time,TP_CONSTS.select_time)==false)return false;if(check_datetime(start_time,TP_CONSTS.valid_time_format)==false)return false;var end_time=$j("#tp_specify_end")[0];if(checkvoid(end_time,TP_CONSTS.select_time)==false)return false;if(check_datetime(end_time,TP_CONSTS.valid_time_format)==false)return false;if(start_time.value>=end_time.value)
{alert(TP_CONSTS.later_msg);end_time.focus();return false;}}
else if(tp_type===TP_CONSTS.TP_LAST_N_HOURS||tp_type===TP_CONSTS.TP_LAST_N_DAYS||tp_type===TP_CONSTS.TP_LAST_N_WEEKS)
{if(checkIntRange($j("#tp_last_n")[0],1,2147483647,TP_CONSTS.err_last_n)==false)return false;}
return true;}
function associateCheckOpts(chkbox,dep_opt)
{$j("#"+chkbox).click(function()
{$j("#"+dep_opt).enable(this.checked);});}
function validateCheckOpts(chkbox,dep_opt,err_msg)
{if($j("#"+chkbox)[0].checked)
{return checkvoid($j("#"+dep_opt)[0],err_msg);}
else
{return true;}}
$j.fn.sortElements=(function(){var sort=[].sort;return function(comparator){return sort.call(this,comparator).each(function(){this.parentNode.appendChild(this);});};})();$j.updateImage=function(id,url)
{var img=$j("#"+id);if(img.length==0)return;var width=img.parent().width()-4;var height=parseInt(width/2);var full_url=url;full_url+=(full_url.indexOf("?")>=0?"&":"?");full_url+=("w="+width+"&h="+height);full_url+=("&nocache="+Math.random());img.attr("src",full_url);img.removeAttr("width");img.removeAttr("height");};$j.internationalizeLanguageEntries=function(section)
{var entries=typeof(section)=="string"?[section]:section;if(!entries){entries=[];for(var x in fgt_lang)entries.push(x);}
function get_lang(lang_key){var sec;for(var i=0;(sec=entries[i]);i++){var lang_val=fgt_lang[sec][lang_key];if(lang_val)return lang_val;}
return lang_key;}
$j("[lang_key]").each(function()
{var $obj=$j(this);var lang_key=$obj.attr("lang_key");var lang_val=get_lang(lang_key);if($obj.is(":input"))
{$obj.val(lang_val);}
else
{$obj.html(lang_val);}});$j("[help_lang_key]").each(function()
{var $obj=$j(this);var help_lang_val=get_lang($obj.attr("help_lang_key"));$obj.attr("title",help_lang_val);});};$j.updateDepOpts=function(enabled,$jmaster_opt)
{var dep_cls=$jmaster_opt.attr("name");var dep_type=$jmaster_opt.attr("dep_type");var $jdep_opts=$j(".dep_"+dep_cls);if(dep_type=="disable"){$jdep_opts.enable(enabled);}else{$jdep_opts.toggle(enabled);}};$j.fn.hookMasterDepOpts=function(enabled_cb)
{return this.each(function(){if(typeof(enabled_cb)!="function")return;$j.updateDepOpts(enabled_cb($j(this)),$j(this));$j(this).click(function(){var $jthis=$j(this);$j.updateDepOpts(enabled_cb($jthis),$jthis);});});};$j.getInfo=function(id,langs)
{langs=langs||fgt_lang;for(var sec in langs){var lang=langs[sec][id];if(lang)return lang;}
return id;};$j.fn.autoHeight=function(related)
{var jo=jQuery(this);if(!jo.length)return jo;var d=jo.outerHeight()-jo.height();function resizeHeight()
{var n=jo.nextAll(":visible").outerHeight()||0;var t=jo.position().top-jo.parent().position().top;jo.show();var h=jo.parent().height()-t-d-n;if(h>0)
{jo.parent().css("overflow-y","hidden");jo.height(h);}
else
{jo.hide();}}
resizeHeight();jQuery(related||jo.parent()).resize(resizeHeight);return jo;}
$j.prompt=function(msg,val,callback){var dialog=$j(['<div><p><label for="prompt_input">',msg,'</label></p>','<p><input id="prompt_input" type="text" value="',val,'"></p></div>'].join(''));dialog.keyup(function(e){if(e.keyCode==13){$j('.ui-dialog').find('button:first').trigger('click');}});dialog.dialog({'modal':true,'title':$j.getInfo('prompt_title'),'draggable':false,'resizable':false,'buttons':[{text:$j.getInfo('ok'),click:function(){$j(this).dialog("close");if(typeof callback=="function"){callback($j('#prompt_input').val());}
dialog.remove();}},{text:$j.getInfo('cancel'),click:function(){$j(this).dialog("close");dialog.remove();}}]});};$j.alert=function(msg){var dialog=$j(['<div><p><span class="ui-icon ui-icon-alert left-icon"></span>',msg,'</p></div>'].join(''));dialog.keyup(function(e){if(e.keyCode==13){$j('.ui-dialog').find('button:first').trigger('click');}});dialog.dialog({'modal':true,'title':$j.getInfo('alert_title'),'draggable':false,'resizable':false,'buttons':[{text:$j.getInfo('ok'),click:function(){$j(this).dialog("close");dialog.remove();}}]});};$j.confirm=function(msg,callback){var dialog=$j(['<div><p>',msg,'</p></div>'].join(''));dialog.keyup(function(e){if(e.keyCode==13){$j('.ui-dialog').find('button:first').trigger('click');}});dialog.dialog({'modal':true,'title':$j.getInfo('confirm_title'),'draggable':false,'resizable':false,'buttons':[{text:$j.getInfo('ok'),click:function(){$j(this).dialog("close");if(typeof callback=="function"){callback();}
dialog.remove();}},{text:$j.getInfo('cancel'),click:function(){$j(this).dialog("close");dialog.remove();}}]});};$j.modal=function(html,title,callback){var dialog=$j(html);dialog.keyup(function(e){if(e.keyCode==13){$j('.ui-dialog').find('button:first').trigger('click');}});dialog.dialog({'modal':true,'title':title,'draggable':false,'resizable':false,'buttons':[{text:$j.getInfo('ok'),click:function(){$j(this).dialog("close");if(typeof callback=="function"){callback(dialog);}
dialog.remove();}},{text:$j.getInfo('cancel'),click:function(){$j(this).dialog("close");dialog.remove();}}]});};(function($){$.fn.fwt_time=function(options){var defaults={};$(this).each(function(){var settings=$.extend({},defaults,options);var input=this;var container=$(this).closest("span.fwt_time_container");var hour=$("select.fwt_time_hour",container);var minute=$("select.fwt_time_minute",container);$(hour).change(update_time);$(minute).change(update_time);init_time();function init_time(){var t_parts=$(input).val().split(":");if(t_parts.length==2){$(hour).val(t_parts[0]);$(minute).val(t_parts[1]);}}
function update_time(){var str=hour.val()+":"+minute.val();$(input).val(str);}});}})(jQuery);(function($){$.extend($.fn,{validate:function(options){if(!this.length){options&&options.debug&&window.console&&console.warn("nothing selected, can't validate, returning nothing");return;}
var validator=$.data(this[0],'validator');if(validator){return validator;}
validator=new $.validator(options,this[0]);$.data(this[0],'validator',validator);if(validator.settings.onsubmit){this.find("input, button").filter(".cancel").click(function(){validator.cancelSubmit=true;});if(validator.settings.submitHandler){this.find("input, button").filter(":submit").click(function(){validator.submitButton=this;});}
this.submit(function(event){if(validator.settings.debug)
event.preventDefault();function handle(){if(validator.settings.submitHandler){if(validator.submitButton){var hidden=$("<input type='hidden'/>").attr("name",validator.submitButton.name).val(validator.submitButton.value).appendTo(validator.currentForm);}
validator.settings.submitHandler.call(validator,validator.currentForm);if(validator.submitButton){hidden.remove();}
return false;}
return true;}
if(validator.cancelSubmit){validator.cancelSubmit=false;return handle();}
if(validator.form()){if(validator.pendingRequest){validator.formSubmitted=true;return false;}
return handle();}else{validator.focusInvalid();return false;}});}
return validator;},valid:function(){if($(this[0]).is('form')){return this.validate().form();}else{var valid=true;var validator=$(this[0].form).validate();this.each(function(){valid&=validator.element(this);});return valid;}},removeAttrs:function(attributes){var result={},$element=this;$.each(attributes.split(/\s/),function(index,value){result[value]=$element.attr(value);$element.removeAttr(value);});return result;},rules:function(command,argument){var element=this[0];if(command){var settings=$.data(element.form,'validator').settings;var staticRules=settings.rules;var existingRules=$.validator.staticRules(element);switch(command){case"add":$.extend(existingRules,$.validator.normalizeRule(argument));staticRules[element.name]=existingRules;if(argument.messages)
settings.messages[element.name]=$.extend(settings.messages[element.name],argument.messages);break;case"remove":if(!argument){delete staticRules[element.name];return existingRules;}
var filtered={};$.each(argument.split(/\s/),function(index,method){filtered[method]=existingRules[method];delete existingRules[method];});return filtered;}}
var data=$.validator.normalizeRules($.extend({},$.validator.metadataRules(element),$.validator.classRules(element),$.validator.attributeRules(element),$.validator.staticRules(element)),element);if(data.required){var param=data.required;delete data.required;data=$.extend({required:param},data);}
return data;}});$.extend($.expr[":"],{blank:function(a){return!$.trim(""+a.value);},filled:function(a){return!!$.trim(""+a.value);},unchecked:function(a){return!a.checked;}});$.validator=function(options,form){this.settings=$.extend(true,{},$.validator.defaults,options);this.currentForm=form;this.init();};$.validator.format=function(source,params){if(arguments.length==1)
return function(){var args=$.makeArray(arguments);args.unshift(source);return $.validator.format.apply(this,args);};if(arguments.length>2&&params.constructor!=Array){params=$.makeArray(arguments).slice(1);}
if(params.constructor!=Array){params=[params];}
$.each(params,function(i,n){source=source.replace(new RegExp("\\{"+i+"\\}","g"),n);});return source;};$.extend($.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusInvalid:true,errorContainer:$([]),errorLabelContainer:$([]),onsubmit:true,ignore:[],ignoreTitle:false,onfocusin:function(element){this.lastActive=element;if(this.settings.focusCleanup&&!this.blockFocusCleanup){this.settings.unhighlight&&this.settings.unhighlight.call(this,element,this.settings.errorClass,this.settings.validClass);this.addWrapper(this.errorsFor(element)).hide();}},onfocusout:function(element){if(!this.checkable(element)&&(element.name in this.submitted||!this.optional(element))){this.element(element);}},onkeyup:function(element){if(element.name in this.submitted||element==this.lastElement){this.element(element);}},onclick:function(element){if(element.name in this.submitted)
this.element(element);else if(element.parentNode.name in this.submitted)
this.element(element.parentNode);},highlight:function(element,errorClass,validClass){$(element).addClass(errorClass).removeClass(validClass);},unhighlight:function(element,errorClass,validClass){$(element).removeClass(errorClass).addClass(validClass);}},setDefaults:function(settings){$.extend($.validator.defaults,settings);},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",accept:"Please enter a value with a valid extension.",maxlength:$.validator.format("Please enter no more than {0} characters."),minlength:$.validator.format("Please enter at least {0} characters."),rangelength:$.validator.format("Please enter a value between {0} and {1} characters long."),range:$.validator.format("Please enter a value between {0} and {1}."),max:$.validator.format("Please enter a value less than or equal to {0}."),min:$.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:false,prototype:{init:function(){this.labelContainer=$(this.settings.errorLabelContainer);this.errorContext=this.labelContainer.length&&this.labelContainer||$(this.currentForm);this.containers=$(this.settings.errorContainer).add(this.settings.errorLabelContainer);this.submitted={};this.valueCache={};this.pendingRequest=0;this.pending={};this.invalid={};this.reset();var groups=(this.groups={});$.each(this.settings.groups,function(key,value){$.each(value.split(/\s/),function(index,name){groups[name]=key;});});var rules=this.settings.rules;$.each(rules,function(key,value){rules[key]=$.validator.normalizeRule(value);});function delegate(event){var validator=$.data(this[0].form,"validator"),eventType="on"+event.type.replace(/^validate/,"");validator.settings[eventType]&&validator.settings[eventType].call(validator,this[0]);}
$(this.currentForm).validateDelegate(":text, :password, :file, select, textarea","focusin focusout keyup",delegate).validateDelegate(":radio, :checkbox, select, option","click",delegate);if(this.settings.invalidHandler)
$(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler);},form:function(){this.checkForm();$.extend(this.submitted,this.errorMap);this.invalid=$.extend({},this.errorMap);if(!this.valid())
$(this.currentForm).triggerHandler("invalid-form",[this]);this.showErrors();return this.valid();},checkForm:function(){this.prepareForm();for(var i=0,elements=(this.currentElements=this.elements());elements[i];i++){this.check(elements[i]);}
return this.valid();},element:function(element){element=this.clean(element);this.lastElement=element;this.prepareElement(element);this.currentElements=$(element);var result=this.check(element);if(result){delete this.invalid[element.name];}else{this.invalid[element.name]=true;}
if(!this.numberOfInvalids()){this.toHide=this.toHide.add(this.containers);}
this.showErrors();return result;},showErrors:function(errors){if(errors){$.extend(this.errorMap,errors);this.errorList=[];for(var name in errors){this.errorList.push({message:errors[name],element:this.findByName(name)[0]});}
this.successList=$.grep(this.successList,function(element){return!(element.name in errors);});}
this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors();},resetForm:function(){if($.fn.resetForm)
$(this.currentForm).resetForm();this.submitted={};this.prepareForm();this.hideErrors();this.elements().removeClass(this.settings.errorClass);},numberOfInvalids:function(){return this.objectLength(this.invalid);},objectLength:function(obj){var count=0;for(var i in obj)
count++;return count;},hideErrors:function(){this.addWrapper(this.toHide).hide();},valid:function(){return this.size()==0;},size:function(){return this.errorList.length;},focusInvalid:function(){if(this.settings.focusInvalid){try{$(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin");}catch(e){}}},findLastActive:function(){var lastActive=this.lastActive;return lastActive&&$.grep(this.errorList,function(n){return n.element.name==lastActive.name;}).length==1&&lastActive;},elements:function(){var validator=this,rulesCache={};return $([]).add(this.currentForm.elements).filter(":input").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){!this.name&&validator.settings.debug&&window.console&&console.error("%o has no name assigned",this);if(this.name in rulesCache||!validator.objectLength($(this).rules()))
return false;rulesCache[this.name]=true;return true;});},clean:function(selector){return $(selector)[0];},errors:function(){return $(this.settings.errorElement+"."+this.settings.errorClass,this.errorContext);},reset:function(){this.successList=[];this.errorList=[];this.errorMap={};this.toShow=$([]);this.toHide=$([]);this.currentElements=$([]);},prepareForm:function(){this.reset();this.toHide=this.errors().add(this.containers);},prepareElement:function(element){this.reset();this.toHide=this.errorsFor(element);},check:function(element){element=this.clean(element);if(this.checkable(element)){element=this.findByName(element.name).not(this.settings.ignore)[0];}
var rules=$(element).rules();var dependencyMismatch=false;for(var method in rules){var rule={method:method,parameters:rules[method]};try{var result=$.validator.methods[method].call(this,element.value.replace(/\r/g,""),element,rule.parameters);if(result=="dependency-mismatch"){dependencyMismatch=true;continue;}
dependencyMismatch=false;if(result=="pending"){this.toHide=this.toHide.not(this.errorsFor(element));return;}
if(!result){this.formatAndAdd(element,rule);return false;}}catch(e){this.settings.debug&&window.console&&console.log("exception occured when checking element "+element.id
+", check the '"+rule.method+"' method",e);throw e;}}
if(dependencyMismatch)
return;if(this.objectLength(rules))
this.successList.push(element);return true;},customMetaMessage:function(element,method){if(!$.metadata)
return;var meta=this.settings.meta?$(element).metadata()[this.settings.meta]:$(element).metadata();return meta&&meta.messages&&meta.messages[method];},customMessage:function(name,method){var m=this.settings.messages[name];return m&&(m.constructor==String?m:m[method]);},findDefined:function(){for(var i=0;i<arguments.length;i++){if(arguments[i]!==undefined)
return arguments[i];}
return undefined;},defaultMessage:function(element,method){return this.findDefined(this.customMessage(element.name,method),this.customMetaMessage(element,method),!this.settings.ignoreTitle&&element.title||undefined,$.validator.messages[method],"<strong>Warning: No message defined for "+element.name+"</strong>");},formatAndAdd:function(element,rule){var message=this.defaultMessage(element,rule.method),theregex=/\$?\{(\d+)\}/g;if(typeof message=="function"){message=message.call(this,rule.parameters,element);}else if(theregex.test(message)){message=jQuery.format(message.replace(theregex,'{$1}'),rule.parameters);}
this.errorList.push({message:message,element:element});this.errorMap[element.name]=message;this.submitted[element.name]=message;},addWrapper:function(toToggle){if(this.settings.wrapper)
toToggle=toToggle.add(toToggle.parent(this.settings.wrapper));return toToggle;},defaultShowErrors:function(){for(var i=0;this.errorList[i];i++){var error=this.errorList[i];this.settings.highlight&&this.settings.highlight.call(this,error.element,this.settings.errorClass,this.settings.validClass);this.showLabel(error.element,error.message);}
if(this.errorList.length){this.toShow=this.toShow.add(this.containers);}
if(this.settings.success){for(var i=0;this.successList[i];i++){this.showLabel(this.successList[i]);}}
if(this.settings.unhighlight){for(var i=0,elements=this.validElements();elements[i];i++){this.settings.unhighlight.call(this,elements[i],this.settings.errorClass,this.settings.validClass);}}
this.toHide=this.toHide.not(this.toShow);this.hideErrors();this.addWrapper(this.toShow).show();},validElements:function(){return this.currentElements.not(this.invalidElements());},invalidElements:function(){return $(this.errorList).map(function(){return this.element;});},showLabel:function(element,message){var label=this.errorsFor(element);if(label.length){label.removeClass().addClass(this.settings.errorClass);label.attr("generated")&&label.html(message);}else{label=$("<"+this.settings.errorElement+"/>").attr({"for":this.idOrName(element),generated:true}).addClass(this.settings.errorClass).html(message||"");if(this.settings.wrapper){label=label.hide().show().wrap("<"+this.settings.wrapper+"/>").parent();}
if(!this.labelContainer.append(label).length)
this.settings.errorPlacement?this.settings.errorPlacement(label,$(element)):label.insertAfter(element);}
if(!message&&this.settings.success){label.text("");typeof this.settings.success=="string"?label.addClass(this.settings.success):this.settings.success(label);}
this.toShow=this.toShow.add(label);},errorsFor:function(element){var name=this.idOrName(element);return this.errors().filter(function(){return $(this).attr('for')==name;});},idOrName:function(element){return this.groups[element.name]||(this.checkable(element)?element.name:element.id||element.name);},checkable:function(element){return/radio|checkbox/i.test(element.type);},findByName:function(name){var form=this.currentForm;return $(document.getElementsByName(name)).map(function(index,element){return element.form==form&&element.name==name&&element||null;});},getLength:function(value,element){switch(element.nodeName.toLowerCase()){case'select':return $("option:selected",element).length;case'input':if(this.checkable(element))
return this.findByName(element.name).filter(':checked').length;}
return value.length;},depend:function(param,element){return this.dependTypes[typeof param]?this.dependTypes[typeof param](param,element):true;},dependTypes:{"boolean":function(param,element){return param;},"string":function(param,element){return!!$(param,element.form).length;},"function":function(param,element){return param(element);}},optional:function(element){return!$.validator.methods.required.call(this,$.trim(element.value),element)&&"dependency-mismatch";},startRequest:function(element){if(!this.pending[element.name]){this.pendingRequest++;this.pending[element.name]=true;}},stopRequest:function(element,valid){this.pendingRequest--;if(this.pendingRequest<0)
this.pendingRequest=0;delete this.pending[element.name];if(valid&&this.pendingRequest==0&&this.formSubmitted&&this.form()){$(this.currentForm).submit();this.formSubmitted=false;}else if(!valid&&this.pendingRequest==0&&this.formSubmitted){$(this.currentForm).triggerHandler("invalid-form",[this]);this.formSubmitted=false;}},previousValue:function(element){return $.data(element,"previousValue")||$.data(element,"previousValue",{old:null,valid:true,message:this.defaultMessage(element,"remote")});}},classRuleSettings:{required:{required:true},email:{email:true},url:{url:true},date:{date:true},dateISO:{dateISO:true},dateDE:{dateDE:true},number:{number:true},numberDE:{numberDE:true},digits:{digits:true},creditcard:{creditcard:true}},addClassRules:function(className,rules){className.constructor==String?this.classRuleSettings[className]=rules:$.extend(this.classRuleSettings,className);},classRules:function(element){var rules={};var classes=$(element).attr('class');classes&&$.each(classes.split(' '),function(){if(this in $.validator.classRuleSettings){$.extend(rules,$.validator.classRuleSettings[this]);}});return rules;},attributeRules:function(element){var rules={};var $element=$(element);for(var method in $.validator.methods){var value=$element.attr(method);if(value){rules[method]=JSON.parse(value);}}
if(rules.maxlength&&/-1|2147483647|524288/.test(rules.maxlength)){delete rules.maxlength;}
return rules;},metadataRules:function(element){if(!$.metadata)return{};var meta=$.data(element.form,'validator').settings.meta;return meta?$(element).metadata()[meta]:$(element).metadata();},staticRules:function(element){var rules={};var validator=$.data(element.form,'validator');if(validator.settings.rules){rules=$.validator.normalizeRule(validator.settings.rules[element.name])||{};}
return rules;},normalizeRules:function(rules,element){$.each(rules,function(prop,val){if(val===false){delete rules[prop];return;}
if(val.param||val.depends){var keepRule=true;switch(typeof val.depends){case"string":keepRule=!!$(val.depends,element.form).length;break;case"function":keepRule=val.depends.call(element,element);break;}
if(keepRule){rules[prop]=val.param!==undefined?val.param:true;}else{delete rules[prop];}}});$.each(rules,function(rule,parameter){rules[rule]=$.isFunction(parameter)?parameter(element):parameter;});$.each(['minlength','maxlength','min','max'],function(){if(rules[this]){rules[this]=Number(rules[this]);}});$.each(['rangelength','range'],function(){if(rules[this]){rules[this]=[Number(rules[this][0]),Number(rules[this][1])];}});if($.validator.autoCreateRanges){if(rules.min&&rules.max){rules.range=[rules.min,rules.max];delete rules.min;delete rules.max;}
if(rules.minlength&&rules.maxlength){rules.rangelength=[rules.minlength,rules.maxlength];delete rules.minlength;delete rules.maxlength;}}
if(rules.messages){delete rules.messages;}
return rules;},normalizeRule:function(data){if(typeof data=="string"){var transformed={};$.each(data.split(/\s/),function(){transformed[this]=true;});data=transformed;}
return data;},addMethod:function(name,method,message){$.validator.methods[name]=method;$.validator.messages[name]=message!=undefined?message:$.validator.messages[name];if(method.length<3){$.validator.addClassRules(name,$.validator.normalizeRule(name));}},methods:{required:function(value,element,param){if(!this.depend(param,element))
return"dependency-mismatch";switch(element.nodeName.toLowerCase()){case'select':var val=$(element).val();return val&&val.length>0;case'input':if(this.checkable(element))
return this.getLength(value,element)>0;default:return $.trim(value).length>0;}},remote:function(value,element,param){if(this.optional(element))
return"dependency-mismatch";var previous=this.previousValue(element);if(!this.settings.messages[element.name])
this.settings.messages[element.name]={};previous.originalMessage=this.settings.messages[element.name].remote;this.settings.messages[element.name].remote=previous.message;param=typeof param=="string"&&{url:param}||param;if(this.pending[element.name]){return"pending";}
if(previous.old===value){return previous.valid;}
previous.old=value;var validator=this;this.startRequest(element);var data={};data[element.name]=value;$.ajax($.extend(true,{url:param,mode:"abort",port:"validate"+element.name,dataType:"json",data:data,success:function(response){validator.settings.messages[element.name].remote=previous.originalMessage;var valid=response===true;if(valid){var submitted=validator.formSubmitted;validator.prepareElement(element);validator.formSubmitted=submitted;validator.successList.push(element);validator.showErrors();}else{var errors={};var message=(previous.message=response||validator.defaultMessage(element,"remote"));errors[element.name]=$.isFunction(message)?message(value):message;validator.showErrors(errors);}
previous.valid=valid;validator.stopRequest(element,valid);}},param));return"pending";},minlength:function(value,element,param){return this.optional(element)||this.getLength($.trim(value),element)>=param;},maxlength:function(value,element,param){return this.optional(element)||this.getLength($.trim(value),element)<=param;},rangelength:function(value,element,param){var length=this.getLength($.trim(value),element);return this.optional(element)||(length>=param[0]&&length<=param[1]);},min:function(value,element,param){return this.optional(element)||value>=param;},max:function(value,element,param){return this.optional(element)||value<=param;},range:function(value,element,param){return this.optional(element)||(value>=param[0]&&value<=param[1]);},email:function(value,element){return this.optional(element)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value);},url:function(value,element){return this.optional(element)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value);},date:function(value,element){return this.optional(element)||!/Invalid|NaN/.test(new Date(value));},dateISO:function(value,element){return this.optional(element)||/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(value);},number:function(value,element){return this.optional(element)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(value);},digits:function(value,element){return this.optional(element)||/^\d+$/.test(value);},creditcard:function(value,element){if(this.optional(element))
return"dependency-mismatch";if(/[^0-9-]+/.test(value))
return false;var nCheck=0,nDigit=0,bEven=false;value=value.replace(/\D/g,"");for(var n=value.length-1;n>=0;n--){var cDigit=value.charAt(n);var nDigit=parseInt(cDigit,10);if(bEven){if((nDigit*=2)>9)
nDigit-=9;}
nCheck+=nDigit;bEven=!bEven;}
return(nCheck%10)==0;},accept:function(value,element,param){param=typeof param=="string"?param.replace(/,/g,'|'):"png|jpe?g|gif";return this.optional(element)||value.match(new RegExp(".("+param+")$","i"));},equalTo:function(value,element,param){var target=$(param).unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){$(element).valid();});return value==target.val();}}});$.format=$.validator.format;})(jQuery);;(function($){var pendingRequests={};if($.ajaxPrefilter){$.ajaxPrefilter(function(settings,_,xhr){var port=settings.port;if(settings.mode=="abort"){if(pendingRequests[port]){pendingRequests[port].abort();}
pendingRequests[port]=xhr;}});}else{var ajax=$.ajax;$.ajax=function(settings){var mode=("mode"in settings?settings:$.ajaxSettings).mode,port=("port"in settings?settings:$.ajaxSettings).port;if(mode=="abort"){if(pendingRequests[port]){pendingRequests[port].abort();}
return(pendingRequests[port]=ajax.apply(this,arguments));}
return ajax.apply(this,arguments);};}})(jQuery);;(function($){if(!jQuery.event.special.focusin&&!jQuery.event.special.focusout&&document.addEventListener){$.each({focus:'focusin',blur:'focusout'},function(original,fix){$.event.special[fix]={setup:function(){this.addEventListener(original,handler,true);},teardown:function(){this.removeEventListener(original,handler,true);},handler:function(e){arguments[0]=$.event.fix(e);arguments[0].type=fix;return $.event.handle.apply(this,arguments);}};function handler(e){e=$.event.fix(e);e.type=fix;return $.event.handle.call(this,e);}});};$.extend($.fn,{validateDelegate:function(delegate,type,handler){return this.bind(type,function(event){var target=$(event.target);if(target.is(delegate)){return handler.apply(target,arguments);}});}});})(jQuery);(function(){function stripHtml(value){return value.replace(/<.[^<>]*?>/g,' ').replace(/&nbsp;|&#160;/gi,' ').replace(/[0-9.(),;:!?%#$'"_+=\/-]*/g,'');}
jQuery.validator.addMethod("maxWords",function(value,element,params){return this.optional(element)||stripHtml(value).match(/\b\w+\b/g).length<params;},jQuery.validator.format("Please enter {0} words or less."));jQuery.validator.addMethod("minWords",function(value,element,params){return this.optional(element)||stripHtml(value).match(/\b\w+\b/g).length>=params;},jQuery.validator.format("Please enter at least {0} words."));jQuery.validator.addMethod("rangeWords",function(value,element,params){return this.optional(element)||stripHtml(value).match(/\b\w+\b/g).length>=params[0]&&value.match(/bw+b/g).length<params[1];},jQuery.validator.format("Please enter between {0} and {1} words."));})();jQuery.validator.addMethod("letterswithbasicpunc",function(value,element){return this.optional(element)||/^[a-z-.,()'\"\s]+$/i.test(value);},"Letters or punctuation only please");jQuery.validator.addMethod("alphanumeric",function(value,element){return this.optional(element)||/^\w+$/i.test(value);},"Letters, numbers, spaces or underscores only please");jQuery.validator.addMethod("lettersonly",function(value,element){return this.optional(element)||/^[a-z]+$/i.test(value);},"Letters only please");jQuery.validator.addMethod("nowhitespace",function(value,element){return this.optional(element)||/^\S+$/i.test(value);},"No white space please");jQuery.validator.addMethod("ziprange",function(value,element){return this.optional(element)||/^90[2-5]\d\{2}-\d{4}$/.test(value);},"Your ZIP-code must be in the range 902xx-xxxx to 905-xx-xxxx");jQuery.validator.addMethod("integer",function(value,element){return this.optional(element)||/^-?\d+$/.test(value);},"A positive or negative non-decimal number please");jQuery.validator.addMethod("vinUS",function(v){if(v.length!=17)
return false;var i,n,d,f,cd,cdv;var LL=["A","B","C","D","E","F","G","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y","Z"];var VL=[1,2,3,4,5,6,7,8,1,2,3,4,5,7,9,2,3,4,5,6,7,8,9];var FL=[8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2];var rs=0;for(i=0;i<17;i++){f=FL[i];d=v.slice(i,i+1);if(i==8){cdv=d;}
if(!isNaN(d)){d*=f;}
else{for(n=0;n<LL.length;n++){if(d.toUpperCase()===LL[n]){d=VL[n];d*=f;if(isNaN(cdv)&&n==8){cdv=LL[n];}
break;}}}
rs+=d;}
cd=rs%11;if(cd==10){cd="X";}
if(cd==cdv){return true;}
return false;},"The specified vehicle identification number (VIN) is invalid.");jQuery.validator.addMethod("dateITA",function(value,element){var check=false;var re=/^\d{1,2}\/\d{1,2}\/\d{4}$/;if(re.test(value)){var adata=value.split('/');var gg=parseInt(adata[0],10);var mm=parseInt(adata[1],10);var aaaa=parseInt(adata[2],10);var xdata=new Date(aaaa,mm-1,gg);if((xdata.getFullYear()==aaaa)&&(xdata.getMonth()==mm-1)&&(xdata.getDate()==gg))
check=true;else
check=false;}else
check=false;return this.optional(element)||check;},"Please enter a correct date");jQuery.validator.addMethod("dateNL",function(value,element){return this.optional(element)||/^\d\d?[\.\/-]\d\d?[\.\/-]\d\d\d?\d?$/.test(value);},"Vul hier een geldige datum in.");jQuery.validator.addMethod("time",function(value,element){return this.optional(element)||/^([01][0-9])|(2[0123]):([0-5])([0-9])$/.test(value);},"Please enter a valid time, between 00:00 and 23:59");jQuery.validator.addMethod("phoneUS",function(phone_number,element){phone_number=phone_number.replace(/\s+/g,"");return this.optional(element)||phone_number.length>9&&phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);},"Please specify a valid phone number");jQuery.validator.addMethod('phoneUK',function(phone_number,element){return this.optional(element)||phone_number.length>9&&phone_number.match(/^(\(?(0|\+44)[1-9]{1}\d{1,4}?\)?\s?\d{3,4}\s?\d{3,4})$/);},'Please specify a valid phone number');jQuery.validator.addMethod('mobileUK',function(phone_number,element){return this.optional(element)||phone_number.length>9&&phone_number.match(/^((0|\+44)7(5|6|7|8|9){1}\d{2}\s?\d{6})$/);},'Please specify a valid mobile number');jQuery.validator.addMethod("strippedminlength",function(value,element,param){return jQuery(value).text().length>=param;},jQuery.validator.format("Please enter at least {0} characters"));jQuery.validator.addMethod("email2",function(value,element,param){return this.optional(element)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value);},jQuery.validator.messages.email);jQuery.validator.addMethod("url2",function(value,element,param){return this.optional(element)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value);},jQuery.validator.messages.url);jQuery.validator.addMethod("creditcardtypes",function(value,element,param){if(/[^0-9-]+/.test(value))
return false;value=value.replace(/\D/g,"");var validTypes=0x0000;if(param.mastercard)
validTypes|=0x0001;if(param.visa)
validTypes|=0x0002;if(param.amex)
validTypes|=0x0004;if(param.dinersclub)
validTypes|=0x0008;if(param.enroute)
validTypes|=0x0010;if(param.discover)
validTypes|=0x0020;if(param.jcb)
validTypes|=0x0040;if(param.unknown)
validTypes|=0x0080;if(param.all)
validTypes=0x0001|0x0002|0x0004|0x0008|0x0010|0x0020|0x0040|0x0080;if(validTypes&0x0001&&/^(51|52|53|54|55)/.test(value)){return value.length==16;}
if(validTypes&0x0002&&/^(4)/.test(value)){return value.length==16;}
if(validTypes&0x0004&&/^(34|37)/.test(value)){return value.length==15;}
if(validTypes&0x0008&&/^(300|301|302|303|304|305|36|38)/.test(value)){return value.length==14;}
if(validTypes&0x0010&&/^(2014|2149)/.test(value)){return value.length==15;}
if(validTypes&0x0020&&/^(6011)/.test(value)){return value.length==16;}
if(validTypes&0x0040&&/^(3)/.test(value)){return value.length==16;}
if(validTypes&0x0040&&/^(2131|1800)/.test(value)){return value.length==15;}
if(validTypes&0x0080){return true;}
return false;},"Please enter a valid credit card number.");jQuery.validator.addMethod("ipv4",function(value,element,param){return this.optional(element)||/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/i.test(value);},"Please enter a valid IP v4 address.");jQuery.validator.addMethod("ipv4Host",function(value,element,param){return this.optional(element)||/^(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[1-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/i.test(value);},"Please enter a valid host address");jQuery.validator.addMethod("ipv6",function(value,element,param){return this.optional(element)||/^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i.test(value);},"Please enter a valid IP v6 address.");jQuery.validator.addMethod("ipv4classnet",function(value,element,param){return this.optional(element)||/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\/(0*(3[0-2]|[1-2]?[0-9])|(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))$/i.test(value);},"Please enter a valid IP v4 class network.");jQuery.validator.classRuleSettings.ipv4={ipv4:true};jQuery.validator.classRuleSettings.ip4anynet={ipv4:true};jQuery.validator.classRuleSettings.ipv4classnet={ipv4classnet:true};jQuery.validator.classRuleSettings.ipv4hostnet={ipv4classnet:true};$j.validator.addMethod('ScheduleFrequencyChecker',function(value){var schedule_unit=$j("select[name='schedule']").val();if(value<1)return false;switch(schedule_unit){case'every-n-hours':if(value>23)return false;break;case'every-n-days':if(value>31)return false;break;case'every-n-weeks':if(value>52)return false;break;case'every-n-months':if(value>12)return false;break;}
return true;},"Please enter a valid schedule frequency.");$j.validator.addMethod('DateChecker',function(value){var isDate=false;try{$j.datepicker.parseDate("yy/mm/dd",value);isDate=true;}
catch(e){}
return isDate;},"Please enter a valid date format (yyyy/mm/dd)");var Prototype={Version:'1.5.1',Browser:{IE:!!(window.attachEvent&&!window.opera),Opera:!!window.opera,WebKit:navigator.userAgent.indexOf('AppleWebKit/')>-1,Gecko:navigator.userAgent.indexOf('Gecko')>-1&&navigator.userAgent.indexOf('KHTML')==-1},BrowserFeatures:{XPath:!!document.evaluate,ElementExtensions:!!window.HTMLElement,SpecificElementExtensions:(document.createElement('div').__proto__!==document.createElement('form').__proto__)},ScriptFragment:'<script[^>]*>([\u0001-\uFFFF]*?)</script>',JSONFilter:/^\/\*-secure-\s*(.*)\s*\*\/\s*$/,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(var property in source){destination[property]=source[property];}
return destination;}
Object.extend(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;}},toJSON:function(object){var type=typeof object;switch(type){case'undefined':case'function':case'unknown':return;case'boolean':return object.toString();}
if(object===null)return'null';if(object.toJSON)return object.toJSON();if(object.ownerDocument===document)return;var results=[];for(var property in object){var value=Object.toJSON(object[property]);if(value!==undefined)
results.push(property.toJSON()+': '+value);}
return'{'+results.join(', ')+'}';},keys:function(object){var keys=[];for(var property in object)
keys.push(property);return keys;},values:function(object){var values=[];for(var property in object)
values.push(object[property]);return values;},clone:function(object){return Object.extend({},object);}});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,args=$A(arguments),object=args.shift();return function(event){return __method.apply(object,[event||window.event].concat(args));}}
Object.extend(Number.prototype,{toColorPart:function(){return this.toPaddedString(2,16);},succ:function(){return this+1;},times:function(iterator){$R(0,this,true).each(iterator);return this;},toPaddedString:function(length,radix){var string=this.toString(radix||10);return'0'.times(length-string.length)+string;},toJSON:function(){return isFinite(this)?this.toString():'null';}});Date.prototype.toJSON=function(){return'"'+this.getFullYear()+'-'+
(this.getMonth()+1).toPaddedString(2)+'-'+
this.getDate().toPaddedString(2)+'T'+
this.getHours().toPaddedString(2)+':'+
this.getMinutes().toPaddedString(2)+':'+
this.getSeconds().toPaddedString(2)+'"';};var Try={these:function(){var returnValue;for(var i=0,length=arguments.length;i<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(){this.timer=setInterval(this.onTimerEvent.bind(this),this.frequency*1000);},stop:function(){if(!this.timer)return;clearInterval(this.timer);this.timer=null;},onTimerEvent:function(){if(!this.currentlyExecuting){try{this.currentlyExecuting=true;this.callback(this);}finally{this.currentlyExecuting=false;}}}}
Object.extend(String,{interpret:function(value){return value==null?'':String(value);},specialChar:{'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','\\':'\\\\'}});Object.extend(String.prototype,{gsub:function(pattern,replacement){var result='',source=this,match;replacement=arguments.callee.prepareReplacement(replacement);while(source.length>0){if(match=source.match(pattern)){result+=source.slice(0,match.index);result+=String.interpret(replacement(match));source=source.slice(match.index+match[0].length);}else{result+=source,source='';}}
return result;},sub:function(pattern,replacement,count){replacement=this.gsub.prepareReplacement(replacement);count=count===undefined?1:count;return this.gsub(pattern,function(match){if(--count<0)return match[0];return replacement(match);});},scan:function(pattern,iterator){this.gsub(pattern,iterator);return this;},truncate:function(length,truncation){length=length||30;truncation=truncation===undefined?'...':truncation;return this.length>length?this.slice(0,length-truncation.length)+truncation:this;},strip:function(){return this.replace(/^\s+/,'').replace(/\s+$/,'');},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(function(script){return eval(script)});},escapeHTML:function(){var self=arguments.callee;self.text.data=this;return self.div.innerHTML;},unescapeHTML:function(){var div=document.createElement('div');div.innerHTML=this.stripTags();return div.childNodes[0]?(div.childNodes.length>1?$A(div.childNodes).inject('',function(memo,node){return memo+node.nodeValue}):div.childNodes[0].nodeValue):'';},toQueryParams:function(separator){var match=this.strip().match(/([^?#]*)(#.*)?$/);if(!match)return{};return match[1].split(separator||'&').inject({},function(hash,pair){if((pair=pair.split('='))[0]){var key=decodeURIComponent(pair.shift());var value=pair.length>1?pair.join('='):pair[0];if(value!=undefined)value=decodeURIComponent(value);if(key in hash){if(hash[key].constructor!=Array)hash[key]=[hash[key]];hash[key].push(value);}
else hash[key]=value;}
return hash;});},toArray:function(){return this.split('');},succ:function(){return this.slice(0,this.length-1)+
String.fromCharCode(this.charCodeAt(this.length-1)+1);},times:function(count){var result='';for(var i=0;i<count;i++)result+=this;return result;},camelize:function(){var parts=this.split('-'),len=parts.length;if(len==1)return parts[0];var camelized=this.charAt(0)=='-'?parts[0].charAt(0).toUpperCase()+parts[0].substring(1):parts[0];for(var i=1;i<len;i++)
camelized+=parts[i].charAt(0).toUpperCase()+parts[i].substring(1);return camelized;},capitalize:function(){return this.charAt(0).toUpperCase()+this.substring(1).toLowerCase();},underscore:function(){return this.gsub(/::/,'/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{1}_#{2}').gsub(/-/,'_').toLowerCase();},dasherize:function(){return this.gsub(/_/,'-');},inspect:function(useDoubleQuotes){var escapedString=this.gsub(/[\x00-\x1f\\]/,function(match){var character=String.specialChar[match[0]];return character?character:'\\u00'+match[0].charCodeAt().toPaddedString(2,16);});if(useDoubleQuotes)return'"'+escapedString.replace(/"/g,'\\"')+'"';return"'"+escapedString.replace(/'/g,'\\\'')+"'";},toJSON:function(){return this.inspect(true);},unfilterJSON:function(filter){return this.sub(filter||Prototype.JSONFilter,'#{1}');},evalJSON:function(sanitize){var json=this.unfilterJSON();try{if(!sanitize||(/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/.test(json)))
return eval('('+json+')');}catch(e){}
throw new SyntaxError('Badly formed JSON string: '+this.inspect());},include:function(pattern){return this.indexOf(pattern)>-1;},startsWith:function(pattern){return this.indexOf(pattern)===0;},endsWith:function(pattern){var d=this.length-pattern.length;return d>=0&&this.lastIndexOf(pattern)===d;},empty:function(){return this=='';},blank:function(){return/^\s*$/.test(this);}});if(Prototype.Browser.WebKit||Prototype.Browser.IE)Object.extend(String.prototype,{escapeHTML:function(){return this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');},unescapeHTML:function(){return this.replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>');}});String.prototype.gsub.prepareReplacement=function(replacement){if(typeof replacement=='function')return replacement;var template=new Template(replacement);return function(match){return template.evaluate(match)};}
String.prototype.parseQuery=String.prototype.toQueryParams;Object.extend(String.prototype.escapeHTML,{div:document.createElement('div'),text:document.createTextNode('')});with(String.prototype.escapeHTML)div.appendChild(text);var Template=Class.create();Template.Pattern=/(^|.|\r|\n)(#\{(.*?)\})/;Template.prototype={initialize:function(template,pattern){this.template=template.toString();this.pattern=pattern||Template.Pattern;},evaluate:function(object){return this.template.gsub(this.pattern,function(match){var before=match[1];if(before=='\\')return match[2];return before+String.interpret(object[match[3]]);});}}
var $break={},$continue=new Error('"throw $continue" is deprecated, use "return" instead');var Enumerable={each:function(iterator){var index=0;try{this._each(function(value){iterator(value,index++);});}catch(e){if(e!=$break)throw e;}
return this;},eachSlice:function(number,iterator){var index=-number,slices=[],array=this.toArray();while((index+=number)<array.length)
slices.push(array.slice(index,index+number));return slices.map(iterator);},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=false;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||Prototype.K)(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;},inGroupsOf:function(number,fillWith){fillWith=fillWith===undefined?null:fillWith;return this.eachSlice(number,function(slice){while(slice.length<number)slice.push(fillWith);return slice;});},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.map(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(result==undefined||value>=result)
result=value;});return result;},min:function(iterator){var result;this.each(function(value,index){value=(iterator||Prototype.K)(value,index);if(result==undefined||value<result)
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.map(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.map();},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){return iterator(collections.pluck(index));});},size:function(){return this.toArray().length;},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,length=iterable.length;i<length;i++)
results.push(iterable[i]);return results;}}
if(Prototype.Browser.WebKit){$A=Array.from=function(iterable){if(!iterable)return[];if(!(typeof iterable=='function'&&iterable=='[object NodeList]')&&iterable.toArray){return iterable.toArray();}else{var results=[];for(var i=0,length=iterable.length;i<length;i++)
results.push(iterable[i]);return results;}}}
Object.extend(Array.prototype,Enumerable);if(!Array.prototype._reverse)
Array.prototype._reverse=Array.prototype.reverse;Object.extend(Array.prototype,{_each:function(iterator){for(var i=0,length=this.length;i<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!=null;});},flatten:function(){return this.inject([],function(array,value){return array.concat(value&&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,length=this.length;i<length;i++)
if(this[i]==object)return i;return-1;},reverse:function(inline){return(inline!==false?this:this.toArray())._reverse();},reduce:function(){return this.length>1?this:this[0];},uniq:function(sorted){return this.inject([],function(array,value,index){if(0==index||(sorted?array.last()!=value:!array.include(value)))
array.push(value);return array;});},clone:function(){return[].concat(this);},size:function(){return this.length;},inspect:function(){return'['+this.map(Object.inspect).join(', ')+']';},toJSON:function(){var results=[];this.each(function(object){var value=Object.toJSON(object);if(value!==undefined)results.push(value);});return'['+results.join(', ')+']';}});Array.prototype.toArray=Array.prototype.clone;function $w(string){string=string.strip();return string?string.split(/\s+/):[];}
if(Prototype.Browser.Opera){Array.prototype.concat=function(){var array=[];for(var i=0,length=this.length;i<length;i++)array.push(this[i]);for(var i=0,length=arguments.length;i<length;i++){if(arguments[i].constructor==Array){for(var j=0,arrayLength=arguments[i].length;j<arrayLength;j++)
array.push(arguments[i][j]);}else{array.push(arguments[i]);}}
return array;}}
var Hash=function(object){if(object instanceof Hash)this.merge(object);else Object.extend(this,object||{});};Object.extend(Hash,{toQueryString:function(obj){var parts=[];parts.add=arguments.callee.addPair;this.prototype._each.call(obj,function(pair){if(!pair.key)return;var value=pair.value;if(value&&typeof value=='object'){if(value.constructor==Array)value.each(function(value){parts.add(pair.key,value);});return;}
parts.add(pair.key,value);});return parts.join('&');},toJSON:function(object){var results=[];this.prototype._each.call(object,function(pair){var value=Object.toJSON(pair.value);if(value!==undefined)results.push(pair.key.toJSON()+': '+value);});return'{'+results.join(', ')+'}';}});Hash.toQueryString.addPair=function(key,value,prefix){key=encodeURIComponent(key);if(value===undefined)this.push(key);else this.push(key+'='+(value==null?'':encodeURIComponent(value)));}
Object.extend(Hash.prototype,Enumerable);Object.extend(Hash.prototype,{_each:function(iterator){for(var key in this){var value=this[key];if(value&&value==Hash.prototype[key])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(this,function(mergedHash,pair){mergedHash[pair.key]=pair.value;return mergedHash;});},remove:function(){var result;for(var i=0,length=arguments.length;i<length;i++){var value=this[arguments[i]];if(value!==undefined){if(result===undefined)result=value;else{if(result.constructor!=Array)result=[result];result.push(value)}}
delete this[arguments[i]];}
return result;},toQueryString:function(){return Hash.toQueryString(this);},inspect:function(){return'#<Hash:{'+this.map(function(pair){return pair.map(Object.inspect).join(': ');}).join(', ')+'}>';},toJSON:function(){return Hash.toJSON(this);}});function $H(object){if(object instanceof Hash)return object;return new Hash(object);};if(function(){var i=0,Test=function(value){this.key=value};Test.prototype.key='foo';for(var property in new Test('bar'))i++;return i>1;}())Hash.prototype._each=function(iterator){var cache=[];for(var key in this){var value=this[key];if((value&&value==Hash.prototype[key])||cache.include(key))continue;cache.push(key);var pair=[key,value];pair.key=key;pair.value=value;iterator(pair);}};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;while(this.include(value)){iterator(value);value=value.succ();}},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 XMLHttpRequest()},function(){return new ActiveXObject('Msxml2.XMLHTTP')},function(){return new ActiveXObject('Microsoft.XMLHTTP')})||false;},activeRequestCount:0}
Ajax.Responders={responders:[],_each:function(iterator){this.responders._each(iterator);},register:function(responder){if(!this.include(responder))
this.responders.push(responder);},unregister:function(responder){this.responders=this.responders.without(responder);},dispatch:function(callback,request,transport,json){this.each(function(responder){if(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,contentType:'application/x-www-form-urlencoded',encoding:'UTF-8',parameters:''}
Object.extend(this.options,options||{});this.options.method=this.options.method.toLowerCase();if(typeof this.options.parameters=='string')
this.options.parameters=this.options.parameters.toQueryParams();}}
Ajax.Request=Class.create();Ajax.Request.Events=['Uninitialized','Loading','Loaded','Interactive','Complete'];Ajax.Request.prototype=Object.extend(new Ajax.Base(),{_complete:false,initialize:function(url,options){this.transport=Ajax.getTransport();this.setOptions(options);this.request(url);},request:function(url){this.url=url;this.method=this.options.method;var params=Object.clone(this.options.parameters);if(!['get','post'].include(this.method)){params['_method']=this.method;this.method='post';}
this.parameters=params;if(params=Hash.toQueryString(params)){if(this.method=='get')
this.url+=(this.url.include('?')?'&':'?')+params;else if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))
params+='&_=';}
try{if(this.options.onCreate)this.options.onCreate(this.transport);Ajax.Responders.dispatch('onCreate',this,this.transport);this.transport.open(this.method.toUpperCase(),this.url,this.options.asynchronous);if(this.options.asynchronous)
setTimeout(function(){this.respondToReadyState(1)}.bind(this),10);this.transport.onreadystatechange=this.onStateChange.bind(this);this.setRequestHeaders();this.body=this.method=='post'?(this.options.postBody||params):null;this.transport.send(this.body);if(!this.options.asynchronous&&this.transport.overrideMimeType)
this.onStateChange();}
catch(e){this.dispatchException(e);}},onStateChange:function(){var readyState=this.transport.readyState;if(readyState>1&&!((readyState==4)&&this._complete))
this.respondToReadyState(this.transport.readyState);},setRequestHeaders:function(){var headers={'X-Requested-With':'XMLHttpRequest','X-Prototype-Version':Prototype.Version,'Accept':'text/javascript, text/html, application/xml, text/xml, */*'};if(this.method=='post'){headers['Content-type']=this.options.contentType+
(this.options.encoding?'; charset='+this.options.encoding:'');if(this.transport.overrideMimeType&&(navigator.userAgent.match(/Gecko\/(\d{4})/)||[0,2005])[1]<2005)
headers['Connection']='close';}
if(typeof this.options.requestHeaders=='object'){var extras=this.options.requestHeaders;if(typeof extras.push=='function')
for(var i=0,length=extras.length;i<length;i+=2)
headers[extras[i]]=extras[i+1];else
$H(extras).each(function(pair){headers[pair.key]=pair.value});}
for(var name in headers)
this.transport.setRequestHeader(name,headers[name]);},success:function(){return!this.transport.status||(this.transport.status>=200&&this.transport.status<300);},respondToReadyState:function(readyState){var state=Ajax.Request.Events[readyState];var transport=this.transport,json=this.evalJSON();if(state=='Complete'){try{this._complete=true;(this.options['on'+this.transport.status]||this.options['on'+(this.success()?'Success':'Failure')]||Prototype.emptyFunction)(transport,json);}catch(e){this.dispatchException(e);}
var contentType=this.getHeader('Content-type');if(contentType&&contentType.strip().match(/^(text|application)\/(x-)?(java|ecma)script(;.*)?$/i))
this.evalResponse();}
try{(this.options['on'+state]||Prototype.emptyFunction)(transport,json);Ajax.Responders.dispatch('on'+state,this,transport,json);}catch(e){this.dispatchException(e);}
if(state=='Complete'){this.transport.onreadystatechange=Prototype.emptyFunction;}},getHeader:function(name){try{return this.transport.getResponseHeader(name);}catch(e){return null}},evalJSON:function(){try{var json=this.getHeader('X-JSON');return json?json.evalJSON():null;}catch(e){return null}},evalResponse:function(){try{return eval((this.transport.responseText||'').unfilterJSON());}catch(e){this.dispatchException(e);}},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.container={success:(container.success||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,param){this.updateContent();onComplete(transport,param);}).bind(this);this.request(url);},updateContent:function(){var receiver=this.container[this.success()?'success':'failure'];var response=this.transport.responseText;if(!this.options.evalScripts)response=response.stripScripts();if(receiver=$(receiver)){if(this.options.insertion)
new this.options.insertion(receiver,response);else
receiver.update(response);}
if(this.success()){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.options.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);}});function $(element){if(arguments.length>1){for(var i=0,elements=[],length=arguments.length;i<length;i++)
elements.push($(arguments[i]));return elements;}
if(typeof element=='string')
element=document.getElementById(element);return Element.extend(element);}
if(Prototype.BrowserFeatures.XPath){document._getElementsByXPath=function(expression,parentElement){var results=[];var query=document.evaluate(expression,$(parentElement)||document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);for(var i=0,length=query.snapshotLength;i<length;i++)
results.push(query.snapshotItem(i));return results;};document.getElementsByClassName=function(className,parentElement){var q=".//*[contains(concat(' ', @class, ' '), ' "+className+" ')]";return document._getElementsByXPath(q,parentElement);}}else document.getElementsByClassName=function(className,parentElement){var children=($(parentElement)||document.body).getElementsByTagName('*');var elements=[],child;for(var i=0,length=children.length;i<length;i++){child=children[i];if(Element.hasClassName(child,className))
elements.push(Element.extend(child));}
return elements;};if(!window.Element)var Element={};Element.extend=function(element){var F=Prototype.BrowserFeatures;if(!element||!element.tagName||element.nodeType==3||element._extended||F.SpecificElementExtensions||element==window)
return element;var methods={},tagName=element.tagName,cache=Element.extend.cache,T=Element.Methods.ByTag;if(!F.ElementExtensions){Object.extend(methods,Element.Methods),Object.extend(methods,Element.Methods.Simulated);}
if(T[tagName])Object.extend(methods,T[tagName]);for(var property in methods){var value=methods[property];if(typeof value=='function'&&!(property in element))
element[property]=cache.findOrStore(value);}
element._extended=Prototype.emptyFunction;return element;};Element.extend.cache={findOrStore:function(value){return this[value]=this[value]||function(){return value.apply(null,[this].concat($A(arguments)));}}};Element.Methods={visible:function(element){return $(element).style.display!='none';},toggle:function(element){element=$(element);Element[Element.visible(element)?'hide':'show'](element);return element;},hide:function(element){$(element).style.display='none';return element;},show:function(element){$(element).style.display='';return element;},remove:function(element){element=$(element);element.parentNode.removeChild(element);return element;},update:function(element,html){html=typeof html=='undefined'?'':html.toString();$(element).innerHTML=html.stripScripts();setTimeout(function(){html.evalScripts()},10);return element;},replace:function(element,html){element=$(element);html=typeof html=='undefined'?'':html.toString();if(element.outerHTML){element.outerHTML=html.stripScripts();}else{var range=element.ownerDocument.createRange();range.selectNodeContents(element);element.parentNode.replaceChild(range.createContextualFragment(html.stripScripts()),element);}
setTimeout(function(){html.evalScripts()},10);return element;},inspect:function(element){element=$(element);var result='<'+element.tagName.toLowerCase();$H({'id':'id','className':'class'}).each(function(pair){var property=pair.first(),attribute=pair.last();var value=(element[property]||'').toString();if(value)result+=' '+attribute+'='+value.inspect(true);});return result+'>';},recursivelyCollect:function(element,property){element=$(element);var elements=[];while(element=element[property])
if(element.nodeType==1)
elements.push(Element.extend(element));return elements;},ancestors:function(element){return $(element).recursivelyCollect('parentNode');},descendants:function(element){return $A($(element).getElementsByTagName('*')).each(Element.extend);},firstDescendant:function(element){element=$(element).firstChild;while(element&&element.nodeType!=1)element=element.nextSibling;return $(element);},immediateDescendants:function(element){if(!(element=$(element).firstChild))return[];while(element&&element.nodeType!=1)element=element.nextSibling;if(element)return[element].concat($(element).nextSiblings());return[];},previousSiblings:function(element){return $(element).recursivelyCollect('previousSibling');},nextSiblings:function(element){return $(element).recursivelyCollect('nextSibling');},siblings:function(element){element=$(element);return element.previousSiblings().reverse().concat(element.nextSiblings());},match:function(element,selector){if(typeof selector=='string')
selector=new Selector(selector);return selector.match($(element));},up:function(element,expression,index){element=$(element);if(arguments.length==1)return $(element.parentNode);var ancestors=element.ancestors();return expression?Selector.findElement(ancestors,expression,index):ancestors[index||0];},down:function(element,expression,index){element=$(element);if(arguments.length==1)return element.firstDescendant();var descendants=element.descendants();return expression?Selector.findElement(descendants,expression,index):descendants[index||0];},previous:function(element,expression,index){element=$(element);if(arguments.length==1)return $(Selector.handlers.previousElementSibling(element));var previousSiblings=element.previousSiblings();return expression?Selector.findElement(previousSiblings,expression,index):previousSiblings[index||0];},next:function(element,expression,index){element=$(element);if(arguments.length==1)return $(Selector.handlers.nextElementSibling(element));var nextSiblings=element.nextSiblings();return expression?Selector.findElement(nextSiblings,expression,index):nextSiblings[index||0];},getElementsBySelector:function(){var args=$A(arguments),element=$(args.shift());return Selector.findChildElements(element,args);},getElementsByClassName:function(element,className){return document.getElementsByClassName(className,element);},readAttribute:function(element,name){element=$(element);if(Prototype.Browser.IE){if(!element.attributes)return null;var t=Element._attributeTranslations;if(t.values[name])return t.values[name](element,name);if(t.names[name])name=t.names[name];var attribute=element.attributes[name];return attribute?attribute.nodeValue:null;}
return element.getAttribute(name);},getHeight:function(element){return $(element).getDimensions().height;},getWidth:function(element){return $(element).getDimensions().width;},classNames:function(element){return new Element.ClassNames(element);},hasClassName:function(element,className){if(!(element=$(element)))return;var elementClassName=element.className;if(elementClassName.length==0)return false;if(elementClassName==className||elementClassName.match(new RegExp("(^|\\s)"+className+"(\\s|$)")))
return true;return false;},addClassName:function(element,className){if(!(element=$(element)))return;Element.classNames(element).add(className);return element;},removeClassName:function(element,className){if(!(element=$(element)))return;Element.classNames(element).remove(className);return element;},toggleClassName:function(element,className){if(!(element=$(element)))return;Element.classNames(element)[element.hasClassName(className)?'remove':'add'](className);return element;},observe:function(){Event.observe.apply(Event,arguments);return $A(arguments).first();},stopObserving:function(){Event.stopObserving.apply(Event,arguments);return $A(arguments).first();},cleanWhitespace:function(element){element=$(element);var node=element.firstChild;while(node){var nextNode=node.nextSibling;if(node.nodeType==3&&!/\S/.test(node.nodeValue))
element.removeChild(node);node=nextNode;}
return element;},empty:function(element){return $(element).innerHTML.blank();},descendantOf:function(element,ancestor){element=$(element),ancestor=$(ancestor);while(element=element.parentNode)
if(element==ancestor)return true;return false;},scrollTo:function(element){element=$(element);var pos=Position.cumulativeOffset(element);window.scrollTo(pos[0],pos[1]);return element;},getStyle:function(element,style){element=$(element);style=style=='float'?'cssFloat':style.camelize();var value=element.style[style];if(!value){var css=document.defaultView.getComputedStyle(element,null);value=css?css[style]:null;}
if(style=='opacity')return value?parseFloat(value):1.0;return value=='auto'?null:value;},getOpacity:function(element){return $(element).getStyle('opacity');},setStyle:function(element,styles,camelized){element=$(element);var elementStyle=element.style;for(var property in styles)
if(property=='opacity')element.setOpacity(styles[property])
else
elementStyle[(property=='float'||property=='cssFloat')?(elementStyle.styleFloat===undefined?'cssFloat':'styleFloat'):(camelized?property:property.camelize())]=styles[property];return element;},setOpacity:function(element,value){element=$(element);element.style.opacity=(value==1||value==='')?'':(value<0.00001)?0:value;return element;},getDimensions:function(element){element=$(element);var display=$(element).getStyle('display');if(display!='none'&&display!=null)
return{width:element.offsetWidth,height:element.offsetHeight};var els=element.style;var originalVisibility=els.visibility;var originalPosition=els.position;var originalDisplay=els.display;els.visibility='hidden';els.position='absolute';els.display='block';var originalWidth=element.clientWidth;var originalHeight=element.clientHeight;els.display=originalDisplay;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;}}
return element;},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='';}
return element;},makeClipping:function(element){element=$(element);if(element._overflow)return element;element._overflow=element.style.overflow||'auto';if((Element.getStyle(element,'overflow')||'visible')!='hidden')
element.style.overflow='hidden';return element;},undoClipping:function(element){element=$(element);if(!element._overflow)return element;element.style.overflow=element._overflow=='auto'?'':element._overflow;element._overflow=null;return element;}};Object.extend(Element.Methods,{childOf:Element.Methods.descendantOf,childElements:Element.Methods.immediateDescendants});if(Prototype.Browser.Opera){Element.Methods._getStyle=Element.Methods.getStyle;Element.Methods.getStyle=function(element,style){switch(style){case'left':case'top':case'right':case'bottom':if(Element._getStyle(element,'position')=='static')return null;default:return Element._getStyle(element,style);}};}
else if(Prototype.Browser.IE){Element.Methods.getStyle=function(element,style){element=$(element);style=(style=='float'||style=='cssFloat')?'styleFloat':style.camelize();var value=element.style[style];if(!value&&element.currentStyle)value=element.currentStyle[style];if(style=='opacity'){if(value=(element.getStyle('filter')||'').match(/alpha\(opacity=(.*)\)/))
if(value[1])return parseFloat(value[1])/100;return 1.0;}
if(value=='auto'){if((style=='width'||style=='height')&&(element.getStyle('display')!='none'))
return element['offset'+style.capitalize()]+'px';return null;}
return value;};Element.Methods.setOpacity=function(element,value){element=$(element);var filter=element.getStyle('filter'),style=element.style;if(value==1||value===''){style.filter=filter.replace(/alpha\([^\)]*\)/gi,'');return element;}else if(value<0.00001)value=0;style.filter=filter.replace(/alpha\([^\)]*\)/gi,'')+'alpha(opacity='+(value*100)+')';return element;};Element.Methods.update=function(element,html){element=$(element);html=typeof html=='undefined'?'':html.toString();var tagName=element.tagName.toUpperCase();if(['THEAD','TBODY','TR','TD'].include(tagName)){var div=document.createElement('div');switch(tagName){case'THEAD':case'TBODY':div.innerHTML='<table><tbody>'+html.stripScripts()+'</tbody></table>';depth=2;break;case'TR':div.innerHTML='<table><tbody><tr>'+html.stripScripts()+'</tr></tbody></table>';depth=3;break;case'TD':div.innerHTML='<table><tbody><tr><td>'+html.stripScripts()+'</td></tr></tbody></table>';depth=4;}
$A(element.childNodes).each(function(node){element.removeChild(node)});depth.times(function(){div=div.firstChild});$A(div.childNodes).each(function(node){element.appendChild(node)});}else{element.innerHTML=html.stripScripts();}
setTimeout(function(){html.evalScripts()},10);return element;}}
else if(Prototype.Browser.Gecko){Element.Methods.setOpacity=function(element,value){element=$(element);element.style.opacity=(value==1)?0.999999:(value==='')?'':(value<0.00001)?0:value;return element;};}
Element._attributeTranslations={names:{colspan:"colSpan",rowspan:"rowSpan",valign:"vAlign",datetime:"dateTime",accesskey:"accessKey",tabindex:"tabIndex",enctype:"encType",maxlength:"maxLength",readonly:"readOnly",longdesc:"longDesc"},values:{_getAttr:function(element,attribute){return element.getAttribute(attribute,2);},_flag:function(element,attribute){return $(element).hasAttribute(attribute)?attribute:null;},style:function(element){return element.style.cssText.toLowerCase();},title:function(element){var node=element.getAttributeNode('title');return node.specified?node.nodeValue:null;}}};(function(){Object.extend(this,{href:this._getAttr,src:this._getAttr,type:this._getAttr,disabled:this._flag,checked:this._flag,readonly:this._flag,multiple:this._flag});}).call(Element._attributeTranslations.values);Element.Methods.Simulated={hasAttribute:function(element,attribute){var t=Element._attributeTranslations,node;attribute=t.names[attribute]||attribute;node=$(element).getAttributeNode(attribute);return node&&node.specified;}};Element.Methods.ByTag={};Object.extend(Element,Element.Methods);if(!Prototype.BrowserFeatures.ElementExtensions&&document.createElement('div').__proto__){window.HTMLElement={};window.HTMLElement.prototype=document.createElement('div').__proto__;Prototype.BrowserFeatures.ElementExtensions=true;}
Element.hasAttribute=function(element,attribute){if(element.hasAttribute)return element.hasAttribute(attribute);return Element.Methods.Simulated.hasAttribute(element,attribute);};Element.addMethods=function(methods){var F=Prototype.BrowserFeatures,T=Element.Methods.ByTag;if(!methods){Object.extend(Form,Form.Methods);Object.extend(Form.Element,Form.Element.Methods);Object.extend(Element.Methods.ByTag,{"FORM":Object.clone(Form.Methods),"INPUT":Object.clone(Form.Element.Methods),"SELECT":Object.clone(Form.Element.Methods),"TEXTAREA":Object.clone(Form.Element.Methods)});}
if(arguments.length==2){var tagName=methods;methods=arguments[1];}
if(!tagName)Object.extend(Element.Methods,methods||{});else{if(tagName.constructor==Array)tagName.each(extend);else extend(tagName);}
function extend(tagName){tagName=tagName.toUpperCase();if(!Element.Methods.ByTag[tagName])
Element.Methods.ByTag[tagName]={};Object.extend(Element.Methods.ByTag[tagName],methods);}
function copy(methods,destination,onlyIfAbsent){onlyIfAbsent=onlyIfAbsent||false;var cache=Element.extend.cache;for(var property in methods){var value=methods[property];if(!onlyIfAbsent||!(property in destination))
destination[property]=cache.findOrStore(value);}}
function findDOMClass(tagName){var klass;var trans={"OPTGROUP":"OptGroup","TEXTAREA":"TextArea","P":"Paragraph","FIELDSET":"FieldSet","UL":"UList","OL":"OList","DL":"DList","DIR":"Directory","H1":"Heading","H2":"Heading","H3":"Heading","H4":"Heading","H5":"Heading","H6":"Heading","Q":"Quote","INS":"Mod","DEL":"Mod","A":"Anchor","IMG":"Image","CAPTION":"TableCaption","COL":"TableCol","COLGROUP":"TableCol","THEAD":"TableSection","TFOOT":"TableSection","TBODY":"TableSection","TR":"TableRow","TH":"TableCell","TD":"TableCell","FRAMESET":"FrameSet","IFRAME":"IFrame"};if(trans[tagName])klass='HTML'+trans[tagName]+'Element';if(window[klass])return window[klass];klass='HTML'+tagName+'Element';if(window[klass])return window[klass];klass='HTML'+tagName.capitalize()+'Element';if(window[klass])return window[klass];window[klass]={};window[klass].prototype=document.createElement(tagName).__proto__;return window[klass];}
if(F.ElementExtensions){copy(Element.Methods,HTMLElement.prototype);copy(Element.Methods.Simulated,HTMLElement.prototype,true);}
if(F.SpecificElementExtensions){for(var tag in Element.Methods.ByTag){var klass=findDOMClass(tag);if(typeof klass=="undefined")continue;copy(T[tag],klass.prototype);}}
Object.extend(Element,Element.Methods);delete Element.ByTag;};var 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){var tagName=this.element.tagName.toUpperCase();if(['TBODY','TR'].include(tagName)){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($A(this).concat(classNameToAdd).join(' '));},remove:function(classNameToRemove){if(!this.include(classNameToRemove))return;this.set($A(this).without(classNameToRemove).join(' '));},toString:function(){return $A(this).join(' ');}};Object.extend(Element.ClassNames.prototype,Enumerable);var Selector=Class.create();Selector.prototype={initialize:function(expression){this.expression=expression.strip();this.compileMatcher();},compileMatcher:function(){if(Prototype.BrowserFeatures.XPath&&!(/\[[\w-]*?:/).test(this.expression))
return this.compileXPathMatcher();var e=this.expression,ps=Selector.patterns,h=Selector.handlers,c=Selector.criteria,le,p,m;if(Selector._cache[e]){this.matcher=Selector._cache[e];return;}
this.matcher=["this.matcher = function(root) {","var r = root, h = Selector.handlers, c = false, n;"];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i in ps){p=ps[i];if(m=e.match(p)){this.matcher.push(typeof c[i]=='function'?c[i](m):new Template(c[i]).evaluate(m));e=e.replace(m[0],'');break;}}}
this.matcher.push("return h.unique(n);\n}");eval(this.matcher.join('\n'));Selector._cache[this.expression]=this.matcher;},compileXPathMatcher:function(){var e=this.expression,ps=Selector.patterns,x=Selector.xpath,le,m;if(Selector._cache[e]){this.xpath=Selector._cache[e];return;}
this.matcher=['.//*'];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i in ps){if(m=e.match(ps[i])){this.matcher.push(typeof x[i]=='function'?x[i](m):new Template(x[i]).evaluate(m));e=e.replace(m[0],'');break;}}}
this.xpath=this.matcher.join('');Selector._cache[this.expression]=this.xpath;},findElements:function(root){root=root||document;if(this.xpath)return document._getElementsByXPath(this.xpath,root);return this.matcher(root);},match:function(element){return this.findElements(document).include(element);},toString:function(){return this.expression;},inspect:function(){return"#<Selector:"+this.expression.inspect()+">";}};Object.extend(Selector,{_cache:{},xpath:{descendant:"//*",child:"/*",adjacent:"/following-sibling::*[1]",laterSibling:'/following-sibling::*',tagName:function(m){if(m[1]=='*')return'';return"[local-name()='"+m[1].toLowerCase()+"' or local-name()='"+m[1].toUpperCase()+"']";},className:"[contains(concat(' ', @class, ' '), ' #{1} ')]",id:"[@id='#{1}']",attrPresence:"[@#{1}]",attr:function(m){m[3]=m[5]||m[6];return new Template(Selector.xpath.operators[m[2]]).evaluate(m);},pseudo:function(m){var h=Selector.xpath.pseudos[m[1]];if(!h)return'';if(typeof h==='function')return h(m);return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m);},operators:{'=':"[@#{1}='#{3}']",'!=':"[@#{1}!='#{3}']",'^=':"[starts-with(@#{1}, '#{3}')]",'$=':"[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']",'*=':"[contains(@#{1}, '#{3}')]",'~=':"[contains(concat(' ', @#{1}, ' '), ' #{3} ')]",'|=':"[contains(concat('-', @#{1}, '-'), '-#{3}-')]"},pseudos:{'first-child':'[not(preceding-sibling::*)]','last-child':'[not(following-sibling::*)]','only-child':'[not(preceding-sibling::* or following-sibling::*)]','empty':"[count(*) = 0 and (count(text()) = 0 or translate(text(), ' \t\r\n', '') = '')]",'checked':"[@checked]",'disabled':"[@disabled]",'enabled':"[not(@disabled)]",'not':function(m){var e=m[6],p=Selector.patterns,x=Selector.xpath,le,m,v;var exclusion=[];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i in p){if(m=e.match(p[i])){v=typeof x[i]=='function'?x[i](m):new Template(x[i]).evaluate(m);exclusion.push("("+v.substring(1,v.length-1)+")");e=e.replace(m[0],'');break;}}}
return"[not("+exclusion.join(" and ")+")]";},'nth-child':function(m){return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ",m);},'nth-last-child':function(m){return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ",m);},'nth-of-type':function(m){return Selector.xpath.pseudos.nth("position() ",m);},'nth-last-of-type':function(m){return Selector.xpath.pseudos.nth("(last() + 1 - position()) ",m);},'first-of-type':function(m){m[6]="1";return Selector.xpath.pseudos['nth-of-type'](m);},'last-of-type':function(m){m[6]="1";return Selector.xpath.pseudos['nth-last-of-type'](m);},'only-of-type':function(m){var p=Selector.xpath.pseudos;return p['first-of-type'](m)+p['last-of-type'](m);},nth:function(fragment,m){var mm,formula=m[6],predicate;if(formula=='even')formula='2n+0';if(formula=='odd')formula='2n+1';if(mm=formula.match(/^(\d+)$/))
return'['+fragment+"= "+mm[1]+']';if(mm=formula.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(mm[1]=="-")mm[1]=-1;var a=mm[1]?Number(mm[1]):1;var b=mm[2]?Number(mm[2]):0;predicate="[((#{fragment} - #{b}) mod #{a} = 0) and "+"((#{fragment} - #{b}) div #{a} >= 0)]";return new Template(predicate).evaluate({fragment:fragment,a:a,b:b});}}}},criteria:{tagName:'n = h.tagName(n, r, "#{1}", c);   c = false;',className:'n = h.className(n, r, "#{1}", c); c = false;',id:'n = h.id(n, r, "#{1}", c);        c = false;',attrPresence:'n = h.attrPresence(n, r, "#{1}"); c = false;',attr:function(m){m[3]=(m[5]||m[6]);return new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}"); c = false;').evaluate(m);},pseudo:function(m){if(m[6])m[6]=m[6].replace(/"/g,'\\"');return new Template('n = h.pseudo(n, "#{1}", "#{6}", r, c); c = false;').evaluate(m);},descendant:'c = "descendant";',child:'c = "child";',adjacent:'c = "adjacent";',laterSibling:'c = "laterSibling";'},patterns:{laterSibling:/^\s*~\s*/,child:/^\s*>\s*/,adjacent:/^\s*\+\s*/,descendant:/^\s/,tagName:/^\s*(\*|[\w\-]+)(\b|$)?/,id:/^#([\w\-\*]+)(\b|$)/,className:/^\.([\w\-\*]+)(\b|$)/,pseudo:/^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis)abled|not)(\((.*?)\))?(\b|$|\s|(?=:))/,attrPresence:/^\[([\w]+)\]/,attr:/\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=)\s*((['"])([^\]]*?)\4|([^'"][^\]]*?)))?\]/},handlers:{concat:function(a,b){for(var i=0,node;node=b[i];i++)
a.push(node);return a;},mark:function(nodes){for(var i=0,node;node=nodes[i];i++)
node._counted=true;return nodes;},unmark:function(nodes){for(var i=0,node;node=nodes[i];i++)
node._counted=undefined;return nodes;},index:function(parentNode,reverse,ofType){parentNode._counted=true;if(reverse){for(var nodes=parentNode.childNodes,i=nodes.length-1,j=1;i>=0;i--){node=nodes[i];if(node.nodeType==1&&(!ofType||node._counted))node.nodeIndex=j++;}}else{for(var i=0,j=1,nodes=parentNode.childNodes;node=nodes[i];i++)
if(node.nodeType==1&&(!ofType||node._counted))node.nodeIndex=j++;}},unique:function(nodes){if(nodes.length==0)return nodes;var results=[],n;for(var i=0,l=nodes.length;i<l;i++)
if(!(n=nodes[i])._counted){n._counted=true;results.push(Element.extend(n));}
return Selector.handlers.unmark(results);},descendant:function(nodes){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++)
h.concat(results,node.getElementsByTagName('*'));return results;},child:function(nodes){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++){for(var j=0,children=[],child;child=node.childNodes[j];j++)
if(child.nodeType==1&&child.tagName!='!')results.push(child);}
return results;},adjacent:function(nodes){for(var i=0,results=[],node;node=nodes[i];i++){var next=this.nextElementSibling(node);if(next)results.push(next);}
return results;},laterSibling:function(nodes){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++)
h.concat(results,Element.nextSiblings(node));return results;},nextElementSibling:function(node){while(node=node.nextSibling)
if(node.nodeType==1)return node;return null;},previousElementSibling:function(node){while(node=node.previousSibling)
if(node.nodeType==1)return node;return null;},tagName:function(nodes,root,tagName,combinator){tagName=tagName.toUpperCase();var results=[],h=Selector.handlers;if(nodes){if(combinator){if(combinator=="descendant"){for(var i=0,node;node=nodes[i];i++)
h.concat(results,node.getElementsByTagName(tagName));return results;}else nodes=this[combinator](nodes);if(tagName=="*")return nodes;}
for(var i=0,node;node=nodes[i];i++)
if(node.tagName.toUpperCase()==tagName)results.push(node);return results;}else return root.getElementsByTagName(tagName);},id:function(nodes,root,id,combinator){var targetNode=$(id),h=Selector.handlers;if(!nodes&&root==document)return targetNode?[targetNode]:[];if(nodes){if(combinator){if(combinator=='child'){for(var i=0,node;node=nodes[i];i++)
if(targetNode.parentNode==node)return[targetNode];}else if(combinator=='descendant'){for(var i=0,node;node=nodes[i];i++)
if(Element.descendantOf(targetNode,node))return[targetNode];}else if(combinator=='adjacent'){for(var i=0,node;node=nodes[i];i++)
if(Selector.handlers.previousElementSibling(targetNode)==node)
return[targetNode];}else nodes=h[combinator](nodes);}
for(var i=0,node;node=nodes[i];i++)
if(node==targetNode)return[targetNode];return[];}
return(targetNode&&Element.descendantOf(targetNode,root))?[targetNode]:[];},className:function(nodes,root,className,combinator){if(nodes&&combinator)nodes=this[combinator](nodes);return Selector.handlers.byClassName(nodes,root,className);},byClassName:function(nodes,root,className){if(!nodes)nodes=Selector.handlers.descendant([root]);var needle=' '+className+' ';for(var i=0,results=[],node,nodeClassName;node=nodes[i];i++){nodeClassName=node.className;if(nodeClassName.length==0)continue;if(nodeClassName==className||(' '+nodeClassName+' ').include(needle))
results.push(node);}
return results;},attrPresence:function(nodes,root,attr){var results=[];for(var i=0,node;node=nodes[i];i++)
if(Element.hasAttribute(node,attr))results.push(node);return results;},attr:function(nodes,root,attr,value,operator){if(!nodes)nodes=root.getElementsByTagName("*");var handler=Selector.operators[operator],results=[];for(var i=0,node;node=nodes[i];i++){var nodeValue=Element.readAttribute(node,attr);if(nodeValue===null)continue;if(handler(nodeValue,value))results.push(node);}
return results;},pseudo:function(nodes,name,value,root,combinator){if(nodes&&combinator)nodes=this[combinator](nodes);if(!nodes)nodes=root.getElementsByTagName("*");return Selector.pseudos[name](nodes,value,root);}},pseudos:{'first-child':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++){if(Selector.handlers.previousElementSibling(node))continue;results.push(node);}
return results;},'last-child':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++){if(Selector.handlers.nextElementSibling(node))continue;results.push(node);}
return results;},'only-child':function(nodes,value,root){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++)
if(!h.previousElementSibling(node)&&!h.nextElementSibling(node))
results.push(node);return results;},'nth-child':function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root);},'nth-last-child':function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root,true);},'nth-of-type':function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root,false,true);},'nth-last-of-type':function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root,true,true);},'first-of-type':function(nodes,formula,root){return Selector.pseudos.nth(nodes,"1",root,false,true);},'last-of-type':function(nodes,formula,root){return Selector.pseudos.nth(nodes,"1",root,true,true);},'only-of-type':function(nodes,formula,root){var p=Selector.pseudos;return p['last-of-type'](p['first-of-type'](nodes,formula,root),formula,root);},getIndices:function(a,b,total){if(a==0)return b>0?[b]:[];return $R(1,total).inject([],function(memo,i){if(0==(i-b)%a&&(i-b)/a>=0)memo.push(i);return memo;});},nth:function(nodes,formula,root,reverse,ofType){if(nodes.length==0)return[];if(formula=='even')formula='2n+0';if(formula=='odd')formula='2n+1';var h=Selector.handlers,results=[],indexed=[],m;h.mark(nodes);for(var i=0,node;node=nodes[i];i++){if(!node.parentNode._counted){h.index(node.parentNode,reverse,ofType);indexed.push(node.parentNode);}}
if(formula.match(/^\d+$/)){formula=Number(formula);for(var i=0,node;node=nodes[i];i++)
if(node.nodeIndex==formula)results.push(node);}else if(m=formula.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(m[1]=="-")m[1]=-1;var a=m[1]?Number(m[1]):1;var b=m[2]?Number(m[2]):0;var indices=Selector.pseudos.getIndices(a,b,nodes.length);for(var i=0,node,l=indices.length;node=nodes[i];i++){for(var j=0;j<l;j++)
if(node.nodeIndex==indices[j])results.push(node);}}
h.unmark(nodes);h.unmark(indexed);return results;},'empty':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++){if(node.tagName=='!'||(node.firstChild&&!node.innerHTML.match(/^\s*$/)))continue;results.push(node);}
return results;},'not':function(nodes,selector,root){var h=Selector.handlers,selectorType,m;var exclusions=new Selector(selector).findElements(root);h.mark(exclusions);for(var i=0,results=[],node;node=nodes[i];i++)
if(!node._counted)results.push(node);h.unmark(exclusions);return results;},'enabled':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++)
if(!node.disabled)results.push(node);return results;},'disabled':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++)
if(node.disabled)results.push(node);return results;},'checked':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++)
if(node.checked)results.push(node);return results;}},operators:{'=':function(nv,v){return nv==v;},'!=':function(nv,v){return nv!=v;},'^=':function(nv,v){return nv.startsWith(v);},'$=':function(nv,v){return nv.endsWith(v);},'*=':function(nv,v){return nv.include(v);},'~=':function(nv,v){return(' '+nv+' ').include(' '+v+' ');},'|=':function(nv,v){return('-'+nv.toUpperCase()+'-').include('-'+v.toUpperCase()+'-');}},matchElements:function(elements,expression){var matches=new Selector(expression).findElements(),h=Selector.handlers;h.mark(matches);for(var i=0,results=[],element;element=elements[i];i++)
if(element._counted)results.push(element);h.unmark(matches);return results;},findElement:function(elements,expression,index){if(typeof expression=='number'){index=expression;expression=false;}
return Selector.matchElements(elements,expression||'*')[index||0];},findChildElements:function(element,expressions){var exprs=expressions.join(','),expressions=[];exprs.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/,function(m){expressions.push(m[1].strip());});var results=[],h=Selector.handlers;for(var i=0,l=expressions.length,selector;i<l;i++){selector=new Selector(expressions[i].strip());h.concat(results,selector.findElements(element));}
return(l>1)?h.unique(results):results;}});function $$(){return Selector.findChildElements(document,$A(arguments));}
var Form={reset:function(form){$(form).reset();return form;},serializeElements:function(elements,getHash){var data=elements.inject({},function(result,element){if(!element.disabled&&element.name){var key=element.name,value=$(element).getValue();if(value!=null){if(key in result){if(result[key].constructor!=Array)result[key]=[result[key]];result[key].push(value);}
else result[key]=value;}}
return result;});return getHash?data:Hash.toQueryString(data);}};Form.Methods={serialize:function(form,getHash){return Form.serializeElements(Form.getElements(form),getHash);},getElements:function(form){return $A($(form).getElementsByTagName('*')).inject([],function(elements,child){if(Form.Element.Serializers[child.tagName.toLowerCase()])
elements.push(Element.extend(child));return elements;});},getInputs:function(form,typeName,name){form=$(form);var inputs=form.getElementsByTagName('input');if(!typeName&&!name)return $A(inputs).map(Element.extend);for(var i=0,matchingInputs=[],length=inputs.length;i<length;i++){var input=inputs[i];if((typeName&&input.type!=typeName)||(name&&input.name!=name))
continue;matchingInputs.push(Element.extend(input));}
return matchingInputs;},disable:function(form){form=$(form);Form.getElements(form).invoke('disable');return form;},enable:function(form){form=$(form);Form.getElements(form).invoke('enable');return form;},findFirstElement:function(form){return $(form).getElements().find(function(element){return element.type!='hidden'&&!element.disabled&&['input','select','textarea'].include(element.tagName.toLowerCase());});},focusFirstElement:function(form){form=$(form);form.findFirstElement().activate();return form;},request:function(form,options){form=$(form),options=Object.clone(options||{});var params=options.parameters;options.parameters=form.serialize(true);if(params){if(typeof params=='string')params=params.toQueryParams();Object.extend(options.parameters,params);}
if(form.hasAttribute('method')&&!options.method)
options.method=form.method;return new Ajax.Request(form.readAttribute('action'),options);}}
Form.Element={focus:function(element){$(element).focus();return element;},select:function(element){$(element).select();return element;}}
Form.Element.Methods={serialize:function(element){element=$(element);if(!element.disabled&&element.name){var value=element.getValue();if(value!=undefined){var pair={};pair[element.name]=value;return Hash.toQueryString(pair);}}
return'';},getValue:function(element){element=$(element);var method=element.tagName.toLowerCase();return Form.Element.Serializers[method](element);},clear:function(element){$(element).value='';return element;},present:function(element){return $(element).value!='';},activate:function(element){element=$(element);try{element.focus();if(element.select&&(element.tagName.toLowerCase()!='input'||!['button','reset','submit'].include(element.type)))
element.select();}catch(e){}
return element;},disable:function(element){element=$(element);element.blur();element.disabled=true;return element;},enable:function(element){element=$(element);element.disabled=false;return element;}}
var Field=Form.Element;var $F=Form.Element.Methods.getValue;Form.Element.Serializers={input:function(element){switch(element.type.toLowerCase()){case'checkbox':case'radio':return Form.Element.Serializers.inputSelector(element);default:return Form.Element.Serializers.textarea(element);}},inputSelector:function(element){return element.checked?element.value:null;},textarea:function(element){return element.value;},select:function(element){return this[element.type=='select-one'?'selectOne':'selectMany'](element);},selectOne:function(element){var index=element.selectedIndex;return index>=0?this.optionValue(element.options[index]):null;},selectMany:function(element){var values,length=element.length;if(!length)return null;for(var i=0,values=[];i<length;i++){var opt=element.options[i];if(opt.selected)values.push(this.optionValue(opt));}
return values;},optionValue:function(opt){return Element.extend(opt).hasAttribute('value')?opt.value:opt.text;}}
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();var changed=('string'==typeof this.lastValue&&'string'==typeof value?this.lastValue!=value:String(this.lastValue)!=String(value));if(changed){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(){Form.getElements(this.element).each(this.registerCallback.bind(this));},registerCallback:function(element){if(element.type){switch(element.type.toLowerCase()){case'checkbox':case'radio':Event.observe(element,'click',this.onElementEvent.bind(this));break;default: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,KEY_HOME:36,KEY_END:35,KEY_PAGEUP:33,KEY_PAGEDOWN:34,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,length=Event.observers.length;i<length;i++){Event.stopObserving.apply(this,Event.observers[i]);Event.observers[i][0]=null;}
Event.observers=false;},observe:function(element,name,observer,useCapture){element=$(element);useCapture=useCapture||false;if(name=='keypress'&&(Prototype.Browser.WebKit||element.attachEvent))
name='keydown';Event._observeAndCache(element,name,observer,useCapture);},stopObserving:function(element,name,observer,useCapture){element=$(element);useCapture=useCapture||false;if(name=='keypress'&&(Prototype.Browser.WebKit||element.attachEvent))
name='keydown';if(element.removeEventListener){element.removeEventListener(name,observer,useCapture);}else if(element.detachEvent){try{element.detachEvent('on'+name,observer);}catch(e){}}}});if(Prototype.Browser.IE)
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){if(element.tagName=='BODY')break;var 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;},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{if(!window.opera||element.tagName=='BODY'){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(Prototype.Browser.WebKit){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];}}
Element.addMethods();if(!this.JSON){this.JSON={};}
(function(){function f(n){return n<10?'0'+n:n;}
if(typeof Date.prototype.toJSON!=='function'){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+'-'+
f(this.getUTCMonth()+1)+'-'+
f(this.getUTCDate())+'T'+
f(this.getUTCHours())+':'+
f(this.getUTCMinutes())+':'+
f(this.getUTCSeconds())+'Z':null;};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf();};}
var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==='string'?c:'\\u'+('0000'+a.charCodeAt(0).toString(16)).slice(-4);})+'"':'"'+string+'"';}
function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==='object'&&typeof value.toJSON==='function'){value=value.toJSON(key);}
if(typeof rep==='function'){value=rep.call(holder,key,value);}
switch(typeof value){case'string':return quote(value);case'number':return isFinite(value)?String(value):'null';case'boolean':case'null':return String(value);case'object':if(!value){return'null';}
gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==='[object Array]'){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||'null';}
v=partial.length===0?'[]':gap?'[\n'+gap+
partial.join(',\n'+gap)+'\n'+
mind+']':'['+partial.join(',')+']';gap=mind;return v;}
if(rep&&typeof rep==='object'){length=rep.length;for(i=0;i<length;i+=1){k=rep[i];if(typeof k==='string'){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}else{for(k in value){if(Object.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}
v=partial.length===0?'{}':gap?'{\n'+gap+partial.join(',\n'+gap)+'\n'+
mind+'}':'{'+partial.join(',')+'}';gap=mind;return v;}}
if(typeof JSON.stringify!=='function'){JSON.stringify=function(value,replacer,space){var i;gap='';indent='';if(typeof space==='number'){for(i=0;i<space;i+=1){indent+=' ';}}else if(typeof space==='string'){indent=space;}
rep=replacer;if(replacer&&typeof replacer!=='function'&&(typeof replacer!=='object'||typeof replacer.length!=='number')){throw new Error('JSON.stringify');}
return str('',{'':value});};}
if(typeof JSON.parse!=='function'){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==='object'){for(k in value){if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v;}else{delete value[k];}}}}
return reviver.call(holder,key,value);}
text=String(text);cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return'\\u'+
('0000'+a.charCodeAt(0).toString(16)).slice(-4);});}
if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,'@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']').replace(/(?:^|:|,)(?:\s*\[)+/g,''))){j=eval('('+text+')');return typeof reviver==='function'?walk({'':j},''):j;}
throw new SyntaxError('JSON.parse');};}}());<!--Hide this script from old browsers--
var _fgtCookieName=null;var _fgtCookieValue=null;function BeginSetCookie(cookieName){var prefix="SAVETREE";_fgtCookieName=prefix+"/"+cookieName;_fgtCookieValue=new String();}
function AddCookieValue(value){var escValue=new String();var i;for(var i=0;i<value.length;i++){var oneChar=value.substring(i,i+1);if(oneChar==" "||oneChar=='\\')
escValue+='\\';escValue+=oneChar;}
_fgtCookieValue+=escValue+" ";}
function EndSetCookie(){pathname=location.pathname;pathname=pathname.substring(0,pathname.lastIndexOf('/'))+'/';var expireDate=new Date();expireDate.setTime(expireDate.getTime()+(365*24*3600*1000));document.cookie=_fgtCookieName+"="+escape(_fgtCookieValue)+"; expires="+expireDate.toGMTString()+"; path="+pathname;}
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="FortiGate"+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 innerText(e){if(e.nodeName=="#text")
return e;var txt="";for(var i=0;e.childNodes[i];i++){var child=e.childNodes[i];child=innerText(child);if(child)
txt+=child.nodeValue.replace(/^[\s]+|[\s]+$/,"");}
return txt;}
function save_tree_state(cname)
{var i,img_obj,txt_obj;var strArr,imgsrc;trees=document.getElementsByName('tree');BeginSetCookie(cname);for(i=0;i<trees.length;i++)
{img_obj=trees.item(i).getElementsByTagName("img")[0];txt_obj=innerText(img_obj.parentNode);strArr=img_obj.src.split("/");imgsrc=strArr[strArr.length-1];if(imgsrc=="minus.gif"||imgsrc=="twistie_expanded.gif"){AddCookieValue(txt_obj);}}
EndSetCookie();}
function hlight_table(str_tableid,num_header_offset,num_footer_offset,str_class_mover){if(!str_tableid)return alert("No table(s) ID specified in parameters");var obj_tables=(document.all?document.all[str_tableid]:document.getElementById(str_tableid));if(!obj_tables)return alert("Can't find table(s) with specified ID ("+str_tableid+")");var col_config=[];col_config.header_offset=(num_header_offset?num_header_offset:0);col_config.footer_offset=(num_footer_offset?num_footer_offset:0);col_config.class_mover=(str_class_mover?str_class_mover:'over');if(obj_tables.length)
for(var i=0;i<obj_tables.length;i++)
tt_init_table(obj_tables[i],col_config);else
tt_init_table(obj_tables,col_config);}
function tt_init_table(obj_table,col_config){var col_lconfig=[],col_trs=obj_table.rows;if(!col_trs)return;for(var i=col_config.header_offset;i<col_trs.length-col_config.footer_offset;i++){col_trs[i].lconfig=col_lconfig;if(col_trs[i].preset)
continue;var settings=[];settings.className=col_trs[i].className;settings.onmouseover=col_trs[i].onmouseover;settings.onmouseout=col_trs[i].onmouseout;settings.onmousedown=col_trs[i].onmousedown;col_trs[i].preset=settings;col_trs[i].config=col_config;col_trs[i].set_color=tt_set_class;col_trs[i].onmouseover=tt_mover;col_trs[i].onmouseout=tt_mout;col_trs[i].onmousedown=tt_onclick;col_trs[i].order=(i-col_config.header_offset)%2;col_trs[i].onmouseout();}}
function tt_set_class(name){this.className=name;}
function tt_mover(){if(this.preset.onmouseover)
this.preset.onmouseover();if(this.lconfig.clicked!=this)
this.set_color(this.preset.className+" "+this.config.class_mover);}
function tt_mout(){if(this.preset.onmouseout)
this.preset.onmouseout();if(this.lconfig.clicked!=this)
this.set_color(this.preset.className);}
function tt_onclick(){if(this.preset.onmousedown)
this.preset.onmousedown();if(this.lconfig.clicked==this){this.lconfig.clicked=null;this.onmouseover();}
else{var last_clicked=this.lconfig.clicked;this.lconfig.clicked=this;if(last_clicked)last_clicked.onmouseout();this.set_color(this.preset.className+" "+this.config.class_mover);}}
function new_win(url,id,width,height){close_popup();set_popup_RefID(window.open(url,id,'scrollbars,resizable,width='+width+',height='+height));return;}
function set_popup_RefID(id){if(id){new NewPopup();NewPopup.ref_id=id;NewPopup.ref_id.focus();}
return;}
function close_popup(){if(NewPopup.ref_id&&!NewPopup.ref_id.closed){NewPopup.ref_id.close();NewPopup.ref_id=0;}
return;}
function NewPopup(){}
NewPopup.ref_id=0;var IE=navigator.userAgent.indexOf("MSIE")>0;var FF=navigator.userAgent.indexOf("Gecko")>0;var IE6=/MSIE (\d+\.\d+);/.test(navigator.userAgent)&&Number(RegExp.$1)==6;var FF2=/Firefox\/(\d+\.\d+)/.test(navigator.userAgent)&&Number(RegExp.$1)==2;function toInt(str)
{var i=parseInt(str);return isNaN(i)?0:i;}
function getInnerText(obj)
{var s="";obj=obj.firstChild;while(obj){if(!obj.tagName&&obj.nodeValue)
s+=obj.nodeValue;else if(obj.firstChild)
s+=getInnerText(obj);obj=obj.nextSibling;}
return s;}
function getInnerHeight(fr)
{return fr.innerHeight?fr.innerHeight:(fr.document.documentElement?fr.document.documentElement.clientHeight:fr.document.body.clientHeight);}
function getInnerWidth(fr)
{return fr.innerWidth?fr.innerWidth:(fr.document.documentElement?fr.document.documentElement.clientWidth:fr.document.body.clientWidth);}
function getDom(html)
{var gen=document.createElement('DIV');gen.innerHTML=html;return gen.firstChild;}
function findPos(obj)
{var curleft=0;var curtop=0;if(obj&&obj.offsetParent){while(obj.offsetParent){curleft+=obj.offsetLeft;curtop+=obj.offsetTop;obj=obj.offsetParent;}}else{if(obj&&obj.x)curleft+=obj.x;if(obj&&obj.y)curtop+=obj.y;}
return{"x":curleft,"y":curtop};}
function showContextMenu(obj,getContent)
{var opt=$("menuPopup");if(!opt){opt=document.createElement("div");document.body.appendChild(opt);opt.style.display="none";opt.setAttribute("id","menuPopup");opt.style.position="absolute";opt.onmouseover=function(){clearTimeout(this.hideTime)}
opt.onmouseout=function(){this.hideTime=setTimeout(hideContextMenu,200)}}
opt.obj=obj;opt.innerHTML=getContent(obj);var a=findPos(obj);opt.style.left=a.x+"px";opt.style.top=(a.y+obj.offsetHeight+2)+"px";opt.style.display="";return opt;}
function hideContextMenu()
{$("menuPopup").style.display="none";}
function delCookie(sName)
{document.cookie=sName+"=; expires=Fri, 31 Dec 1999 23:59:59 GMT;";}
function replaceQuery(data,name,newvalue)
{var str=data.replace(RegExp('&'+name+'=[^&]*'),'');return newvalue?str+'&'+name+'='+encodeURIComponent(newvalue):str;}
function addEvent(obj,type,fn)
{if(obj.addEventListener)
obj.addEventListener(type,fn,false);else if(obj.attachEvent)
obj.attachEvent("on"+type,fn);}
var ModalDialog={"onclick":function(){},"showMask":function(){var self=this;var d=$("maskDiv");if(!d){d=getDom("<div id=\"maskDiv\" style=\"display: none; background-color: black; width: 100%; height: 100%;"
+" position: absolute; left: 0; top: 0; z-index: 10000;"
+" -moz-opacity: 0.5; opacity: 0.5; filter: alpha(opacity=50)\""
+" onclick=\"return false\" onmousedown=\"return false\" onmousemove=\"return false\""
+" onmouseup=\"return false\" ondblclick=\"return false\" onselectstart=\"return false\"></div>");document.body.appendChild(d);if(!IE6)
d.style.position="fixed";d.onclick=function(){ModalDialog.onclick()}}
d.style.display="";},"showDialog":function(e){var d=$("popupDiv");if(!d){d=getDom("<div id=\"popupDiv\" style=\"display: none; background-color: white;"
+" position: absolute; left: -10000; top: -10000; z-index: 10001\"></div>\n");document.body.appendChild(d);addEvent(window,"resize",adjustPopupSize);if(IE6)
addEvent(window,"scroll",adjustPopupSize);else
d.style.position="fixed";}
if(e){if(d.firstChild)
d.removeChild(d.firstChild);d.style.width=e.style.width;d.style.height=e.style.height;d.appendChild(e);if(e.style.width)
e.style.width="100%";if(e.style.height)
e.style.height="100%";$j(e).show();}
adjustPopupSize();d.style.display="";function adjustPopupSize(){var doc=document.documentElement;if(!d.w||d.w!=d.offsetWidth){d.style.left=-10000;var disp=d.style.display;d.style.display="";d.w=d.offsetWidth?d.offsetWidth:400;d.h=d.offsetHeight?d.offsetHeight:300;d.style.display=disp;}
var width=getInnerWidth(window);var height=getInnerHeight(window);var l=width>d.w?(IE6?doc.scrollLeft:0)+(width-d.w)*0.375:0;var t=height>d.h?(IE6?doc.scrollTop:0)+(height-d.h)*0.375:0;if(Math.abs(l-toInt(d.style.left))>10||Math.abs(t-toInt(d.style.top))>10){d.style.left=l+"px";d.style.top=t+"px";}}},"show":function(e){if(typeof(e)=="string")
e=$(e);this.showMask();this.showDialog(e);},"close":function(){var m=$("maskDiv");if(m)m.style.display="none";var m=$("popupDiv");if(m)m.style.display="none";},"isOpen":function(){var m=$("popupDiv");return(m&&m.style.display!="none");}}
function generalDialogHtml(body,title,footer)
{var options={"title":title,"body":body,"footer":!footer?false:true,"footer_type":"okcancel"}
return generateDialogHtml(options);}
function generateDialogHtml(options)
{var default_options={"title":"","body":"","footer":true,"footer_type":"okcancel"}
options=$j.extend(true,{},default_options,options);var html=""
if(options.footer)
html+="<form onsubmit='closeModalDialog(this); return false'>";html+="<table id=moduleSelection cellspacing=1 cellpadding=1 align=center width=100%>"
+"<tr class=head><td>"+(options.title?options.title:"")
+"<div class=close onclick='closeModalDialog()'>"
+"<img src=\"/images/db_close.gif\" valign=top></div>"
+"</td></tr>\n"
+"<tr height=100%><td class=body>"+options.body+"</td></tr>";if(options.footer){html+="<tr class=foot><td><table align=center cellspacing=0 cellpadding=0 width=66%>"
+"<tr>";if(typeof(options.footer)=="string"){html+="<td align=center>"+options.footer+"</td>";}
switch(options.footer_type){case"ok":{html+="<td align=center>"
+"<input class=button type=submit value=\""+fgt_lang.global.ok+"\"></td>";}
break;case"okcancel":default:{html+="<td align=center>"
+"<input class=button type=submit value=\""+fgt_lang.global.ok+"\"></td>";html+="<td align=center>"
+"<input class=button type=button value=\""+fgt_lang.global.cancel+"\" onclick=\"closeModalDialog()\"></td>";}}
html+="</tr></table>"
+"</td></tr>\n";}
html+="</table>"
if(options.footer)
html+="</form>";return html;}
function openModalDialog(dlg,callback)
{if(typeof(dlg)=="string")
dlg=getDom(dlg);ModalDialog.callback=callback;ModalDialog.onclick=closeModalDialog;ModalDialog.show(dlg);}
function closeModalDialog(param){if(window.ModalDialog.callback&&!window.ModalDialog.callback(param))
return false;window.ModalDialog.close();}
function column_select_dialog_reset(resels)
{var i,opt;var sels=resels.join(",");$j("#column_available").find("option").each(function(){if(sels.indexOf(this.value)>=0)
$j("#column_selected").append(this);});$j("#column_selected").find("option").each(function(){if(sels.indexOf(this.value)<0)
$j("#column_available").append(this);});$j("#column_selected").children().sort(function(a,b){return sels.indexOf(a.value)-sels.indexOf(b.value);}).prependTo("#column_selected");}
function column_select_dialog_body(aval,sels)
{var opt;var html="<table id=columnSelection align=center>\n"
+"<tr><td>"+fgt_lang.display.available+"</td>";html+="<td></td>"
+"<td>"+fgt_lang.display.chosen+"</td></tr>\n";html+="<tr><td rowspan=6 class=column>"
+"<select id=column_available name=column_available multiple"
+" ondblclick=\"moveOptionField($('column_available'), $('column_selected'))\">";for(var i=0;(opt=aval[i]);i++){var opt_s;for(var j=0;(opt_s=sels[j]);j++)
if(opt_s.value==opt.value)
break;if(opt_s)continue;html+="<option value=\""+opt.value+"\">"+opt.name+"</option>\n";}
html+="</select></td>\n";html+="<td> </td>\n"
html+="<td rowspan=6 class=column>"
+"<select id=column_selected name=column_selected multiple"
+" ondblclick=\"moveOptionField($('column_selected'), $('column_available'))\">";for(var i=0;(opt=sels[i]);i++){html+="<option value=\""+opt.value+"\">"+opt.name+"</option>\n";}
html+="</select></td></tr>\n";html+="<tr><td class=mid_column><img src=/images/next.gif onclick=\"moveOptionField($('column_available'), $('column_selected'))\"></td></tr>\n"
+"<tr><td class=mid_column><img src=/images/prev.gif onclick=\"moveOptionField($('column_selected'), $('column_available'))\"></td></tr>\n"
+"<tr><td class=mid_column><img src=/images/up2.gif onclick=\"moveOptionUp($('column_selected'))\"></td></tr>\n"
+"<tr><td class=mid_column><img src=/images/down2.gif onclick=\"moveOptionDown($('column_selected'))\"></td></tr>\n"
+"<tr><td> </td></tr>\n";html+="</table>\n";return html;}
function qlist_form_fix(f)
{for(var elm=f.firstChild;elm;elm=f.firstChild)
f.parentNode.appendChild(elm);document.body.appendChild(f);$j("table.container:not([id])").each(function(){f.appendChild(this)});}
var CMDB=(function($){function api_cmdb_fetch(cmdb_path,cmdb_name,preferences,callback,async)
{var parameters={"action":"select","path":cmdb_path,"name":cmdb_name};$.extend(parameters,preferences);$.ajax({"url":"/api/cmdb","cache":false,"dataType":"json","data":{"request":JSON.stringify(parameters)},"async":typeof(async)=="boolean"?async:true,"success":function(data,textStatus){if(!data||!data.results)return;if(typeof(callback)=="function"){callback(data,textStatus);}}});}
function api_cmdb_fetch_default(cmdb_path,cmdb_name,callback,async)
{api_cmdb_fetch(cmdb_path,cmdb_name,{"action":"fetch_default"},callback,async)}
function api_cmdb_fetch_list(cmdb_path,cmdb_name,cmdb_key,callback)
{api_cmdb_fetch(cmdb_path,cmdb_name,{},function(data,textStatus){var option_list=[];$.each(data.results,function(){option_list.push(this[cmdb_key]);});if(typeof(callback)=="function")
{callback(option_list);}});}
function __api_cmdb_edit_object(action,cmdb_path,cmdb_name,mkey,cmdb_object,callback,preferences)
{var parameters={"action":action,"path":cmdb_path,"name":cmdb_name,"mkey":mkey,"json":cmdb_object};$.extend(parameters,preferences);$.post("/api/cmdb",{"request":JSON.stringify(parameters)},function(data){if(!data)return;if(typeof(callback)=="function")
{callback(data);}},"json");}
function api_cmdb_edit_object(cmdb_path,cmdb_name,mkey,cmdb_object,callback,preferences)
{__api_cmdb_edit_object("edit",cmdb_path,cmdb_name,mkey,cmdb_object,callback,preferences);}
function api_cmdb_append_object(cmdb_path,cmdb_name,mkey,cmdb_object,callback,preferences)
{__api_cmdb_edit_object("append",cmdb_path,cmdb_name,mkey,cmdb_object,callback,preferences);}
function api_cmdb_remove_object(cmdb_path,cmdb_name,mkey,callback,preferences)
{var parameters={"action":"remove","path":cmdb_path,"name":cmdb_name,"mkey":mkey};$.extend(parameters,preferences);$.post("/api/cmdb",{"request":JSON.stringify(parameters)},function(data){if(!data)return;if(typeof(callback)=="function")
{callback(data);}},"json");}
if(window.Prototype){delete Object.prototype.toJSON;delete Array.prototype.toJSON;delete Hash.prototype.toJSON;delete String.prototype.toJSON;}
return{"fetch":api_cmdb_fetch,"fetch_default":api_cmdb_fetch_default,"fetch_list":api_cmdb_fetch_list,"edit":api_cmdb_edit_object,"append":api_cmdb_append_object,"remove":api_cmdb_remove_object};})(jQuery);function api_device_fetch_table(preferences,callback){var parameters={"action":"select"};$j.extend(parameters,preferences);$j.getJSON("/api/device",{"request":JSON.stringify(parameters)},function(data,textStatus){if(!data||!data.results){return;}
callback(data,textStatus);});}
function api_device_fetch_list(cmdb_key,callback){api_device_fetch_table({},function(data,textStatus){var option_list=new Array();$j.each(data.results,function(){option_list.push(this[cmdb_key]);});if(typeof(callback)=="function"){callback(option_list);}});}
function api_device_request_fgt_upload(preferences,callback){var parameters={"action":"request_fgt_upload"};$j.extend(parameters,preferences);$j.getJSON("/api/device",{"request":JSON.stringify(parameters)},function(data,textStatus){if(!data){return;}
callback(data,textStatus);});}
function api_fetch_file_list(file_type,preferences,callback)
{var parameters={"file_type":file_type};$j.getJSON("/api/file",parameters,callback);}
SQLC={SQL_OK:0,SQL_ERR_SQL:-1,SQL_ERR_SYS:-2,SQL_OP_CHK_SYNTAX:'check_syntax',SQL_OP_QUERY:'query'};SQL={sql_op:function(op,parameters,callback)
{var full_parameters=$j.extend({"op":op},((typeof parameters==="undefined"||parameters===null)?{}:parameters));return $j.getJSON("/api/sql",full_parameters,function(data,textStatus){if(!data||!data.results)return;if(typeof(callback)==="function")
{callback(data.results);}});}};function getInternetExplorerVersion()
{var rv=-1;if(navigator.appName=='Microsoft Internet Explorer')
{var ua=navigator.userAgent;var re=new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");if(re.exec(ua)!=null)
rv=parseFloat(RegExp.$1);}
return rv;}
var IE=getInternetExplorerVersion()>0;var FF=navigator.userAgent.indexOf("Gecko")>0;var IE6=(IE&&getInternetExplorerVersion()<7.0);var have_position_fixed=(!IE6);var propagate_modal_mask=true;var modal_op_dialog=1;var modal_op_rename=2;var modal_op_menu=3;var modal_op_auxiliary=4;var InlineModal={in_modal_op:false,op_type:0,maskdiv_callbacks_init:false,mask_div:null,dlg_div:null,end_contextmenu_cb:null,scroll_contextmenu_cb:null,end_rename_cb:null,aux_target_wnd:null,in_rename_op:function(){return(this.in_modal_op&&this.op_type==modal_op_rename);}}
var wij_modal_show_timer=null;if(!mlogger){var mlogger={debug:function(msg){}};}
function wij_in_modal_op()
{return(InlineModal.in_modal_op&&InlineModal.op_type==modal_op_dialog);}
function handle_maskdiv_click()
{var oModal=InlineModal;if(!oModal.in_modal_op)
return false;if(oModal.op_type==modal_op_rename)
{wij_end_modal_rename(true);}
else if(oModal.op_type==modal_op_menu)
{wij_end_contextmenu_mask();}
else if(oModal.op_type==modal_op_auxiliary)
{oModal.aux_target_wnd.handle_maskdiv_click();}}
function wij_align_modal_dlg()
{mlogger.debug("wij_align_modal_dlg");if(!InlineModal.in_modal_op)
{mlogger.debug("wij_align_modal_dlg - skip alignment");return;}
var dlg_div=InlineModal.dlg_div;var bd=document.body;var root=document.documentElement;var w_dlg=(dlg_div.offsetWidth?dlg_div.offsetWidth:400);var h_dlg=(dlg_div.offsetHeight?dlg_div.offsetHeight:300);var w_pg=root.clientWidth;var h_pg=root.clientHeight;var h_off=(h_pg-h_dlg-100)/2;if(h_off<0)h_off=0;var l=bd.scrollLeft+(w_pg-w_dlg)/2;var t=bd.scrollTop+h_off;if(IE6)t=root.scrollTop+h_off;mlogger.debug("w_pg="+w_pg+", w_dlg="+w_dlg+", l="+l);mlogger.debug("h_pg="+h_pg+", h_dlg="+h_dlg+", t="+t);dlg_div.style.left=l+"px";dlg_div.style.top=t+"px";}
function wij_adjust_mask_size()
{var mask_div=InlineModal.mask_div;var bd=document.body;Element.extend(bd);var root=document.documentElement;var bd=document.body;var w_pg=root.clientWidth;var h_pg=root.clientHeight;var w_bd=bd.offsetWidth;var h_bd=bd.offsetHeight;var h=Math.max(h_pg,h_bd);mask_div.style.height=h+"px";return;var root=$("wij_layout_container");if(!root)
root=bd.firstDescendant();if(IE)
{var root_wd=root.offsetWidth;var body_wd=bd.clientWidth;var w=Math.max(root_wd,body_wd);mask_div.style.width=w+"px";}
if(IE)
{var bdy_ht=bd.scrollHeight;}
else
{var bdy_ht=bd.offsetHeight+parseInt(Element.getStyle(bd,"marginTop"));}
var root_ht=root.offsetHeight+20;var wnd_ht=bd.clientHeight;var h=Math.max(bdy_ht,root_ht);if(h>wnd_ht)
{mask_div.style.height=h+"px";}
else
{mask_div.style.height="100%";}}
function wij_modal_onscroll()
{if(have_position_fixed)
return;var oModal=InlineModal;if(!oModal.in_modal_op)
return;if(oModal.op_type==modal_op_dialog)
{var dv_dialog=oModal.dlg_div;dv_dialog.style.visibility="hidden";if(wij_modal_show_timer)clearTimeout(wij_modal_show_timer);wij_modal_show_timer=setTimeout(wij_align_and_show_modal_dlg,50);}
else if(oModal.op_type==modal_op_menu)
{if(oModal.scroll_contextmenu_cb)
oModal.scroll_contextmenu_cb();}}
function wij_modal_onresize()
{var oModal=InlineModal;if(!oModal.in_modal_op)
return;wij_adjust_mask_size();if(oModal.op_type==modal_op_dialog)
{wij_align_modal_dlg();}}
function setup_maskdiv_callbacks()
{if(InlineModal.maskdiv_callbacks_init)return;addEvent(window,"resize",wij_modal_onresize);addEvent(window,"scroll",wij_modal_onscroll);if(IE)addEvent(document.body.firstChild,'resize',wij_modal_onresize);InlineModal.maskdiv_callbacks_init=true;}
function setup_mask_div()
{var mask_div=InlineModal.mask_div;if(mask_div)
return mask_div;var tmp_div=document.createElement("DIV");tmp_div.innerHTML='<div id="maskDiv" style="display: none; background-color: black; position: absolute; left: 0; top: 0; z-index: 10000; height: 100%; width: 100%; -moz-opacity: 0.5; opacity: 0.5; filter: alpha(opacity=50);"  onclick="handle_maskdiv_click()" onmousedown="return false" onmousemove="return false"  onmouseup="return false" ondblclick="return false" onselectstart="return false" oncontextmenu="return false"></div>';mask_div=tmp_div.childNodes[0];Element.remove(mask_div);document.body.appendChild(mask_div);InlineModal.mask_div=mask_div;return mask_div;}
function display_mask_div(opacity)
{var mask_div=InlineModal.mask_div;Element.setOpacity(mask_div,opacity);mask_div.style.visibility="hidden";mask_div.style.display="";wij_adjust_mask_size();mask_div.style.visibility="visible";setup_maskdiv_callbacks();if(propagate_modal_mask&&(top!=window)&&top.display_auxiliary_mask)
{var wnd=window.parent;if(wnd&&wnd.wij_in_modal_op&&wnd.wij_in_modal_op())
{return;}
var panels_adjusted=0;top.$j(".layout-center").css("z-index","");top.$j(".layout-main").each(function(){var elem=$j(this);elem.data("zIndex",elem.css("z-index"));elem.css("z-index",10100);panels_adjusted++;});if(panels_adjusted>0)
{top.display_auxiliary_mask(window,opacity);}}}
function display_auxiliary_mask(target_wnd,opacity)
{var oModal=InlineModal;if(oModal.in_modal_op||(target_wnd==window))
return;oModal.in_modal_op=true;oModal.op_type=modal_op_auxiliary;oModal.aux_target_wnd=target_wnd;var mask_div=setup_mask_div();Element.setOpacity(mask_div,opacity);mask_div.style.visibility="hidden";mask_div.style.display="";wij_adjust_mask_size();mask_div.style.visibility="visible";setup_maskdiv_callbacks();}
function hide_mask_div()
{var mask_div=InlineModal.mask_div;mask_div.style.display="none";if(propagate_modal_mask&&(top!=window)&&top.hide_auxiliary_mask)
{var wnd=window.parent;if(wnd&&wnd.wij_in_modal_op&&wnd.wij_in_modal_op())
{return;}
top.$j(".layout-center").css("z-index",1);top.$j(".layout-main").each(function(){var elem=$j(this);elem.css("z-index",elem.data("zIndex"));});top.hide_auxiliary_mask(window);}}
function hide_auxiliary_mask(target_wnd)
{if(target_wnd==window)
return;var mask_div=InlineModal.mask_div;mask_div.style.display="none";var oModal=InlineModal;if(oModal.in_modal_op&&oModal.op_type==modal_op_auxiliary)
{oModal.in_modal_op=false;oModal.op_type=0;}}
function setup_modal_dlg()
{var dv_modal=InlineModal.dlg_div;if(dv_modal)
return dv_modal;var tmp_div=document.createElement("DIV");tmp_div.innerHTML='<div id="modal_div" style="position:absolute; overflow:hidden; display:none; visibility:hidden; background-color: white; left: -1000; top: -1000; z-index: 10001"></div>';dv_modal=tmp_div.childNodes[0];Element.remove(dv_modal);document.body.appendChild(dv_modal);InlineModal.dlg_div=dv_modal;return dv_modal;}
var aModalIframe_tpl=['<iframe id="','','" name="','','" frameBorder=0 scrolling="auto" src="','','" style="overflow:auto; width:','','; height:','','; border: 1px solid ','','" />'];function wij_set_modal_options(opts)
{var oModal=InlineModal;oModal.height="auto";oModal.width=300;oModal.close_button=true;oModal.callback_handlers=true;oModal.bg_color="#ddd";oModal.escape_to_exit=true;if(typeof(opts)!="object")return;for(var prop in opts)
{if(prop in oModal)
{oModal[prop]=opts[prop];}}}
var next_modaldlg_seqno=1;function wij_display_modal_content(content,opts)
{var oModal=InlineModal;oModal.in_modal_op=true;oModal.op_type=modal_op_dialog;wij_set_modal_options(opts);var dv_modal=setup_modal_dlg();var mask_div=setup_mask_div();dv_modal.innerHTML=content;if(have_position_fixed)
{dv_modal.style.position="fixed";}
else
{dv_modal.style.position="absolute";}
dv_modal.style.display="";dv_modal.style.visibility="hidden";dv_modal.onmouseover=function(){this.focus()}
dv_modal.onmouseout=function(){this.blur()}
if(wij_modal_show_timer)clearTimeout(wij_modal_show_timer);wij_modal_show_timer=setTimeout(wij_align_and_show_modal_dlg,500);display_mask_div(0.5);}
function wij_display_modal_dlg(url,opts)
{var oModal=InlineModal;var frm_id="wij_modal_frame_"+next_modaldlg_seqno++;var arr=aModalIframe_tpl;wij_set_modal_options(opts);arr[1]=frm_id;arr[3]=frm_id;arr[5]=url;if(oModal.width!="auto")
{arr[7]=oModal.width+"px";}
if(oModal.height!="auto")
{arr[9]=oModal.height+"px";}
var border_color=oModal.bg_color;arr[11]=border_color;wij_display_modal_content(arr.join(""),opts);}
function wij_end_modal_dialog()
{var oModal=InlineModal;oModal.in_modal_op=false;oModal.op_type=0;$j(oModal.dlg_div).hide();hide_mask_div();if(oModal.callback_handlers&&window.callback_handlers&&window.callback_handlers.should_call)
{var f;for(var i=0;(f=window.callback_handlers[i]);i++)
f();}
$j(oModal.dlg_div).html("");}
function on_modal_dialog_keypress(ev)
{if(!wij_in_modal_op())return;if(!ev)ev=window.event;var key_code=crack_kbd_event(ev);if(key_code==27&&InlineModal.escape_to_exit)
{wij_end_modal_dialog();}
return true;}
function wij_align_and_show_modal_dlg()
{var mlist=InlineModal.dlg_div;wij_align_modal_dlg();mlist.style.visibility="visible";}
function crack_kbd_event(evt)
{if(evt.which)
{return evt.which;}
else if(evt.keyCode)
{return evt.keyCode;}
clogger.debug("crack_kbd_event - No key code in keypress!");return 0;}
function on_rename_keypress(ev)
{if(!ev)ev=window.event;var key_code=crack_kbd_event(ev);if(key_code==13)
{wij_end_modal_rename(true);}
else if(key_code==27)
{wij_end_modal_rename(false);}
return true;}
function on_rename_blur(ev)
{wij_end_modal_rename(true);}
function wij_display_rename_dlg(dv_main,edit_ctrl,cb_fn)
{clogger.debug("wij_display_rename_dlg");var oModal=InlineModal;oModal.in_modal_op=true;oModal.op_type=modal_op_rename;oModal.end_rename_cb=cb_fn;var dv_dialog=setup_modal_dlg();var mask_div=setup_mask_div();var root=document.documentElement;dv_dialog.innerHTML="";dv_dialog.appendChild(dv_main);dv_dialog.style.position="absolute";dv_dialog.style.left=0;dv_dialog.style.top=0;dv_dialog.style.width=root.offsetWidth+"px";dv_dialog.style.height=root.offsetHeight+"px";dv_dialog.style.backgroundColor="";dv_dialog.style.display="";dv_dialog.style.visibility="visible";display_mask_div(0.3);edit_ctrl.onkeypress=on_rename_keypress;edit_ctrl.onblur=on_rename_blur;edit_ctrl.focus();}
function wij_end_modal_rename(bCommit)
{var oModal=InlineModal;var dv_dialog=oModal.dlg_div;clogger.debug("wij_end_modal_rename - invoking callback");var edit_ctrl=dv_dialog.firstDescendant();oModal.end_rename_cb(edit_ctrl,bCommit);oModal.in_modal_op=false;oModal.op_type=0;dv_dialog.innerHTML="";dv_dialog.style.display="none";hide_mask_div();}
function wij_display_contextmenu_mask(cb_end,oMenu)
{var oModal=InlineModal;oModal.in_modal_op=true;oModal.op_type=modal_op_menu;oModal.end_contextmenu_cb=cb_end;if(oMenu.ignore_y_coord)
{if(have_position_fixed)
{oMenu.element.style.position="fixed";oModal.scroll_contextmenu_cb=null;}
else
{function mk_cb_scroll(oMenu){return function(){reposition_top_aligned_menu(oMenu);}};var cb_scroll=(oMenu.ignore_y_coord)?mk_cb_scroll(oMenu):null;oModal.scroll_contextmenu_cb=cb_scroll;}}
else
{oMenu.element.style.position="absolute";oModal.scroll_contextmenu_cb=null;}
var mask_div=setup_mask_div();display_mask_div(0.15);}
function reposition_top_aligned_menu(oMenu)
{var bd=oMenu.output_document.documentElement;var scroll_pos=bd.scrollTop;var dv_menu=oMenu.element;dv_menu.style.top=scroll_pos+"px";}
var in_wij_end_contextmenu_mask_cb=false;function wij_end_contextmenu_mask()
{if(in_wij_end_contextmenu_mask_cb)
return;var oModal=InlineModal;in_wij_end_contextmenu_mask_cb=true;oModal.end_contextmenu_cb();in_wij_end_contextmenu_mask_cb=false;oModal.in_modal_op=false;oModal.op_type=0;hide_mask_div();}
function wij_display_genericmenu_mask(cb_end,elem)
{var oModal=InlineModal;oModal.in_modal_op=true;oModal.op_type=modal_op_menu;oModal.scroll_contextmenu_cb=null;oModal.end_contextmenu_cb=cb_end;elem.style.position="absolute";propagate_modal_mask=false;var mask_div=setup_mask_div();display_mask_div(0.15);}
function wij_auto_resize_iframe()
{mlogger.debug("wij_auto_resize_iframe");if(!InlineModal.in_modal_op)
{mlogger.debug("wij_auto_resize_iframe - skip alignment");return;}
$j("iframe",InlineModal.dlg_div).each(function(){this.scrolling="no";if(InlineModal.height=="auto")
{update_iframe_height(this.id);}
this.scrolling="auto";});wij_align_modal_dlg();}
function wij_add_close_button()
{mlogger.debug("wij_add_close_button");var wnd=window.parent;var doc_width=$j(document).width();$j("table.header tr td").append('<img id="wij_modal_close_btn_abs" src="/images/x_small.gif">');$j("#wij_modal_close_btn_abs").each(function(){var img=$j(this);var img_w=15;img.css({"top":4,"left":doc_width-img_w-4,"position":"absolute","cursor":"pointer"});}).click(function(){wnd.wij_end_modal_dialog();});$j("h1").append('<img id="wij_modal_close_btn_fixed" src="/images/x_small.gif">');$j("#wij_modal_close_btn_fixed").css({"right":4,"top":4,"position":"fixed","cursor":"pointer"}).click(function(){wnd.wij_end_modal_dialog();});}
$j(document).ready(function(){var wnd=window.parent;if(wnd&&wnd.wij_in_modal_op&&wnd.wij_in_modal_op())
{wnd.wij_auto_resize_iframe();if(wnd.InlineModal.close_button)
{wij_add_close_button();}
$j(document).keyup(wnd.on_modal_dialog_keypress);}
else
{var version=$j.browser.version;if($j.browser.msie&&version<8)
propagate_modal_mask=false;if($j.browser.mozilla&&$j.browser.version<'1.9')
propagate_modal_mask=false;$j(document).keyup(on_modal_dialog_keypress);}});
