//Merged JS files for off-site-notices ( v : rev_6766 ) ( Generated : 9/8/2010 11:57:59 AM )
// Created on 2008-12-25 by Somchai
// Asked by Bachir by email on 2008-12-18
// This ucheader.js is called by UControl/UHeader.aspx


//----Declaration public variable---

var P_UCHEADER_PATH_WEBSERVER;
var P_UCHEADER_LBL_MESSAGEALERT_STATUS_SAVE1;
var P_UCHEADER_LBL_MESSAGEALERT_STATUS_SAVE2;
var P_UCHEADER_CURRENTLANG;
var P_UCHEADER_CONST_ISO_EN;
var P_UCHEADER_CURRENTUSERID;
var P_UCHEADER_CURRENTUSERTYPE;
var P_UCHEADER_CONST_ISO_ANONYMOUS;
var P_UCHEADER_LBL_LOGOUT
var P_UCHEADER_LBL_PLEASEWAIT
var P_UCHEADER_LBL_MESSAGE_SESSION_TIMEOUT

var _this_for_validate_sessionid = null

function G(i) { return document.getElementById(i) }
function _this_for_validate_session_start() {
    _this_for_validate_sessionid = 0 //setTimeout(_this_for_validate_session, 1000 * 60)
}
function _this_for_validate_session() {
    //clearTimeout(_this_for_validate_sessionid)
    try {
        doAjaX(P_UCHEADER_PATH_WEBSERVER + 'WYAJaxPage/Ajax_Main.aspx?RND="' + new Date(), 'MODE=checksession', '_this_for_validate_session_callback', '_waittingsession_')
    } catch (e) {
        _this_for_validate_session_start()
    }
}
function _this_for_validate_session_callback(mreturn) {
    if (mreturn != 'Y') {
        UClose_Overlay()
        ShowAlertMessageWait(P_UCHEADER_LBL_MESSAGE_SESSION_TIMEOUT, '_this_for_validate_session_OK()')
    } else {
        _this_for_validate_session_start()
    }
}
function _this_for_validate_session_OK() {
    G("U_hidpage").value = "H"
    document.forms[0].submit()
}
function U_SubmitPage(mpage, mtypeshowlayer) {
    U_CallShowWaiting(P_UCHEADER_LBL_PLEASEWAIT)
    G("U_hidpage").value = mpage;

    if (mpage == "M") { //it mean must be check anywhere for confirm
        //start open layer
        if (mtypeshowlayer == "NO") { // this one use on home page click user after logind
            document.forms[0].submit();
        }
        else {
            SendAlertMessageQuestion("SubmitFromPressMyProfile()", P_UCHEADER_LBL_MESSAGEALERT_STATUS_SAVE1 + "<br>" + P_UCHEADER_LBL_MESSAGEALERT_STATUS_SAVE2)
        }

    }
    else if (mpage == "O") {
        SendAlertMessageQuestion("SubmitFromPressLogout()", P_UCHEADER_LBL_LOGOUT);
    }
    else {
        document.forms[0].submit();
    }


}

function SubmitFromPressMyProfile() {
    // because if don't use setTimeout it will not submit to next page....
    setTimeout(SubmitTrueAfterSelectY, 700);
}

function SubmitTrueAfterSelectY() {
    document.forms[0].submit();
}


function ULoad_HeaderControl() {
    var PublicStatus = ""
    var TmpLang = P_UCHEADER_CURRENTLANG;
    if (TmpLang == "") { TmpLang = P_UCHEADER_CONST_ISO_EN; }
    G("CboLang").value = TmpLang;

    //---------set hide or show on user login already ------
    var muserid = P_UCHEADER_CURRENTUSERID;
    var musertype = P_UCHEADER_CURRENTUSERTYPE;
    if (muserid == "0" || musertype == P_UCHEADER_CONST_ISO_ANONYMOUS) {
        HideLayerById("idwebcome"); HideLayerById("idlogoUT")
        ShowLayerById('idmytour');
        ShowLayerById('U_LinkHome_before');
        HideLayerById('U_LinkHome');
    }
    else {
        ShowLayerById('idwebcome'); ShowLayerById("idlogoUT")
        HideLayerById('idmytour');
        ShowLayerById('U_LinkHome');
        HideLayerById('U_LinkHome_before');
    }


}

function _save_header_region() {
    try {
        if (G("hidregionscode") != null) {
            G("hidregionscode").value = CountRegionSelected(2, true);
        }
    } catch (e) {
    }
}
//function U_dolang() {
//    U_CallShowWaiting(P_UCHEADER_LBL_PLEASEWAIT)
//    _save_header_region()
//    G("U_hidlang").value = G("CboLang").value
//    document.forms[0].submit();  
//}
function U_dolang() {
    G("U_hidlang").value = G("CboLang").value;
    _save_header_region();

    if (document.getElementsByTagName('body').homepage)
    { var obj = document.getElementsByTagName('body').homepage.className }
    else
    { var obj = "nonhome" }

    if (obj != "home") {
        SendAlertMessageQuestion("changeLang()", LBL_LANG_CHAGE_MSG1 + "<br>" + LBL_LANG_CHAGE_MSG2);
    }
    else {
        document.forms[0].submit();
    }

}


function changeLang() {
    U_CallShowWaiting(P_UCHEADER_LBL_PLEASEWAIT);
    setTimeout(SubmitTrue, 300);
}

function SubmitTrue() {
    document.forms[0].submit();
}
function SubmitFromPressLogout() {
    // same trick than above : timeout to force redirect and logout, don't know why direct U_Logout doesn't work : /
    setTimeout(U_Logout, 300);
}

function U_Logout() {
    U_CallShowWaiting(P_UCHEADER_LBL_PLEASEWAIT)
    _save_header_region()
    G("U_hidpage").value = "O" //logout    
    document.forms[0].submit();
}

//ajax call to inject some innerHTML
function Call_notice_writefile(ajax_mode, html_file) {
    doAjaX(P_UCHEADER_PATH_WEBSERVER + 'WYAJaxPage/Ajax_Main.aspx?"', 'MODE=' + ajax_mode + '&HTMLFILE=' + html_file + '&RND=' + new Date(), "Callback_headertooltip")
}

function Callback_headertooltip(mreturn) {
    _showpanelmessage(mreturn, 2, 800, 500, "#FFFFFF", "", "")
}// Created on 2008-12-22 by Somchai
// Asked by Bachir by email on 2008-12-18
// This contactus.js is called by contact/contactus.aspx


var P_ContactUs_YBLANK;
var P_ContactUs_LBL_MESSAGE_FILLNAME;
var P_ContactUs_LBL_MESSAGE_FILLMSG;
var P_ContactUs_PATH_WEBSERVER;
var P_ContactUs_FINISH_SEND;
var P_ContactUs_WRONG_TYPE_MAIL;
var P_ContactUs_ERROR_SEND;
var P_ContactUs_SEND_EMAIL;


function SendEnquiryAjax()
{  
  var flagRequiredFields = true

  if (document.getElementById("ContactEmail").value == "")
   {
       ShowAlertMessageWait(P_ContactUs_YBLANK);
   }
   else if (document.getElementById("ContactName").value == "")
   {
       ShowAlertMessageWait(P_ContactUs_LBL_MESSAGE_FILLNAME);
   }
   else if (document.getElementById("ContactMessage").value == "")
   {
       ShowAlertMessageWait(P_ContactUs_LBL_MESSAGE_FILLMSG);
   }
   else
       if (flagRequiredFields == true && emailCheck(document.getElementById("ContactEmail").value) == true) {
      try {
          doAjaX(P_ContactUs_PATH_WEBSERVER, 'MODE=SendEnquiry&emailuser=' + 
                  document.getElementById("ContactEmail").value +'&name='+ 
                  document.getElementById("ContactName").value +'&surname='+ 
                  document.getElementById("ContactSurname").value +'&address='+ 
                  document.getElementById("ContactAddress").value +'&phone='+ 
                  document.getElementById("ContactPhone").value +'&fax='+ 
                  document.getElementById("ContactFax").value +'&filepart='+ 
                  document.getElementById("ContactAttachedFile").value +'&enquiry='+ 
                  document.getElementById("ContactEnquiry").value +'&message='+ 
                  document.getElementById("ContactMessage").value +'&RND='+new Date(),"Return_Alert")
          U_CallShowWaiting(P_ContactUs_SEND_EMAIL)
        } catch (e) {
               alert(e.message)
        }
  }
  else 
  {
      ShowAlertMessageWait(P_ContactUs_WRONG_TYPE_MAIL);
  }
}

function Return_Alert(mreturn) {
    UClose_Overlay();
    if (mreturn == "OK" ) //|| mreturn == "EROK")
	   {
	       ShowAlertMessageWait(P_ContactUs_FINISH_SEND,"","","","I");
            document.getElementById("ContactEmail").value = ""
            document.getElementById("ContactName").value = ""
            document.getElementById("ContactSurname").value = ""
            document.getElementById("ContactAddress").value = ""
            document.getElementById("ContactPhone").value = ""
            document.getElementById("ContactFax").value = ""
            document.getElementById("ContactAttachedFile").value = ""
            document.getElementById("ContactMessage").value = ""
            
	   }
	else //if(mreturn == "ER")
	   {
	       ShowAlertMessageWait(P_ContactUs_ERROR_SEND);
	   }
}
function ShowLayerById(id){ document.getElementById(id).style.visibility = "visible"; if ((document.getElementById(id).tagName=="tr") && (navigator.userAgent.toLowerCase().indexOf("msie")<0)) { document.getElementById(id).style.display = "table-row"; } else { document.getElementById(id).style.display = "block"; }}
function HideLayerById(id){ document.getElementById(id).style.visibility = "hidden"; document.getElementById(id).style.display = "none"; }/*
 * jQuery 1.2.3 - New Wave Javascript
 *
 * Copyright (c) 2008 John Resig (jquery.com)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * $Date: 2008-02-06 00:21:25 -0500 (Wed, 06 Feb 2008) $
 * $Rev: 4663 $
 */
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(J(){7(1e.3N)L w=1e.3N;L E=1e.3N=J(a,b){K 1B E.2l.4T(a,b)};7(1e.$)L D=1e.$;1e.$=E;L u=/^[^<]*(<(.|\\s)+>)[^>]*$|^#(\\w+)$/;L G=/^.[^:#\\[\\.]*$/;E.1n=E.2l={4T:J(d,b){d=d||T;7(d.15){6[0]=d;6.M=1;K 6}N 7(1o d=="25"){L c=u.2O(d);7(c&&(c[1]||!b)){7(c[1])d=E.4a([c[1]],b);N{L a=T.5J(c[3]);7(a)7(a.2w!=c[3])K E().2s(d);N{6[0]=a;6.M=1;K 6}N d=[]}}N K 1B E(b).2s(d)}N 7(E.1q(d))K 1B E(T)[E.1n.21?"21":"3U"](d);K 6.6E(d.1k==1M&&d||(d.5h||d.M&&d!=1e&&!d.15&&d[0]!=10&&d[0].15)&&E.2I(d)||[d])},5h:"1.2.3",87:J(){K 6.M},M:0,22:J(a){K a==10?E.2I(6):6[a]},2F:J(b){L a=E(b);a.54=6;K a},6E:J(a){6.M=0;1M.2l.1g.1i(6,a);K 6},R:J(a,b){K E.R(6,a,b)},4X:J(b){L a=-1;6.R(J(i){7(6==b)a=i});K a},1J:J(c,a,b){L d=c;7(c.1k==4e)7(a==10)K 6.M&&E[b||"1J"](6[0],c)||10;N{d={};d[c]=a}K 6.R(J(i){Q(c 1p d)E.1J(b?6.W:6,c,E.1l(6,d[c],b,i,c))})},1j:J(b,a){7((b==\'27\'||b==\'1R\')&&2M(a)<0)a=10;K 6.1J(b,a,"2o")},1u:J(b){7(1o b!="3V"&&b!=V)K 6.4x().3t((6[0]&&6[0].2i||T).5r(b));L a="";E.R(b||6,J(){E.R(6.3p,J(){7(6.15!=8)a+=6.15!=1?6.6K:E.1n.1u([6])})});K a},5m:J(b){7(6[0])E(b,6[0].2i).5k().3o(6[0]).2c(J(){L a=6;2b(a.1C)a=a.1C;K a}).3t(6);K 6},8w:J(a){K 6.R(J(){E(6).6z().5m(a)})},8p:J(a){K 6.R(J(){E(6).5m(a)})},3t:J(){K 6.3O(18,P,S,J(a){7(6.15==1)6.38(a)})},6q:J(){K 6.3O(18,P,P,J(a){7(6.15==1)6.3o(a,6.1C)})},6o:J(){K 6.3O(18,S,S,J(a){6.1a.3o(a,6)})},5a:J(){K 6.3O(18,S,P,J(a){6.1a.3o(a,6.2B)})},3h:J(){K 6.54||E([])},2s:J(b){L c=E.2c(6,J(a){K E.2s(b,a)});K 6.2F(/[^+>] [^+>]/.17(b)||b.1f("..")>-1?E.57(c):c)},5k:J(e){L f=6.2c(J(){7(E.14.1d&&!E.3E(6)){L a=6.69(P),4Y=T.3s("1x");4Y.38(a);K E.4a([4Y.3d])[0]}N K 6.69(P)});L d=f.2s("*").4R().R(J(){7(6[F]!=10)6[F]=V});7(e===P)6.2s("*").4R().R(J(i){7(6.15==3)K;L c=E.O(6,"2R");Q(L a 1p c)Q(L b 1p c[a])E.16.1b(d[i],a,c[a][b],c[a][b].O)});K f},1E:J(b){K 6.2F(E.1q(b)&&E.3y(6,J(a,i){K b.1P(a,i)})||E.3e(b,6))},56:J(b){7(b.1k==4e)7(G.17(b))K 6.2F(E.3e(b,6,P));N b=E.3e(b,6);L a=b.M&&b[b.M-1]!==10&&!b.15;K 6.1E(J(){K a?E.33(6,b)<0:6!=b})},1b:J(a){K!a?6:6.2F(E.37(6.22(),a.1k==4e?E(a).22():a.M!=10&&(!a.12||E.12(a,"3u"))?a:[a]))},3H:J(a){K a?E.3e(a,6).M>0:S},7j:J(a){K 6.3H("."+a)},5O:J(b){7(b==10){7(6.M){L c=6[0];7(E.12(c,"2k")){L e=c.3T,5I=[],11=c.11,2X=c.U=="2k-2X";7(e<0)K V;Q(L i=2X?e:0,2f=2X?e+1:11.M;i<2f;i++){L d=11[i];7(d.2p){b=E.14.1d&&!d.9J.1A.9y?d.1u:d.1A;7(2X)K b;5I.1g(b)}}K 5I}N K(6[0].1A||"").1r(/\\r/g,"")}K 10}K 6.R(J(){7(6.15!=1)K;7(b.1k==1M&&/5u|5t/.17(6.U))6.3k=(E.33(6.1A,b)>=0||E.33(6.31,b)>=0);N 7(E.12(6,"2k")){L a=b.1k==1M?b:[b];E("98",6).R(J(){6.2p=(E.33(6.1A,a)>=0||E.33(6.1u,a)>=0)});7(!a.M)6.3T=-1}N 6.1A=b})},3q:J(a){K a==10?(6.M?6[0].3d:V):6.4x().3t(a)},6S:J(a){K 6.5a(a).1V()},6Z:J(i){K 6.2K(i,i+1)},2K:J(){K 6.2F(1M.2l.2K.1i(6,18))},2c:J(b){K 6.2F(E.2c(6,J(a,i){K b.1P(a,i,a)}))},4R:J(){K 6.1b(6.54)},O:J(d,b){L a=d.23(".");a[1]=a[1]?"."+a[1]:"";7(b==V){L c=6.5n("8P"+a[1]+"!",[a[0]]);7(c==10&&6.M)c=E.O(6[0],d);K c==V&&a[1]?6.O(a[0]):c}N K 6.1N("8K"+a[1]+"!",[a[0],b]).R(J(){E.O(6,d,b)})},35:J(a){K 6.R(J(){E.35(6,a)})},3O:J(g,f,h,d){L e=6.M>1,3n;K 6.R(J(){7(!3n){3n=E.4a(g,6.2i);7(h)3n.8D()}L b=6;7(f&&E.12(6,"1O")&&E.12(3n[0],"4v"))b=6.3S("1U")[0]||6.38(6.2i.3s("1U"));L c=E([]);E.R(3n,J(){L a=e?E(6).5k(P)[0]:6;7(E.12(a,"1m")){c=c.1b(a)}N{7(a.15==1)c=c.1b(E("1m",a).1V());d.1P(b,a)}});c.R(6A)})}};E.2l.4T.2l=E.2l;J 6A(i,a){7(a.3Q)E.3P({1c:a.3Q,3l:S,1H:"1m"});N E.5g(a.1u||a.6x||a.3d||"");7(a.1a)a.1a.34(a)}E.1s=E.1n.1s=J(){L b=18[0]||{},i=1,M=18.M,5c=S,11;7(b.1k==8d){5c=b;b=18[1]||{};i=2}7(1o b!="3V"&&1o b!="J")b={};7(M==1){b=6;i=0}Q(;i<M;i++)7((11=18[i])!=V)Q(L a 1p 11){7(b===11[a])6w;7(5c&&11[a]&&1o 11[a]=="3V"&&b[a]&&!11[a].15)b[a]=E.1s(b[a],11[a]);N 7(11[a]!=10)b[a]=11[a]}K b};L F="3N"+(1B 3v()).3L(),6t=0,5b={};L H=/z-?4X|86-?84|1w|6k|7Z-?1R/i;E.1s({7Y:J(a){1e.$=D;7(a)1e.3N=w;K E},1q:J(a){K!!a&&1o a!="25"&&!a.12&&a.1k!=1M&&/J/i.17(a+"")},3E:J(a){K a.1F&&!a.1h||a.28&&a.2i&&!a.2i.1h},5g:J(a){a=E.3g(a);7(a){L b=T.3S("6f")[0]||T.1F,1m=T.3s("1m");1m.U="1u/4m";7(E.14.1d)1m.1u=a;N 1m.38(T.5r(a));b.38(1m);b.34(1m)}},12:J(b,a){K b.12&&b.12.2E()==a.2E()},1T:{},O:J(c,d,b){c=c==1e?5b:c;L a=c[F];7(!a)a=c[F]=++6t;7(d&&!E.1T[a])E.1T[a]={};7(b!=10)E.1T[a][d]=b;K d?E.1T[a][d]:a},35:J(c,b){c=c==1e?5b:c;L a=c[F];7(b){7(E.1T[a]){2V E.1T[a][b];b="";Q(b 1p E.1T[a])1Q;7(!b)E.35(c)}}N{1S{2V c[F]}1X(e){7(c.52)c.52(F)}2V E.1T[a]}},R:J(c,a,b){7(b){7(c.M==10){Q(L d 1p c)7(a.1i(c[d],b)===S)1Q}N Q(L i=0,M=c.M;i<M;i++)7(a.1i(c[i],b)===S)1Q}N{7(c.M==10){Q(L d 1p c)7(a.1P(c[d],d,c[d])===S)1Q}N Q(L i=0,M=c.M,1A=c[0];i<M&&a.1P(1A,i,1A)!==S;1A=c[++i]){}}K c},1l:J(b,a,c,i,d){7(E.1q(a))a=a.1P(b,i);K a&&a.1k==51&&c=="2o"&&!H.17(d)?a+"2S":a},1t:{1b:J(c,b){E.R((b||"").23(/\\s+/),J(i,a){7(c.15==1&&!E.1t.3Y(c.1t,a))c.1t+=(c.1t?" ":"")+a})},1V:J(c,b){7(c.15==1)c.1t=b!=10?E.3y(c.1t.23(/\\s+/),J(a){K!E.1t.3Y(b,a)}).6a(" "):""},3Y:J(b,a){K E.33(a,(b.1t||b).3X().23(/\\s+/))>-1}},68:J(b,c,a){L e={};Q(L d 1p c){e[d]=b.W[d];b.W[d]=c[d]}a.1P(b);Q(L d 1p c)b.W[d]=e[d]},1j:J(d,e,c){7(e=="27"||e=="1R"){L b,46={43:"4W",4U:"1Z",19:"3D"},3c=e=="27"?["7O","7M"]:["7J","7I"];J 5E(){b=e=="27"?d.7H:d.7F;L a=0,2N=0;E.R(3c,J(){a+=2M(E.2o(d,"7E"+6,P))||0;2N+=2M(E.2o(d,"2N"+6+"5X",P))||0});b-=24.7C(a+2N)}7(E(d).3H(":4d"))5E();N E.68(d,46,5E);K 24.2f(0,b)}K E.2o(d,e,c)},2o:J(e,k,j){L d;J 3x(b){7(!E.14.2d)K S;L a=T.4c.4K(b,V);K!a||a.4M("3x")==""}7(k=="1w"&&E.14.1d){d=E.1J(e.W,"1w");K d==""?"1":d}7(E.14.2z&&k=="19"){L c=e.W.50;e.W.50="0 7r 7o";e.W.50=c}7(k.1D(/4g/i))k=y;7(!j&&e.W&&e.W[k])d=e.W[k];N 7(T.4c&&T.4c.4K){7(k.1D(/4g/i))k="4g";k=k.1r(/([A-Z])/g,"-$1").2h();L h=T.4c.4K(e,V);7(h&&!3x(e))d=h.4M(k);N{L f=[],2C=[];Q(L a=e;a&&3x(a);a=a.1a)2C.4J(a);Q(L i=0;i<2C.M;i++)7(3x(2C[i])){f[i]=2C[i].W.19;2C[i].W.19="3D"}d=k=="19"&&f[2C.M-1]!=V?"2H":(h&&h.4M(k))||"";Q(L i=0;i<f.M;i++)7(f[i]!=V)2C[i].W.19=f[i]}7(k=="1w"&&d=="")d="1"}N 7(e.4n){L g=k.1r(/\\-(\\w)/g,J(a,b){K b.2E()});d=e.4n[k]||e.4n[g];7(!/^\\d+(2S)?$/i.17(d)&&/^\\d/.17(d)){L l=e.W.26,3K=e.3K.26;e.3K.26=e.4n.26;e.W.26=d||0;d=e.W.7f+"2S";e.W.26=l;e.3K.26=3K}}K d},4a:J(l,h){L k=[];h=h||T;7(1o h.3s==\'10\')h=h.2i||h[0]&&h[0].2i||T;E.R(l,J(i,d){7(!d)K;7(d.1k==51)d=d.3X();7(1o d=="25"){d=d.1r(/(<(\\w+)[^>]*?)\\/>/g,J(b,a,c){K c.1D(/^(aa|a6|7e|a5|4D|7a|a0|3m|9W|9U|9S)$/i)?b:a+"></"+c+">"});L f=E.3g(d).2h(),1x=h.3s("1x");L e=!f.1f("<9P")&&[1,"<2k 74=\'74\'>","</2k>"]||!f.1f("<9M")&&[1,"<73>","</73>"]||f.1D(/^<(9G|1U|9E|9B|9x)/)&&[1,"<1O>","</1O>"]||!f.1f("<4v")&&[2,"<1O><1U>","</1U></1O>"]||(!f.1f("<9w")||!f.1f("<9v"))&&[3,"<1O><1U><4v>","</4v></1U></1O>"]||!f.1f("<7e")&&[2,"<1O><1U></1U><6V>","</6V></1O>"]||E.14.1d&&[1,"1x<1x>","</1x>"]||[0,"",""];1x.3d=e[1]+d+e[2];2b(e[0]--)1x=1x.5o;7(E.14.1d){L g=!f.1f("<1O")&&f.1f("<1U")<0?1x.1C&&1x.1C.3p:e[1]=="<1O>"&&f.1f("<1U")<0?1x.3p:[];Q(L j=g.M-1;j>=0;--j)7(E.12(g[j],"1U")&&!g[j].3p.M)g[j].1a.34(g[j]);7(/^\\s/.17(d))1x.3o(h.5r(d.1D(/^\\s*/)[0]),1x.1C)}d=E.2I(1x.3p)}7(d.M===0&&(!E.12(d,"3u")&&!E.12(d,"2k")))K;7(d[0]==10||E.12(d,"3u")||d.11)k.1g(d);N k=E.37(k,d)});K k},1J:J(d,e,c){7(!d||d.15==3||d.15==8)K 10;L f=E.3E(d)?{}:E.46;7(e=="2p"&&E.14.2d)d.1a.3T;7(f[e]){7(c!=10)d[f[e]]=c;K d[f[e]]}N 7(E.14.1d&&e=="W")K E.1J(d.W,"9u",c);N 7(c==10&&E.14.1d&&E.12(d,"3u")&&(e=="9r"||e=="9o"))K d.9m(e).6K;N 7(d.28){7(c!=10){7(e=="U"&&E.12(d,"4D")&&d.1a)6Q"U 9i 9h\'t 9g 9e";d.9b(e,""+c)}7(E.14.1d&&/6O|3Q/.17(e)&&!E.3E(d))K d.4z(e,2);K d.4z(e)}N{7(e=="1w"&&E.14.1d){7(c!=10){d.6k=1;d.1E=(d.1E||"").1r(/6M\\([^)]*\\)/,"")+(2M(c).3X()=="96"?"":"6M(1w="+c*6L+")")}K d.1E&&d.1E.1f("1w=")>=0?(2M(d.1E.1D(/1w=([^)]*)/)[1])/6L).3X():""}e=e.1r(/-([a-z])/95,J(a,b){K b.2E()});7(c!=10)d[e]=c;K d[e]}},3g:J(a){K(a||"").1r(/^\\s+|\\s+$/g,"")},2I:J(b){L a=[];7(1o b!="93")Q(L i=0,M=b.M;i<M;i++)a.1g(b[i]);N a=b.2K(0);K a},33:J(b,a){Q(L i=0,M=a.M;i<M;i++)7(a[i]==b)K i;K-1},37:J(a,b){7(E.14.1d){Q(L i=0;b[i];i++)7(b[i].15!=8)a.1g(b[i])}N Q(L i=0;b[i];i++)a.1g(b[i]);K a},57:J(a){L c=[],2r={};1S{Q(L i=0,M=a.M;i<M;i++){L b=E.O(a[i]);7(!2r[b]){2r[b]=P;c.1g(a[i])}}}1X(e){c=a}K c},3y:J(c,a,d){L b=[];Q(L i=0,M=c.M;i<M;i++)7(!d&&a(c[i],i)||d&&!a(c[i],i))b.1g(c[i]);K b},2c:J(d,a){L c=[];Q(L i=0,M=d.M;i<M;i++){L b=a(d[i],i);7(b!==V&&b!=10){7(b.1k!=1M)b=[b];c=c.71(b)}}K c}});L v=8Y.8W.2h();E.14={5K:(v.1D(/.+(?:8T|8S|8R|8O)[\\/: ]([\\d.]+)/)||[])[1],2d:/77/.17(v),2z:/2z/.17(v),1d:/1d/.17(v)&&!/2z/.17(v),48:/48/.17(v)&&!/(8L|77)/.17(v)};L y=E.14.1d?"6H":"75";E.1s({8I:!E.14.1d||T.6F=="79",46:{"Q":"8F","8E":"1t","4g":y,75:y,6H:y,3d:"3d",1t:"1t",1A:"1A",2Y:"2Y",3k:"3k",8C:"8B",2p:"2p",8A:"8z",3T:"3T",6C:"6C",28:"28",12:"12"}});E.R({6B:J(a){K a.1a},8y:J(a){K E.4u(a,"1a")},8x:J(a){K E.2Z(a,2,"2B")},8v:J(a){K E.2Z(a,2,"4t")},8u:J(a){K E.4u(a,"2B")},8t:J(a){K E.4u(a,"4t")},8s:J(a){K E.5i(a.1a.1C,a)},8r:J(a){K E.5i(a.1C)},6z:J(a){K E.12(a,"8q")?a.8o||a.8n.T:E.2I(a.3p)}},J(c,d){E.1n[c]=J(b){L a=E.2c(6,d);7(b&&1o b=="25")a=E.3e(b,a);K 6.2F(E.57(a))}});E.R({6y:"3t",8m:"6q",3o:"6o",8l:"5a",8k:"6S"},J(c,b){E.1n[c]=J(){L a=18;K 6.R(J(){Q(L i=0,M=a.M;i<M;i++)E(a[i])[b](6)})}});E.R({8j:J(a){E.1J(6,a,"");7(6.15==1)6.52(a)},8i:J(a){E.1t.1b(6,a)},8h:J(a){E.1t.1V(6,a)},8g:J(a){E.1t[E.1t.3Y(6,a)?"1V":"1b"](6,a)},1V:J(a){7(!a||E.1E(a,[6]).r.M){E("*",6).1b(6).R(J(){E.16.1V(6);E.35(6)});7(6.1a)6.1a.34(6)}},4x:J(){E(">*",6).1V();2b(6.1C)6.34(6.1C)}},J(a,b){E.1n[a]=J(){K 6.R(b,18)}});E.R(["8f","5X"],J(i,c){L b=c.2h();E.1n[b]=J(a){K 6[0]==1e?E.14.2z&&T.1h["5e"+c]||E.14.2d&&1e["8e"+c]||T.6F=="79"&&T.1F["5e"+c]||T.1h["5e"+c]:6[0]==T?24.2f(24.2f(T.1h["5d"+c],T.1F["5d"+c]),24.2f(T.1h["5L"+c],T.1F["5L"+c])):a==10?(6.M?E.1j(6[0],b):V):6.1j(b,a.1k==4e?a:a+"2S")}});L C=E.14.2d&&4s(E.14.5K)<8c?"(?:[\\\\w*4r-]|\\\\\\\\.)":"(?:[\\\\w\\8b-\\8a*4r-]|\\\\\\\\.)",6v=1B 4q("^>\\\\s*("+C+"+)"),6u=1B 4q("^("+C+"+)(#)("+C+"+)"),6s=1B 4q("^([#.]?)("+C+"*)");E.1s({6r:{"":J(a,i,m){K m[2]=="*"||E.12(a,m[2])},"#":J(a,i,m){K a.4z("2w")==m[2]},":":{89:J(a,i,m){K i<m[3]-0},88:J(a,i,m){K i>m[3]-0},2Z:J(a,i,m){K m[3]-0==i},6Z:J(a,i,m){K m[3]-0==i},3j:J(a,i){K i==0},3J:J(a,i,m,r){K i==r.M-1},6n:J(a,i){K i%2==0},6l:J(a,i){K i%2},"3j-4p":J(a){K a.1a.3S("*")[0]==a},"3J-4p":J(a){K E.2Z(a.1a.5o,1,"4t")==a},"83-4p":J(a){K!E.2Z(a.1a.5o,2,"4t")},6B:J(a){K a.1C},4x:J(a){K!a.1C},82:J(a,i,m){K(a.6x||a.81||E(a).1u()||"").1f(m[3])>=0},4d:J(a){K"1Z"!=a.U&&E.1j(a,"19")!="2H"&&E.1j(a,"4U")!="1Z"},1Z:J(a){K"1Z"==a.U||E.1j(a,"19")=="2H"||E.1j(a,"4U")=="1Z"},80:J(a){K!a.2Y},2Y:J(a){K a.2Y},3k:J(a){K a.3k},2p:J(a){K a.2p||E.1J(a,"2p")},1u:J(a){K"1u"==a.U},5u:J(a){K"5u"==a.U},5t:J(a){K"5t"==a.U},59:J(a){K"59"==a.U},3I:J(a){K"3I"==a.U},58:J(a){K"58"==a.U},6j:J(a){K"6j"==a.U},6i:J(a){K"6i"==a.U},2G:J(a){K"2G"==a.U||E.12(a,"2G")},4D:J(a){K/4D|2k|6h|2G/i.17(a.12)},3Y:J(a,i,m){K E.2s(m[3],a).M},7X:J(a){K/h\\d/i.17(a.12)},7W:J(a){K E.3y(E.3G,J(b){K a==b.Y}).M}}},6g:[/^(\\[) *@?([\\w-]+) *([!*$^~=]*) *(\'?"?)(.*?)\\4 *\\]/,/^(:)([\\w-]+)\\("?\'?(.*?(\\(.*?\\))?[^(]*?)"?\'?\\)/,1B 4q("^([:.#]*)("+C+"+)")],3e:J(a,c,b){L d,2m=[];2b(a&&a!=d){d=a;L f=E.1E(a,c,b);a=f.t.1r(/^\\s*,\\s*/,"");2m=b?c=f.r:E.37(2m,f.r)}K 2m},2s:J(t,p){7(1o t!="25")K[t];7(p&&p.15!=1&&p.15!=9)K[];p=p||T;L d=[p],2r=[],3J,12;2b(t&&3J!=t){L r=[];3J=t;t=E.3g(t);L o=S;L g=6v;L m=g.2O(t);7(m){12=m[1].2E();Q(L i=0;d[i];i++)Q(L c=d[i].1C;c;c=c.2B)7(c.15==1&&(12=="*"||c.12.2E()==12))r.1g(c);d=r;t=t.1r(g,"");7(t.1f(" ")==0)6w;o=P}N{g=/^([>+~])\\s*(\\w*)/i;7((m=g.2O(t))!=V){r=[];L l={};12=m[2].2E();m=m[1];Q(L j=0,3f=d.M;j<3f;j++){L n=m=="~"||m=="+"?d[j].2B:d[j].1C;Q(;n;n=n.2B)7(n.15==1){L h=E.O(n);7(m=="~"&&l[h])1Q;7(!12||n.12.2E()==12){7(m=="~")l[h]=P;r.1g(n)}7(m=="+")1Q}}d=r;t=E.3g(t.1r(g,""));o=P}}7(t&&!o){7(!t.1f(",")){7(p==d[0])d.4l();2r=E.37(2r,d);r=d=[p];t=" "+t.6e(1,t.M)}N{L k=6u;L m=k.2O(t);7(m){m=[0,m[2],m[3],m[1]]}N{k=6s;m=k.2O(t)}m[2]=m[2].1r(/\\\\/g,"");L f=d[d.M-1];7(m[1]=="#"&&f&&f.5J&&!E.3E(f)){L q=f.5J(m[2]);7((E.14.1d||E.14.2z)&&q&&1o q.2w=="25"&&q.2w!=m[2])q=E(\'[@2w="\'+m[2]+\'"]\',f)[0];d=r=q&&(!m[3]||E.12(q,m[3]))?[q]:[]}N{Q(L i=0;d[i];i++){L a=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];7(a=="*"&&d[i].12.2h()=="3V")a="3m";r=E.37(r,d[i].3S(a))}7(m[1]==".")r=E.55(r,m[2]);7(m[1]=="#"){L e=[];Q(L i=0;r[i];i++)7(r[i].4z("2w")==m[2]){e=[r[i]];1Q}r=e}d=r}t=t.1r(k,"")}}7(t){L b=E.1E(t,r);d=r=b.r;t=E.3g(b.t)}}7(t)d=[];7(d&&p==d[0])d.4l();2r=E.37(2r,d);K 2r},55:J(r,m,a){m=" "+m+" ";L c=[];Q(L i=0;r[i];i++){L b=(" "+r[i].1t+" ").1f(m)>=0;7(!a&&b||a&&!b)c.1g(r[i])}K c},1E:J(t,r,h){L d;2b(t&&t!=d){d=t;L p=E.6g,m;Q(L i=0;p[i];i++){m=p[i].2O(t);7(m){t=t.7V(m[0].M);m[2]=m[2].1r(/\\\\/g,"");1Q}}7(!m)1Q;7(m[1]==":"&&m[2]=="56")r=G.17(m[3])?E.1E(m[3],r,P).r:E(r).56(m[3]);N 7(m[1]==".")r=E.55(r,m[2],h);N 7(m[1]=="["){L g=[],U=m[3];Q(L i=0,3f=r.M;i<3f;i++){L a=r[i],z=a[E.46[m[2]]||m[2]];7(z==V||/6O|3Q|2p/.17(m[2]))z=E.1J(a,m[2])||\'\';7((U==""&&!!z||U=="="&&z==m[5]||U=="!="&&z!=m[5]||U=="^="&&z&&!z.1f(m[5])||U=="$="&&z.6e(z.M-m[5].M)==m[5]||(U=="*="||U=="~=")&&z.1f(m[5])>=0)^h)g.1g(a)}r=g}N 7(m[1]==":"&&m[2]=="2Z-4p"){L e={},g=[],17=/(-?)(\\d*)n((?:\\+|-)?\\d*)/.2O(m[3]=="6n"&&"2n"||m[3]=="6l"&&"2n+1"||!/\\D/.17(m[3])&&"7U+"+m[3]||m[3]),3j=(17[1]+(17[2]||1))-0,d=17[3]-0;Q(L i=0,3f=r.M;i<3f;i++){L j=r[i],1a=j.1a,2w=E.O(1a);7(!e[2w]){L c=1;Q(L n=1a.1C;n;n=n.2B)7(n.15==1)n.4k=c++;e[2w]=P}L b=S;7(3j==0){7(j.4k==d)b=P}N 7((j.4k-d)%3j==0&&(j.4k-d)/3j>=0)b=P;7(b^h)g.1g(j)}r=g}N{L f=E.6r[m[1]];7(1o f=="3V")f=f[m[2]];7(1o f=="25")f=6c("S||J(a,i){K "+f+";}");r=E.3y(r,J(a,i){K f(a,i,m,r)},h)}}K{r:r,t:t}},4u:J(b,c){L d=[];L a=b[c];2b(a&&a!=T){7(a.15==1)d.1g(a);a=a[c]}K d},2Z:J(a,e,c,b){e=e||1;L d=0;Q(;a;a=a[c])7(a.15==1&&++d==e)1Q;K a},5i:J(n,a){L r=[];Q(;n;n=n.2B){7(n.15==1&&(!a||n!=a))r.1g(n)}K r}});E.16={1b:J(f,i,g,e){7(f.15==3||f.15==8)K;7(E.14.1d&&f.53!=10)f=1e;7(!g.2D)g.2D=6.2D++;7(e!=10){L h=g;g=J(){K h.1i(6,18)};g.O=e;g.2D=h.2D}L j=E.O(f,"2R")||E.O(f,"2R",{}),1v=E.O(f,"1v")||E.O(f,"1v",J(){L a;7(1o E=="10"||E.16.5f)K a;a=E.16.1v.1i(18.3R.Y,18);K a});1v.Y=f;E.R(i.23(/\\s+/),J(c,b){L a=b.23(".");b=a[0];g.U=a[1];L d=j[b];7(!d){d=j[b]={};7(!E.16.2y[b]||E.16.2y[b].4j.1P(f)===S){7(f.3F)f.3F(b,1v,S);N 7(f.6b)f.6b("4i"+b,1v)}}d[g.2D]=g;E.16.2a[b]=P});f=V},2D:1,2a:{},1V:J(e,h,f){7(e.15==3||e.15==8)K;L i=E.O(e,"2R"),29,4X;7(i){7(h==10||(1o h=="25"&&h.7T(0)=="."))Q(L g 1p i)6.1V(e,g+(h||""));N{7(h.U){f=h.2q;h=h.U}E.R(h.23(/\\s+/),J(b,a){L c=a.23(".");a=c[0];7(i[a]){7(f)2V i[a][f.2D];N Q(f 1p i[a])7(!c[1]||i[a][f].U==c[1])2V i[a][f];Q(29 1p i[a])1Q;7(!29){7(!E.16.2y[a]||E.16.2y[a].4h.1P(e)===S){7(e.67)e.67(a,E.O(e,"1v"),S);N 7(e.66)e.66("4i"+a,E.O(e,"1v"))}29=V;2V i[a]}}})}Q(29 1p i)1Q;7(!29){L d=E.O(e,"1v");7(d)d.Y=V;E.35(e,"2R");E.35(e,"1v")}}},1N:J(g,c,d,f,h){c=E.2I(c||[]);7(g.1f("!")>=0){g=g.2K(0,-1);L a=P}7(!d){7(6.2a[g])E("*").1b([1e,T]).1N(g,c)}N{7(d.15==3||d.15==8)K 10;L b,29,1n=E.1q(d[g]||V),16=!c[0]||!c[0].36;7(16)c.4J(6.4Z({U:g,2L:d}));c[0].U=g;7(a)c[0].65=P;7(E.1q(E.O(d,"1v")))b=E.O(d,"1v").1i(d,c);7(!1n&&d["4i"+g]&&d["4i"+g].1i(d,c)===S)b=S;7(16)c.4l();7(h&&E.1q(h)){29=h.1i(d,b==V?c:c.71(b));7(29!==10)b=29}7(1n&&f!==S&&b!==S&&!(E.12(d,\'a\')&&g=="4V")){6.5f=P;1S{d[g]()}1X(e){}}6.5f=S}K b},1v:J(c){L a;c=E.16.4Z(c||1e.16||{});L b=c.U.23(".");c.U=b[0];L f=E.O(6,"2R")&&E.O(6,"2R")[c.U],42=1M.2l.2K.1P(18,1);42.4J(c);Q(L j 1p f){L d=f[j];42[0].2q=d;42[0].O=d.O;7(!b[1]&&!c.65||d.U==b[1]){L e=d.1i(6,42);7(a!==S)a=e;7(e===S){c.36();c.44()}}}7(E.14.1d)c.2L=c.36=c.44=c.2q=c.O=V;K a},4Z:J(c){L a=c;c=E.1s({},a);c.36=J(){7(a.36)a.36();a.7S=S};c.44=J(){7(a.44)a.44();a.7R=P};7(!c.2L)c.2L=c.7Q||T;7(c.2L.15==3)c.2L=a.2L.1a;7(!c.4S&&c.5w)c.4S=c.5w==c.2L?c.7P:c.5w;7(c.64==V&&c.63!=V){L b=T.1F,1h=T.1h;c.64=c.63+(b&&b.2v||1h&&1h.2v||0)-(b.62||0);c.7N=c.7L+(b&&b.2x||1h&&1h.2x||0)-(b.60||0)}7(!c.3c&&((c.4f||c.4f===0)?c.4f:c.5Z))c.3c=c.4f||c.5Z;7(!c.7b&&c.5Y)c.7b=c.5Y;7(!c.3c&&c.2G)c.3c=(c.2G&1?1:(c.2G&2?3:(c.2G&4?2:0)));K c},2y:{21:{4j:J(){5M();K},4h:J(){K}},3C:{4j:J(){7(E.14.1d)K S;E(6).2j("4P",E.16.2y.3C.2q);K P},4h:J(){7(E.14.1d)K S;E(6).3w("4P",E.16.2y.3C.2q);K P},2q:J(a){7(I(a,6))K P;18[0].U="3C";K E.16.1v.1i(6,18)}},3B:{4j:J(){7(E.14.1d)K S;E(6).2j("4O",E.16.2y.3B.2q);K P},4h:J(){7(E.14.1d)K S;E(6).3w("4O",E.16.2y.3B.2q);K P},2q:J(a){7(I(a,6))K P;18[0].U="3B";K E.16.1v.1i(6,18)}}}};E.1n.1s({2j:J(c,a,b){K c=="4H"?6.2X(c,a,b):6.R(J(){E.16.1b(6,c,b||a,b&&a)})},2X:J(d,b,c){K 6.R(J(){E.16.1b(6,d,J(a){E(6).3w(a);K(c||b).1i(6,18)},c&&b)})},3w:J(a,b){K 6.R(J(){E.16.1V(6,a,b)})},1N:J(c,a,b){K 6.R(J(){E.16.1N(c,a,6,P,b)})},5n:J(c,a,b){7(6[0])K E.16.1N(c,a,6[0],S,b);K 10},2g:J(){L b=18;K 6.4V(J(a){6.4N=0==6.4N?1:0;a.36();K b[6.4N].1i(6,18)||S})},7D:J(a,b){K 6.2j(\'3C\',a).2j(\'3B\',b)},21:J(a){5M();7(E.2Q)a.1P(T,E);N E.3A.1g(J(){K a.1P(6,E)});K 6}});E.1s({2Q:S,3A:[],21:J(){7(!E.2Q){E.2Q=P;7(E.3A){E.R(E.3A,J(){6.1i(T)});E.3A=V}E(T).5n("21")}}});L x=S;J 5M(){7(x)K;x=P;7(T.3F&&!E.14.2z)T.3F("5W",E.21,S);7(E.14.1d&&1e==3b)(J(){7(E.2Q)K;1S{T.1F.7B("26")}1X(3a){3z(18.3R,0);K}E.21()})();7(E.14.2z)T.3F("5W",J(){7(E.2Q)K;Q(L i=0;i<T.4L.M;i++)7(T.4L[i].2Y){3z(18.3R,0);K}E.21()},S);7(E.14.2d){L a;(J(){7(E.2Q)K;7(T.39!="5V"&&T.39!="1y"){3z(18.3R,0);K}7(a===10)a=E("W, 7a[7A=7z]").M;7(T.4L.M!=a){3z(18.3R,0);K}E.21()})()}E.16.1b(1e,"3U",E.21)}E.R(("7y,7x,3U,7w,5d,4H,4V,7v,"+"7G,7u,7t,4P,4O,7s,2k,"+"58,7K,7q,7p,3a").23(","),J(i,b){E.1n[b]=J(a){K a?6.2j(b,a):6.1N(b)}});L I=J(a,c){L b=a.4S;2b(b&&b!=c)1S{b=b.1a}1X(3a){b=c}K b==c};E(1e).2j("4H",J(){E("*").1b(T).3w()});E.1n.1s({3U:J(g,d,c){7(E.1q(g))K 6.2j("3U",g);L e=g.1f(" ");7(e>=0){L i=g.2K(e,g.M);g=g.2K(0,e)}c=c||J(){};L f="4Q";7(d)7(E.1q(d)){c=d;d=V}N{d=E.3m(d);f="61"}L h=6;E.3P({1c:g,U:f,1H:"3q",O:d,1y:J(a,b){7(b=="1W"||b=="5U")h.3q(i?E("<1x/>").3t(a.4b.1r(/<1m(.|\\s)*?\\/1m>/g,"")).2s(i):a.4b);h.R(c,[a.4b,b,a])}});K 6},7n:J(){K E.3m(6.5T())},5T:J(){K 6.2c(J(){K E.12(6,"3u")?E.2I(6.7m):6}).1E(J(){K 6.31&&!6.2Y&&(6.3k||/2k|6h/i.17(6.12)||/1u|1Z|3I/i.17(6.U))}).2c(J(i,c){L b=E(6).5O();K b==V?V:b.1k==1M?E.2c(b,J(a,i){K{31:c.31,1A:a}}):{31:c.31,1A:b}}).22()}});E.R("5S,6d,5R,6D,5Q,6m".23(","),J(i,o){E.1n[o]=J(f){K 6.2j(o,f)}});L B=(1B 3v).3L();E.1s({22:J(d,b,a,c){7(E.1q(b)){a=b;b=V}K E.3P({U:"4Q",1c:d,O:b,1W:a,1H:c})},7l:J(b,a){K E.22(b,V,a,"1m")},7k:J(c,b,a){K E.22(c,b,a,"3i")},7i:J(d,b,a,c){7(E.1q(b)){a=b;b={}}K E.3P({U:"61",1c:d,O:b,1W:a,1H:c})},85:J(a){E.1s(E.4I,a)},4I:{2a:P,U:"4Q",2U:0,5P:"4o/x-7h-3u-7g",5N:P,3l:P,O:V,6p:V,3I:V,49:{3M:"4o/3M, 1u/3M",3q:"1u/3q",1m:"1u/4m, 4o/4m",3i:"4o/3i, 1u/4m",1u:"1u/a7",4G:"*/*"}},4F:{},3P:J(s){L f,2W=/=\\?(&|$)/g,1z,O;s=E.1s(P,s,E.1s(P,{},E.4I,s));7(s.O&&s.5N&&1o s.O!="25")s.O=E.3m(s.O);7(s.1H=="4E"){7(s.U.2h()=="22"){7(!s.1c.1D(2W))s.1c+=(s.1c.1D(/\\?/)?"&":"?")+(s.4E||"7d")+"=?"}N 7(!s.O||!s.O.1D(2W))s.O=(s.O?s.O+"&":"")+(s.4E||"7d")+"=?";s.1H="3i"}7(s.1H=="3i"&&(s.O&&s.O.1D(2W)||s.1c.1D(2W))){f="4E"+B++;7(s.O)s.O=(s.O+"").1r(2W,"="+f+"$1");s.1c=s.1c.1r(2W,"="+f+"$1");s.1H="1m";1e[f]=J(a){O=a;1W();1y();1e[f]=10;1S{2V 1e[f]}1X(e){}7(h)h.34(g)}}7(s.1H=="1m"&&s.1T==V)s.1T=S;7(s.1T===S&&s.U.2h()=="22"){L i=(1B 3v()).3L();L j=s.1c.1r(/(\\?|&)4r=.*?(&|$)/,"$a4="+i+"$2");s.1c=j+((j==s.1c)?(s.1c.1D(/\\?/)?"&":"?")+"4r="+i:"")}7(s.O&&s.U.2h()=="22"){s.1c+=(s.1c.1D(/\\?/)?"&":"?")+s.O;s.O=V}7(s.2a&&!E.5H++)E.16.1N("5S");7((!s.1c.1f("a3")||!s.1c.1f("//"))&&s.1H=="1m"&&s.U.2h()=="22"){L h=T.3S("6f")[0];L g=T.3s("1m");g.3Q=s.1c;7(s.7c)g.a2=s.7c;7(!f){L l=S;g.9Z=g.9Y=J(){7(!l&&(!6.39||6.39=="5V"||6.39=="1y")){l=P;1W();1y();h.34(g)}}}h.38(g);K 10}L m=S;L k=1e.78?1B 78("9X.9V"):1B 76();k.9T(s.U,s.1c,s.3l,s.6p,s.3I);1S{7(s.O)k.4C("9R-9Q",s.5P);7(s.5C)k.4C("9O-5A-9N",E.4F[s.1c]||"9L, 9K 9I 9H 5z:5z:5z 9F");k.4C("X-9C-9A","76");k.4C("9z",s.1H&&s.49[s.1H]?s.49[s.1H]+", */*":s.49.4G)}1X(e){}7(s.6Y)s.6Y(k);7(s.2a)E.16.1N("6m",[k,s]);L c=J(a){7(!m&&k&&(k.39==4||a=="2U")){m=P;7(d){6I(d);d=V}1z=a=="2U"&&"2U"||!E.6X(k)&&"3a"||s.5C&&E.6J(k,s.1c)&&"5U"||"1W";7(1z=="1W"){1S{O=E.6W(k,s.1H)}1X(e){1z="5x"}}7(1z=="1W"){L b;1S{b=k.5q("6U-5A")}1X(e){}7(s.5C&&b)E.4F[s.1c]=b;7(!f)1W()}N E.5v(s,k,1z);1y();7(s.3l)k=V}};7(s.3l){L d=53(c,13);7(s.2U>0)3z(J(){7(k){k.9t();7(!m)c("2U")}},s.2U)}1S{k.9s(s.O)}1X(e){E.5v(s,k,V,e)}7(!s.3l)c();J 1W(){7(s.1W)s.1W(O,1z);7(s.2a)E.16.1N("5Q",[k,s])}J 1y(){7(s.1y)s.1y(k,1z);7(s.2a)E.16.1N("5R",[k,s]);7(s.2a&&!--E.5H)E.16.1N("6d")}K k},5v:J(s,a,b,e){7(s.3a)s.3a(a,b,e);7(s.2a)E.16.1N("6D",[a,s,e])},5H:0,6X:J(r){1S{K!r.1z&&9q.9p=="59:"||(r.1z>=6T&&r.1z<9n)||r.1z==6R||r.1z==9l||E.14.2d&&r.1z==10}1X(e){}K S},6J:J(a,c){1S{L b=a.5q("6U-5A");K a.1z==6R||b==E.4F[c]||E.14.2d&&a.1z==10}1X(e){}K S},6W:J(r,b){L c=r.5q("9k-U");L d=b=="3M"||!b&&c&&c.1f("3M")>=0;L a=d?r.9j:r.4b;7(d&&a.1F.28=="5x")6Q"5x";7(b=="1m")E.5g(a);7(b=="3i")a=6c("("+a+")");K a},3m:J(a){L s=[];7(a.1k==1M||a.5h)E.R(a,J(){s.1g(3r(6.31)+"="+3r(6.1A))});N Q(L j 1p a)7(a[j]&&a[j].1k==1M)E.R(a[j],J(){s.1g(3r(j)+"="+3r(6))});N s.1g(3r(j)+"="+3r(a[j]));K s.6a("&").1r(/%20/g,"+")}});E.1n.1s({1G:J(c,b){K c?6.2e({1R:"1G",27:"1G",1w:"1G"},c,b):6.1E(":1Z").R(J(){6.W.19=6.5s||"";7(E.1j(6,"19")=="2H"){L a=E("<"+6.28+" />").6y("1h");6.W.19=a.1j("19");7(6.W.19=="2H")6.W.19="3D";a.1V()}}).3h()},1I:J(b,a){K b?6.2e({1R:"1I",27:"1I",1w:"1I"},b,a):6.1E(":4d").R(J(){6.5s=6.5s||E.1j(6,"19");6.W.19="2H"}).3h()},6N:E.1n.2g,2g:J(a,b){K E.1q(a)&&E.1q(b)?6.6N(a,b):a?6.2e({1R:"2g",27:"2g",1w:"2g"},a,b):6.R(J(){E(6)[E(6).3H(":1Z")?"1G":"1I"]()})},9f:J(b,a){K 6.2e({1R:"1G"},b,a)},9d:J(b,a){K 6.2e({1R:"1I"},b,a)},9c:J(b,a){K 6.2e({1R:"2g"},b,a)},9a:J(b,a){K 6.2e({1w:"1G"},b,a)},99:J(b,a){K 6.2e({1w:"1I"},b,a)},97:J(c,a,b){K 6.2e({1w:a},c,b)},2e:J(l,k,j,h){L i=E.6P(k,j,h);K 6[i.2P===S?"R":"2P"](J(){7(6.15!=1)K S;L g=E.1s({},i);L f=E(6).3H(":1Z"),4A=6;Q(L p 1p l){7(l[p]=="1I"&&f||l[p]=="1G"&&!f)K E.1q(g.1y)&&g.1y.1i(6);7(p=="1R"||p=="27"){g.19=E.1j(6,"19");g.32=6.W.32}}7(g.32!=V)6.W.32="1Z";g.40=E.1s({},l);E.R(l,J(c,a){L e=1B E.2t(4A,g,c);7(/2g|1G|1I/.17(a))e[a=="2g"?f?"1G":"1I":a](l);N{L b=a.3X().1D(/^([+-]=)?([\\d+-.]+)(.*)$/),1Y=e.2m(P)||0;7(b){L d=2M(b[2]),2A=b[3]||"2S";7(2A!="2S"){4A.W[c]=(d||1)+2A;1Y=((d||1)/e.2m(P))*1Y;4A.W[c]=1Y+2A}7(b[1])d=((b[1]=="-="?-1:1)*d)+1Y;e.45(1Y,d,2A)}N e.45(1Y,a,"")}});K P})},2P:J(a,b){7(E.1q(a)||(a&&a.1k==1M)){b=a;a="2t"}7(!a||(1o a=="25"&&!b))K A(6[0],a);K 6.R(J(){7(b.1k==1M)A(6,a,b);N{A(6,a).1g(b);7(A(6,a).M==1)b.1i(6)}})},94:J(b,c){L a=E.3G;7(b)6.2P([]);6.R(J(){Q(L i=a.M-1;i>=0;i--)7(a[i].Y==6){7(c)a[i](P);a.72(i,1)}});7(!c)6.5p();K 6}});L A=J(b,c,a){7(!b)K 10;c=c||"2t";L q=E.O(b,c+"2P");7(!q||a)q=E.O(b,c+"2P",a?E.2I(a):[]);K q};E.1n.5p=J(a){a=a||"2t";K 6.R(J(){L q=A(6,a);q.4l();7(q.M)q[0].1i(6)})};E.1s({6P:J(b,a,c){L d=b&&b.1k==92?b:{1y:c||!c&&a||E.1q(b)&&b,2u:b,3Z:c&&a||a&&a.1k!=91&&a};d.2u=(d.2u&&d.2u.1k==51?d.2u:{90:8Z,9D:6T}[d.2u])||8X;d.5y=d.1y;d.1y=J(){7(d.2P!==S)E(6).5p();7(E.1q(d.5y))d.5y.1i(6)};K d},3Z:{70:J(p,n,b,a){K b+a*p},5j:J(p,n,b,a){K((-24.8V(p*24.8U)/2)+0.5)*a+b}},3G:[],3W:V,2t:J(b,c,a){6.11=c;6.Y=b;6.1l=a;7(!c.47)c.47={}}});E.2t.2l={4y:J(){7(6.11.30)6.11.30.1i(6.Y,[6.2J,6]);(E.2t.30[6.1l]||E.2t.30.4G)(6);7(6.1l=="1R"||6.1l=="27")6.Y.W.19="3D"},2m:J(a){7(6.Y[6.1l]!=V&&6.Y.W[6.1l]==V)K 6.Y[6.1l];L r=2M(E.1j(6.Y,6.1l,a));K r&&r>-8Q?r:2M(E.2o(6.Y,6.1l))||0},45:J(c,b,d){6.5B=(1B 3v()).3L();6.1Y=c;6.3h=b;6.2A=d||6.2A||"2S";6.2J=6.1Y;6.4B=6.4w=0;6.4y();L e=6;J t(a){K e.30(a)}t.Y=6.Y;E.3G.1g(t);7(E.3W==V){E.3W=53(J(){L a=E.3G;Q(L i=0;i<a.M;i++)7(!a[i]())a.72(i--,1);7(!a.M){6I(E.3W);E.3W=V}},13)}},1G:J(){6.11.47[6.1l]=E.1J(6.Y.W,6.1l);6.11.1G=P;6.45(0,6.2m());7(6.1l=="27"||6.1l=="1R")6.Y.W[6.1l]="8N";E(6.Y).1G()},1I:J(){6.11.47[6.1l]=E.1J(6.Y.W,6.1l);6.11.1I=P;6.45(6.2m(),0)},30:J(a){L t=(1B 3v()).3L();7(a||t>6.11.2u+6.5B){6.2J=6.3h;6.4B=6.4w=1;6.4y();6.11.40[6.1l]=P;L b=P;Q(L i 1p 6.11.40)7(6.11.40[i]!==P)b=S;7(b){7(6.11.19!=V){6.Y.W.32=6.11.32;6.Y.W.19=6.11.19;7(E.1j(6.Y,"19")=="2H")6.Y.W.19="3D"}7(6.11.1I)6.Y.W.19="2H";7(6.11.1I||6.11.1G)Q(L p 1p 6.11.40)E.1J(6.Y.W,p,6.11.47[p])}7(b&&E.1q(6.11.1y))6.11.1y.1i(6.Y);K S}N{L n=t-6.5B;6.4w=n/6.11.2u;6.4B=E.3Z[6.11.3Z||(E.3Z.5j?"5j":"70")](6.4w,n,0,1,6.11.2u);6.2J=6.1Y+((6.3h-6.1Y)*6.4B);6.4y()}K P}};E.2t.30={2v:J(a){a.Y.2v=a.2J},2x:J(a){a.Y.2x=a.2J},1w:J(a){E.1J(a.Y.W,"1w",a.2J)},4G:J(a){a.Y.W[a.1l]=a.2J+a.2A}};E.1n.5L=J(){L b=0,3b=0,Y=6[0],5l;7(Y)8M(E.14){L d=Y.1a,41=Y,1K=Y.1K,1L=Y.2i,5D=2d&&4s(5K)<8J&&!/a1/i.17(v),2T=E.1j(Y,"43")=="2T";7(Y.6G){L c=Y.6G();1b(c.26+24.2f(1L.1F.2v,1L.1h.2v),c.3b+24.2f(1L.1F.2x,1L.1h.2x));1b(-1L.1F.62,-1L.1F.60)}N{1b(Y.5G,Y.5F);2b(1K){1b(1K.5G,1K.5F);7(48&&!/^t(8H|d|h)$/i.17(1K.28)||2d&&!5D)2N(1K);7(!2T&&E.1j(1K,"43")=="2T")2T=P;41=/^1h$/i.17(1K.28)?41:1K;1K=1K.1K}2b(d&&d.28&&!/^1h|3q$/i.17(d.28)){7(!/^8G|1O.*$/i.17(E.1j(d,"19")))1b(-d.2v,-d.2x);7(48&&E.1j(d,"32")!="4d")2N(d);d=d.1a}7((5D&&(2T||E.1j(41,"43")=="4W"))||(48&&E.1j(41,"43")!="4W"))1b(-1L.1h.5G,-1L.1h.5F);7(2T)1b(24.2f(1L.1F.2v,1L.1h.2v),24.2f(1L.1F.2x,1L.1h.2x))}5l={3b:3b,26:b}}J 2N(a){1b(E.2o(a,"a8",P),E.2o(a,"a9",P))}J 1b(l,t){b+=4s(l)||0;3b+=4s(t)||0}K 5l}})();',62,631,'||||||this|if||||||||||||||||||||||||||||||||||||||function|return|var|length|else|data|true|for|each|false|document|type|null|style||elem||undefined|options|nodeName||browser|nodeType|event|test|arguments|display|parentNode|add|url|msie|window|indexOf|push|body|apply|css|constructor|prop|script|fn|typeof|in|isFunction|replace|extend|className|text|handle|opacity|div|complete|status|value|new|firstChild|match|filter|documentElement|show|dataType|hide|attr|offsetParent|doc|Array|trigger|table|call|break|height|try|cache|tbody|remove|success|catch|start|hidden||ready|get|split|Math|string|left|width|tagName|ret|global|while|map|safari|animate|max|toggle|toLowerCase|ownerDocument|bind|select|prototype|cur||curCSS|selected|handler|done|find|fx|duration|scrollLeft|id|scrollTop|special|opera|unit|nextSibling|stack|guid|toUpperCase|pushStack|button|none|makeArray|now|slice|target|parseFloat|border|exec|queue|isReady|events|px|fixed|timeout|delete|jsre|one|disabled|nth|step|name|overflow|inArray|removeChild|removeData|preventDefault|merge|appendChild|readyState|error|top|which|innerHTML|multiFilter|rl|trim|end|json|first|checked|async|param|elems|insertBefore|childNodes|html|encodeURIComponent|createElement|append|form|Date|unbind|color|grep|setTimeout|readyList|mouseleave|mouseenter|block|isXMLDoc|addEventListener|timers|is|password|last|runtimeStyle|getTime|xml|jQuery|domManip|ajax|src|callee|getElementsByTagName|selectedIndex|load|object|timerId|toString|has|easing|curAnim|offsetChild|args|position|stopPropagation|custom|props|orig|mozilla|accepts|clean|responseText|defaultView|visible|String|charCode|float|teardown|on|setup|nodeIndex|shift|javascript|currentStyle|application|child|RegExp|_|parseInt|previousSibling|dir|tr|state|empty|update|getAttribute|self|pos|setRequestHeader|input|jsonp|lastModified|_default|unload|ajaxSettings|unshift|getComputedStyle|styleSheets|getPropertyValue|lastToggle|mouseout|mouseover|GET|andSelf|relatedTarget|init|visibility|click|absolute|index|container|fix|outline|Number|removeAttribute|setInterval|prevObject|classFilter|not|unique|submit|file|after|windowData|deep|scroll|client|triggered|globalEval|jquery|sibling|swing|clone|results|wrapAll|triggerHandler|lastChild|dequeue|getResponseHeader|createTextNode|oldblock|checkbox|radio|handleError|fromElement|parsererror|old|00|Modified|startTime|ifModified|safari2|getWH|offsetTop|offsetLeft|active|values|getElementById|version|offset|bindReady|processData|val|contentType|ajaxSuccess|ajaxComplete|ajaxStart|serializeArray|notmodified|loaded|DOMContentLoaded|Width|ctrlKey|keyCode|clientTop|POST|clientLeft|clientX|pageX|exclusive|detachEvent|removeEventListener|swap|cloneNode|join|attachEvent|eval|ajaxStop|substr|head|parse|textarea|reset|image|zoom|odd|ajaxSend|even|before|username|prepend|expr|quickClass|uuid|quickID|quickChild|continue|textContent|appendTo|contents|evalScript|parent|defaultValue|ajaxError|setArray|compatMode|getBoundingClientRect|styleFloat|clearInterval|httpNotModified|nodeValue|100|alpha|_toggle|href|speed|throw|304|replaceWith|200|Last|colgroup|httpData|httpSuccess|beforeSend|eq|linear|concat|splice|fieldset|multiple|cssFloat|XMLHttpRequest|webkit|ActiveXObject|CSS1Compat|link|metaKey|scriptCharset|callback|col|pixelLeft|urlencoded|www|post|hasClass|getJSON|getScript|elements|serialize|black|keyup|keypress|solid|change|mousemove|mouseup|dblclick|resize|focus|blur|stylesheet|rel|doScroll|round|hover|padding|offsetHeight|mousedown|offsetWidth|Bottom|Top|keydown|clientY|Right|pageY|Left|toElement|srcElement|cancelBubble|returnValue|charAt|0n|substring|animated|header|noConflict|line|enabled|innerText|contains|only|weight|ajaxSetup|font|size|gt|lt|uFFFF|u0128|417|Boolean|inner|Height|toggleClass|removeClass|addClass|removeAttr|replaceAll|insertAfter|prependTo|contentWindow|contentDocument|wrap|iframe|children|siblings|prevAll|nextAll|prev|wrapInner|next|parents|maxLength|maxlength|readOnly|readonly|reverse|class|htmlFor|inline|able|boxModel|522|setData|compatible|with|1px|ie|getData|10000|ra|it|rv|PI|cos|userAgent|400|navigator|600|slow|Function|Object|array|stop|ig|NaN|fadeTo|option|fadeOut|fadeIn|setAttribute|slideToggle|slideUp|changed|slideDown|be|can|property|responseXML|content|1223|getAttributeNode|300|method|protocol|location|action|send|abort|cssText|th|td|cap|specified|Accept|With|colg|Requested|fast|tfoot|GMT|thead|1970|Jan|attributes|01|Thu|leg|Since|If|opt|Type|Content|embed|open|area|XMLHTTP|hr|Microsoft|onreadystatechange|onload|meta|adobeair|charset|http|1_|img|br|plain|borderLeftWidth|borderTopWidth|abbr'.split('|'),0,{}))/*
 * Thickbox 3.1 - One Box To Rule Them All.
 * By Cody Lindley (http://www.codylindley.com)
 * Copyright (c) 2007 cody lindley
 * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
*/

var tb_pathToImage = "/Theme/images/1x1.gif";
//var tb_pathToImage = "";

/*!!!!!!!!!!!!!!!!! edit below this line at your own risk !!!!!!!!!!!!!!!!!!!!!!!*/

//on page load call tb_init

// sno : change charecter $ is jQuery to call because conflict with mootools.js

jQuery.noConflict();

jQuery(document).ready(function(){   
	tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
	imgLoader = new Image();// preload image
	//imgLoader.src = tb_pathToImage;
});






//add thickbox to href & area elements that have a class of .thickbox
function tb_init(domChunk){
	jQuery(domChunk).click(function(){
	var t = this.title || this.name || null;
	var a = this.href || this.alt;
	var g = this.rel || false;
	tb_show(t,a,g);
	this.blur();
	return false;
	});
}
var ArrCall = []
var _temp_window_settimeout = null
function CallThickBox(CallStr)
{
    if(ArrCall.length > 0)
    {
      tb_remove()
    }
    _temp_window_settimeout = window.setTimeout('tb_show("","' + CallStr + '","");', 300)
    ArrCall.push(CallStr)
}
function ClooseThickBox()
{
    window.clearTimeout(_temp_window_settimeout)
    if (ArrCall.length > 0) {
        tb_remove()
    }
}
function tb_show(caption, url, imageGroup) {//function called when the user clicks on a thickbox link
    var RegWarns = /U_DivOverlay1/;
    var string2 = url;
    var matchPos2 = string2.search(RegWarns);
    var RegExps = /helpvhs/;
    var string1 = url;
    var matchPos1 = string1.search(RegExps);
    var Regsugg = /UDivSuggestion/;
    var string3 = url;
    var matchPos3 = string3.search(Regsugg);
    var legalstat = /LegalStatus/;
    var matchPos4 = string3.search(legalstat);
    var TickboxLoad = /TickboxLoad/;
    var matchPos5 = string3.search(TickboxLoad);
   	try {
		if (typeof document.body.style.maxHeight === "undefined") {//if IE 6
			jQuery("body","html").css({height: "100%", width: "100%"});
			jQuery("html").css("overflow","hidden");
			if (document.getElementById("TB_HideSelect") === null) {//iframe to hide select elements in ie6
				jQuery("body").append("<iframe id='TB_HideSelect'></iframe><div id='TB_overlay'></div><div id='TB_window'></div>");
				document.getElementById("TB_overlay").style.position = "absolute";
				document.getElementById("TB_overlay").style.height = (document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px');
				document.getElementById("TB_HideSelect").style.position = "absolute";
				document.getElementById("TB_HideSelect").style.height = (document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px');
				document.getElementById("TB_window").style.position = "absolute";
				if (matchPos1 != -1) {
				    document.getElementById("TB_window").style.marginTop = "-240px";
				}
				else if (matchPos3 != -1) {				
				    document.getElementById("TB_window").style.marginTop = "-240px";
				}
				else if (matchPos2 ==41) {
				   document.getElementById("TB_window").style.marginTop = "-240px";
				}
				else {
				       document.getElementById("TB_window").style.marginTop = (0 - parseInt(document.getElementById("TB_window").offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px');
				}
				//document.getElementById("TB_window").style.marginTop = (0 - parseInt(document.getElementById("TB_window").offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px');
				jQuery("#TB_overlay").click(tb_remove);
			}
		}else{//all others
			if(document.getElementById("TB_overlay") === null){
				jQuery("body").append("<div id='TB_overlay'></div><div id='TB_window'></div>");
				jQuery("#TB_overlay").click(tb_remove);
			}
		}
		
		if(tb_detectMacXFF()){
			jQuery("#TB_overlay").addClass("TB_overlayMacFFBGHack");//use png overlay so hide flash
		}else{
			jQuery("#TB_overlay").addClass("TB_overlayBG");//use background and opacity
		}
		
		if(caption===null){caption="";}
		jQuery("body").append("<div id='TB_load'><img src='"+imgLoader.src+"' /></div>");//add loader to the page
		document.getElementById("TB_load").style.position = "absolute";
		document.getElementById("TB_load").style.marginTop = (0 - parseInt(document.getElementById("TB_load").offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px');
		jQuery('#TB_load').show();//show loader
		
		var baseURL;
	   if(url.indexOf("?")!==-1){ //ff there is a query string involved
			baseURL = url.substr(0, url.indexOf("?"));
	   }else{ 
	   		baseURL = url;
	   }
	   
	   var urlString = /\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$/;
	   var urlType = baseURL.toLowerCase().match(urlString);

		if(urlType == '.jpg' || urlType == '.jpeg' || urlType == '.png' || urlType == '.gif' || urlType == '.bmp'){//code to show images
				
			TB_PrevCaption = "";
			TB_PrevURL = "";
			TB_PrevHTML = "";
			TB_NextCaption = "";
			TB_NextURL = "";
			TB_NextHTML = "";
			TB_imageCount = "";
			TB_FoundURL = false;
			if(imageGroup){
				TB_TempArray = jQuery("a[@rel="+imageGroup+"]").get();
				for (TB_Counter = 0; ((TB_Counter < TB_TempArray.length) && (TB_NextHTML === "")); TB_Counter++) {
					var urlTypeTemp = TB_TempArray[TB_Counter].href.toLowerCase().match(urlString);
						if (!(TB_TempArray[TB_Counter].href == url)) {						
							if (TB_FoundURL) {
								TB_NextCaption = TB_TempArray[TB_Counter].title;
								TB_NextURL = TB_TempArray[TB_Counter].href;
								TB_NextHTML = "<span id='TB_next'>&nbsp;&nbsp;<a href='#'>Next &gt;</a></span>";
							} else {
								TB_PrevCaption = TB_TempArray[TB_Counter].title;
								TB_PrevURL = TB_TempArray[TB_Counter].href;
								TB_PrevHTML = "<span id='TB_prev'>&nbsp;&nbsp;<a href='#'>&lt; Prev</a></span>";
							}
						} else {
							TB_FoundURL = true;
							TB_imageCount = "Image " + (TB_Counter + 1) +" of "+ (TB_TempArray.length);											
						}
				}
			}

			imgPreloader = new Image();
			imgPreloader.onload = function(){		
			imgPreloader.onload = null;
				
			// Resizing large images - orginal by Christian Montoya edited by me.
			var pagesize = tb_getPageSize();
			var x = pagesize[0] - 150;
			var y = pagesize[1] - 150;
			var imageWidth = imgPreloader.width;
			var imageHeight = imgPreloader.height;
			if (imageWidth > x) {
				imageHeight = imageHeight * (x / imageWidth); 
				imageWidth = x; 
				if (imageHeight > y) { 
					imageWidth = imageWidth * (y / imageHeight); 
					imageHeight = y; 
				}
			} else if (imageHeight > y) { 
				imageWidth = imageWidth * (y / imageHeight); 
				imageHeight = y; 
				if (imageWidth > x) { 
					imageHeight = imageHeight * (x / imageWidth); 
					imageWidth = x;
				}
			}
			// End Resizing
			
			TB_WIDTH = imageWidth + 30;
			TB_HEIGHT = imageHeight + 60;
			jQuery("#TB_window").append("<a href='' id='TB_ImageOff' title='Close'><img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'/></a>" + "<div id='TB_caption'>"+caption+"<div id='TB_secondLine'>" + TB_imageCount + TB_PrevHTML + TB_NextHTML + "</div></div><div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a> or Esc Key</div>"); 		
			
			jQuery("#TB_closeWindowButton").click(tb_remove);
			
			if (!(TB_PrevHTML === "")) {
				function goPrev(){
					if(jQuery(document).unbind("click",goPrev)){jQuery(document).unbind("click",goPrev);}
					jQuery("#TB_window").remove();
					jQuery("body").append("<div id='TB_window'></div>");
					tb_show(TB_PrevCaption, TB_PrevURL, imageGroup);
					return false;	
				}
				jQuery("#TB_prev").click(goPrev);
			}
			
			if (!(TB_NextHTML === "")) {		
				function goNext(){
					jQuery("#TB_window").remove();
					jQuery("body").append("<div id='TB_window'></div>");
					tb_show(TB_NextCaption, TB_NextURL, imageGroup);				
					return false;	
				}
				jQuery("#TB_next").click(goNext);
				
			}

			document.onkeydown = function(e){ 	
				if (e == null) { // ie
					keycode = event.keyCode;
				} else { // mozilla
					keycode = e.which;
				}
				if(keycode == 27){ // close
					tb_remove();
				} else if(keycode == 190){ // display previous image
					if(!(TB_NextHTML == "")){
						document.onkeydown = "";
						goNext();
					}
				} else if(keycode == 188){ // display next image
					if(!(TB_PrevHTML == "")){
						document.onkeydown = "";
						goPrev();
					}
				}	
			};
			
			tb_position();
			jQuery("#TB_load").remove();
			jQuery("#TB_ImageOff").click(tb_remove);
			jQuery("#TB_window").css({display:"block"}); //for safari using css instead of show
			};
			
			imgPreloader.src = url;
		}else{//code to show html
			
			var queryString = url.replace(/^[^\?]+\??/,'');
			var params = tb_parseQuery(queryString);
			
			TB_WIDTH = (params['width']*1) + 30 || 630; //defaults to 630 if no paramaters were added to URL
			TB_HEIGHT = (params['height']*1) + 40 || 440; //defaults to 440 if no paramaters were added to URL

			if (matchPos4 == 41 || matchPos5 == 40) {
			    ajaxContentW = TB_WIDTH - 20;
			    ajaxContentH = TB_HEIGHT - 25;
			}
			else {
			    ajaxContentW = TB_WIDTH - 30;
			    ajaxContentH = TB_HEIGHT - 45;
			}
			

			if (url.indexOf('TB_iframe') != -1) {// either iframe or ajax window
			 
					urlNoQuery = url.split('TB_');
					jQuery("#TB_iframeContent").remove();
					if(params['modal'] != "true"){//iframe no modal
						jQuery("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a> or Esc Key</div></div><iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW + 29)+"px;height:"+(ajaxContentH + 17)+"px;' > </iframe>");
					}else{//iframe modal
					jQuery("#TB_overlay").unbind();
						jQuery("#TB_window").append("<iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW + 29)+"px;height:"+(ajaxContentH + 17)+"px;'> </iframe>");
					}
	} else {// not an iframe, ajax
	
					if(jQuery("#TB_window").css("display") != "block"){
						if(params['modal'] != "true"){//ajax no modal
						jQuery("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton'>close</a> or Esc Key</div></div><div id='TB_ajaxContent' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px'></div>");
						}else{//ajax modal
						jQuery("#TB_overlay").unbind();
						jQuery("#TB_window").append("<div id='TB_ajaxContent' class='TB_modal' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'></div>");	
						}
		} else {//this means the window is already up, we are just loading new content via ajax
		
						jQuery("#TB_ajaxContent")[0].style.width = ajaxContentW +"px";
						jQuery("#TB_ajaxContent")[0].style.height = ajaxContentH +"px";
						jQuery("#TB_ajaxContent")[0].scrollTop = 0;
						jQuery("#TB_ajaxWindowTitle").html(caption);
					}
			}
					
			jQuery("#TB_closeWindowButton").click(tb_remove);
			
				if(url.indexOf('TB_inline') != -1){	
					jQuery("#TB_ajaxContent").append(jQuery('#' + params['inlineId']).children());
					jQuery("#TB_window").unload(function () {
						jQuery('#' + params['inlineId']).append( jQuery("#TB_ajaxContent").children() ); // move elements back when you're finished
					});
					tb_position();
					jQuery("#TB_load").remove();
					jQuery("#TB_window").css({display:"block"}); 
				}else if(url.indexOf('TB_iframe') != -1){
					tb_position();
					if(jQuery.browser.safari){//safari needs help because it will not fire iframe onload
						jQuery("#TB_load").remove();
						jQuery("#TB_window").css({display:"block"});
					}
				}else{
					jQuery("#TB_ajaxContent").load(url += "&random=" + (new Date().getTime()),function(){//to do a post change this load method
						tb_position();
						jQuery("#TB_load").remove();
						tb_init("#TB_ajaxContent a.thickbox");
						jQuery("#TB_window").css({display:"block"});
					});
				}
			
		}

		if(!params['modal']){
			document.onkeyup = function(e){ 	
				if (e == null) { // ie
					keycode = event.keyCode;
				} else { // mozilla
					keycode = e.which;
				}
				if(keycode == 27){ // close
					tb_remove();
				}	
			};
		}
		
	} catch(e) {
		//nothing here
	}
}

//helper functions below
function tb_showIframe(){
	jQuery("#TB_load").remove();
	jQuery("#TB_window").css({display:"block"});
}

function tb_remove() {
 	jQuery("#TB_imageOff").unbind("click");
	jQuery("#TB_closeWindowButton").unbind("click");
	jQuery("#TB_window").fadeOut("fast",function(){jQuery('#TB_window,#TB_overlay,#TB_HideSelect').trigger("unload").unbind().remove();});
	jQuery("#TB_load").remove();
	if (typeof document.body.style.maxHeight == "undefined") {//if IE 6
		jQuery("body","html").css({height: "auto", width: "auto"});
		jQuery("html").css("overflow","");
	}
	document.onkeydown = "";
	document.onkeyup = "";
	ArrCall.length = 0
	return false;
}

function tb_position() {
jQuery("#TB_window").css({marginLeft: '-' + parseInt((TB_WIDTH / 2),10) + 'px', width: TB_WIDTH + 'px'});
	if ( !(jQuery.browser.msie && jQuery.browser.version < 7)) { // take away IE6
		jQuery("#TB_window").css({marginTop: '-' + parseInt((TB_HEIGHT / 2),10) + 'px'});
	}
}

function tb_parseQuery ( query ) {
   var Params = {};
   if ( ! query ) {return Params;}// return empty object
   var Pairs = query.split(/[;&]/);
   for ( var i = 0; i < Pairs.length; i++ ) {
      var KeyVal = Pairs[i].split('=');
      if ( ! KeyVal || KeyVal.length != 2 ) {continue;}
      var key = unescape( KeyVal[0] );
      var val = unescape( KeyVal[1] );
      val = val.replace(/\+/g, ' ');
      Params[key] = val;
   }
   return Params;
}

function tb_getPageSize(){
	var de = document.documentElement;
	var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
	var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
	arrayPageSize = [w,h];
	return arrayPageSize;
}

function tb_detectMacXFF() {
  var userAgent = navigator.userAgent.toLowerCase();
  if (userAgent.indexOf('mac') != -1 && userAgent.indexOf('firefox')!=-1) {
    return true;
  }
}


//*************************************************
// JScript File
// created  : kpo 
// modified : kpo 14/06/2006 adding rEplace
// modified : kpo 26/06/2006 adding randomid,guid
// modified : kpo 06/09/2006 addBookmarkForBrowser
// modified : sno 28/09/2006 adding EmailCheck
// modified : KPO 29/11/2006 adding gettodaystring
//*************************************************
//
//today
function _GetToDayString()
{
	return _FormatDateString('','','')
}
function _doTriM(mdata)
{
   return dotrim(rEplace(rEplace(mdata,'\r',''),'\n',''))
}
function _FormatDateString(pYear,pMonth,pMonthDay)
{
	var ppyear = parseFloat(pYear)
	var ppmonth = parseFloat(pMonth)
	var ppday = parseFloat(pMonthDay)
	var istoday = new Date()				

	ppyear = isNaN(ppyear)?istoday.getFullYear():ppyear
	ppmonth = isNaN(ppmonth)?istoday.getMonth()+1:ppmonth
	ppday = isNaN(ppday)?istoday.getDate():ppday

 	var disp_Month = (ppmonth < 10) ? "0" + ppmonth : ppmonth;
 	var disp_Day = (ppday  < 10) ? "0" + ppday  : ppday;
	document.getElementById(_C_Month).selectedIndex = ppmonth -1;
	return disp_Day + "/" + disp_Month + "/" + ppyear;
 }		
//end xml loader
//change combo
function DochangeCposCombo(mCombo,mSelectText)
{
    try{
    document.getElementById(mCombo).value = mSelectText
    Changepos1(mCombo)
    }catch(e){
    }
}    
 
//focus !
function domyFocus(mycontrol)
{
  try{
    mycontrol.focus()
  }catch(e){
  }
}
//replace
function rEplace(mdata,mfind,mreplaced)

{
   var mreturn
   var mindex=0
   mreturn = mdata
   if (mreturn == null) return ''   
   if (mreturn == "") return mdata

   mindex = mreturn.indexOf(mfind,mindex) 
   while (mindex >= 0){
     mreturn = mreturn.substring(0,mindex) + mreplaced + mreturn.substring(mindex+mfind.length,mreturn.length)
     mindex = mreturn.indexOf(mfind,mindex)
   }
   return mreturn
}
//randomid
function RaNdomID()
{
   var mdate = new Date();
   return Math.floor(Math.random() * mdate.getDate()).toString(16)+ mdate.getMonth().toString(16) + 
        mdate.getFullYear().toString().substring(0,2).toString(16) + mdate.getFullYear().toString().substring(2,4).toString(16) + 
        mdate.getHours().toString(16) + mdate.getMonth().toString(16) + mdate.getSeconds().toString(16) + 
        Math.floor(Math.random() * mdate.getMilliseconds()).toString(16)
}
function getGuid()
{
var theguid = "{"; 
for (var i = 1; i <= 32; i++) 
 { 
 var n = Math.floor(Math.random() * 16.0).toString(16); 
 theguid += n; 
 if ((i == 8) || (i == 12) || (i == 16) || (i == 20)) 
  theguid += "-"; 
 } 
theguid += "}"; 
return theguid   
}
//remove space
function dotrim(mtextstring)
{
    if (mtextstring == null) return ''
    if (mtextstring == '') return ''
    
    var icrc
    var icrc2
    var mtext
    mtext = mtextstring
    icrc = mtext.length
    icrc2=0	    
    while (mtext.substring(mtext.length-1,mtext.length) == ' '){
        mtext = mtext.substring(0,mtext.length-1)
        icrc2++;
        if (icrc2 > icrc) break;
    }    
    icrc = mtext.length
    icrc2=0	    
    while (mtext.substring(0,1) == ' '){
        mtext = mtext.substring(1,mtext.length)
        icrc2++;
        if (icrc2 > icrc) break;
    }    
    return mtext
}
//validate email
function validateemail(memail0) 
{  
   var memail = new String(memail0)
   if (dotrim(memail) == "") return true;
   var breturn = false
   var ioneindex=0
   var itmpindex=0
   var iatindex   
   iatindex = memail.indexOf("@")
   ioneindex = memail.indexOf(".",ioneindex)
   itmpindex = ioneindex

   while (itmpindex > 0)
   {
     itmpindex = memail.indexOf(".",++itmpindex)
     if (itmpindex > iatindex) {
        ioneindex = itmpindex  
        break;
     }
   }   
   //has one .
   //has one @
   //@ and . can't first
   if ((iatindex > 0) && (ioneindex >0))
   {    
     // . must after @ but not the next one.
     if (iatindex < ioneindex){
        //@ and . can't last
        if ((iatindex < (memail.length-1)) && (ioneindex < (memail.length-1))){
           //must has only 1 @
           iatindex = memail.indexOf("@",++iatindex)
           if (iatindex == -1){
              iatindex = memail.indexOf("@")
              if ((memail.charAt(iatindex-1) != '.') && (memail.charAt(iatindex+1) != '.')) breturn = true
           }
        }        
     }
   }
   return breturn
}

// compare date
//0 - equal
//1 - mdate1 > mdate2
//-1 - mdate1 < mdate2
//-255 - error
function CompareDate(mdate1,mdate2)
{
    var mday1
    var mday2
    var mmon1
    var mmon2
    var year1
    var year2
    mday1 = parseFloat(mdate1.substring(0,2))
    mday2 = parseFloat(mdate2.substring(0,2))
    mmon1 = parseFloat(mdate1.substring(3,5))
    mmon2 = parseFloat(mdate2.substring(3,5))
    year1 = parseFloat(mdate1.substring(6,10))
    year2 = parseFloat(mdate2.substring(6,10))
    var mdatev1
    var mdatev2 
    try{
    mdatev1 = new Date(year1,mmon1-1,mday1)    
    mdatev2 = new Date(year2,mmon2-1,mday2)  
    if ((mday1 == mday2) && (mmon1 == mmon2) && (year1 == year2)){
        return 0
    }else if (mdatev1 > mdatev2){
        return 1
    }else if (mdatev1 < mdatev2){
        return -1
    }
    }catch(e){
        return -255
    }
}
//compare time
//0 - equal
//1 - time1 > mtime2
//-1 - mtime1 < mtime2
//-255 - error
function cOmpareTime(time1,time2)
{
  var mtime1s
  var mtime2s 
  try{
  mtime1s = time1.split(':')
  mtime2s= time2.split(':')
  }catch(e){
    return -255;
  }

  if (mtime1s.length <= 1) return -255;
  if (mtime2s.length <= 1) return -255;

  if (parseFloat(mtime1s[0]) > parseFloat(mtime2s[0])){
     return 1  
  }
  else if (parseFloat(mtime1s[0]) < parseFloat(mtime2s[0])){
     return -1
  }
  else
  {
     if (parseFloat(mtime1s[1]) > parseFloat(mtime2s[1])){
        return 1  
     }
     else if (parseFloat(mtime1s[1]) < parseFloat(mtime2s[1])){
        return -1     
     }
     else
     { 
        return 0
     }
  }   
}
//chechking for Bank account checksum
// -1 : invalid length
// -2 : invalid format
// 1 : ok
function ValidateBankControl(mBank)
{       
    var st_temp
    var i_del=0
    var i_index
		if((mBank!= "")&&(mBank!=null)){
			st_temp = new String(mBank)
			//remove dash
			i_index = st_temp.indexOf("-")
			while (i_index > 0)
			{
			  st_temp = st_temp.substring(0,i_index) + st_temp.substring(i_index+1,st_temp.length)
       	      i_index = st_temp.indexOf("-")
			}
			st_temp1 = new String(st_temp)
			if((st_temp1 != null) && (st_temp1 != "")){
				if(st_temp1.length == 12){
					st_temp1 = st_temp1.substring(0,3)+st_temp1.substring(3,10)
					i_2 = parseFloat(st_temp1)
					i_2 = i_2 % 97
					if (i_2 == 0)
					{
						i_2 = 97
					}
					st_temp1 = st_temp.substring(10,12);
					if (i_2 != parseFloat(st_temp1)){
					    return -1
					}
					else{
					    return 1
					}
				}else{
					return -2
				}
			}
		}
}
// xml loader
// add item to select element the less
// elegant, but compatible way.
function appendToSelect(select, value, content) {
    var opt;
    opt = document.createElement("option");
    opt.value = content.nodeValue;
    opt.appendChild(content);
    select.appendChild(opt);
}
function getElementTextNS(prefix, local, parentElem, index) {

    var result = "";

    if (prefix && window.ActiveXObject) {
        // IE/Windows way of handling namespaces

        result = parentElem.getElementsByTagName(prefix + ":" + local)[index];
    } else {

        // the namespace versions of this method 
        // (getElementsByTagNameNS()) operate
        // differently in Safari and Mozilla, but both
        // return value with just local name, provided 
        // there aren't conflicts with non-namespace element
        // names
        result = parentElem.getElementsByTagName(local)[index];
    }
    if (result) {
        // get text, accounting for possible
        // whitespace (carriage return) text nodes 
        if (result.childNodes.length > 1) {
            return result.childNodes[1].nodeValue;
        } else {
            return result.firstChild.nodeValue;    		
        }
    } else {
        return "n/a";
    }
}
function loadXMLDoc(url,funcarray) {
    var req 
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
    }
    req.onreadystatechange = function() {
      if (req.readyState == 4) {
         if (req.status == 200){
            try{
             for (var ifunc=0;ifunc<funcarray.length;ifunc++){                         
                if (funcarray[ifunc] !== ''){                   
                   eval(funcarray[ifunc]) 	                   
                }
             }
            }catch(e){
            }
         }
      }
    }
    req.open("GET", url, true);
    req.send(null);
}
//end xml loader 

function FillInCombo(req,lang,combo,field,defaultvalue)
{
    var select = document.getElementById(combo);
    var items = req.responseXML.getElementsByTagName(lang);
    var content
    for (var i = 0; i < items.length; i++) {
        content = document.createTextNode(getElementTextNS("", field, items[i], 0))
        appendToSelect(select, i,content);
        try{
        if (defaultvalue == content.nodeValue) select.options[i].selected = true
        }catch(e){
        }
    }
}

// ****************************************************************************
// PARAMETERS IN : selected combo and changing combo
// RETURN VALUE  : none
// PURPOSE       : change changed combo depend to select combo
//               : but you must enter value in combo     
// CALL FROM     : none
// Creation Date : 1999/02/15 (KPO)
// Modification  : Date          User        Comment                      Version
// ****************************************************************************
function Changepos(Comboselect,Combochange)
{
   if (Comboselect.selectedIndex > 0)
   { 
     var i_for
     var st_temp
     var st1
     var st2
     var bfoundyn = false
     st_temp = Comboselect.options[Comboselect.selectedIndex].text         
     st1 = st_temp.split(",")
     for (i_for=0;i_for < Combochange.length;i_for++)
     {
       st_temp = Combochange.options[i_for].text
       st2 = st_temp.split(",")
       if ((st2[0] == st1[1]) && (st2[1] == st1[0]))
       {	         
         Combochange.selectedIndex = i_for
         bfoundyn = true
         break
       }
     }	     
   }
   if (!bfoundyn) {
      Combochange.selectedIndex = -1
      Comboselect.selectedIndex = -1
   }
}
//loading combo
function _ULoading_combopos(mComboname,mSeltext)
{    
   var mCombo = document.getElementById(mComboname)
   var _mst = '';
   var _msts
   if (mSeltext  == '') return
   var _msels = mSeltext.split(",")
   if (_msels.length < 2) return  
   var bfoundyn = false
   for (var i=0;i<mCombo.options.length-1;i++){
        _mst = mCombo.options[i].text
        if (_mst != ''){
            _msts = _mst.split(",")
            if (_msts.length > 0){
                if ((_msts[0] == _msels[0]) && (_msts[1] == _msels[1])){
                    mCombo.selectedIndex = i   
                    bfoundyn = true
                    break;
                }   
            }
        }
   }
   if (!bfoundyn){
       //search again
       for (var i=0;i<mCombo.options.length-1;i++){
            _mst = mCombo.options[i].text
            if (_mst != ''){
                _msts = _mst.split(",")
                if (_msts.length > 0){
                    if (_msts[0] == _msels[0]){
                        mCombo.selectedIndex = i   
                        bfoundyn = true
                        break;
                    }   
                }
            }
       }
   }
   if (!bfoundyn) mCombo.selectedIndex = -1
   Changepos1(mComboname)
}
//validate size of textarea
function DoValidateTextAreaSize(mControl,mSize,mMessage,mLine)
{
    var mcommlen
    mcommlen = dotrim(document.getElementById(mControl).value)
    var mlines = 1
    if (parseFloat(mLine) > 0) mlines = parseFloat(mLine)
    if (mcommlen.length > (mSize*mlines)){
        alert(mMessage)
        domyFocus(document.getElementById(mControl))
        return true            
    }
}
//round with 2 decimal
function rxund(mvalue)
{
 return Math.round(mvalue*100)/100
}    
//val in javascript
function UVal(mText0,mCurrencyYN)
{
    var mText = mText0
    if (mCurrencyYN) mText = rEplace(rEplace(mText0,'.',''),',','.')
    var __mval
    __mval = parseFloat(mText,2)
    if (isNaN(__mval)) __mval = 0
    return rxund(__mval)
}

/****************************************************************/
function UReplace(mdata)
{
    return rEplace(mdata," ","")
}
function UReplacest(mdata,mst1,mst2)
{
    return rEplace(mdata,mst1,mst2)
}
function uParseStringforRemote(mString)
{
   return rEplace(rEplace(rEplace(mString,"<","&lt;"),">","&gt;"),"&","&amp;")
}
function uParseStringforRemoteAjax(mString)
{
   return rEplace(rEplace(rEplace(mString,"<",";lt;"),">",";gt;"),"&",";amp;")
}

//for convert string 
//case example
//	Newcell.innerHTML = "<td width='35'><font face='Courier New'><small>"+UmakestringforjavaHtml(arrVacation[kTemp+4])+"</td>"
function UmakestringforjavaHtml(mdata)
{
   var mvdata
   mvdata = rEplace(mdata,"<","&#60;")
   mvdata = rEplace(mvdata,">","&#62;")
   mvdata = rEplace(mvdata,"\'","&#39;")   
   mvdata = rEplace(mvdata,"\x0a","<BR>") 
   return mvdata
}
//case example
//	oCol3.innerHTML = "<font color='"+col3color+"' face='Arial'>" + UmakestringforjavawithHtml(tasknamewith <ahref>) + " &nbsp;</font>"
function UmakestringforjavawithHtml(mdata)
{
   var mvdata
   mvdata = rEplace(mdata,"\'","&#39;")   
   mvdata = rEplace(mdata,'"',"&quot;")   
   mvdata = rEplace(mvdata,"\x0a","<BR>") 
   return mvdata
}
//there is problem in replace in java
//case example
//	data_Tmp = Umakestringforjavalink(arrVacation[kTemp+4])
//	Newcell.innerHTML = "<td width=20><font face=Courier New><small>&nbsp;" +
//	 "<a class=Normal1 href=\"javascript:vacation('"+ UReplacefordatasplit(data_Tmp) +"')\">"+ 
//	 arrVacation[kTemp+2]+"</a></td>"
function Umakestringforjavalink(mdata)
{
   var mvdata
   mvdata = rEplace(mdata,"\'","&#92;&#39;")
   mvdata = rEplace(mvdata,"\x0a","&#92;n") 
   mvdata = rEplace(mvdata,"\x0d","") 
   mvdata = rEplace(mvdata,"\\","&#92;&#92;")  
   mvdata = rEplace(mvdata,'"',"&#34;") 
   return mvdata
}
//case example
//	mHTML = "<input type = text "+ mTaskLock + " name = 'txtA" + mLength + "' value = '" + Umakestringfortaskpage(mComment) + "' style='Background-color:#F7E7C4' style='width = 100%'>" 
function Umakestringfortaskpage(mdata)
{
   var mvdata
    mvdata = rEplace(mdata, "&", "&#38;")
    mvdata = rEplace(mvdata, ">", "&#62;")
    mvdata = rEplace(mvdata, "<", "&#60;")
    mvdata = rEplace(mvdata,"'","&#39;")	
    return  mvdata
}
//change comma to .
function ChangeComma(data)
{
	return rEplace(data,",",".")
}
//use for show the hyperlink <BUG XXXX>
//eg. oCol3.innerHTML = "<font color='"+col3color+"' face='Arial'>" + Umakestringforhyperlink(taskname) + "&nbsp;</font>"
function Umakestringforhyperlink(data)
{
	//fix problem about <a href =''><text></a>
	//change &#60; > 7 (normall user can't fill it)
	//change &#62; > 9 (normall user can't fill it)
	var mdata
	mdata = rEplace(data,"&#60;","\x07")
	mdata = rEplace(mdata,"&#62;","\x09")
	//change 	
	mdata = rEplace(mdata,"<","&#60;")
	mdata = rEplace(mdata,">","&#62;")
	//change back
	mdata = rEplace(mdata,"\x07","<")	
	mdata = rEplace(mdata,"\x09",">")
	
	//rEplace quote
	mdata = rEplace(mdata,'"',"&quot;")
	//there is some text with tab from bugtracking 
	mdata = rEplace(mdata,"\x08"," ")
	return mdata
}

//****************************************************************
//remove row from row.id
function RemoveRow(mRows,myid)
{  
  var ireturn=-1
  for (var irow=1;irow<mRows.length-1;irow++)
  {
     if (mRows[irow].id == myid){
        ireturn = irow;
        break;
     }
  }  
  return ireturn
}
//return value to space if null or undefine
function doISundefine(mvalue)
{
   return (mvalue == null)?'':mvalue
}
//bookmark
function addBookmarkForBrowser(title,url) {
if (window.sidebar != null) { 
    window.sidebar.addPanel(title, url,""); 
} else if( document.all != null) { 
    window.external.AddFavorite( url, title); 
} else if( window.opera && window.print ) { 
    return true; 
} 
}
//gettting scrolling 
function UgetScrollingPositionY()
{
var position='0';
if (typeof window.pageYOffset != 'undefined')
{
   position = window.pageYOffset
}
else if ((typeof document.documentElement.scrollTop != 'undefined') && (document.documentElement.scrollTop > 0))
{
    position = document.documentElement.scrollTop
}
else if (typeof document.body.scrollTop != 'undefined')
{
    position = document.body.scrollTop
}
return position;
}
//validate IE/Netscape
function UISIEBrowserYN()
{
    try{
       return (navigator.appVersion.indexOf("MSIE") > 0)
    }catch(e){
       return false
    }
}
function UReplaceFrenchForAjax(mdata)
{
		var myS = new String(mdata); 
        var i = 0;
        var tmpvalue = 0 
        var mvalue =""
      
        for(i=0;i<=myS.length -1;i++)
        {
            tmpvalue = myS.charCodeAt(i)
            mvalue   = myS.charAt(i) 
           
            if(parseFloat(tmpvalue) == 167){myS = myS.replace(mvalue,"%;Azbycx;")}     
      
            else if(parseFloat(tmpvalue) == 201){myS = myS.replace(mvalue,"%;Eacute;")}
            else if(parseFloat(tmpvalue) == 233){myS = myS.replace(mvalue,"%;eacute;")}
            else if(parseFloat(tmpvalue) == 200){myS = myS.replace(mvalue,"%;Egrave;")}

            else if(parseFloat(tmpvalue) == 232){myS = myS.replace(mvalue,"%;egrave;")}
            else if(parseFloat(tmpvalue) == 199){myS = myS.replace(mvalue,"%;Ccedil;")}
            else if(parseFloat(tmpvalue) == 231){myS = myS.replace(mvalue,"%;ccedil;")}

            else if(parseFloat(tmpvalue) == 192){myS = myS.replace(mvalue,"%;Agrave;")}
            else if(parseFloat(tmpvalue) == 224){myS = myS.replace(mvalue,"%;agrave;")}
            else if(parseFloat(tmpvalue) == 202){myS = myS.replace(mvalue,"%;Ecirc;")}

            else if(parseFloat(tmpvalue) == 226){myS = myS.replace(mvalue,"%;acirc;")}
            else if(parseFloat(tmpvalue) == 219){myS = myS.replace(mvalue,"%;Ucirc;")}
            else if(parseFloat(tmpvalue) == 234){myS = myS.replace(mvalue,"%;ecirc;")}

            else if(parseFloat(tmpvalue) == 203){myS = myS.replace(mvalue,"%;Euml;")}
            else if(parseFloat(tmpvalue) == 251){myS = myS.replace(mvalue,"%;ucirc;")}
            else if(parseFloat(tmpvalue) == 217){myS = myS.replace(mvalue,"%;Ugrave;")}

            else if(parseFloat(tmpvalue) == 235){myS = myS.replace(mvalue,"%;euml;")}
            else if(parseFloat(tmpvalue) == 249){myS = myS.replace(mvalue,"%;ugrave;")}
            else if(parseFloat(tmpvalue) == 194){myS = myS.replace(mvalue,"%;Acirc;")}
            
            else if(parseFloat(tmpvalue) == 43){myS = myS.replace(mvalue,"%;BzbycxB;")} //+

        }
        
    return myS

}

//-------------------- function for check email ----------------------
function emailCheck (emailStr,msgerr1,msgerr2,msgerr3,msgerr4,msgerr5,msgerr6,mshowmsgyn) {
/* The following pattern is used to check if the entered e-mail address
   fits the user@domain format.  It also is used to separate the username
   from the domain. */
var emailPat=/^(.+)@(.+)$/
/* The following string represents the pattern for matching all special
   characters.  We don't want to allow special characters in the address. 
   These characters include ( ) < > @ , ; : \ " . [ ]    */
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
/* The following string represents the range of characters allowed in a 
   username or domainname.  It really states which chars aren't allowed. */
var validChars="\[^\\s" + specialChars + "\]"
/* The following pattern applies if the "user" is a quoted string (in
   which case, there are no rules about which characters are allowed
   and which aren't; anything goes).  E.g. "jiminy cricket"@disney.com
   is a legal e-mail address. */
var quotedUser="(\"[^\"]*\")"
/* The following pattern applies for domains that are IP addresses,
   rather than symbolic names.  E.g. joe@[123.124.233.4] is a legal
   e-mail address. NOTE: The square brackets are required. */
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
/* The following string represents an atom (basically a series of
   non-special characters.) */
var atom=validChars + '+'
/* The following string represents one word in the typical username.
   For example, in john.doe@somewhere.com, john and doe are words.
   Basically, a word is either an atom or quoted string. */
var word="(" + atom + "|" + quotedUser + ")"
// The following pattern describes the structure of the user
var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
/* The following pattern describes the structure of a normal symbolic
   domain, as opposed to ipDomainPat, shown above. */
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")

/* Finally, let's start trying to figure out if the supplied address is
   valid. */
/* Begin with the coarse pattern to simply break up user@domain into
   different pieces that are easy to analyze. */
var matchArray=emailStr.match(emailPat)
if (matchArray==null) {
  /* Too many/few @'s or something; basically, this address doesn't
     even fit the general mould of a valid e-mail address. */     
    if (mshowmsgyn){
	    if (msgerr1 == null) {
	       alert("Email address seems incorrect (check @ and .'s)")
	    }else{
	       alert(msgerr1)
	    }
	}
	return false
}
var user=matchArray[1]
var domain=matchArray[2]

// See if "user" is valid 
if (user.match(userPat)==null) {
    // user is not valid
    if (mshowmsgyn){
	if (msgerr2 == null) {
        alert("The username doesn't seem to be valid.")
	}else{
	   alert(msgerr2)
	}
	}
    return false
}

/* if the e-mail address is at an IP address (as opposed to a symbolic
   host name) make sure the IP address is valid. */
var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
    // this is an IP address
	  for (var i=1;i<=4;i++) {
	    if (IPArray[i]>255) {
	        if (mshowmsgyn){
        	if (msgerr3 == null) {
	            alert("Destination IP address is invalid!")
	        }else{
	           alert(msgerr3)
	        }
	        }
		return false
	    }
    }
    return true
}

// Domain is symbolic name
var domainArray=domain.match(domainPat)
if (domainArray==null) {
    if (mshowmsgyn){
	if (msgerr4 == null) {
	    alert("The domain name doesn't seem to be valid.")
	}else{
	    alert(msgerr4)
	}
	}
    return false
}

/* domain name seems valid, but now make sure that it ends in a
   three-letter word (like com, edu, gov) or a two-letter word,
   representing country (uk, nl), and that there's a hostname preceding 
   the domain or country. */

/* Now we need to break up the domain to get a count of how many atoms
   it consists of. */
var atomPat=new RegExp(atom,"g")
var domArr=domain.match(atomPat)
var len=domArr.length
if (domArr[domArr.length-1].length<2 || 
    domArr[domArr.length-1].length>3) {
   // the address must end in a two letter or three letter word.
   if (mshowmsgyn){
	if (msgerr5 == null) {
        alert("The address must end in a three-letter domain, or two letter country.")
	}else{
	    alert(msgerr5)
	}
	}
   return false
}

// Make sure there's a host name preceding the domain.
if (len<2) {
   var errStr="This address is missing a hostname!"
    if (mshowmsgyn){
    if (msgerr6 == null) {
       alert(errStr)
	}else{
	    alert(msgerr6)
	}
	}
   return false
}

// If we've gotten this far, everything's valid!
return true;
}
//------------------------------------  End ---------------------------->

//copy text in clipboard
function _copyInClipboard(mcontrol)
{
	try{
        var s = document.getElementById(mcontrol).createTextRange() 
        s.execCommand("SelectAll")	
        document.execCommand("Copy")   
	    return true
	}catch(e){
	    alert('Your browser don\'t permit the editor to automatically execute copying operations\n Please use the keyboard CTRL+C')
	}
}		

//------------------------------------  End ---------------------------->
//hidden combo when panel show
//before:
//				<select class="Normal" id="lstBackup" style="WIDTH: 560px; HEIGHT: 250px" size="5">
//              <option></option>
//				</select>
//
//after : put td with samename as combo+_show (with display = none)
//<table><tr><td id = "lstBackup_show">
//				<select class="Normal" id="lstBackup" style="WIDTH: 560px; HEIGHT: 250px" size="5">
//              <option></option>
//				</select></td></tr></table>

// 1) when show panel :-
//  _ShoWPanel_DIV_Swap(1,"comboname",bpanelyn)

// 2) put _UWaitPanel_DIV_Closeall when close panel
				
function _ShoWPanel_DIV_Swap(mno,mcombo,bpanelyn)
{
var _the_combo = document.getElementById(mcombo)
var _thecomboh = _the_combo.style.height
if (_thecomboh == 0) _thecomboh = '21px'
if (_the_combo.style.display == 'none') return
var _the_combolay = '<table border = 1 cellspacing = 0 cellpadding = 0 style = "height:'+_thecomboh+';width:'+_the_combo.style.width +';border:solid 1px black"><tr><td align = "left" valign = "'+ ((_the_combo.size == 0)?'middle':'top') +'">'
var bnoselect=false
document.getElementById("_waitPanelcall_"+mno).innerHTML = mcombo
if (bpanelyn){    
    for (var ifor=0;ifor<_the_combo.length;ifor++){        
       if (_the_combo.size == 0) {
           if (_the_combo.options[ifor].selected) {
                if (_the_combo.options[ifor].text == ''){
                _the_combolay += '&nbsp;'
                }else{
                _the_combolay += _the_combo.options[ifor].text 
               }
               bnoselect = true;
               break;
           }
       }else{
            if (ifor > 50) break;
            _the_combolay += _the_combo.options[ifor].text + '<br>'       
       }
    }
    _the_combolay += '</td></tr></table>'
    document.getElementById("_waitPanel_"+mno).innerHTML = document.getElementById(mcombo+"_show").innerHTML
    document.getElementById(mcombo+"_show").innerHTML = _the_combolay
}else{
    if (document.getElementById("_waitPanel_"+mno).innerHTML != ''){
    document.getElementById(mcombo+"_show").innerHTML = document.getElementById("_waitPanel_"+mno).innerHTML
    document.getElementById("_waitPanel_"+mno).innerHTML = ''
    }
}
}
//------------------------------------  End ---------------------------->
function _LOADING_Combo_size(mcomboname,mvalue,msize)
{
    for (var i=0;i<document.getElementById(mcomboname).length;i++)
    {
        if (document.getElementById(mcomboname).options[i].value.substring(0,msize) == mvalue){
           document.getElementById(mcomboname).selectedIndex = i;
           break;
        }
    }
}
function _LOADING_Combo_nosize(mcomboname,mvalue)
{
    for (var i=0;i<document.getElementById(mcomboname).length;i++)
    {
        if (document.getElementById(mcomboname).options[i].value == mvalue){
           document.getElementById(mcomboname).selectedIndex = i;
           break;
        }
    }
}
function _LOADING_Combo_Fromtext(mcomboname,mtext)
{
    if (mtext == null) return
    if (mtext == '') return
    for (var i=0;i<document.getElementById(mcomboname).length;i++)
    {
        if (document.getElementById(mcomboname).options[i].text.substring(0,mtext.length) == mtext){
           document.getElementById(mcomboname).selectedIndex = i;
           break;
        }
    }
}
function _LOADING_Combo(mcomboname,mvalue,msize)
{
    if (msize == null){
        _LOADING_Combo_nosize(mcomboname,dotrim(mvalue))
    }else{
        _LOADING_Combo_size(mcomboname,dotrim(mvalue),msize)
    }
}
function _LOADING_ComboObj(mcombo,mvalue,msize)
{
    _LOADING_Combo(mcombo.id,mvalue,msize)
}
//+------------------------- upper 
function _UpperCase(data)
{
	var temp = new String(data)
	var ReturnValue = temp.toUpperCase()   
	return ReturnValue;
}
function _showwaitcombo(mcomboname,mcaptionwait)
{
    document.getElementById(mcomboname).length = 0;
    var _mwait = mcaptionwait
    if (_mwait == null) _mwait = 'Loading...'
    
    document.getElementById(mcomboname).options[0] = new Option(_mwait,'')
}
// for string before put as param in remotescript
function uManageRemoteError(mResult,mName)
{
    if (mResult.error) {
        alert("Error while loading data from " + mName)
        alert(mResult.value)
        return;
    }   
    return true;
}
// get id from id(separator)othervalue
function getComboID(mcombovalue,mseparate)
{
	var mtempsplit,mText	
	mtempsplit = mcombovalue.split(mseparate)
	mText = new String(mtempsplit[1])
	mText = mText.toUpperCase()	
    
    if (UReplacest(mText," ","") == "") return 0
	if (mtempsplit[0] == "") return 0
	return mtempsplit[0]
}


function UmakestringforCombo(mdata)
{
   var mvdata
    mvdata = rEplace(mdata,"&#39;","'")	
    return  mvdata
}

function UmakestringforReadTextEdit(mdata)
{
    var mvdata
    mvdata = rEplace(mdata,"&#39;","'")
    mvdata = rEplace(mvdata, "&amp;", "&")	
    return  mvdata
}
function UmakestringforRemoteTextEdit(mdata) {
    var mvdata
    mvdata = rEplace(mdata,"'",";#39;")
    mvdata = rEplace(mvdata, "&", ";amp;")
    mvdata = rEplace(mvdata, "+", ";dagger;")
    return  mvdata
}



function UmakeLinkConvertSpace(mlink)
{
    return   mlink.replace(" ","%20"); 
   
}

  function FormatDateMMDDYYYY(mdate)
		 {
		    var mdate  =  mdate.split("/");
			var ppyear = parseFloat(mdate[2])
			var ppmonth = parseFloat(mdate[1])
			var ppday = parseFloat(mdate[0])
			
			var istoday = new Date()				

			ppyear = isNaN(ppyear)?istoday.getFullYear():ppyear
			ppmonth = isNaN(ppmonth)?istoday.getMonth()+1:ppmonth
			ppday = isNaN(ppday)?istoday.getDate():ppday

		 	var disp_Month = (ppmonth < 10) ? "0" + ppmonth : ppmonth;
		 	var disp_Day = (ppday  < 10) ? "0" + ppday  : ppday;
			return  disp_Month + "/" + disp_Day + "/" + ppyear;
		 }	

function _doTriM(mdata)
{
   return rEplace(rEplace(dotrim(mdata),'\r',''),'\n','')
}



function getS(mnumber)
{
  return (mnumber>1)?"s":""
}
function UReplacest(mdata,mst1,mst2)
{
    return rEplace(mdata,mst1,mst2)
}
function ReplaceB(mdata)
{
    return Umakestringfortaskpage(mdata)
}
function uParseStringforRemote(mString)
{
    return rEplace(rEplace(rEplace(mString,"<",";lt;"),">",";gt;"),"&",";amp;")
}
function UReplace(mdata)
{
    return rEplace(mdata," ","")
}
function UmakestringforjavaHtml(mdata)
{
   var mvdata
   mvdata = rEplace(mdata,"<","&#60;")
   mvdata = rEplace(mvdata,">","&#62;")
   mvdata = rEplace(mvdata,"\'","&#39;")   
   mvdata = rEplace(mvdata,'\0xA',"<BR>") 
   return mvdata
}
function UmakestringforjavawithHtml(mdata)
{
   var mvdata
   mvdata = rEplace(mdata,'\'','&#39;')   
   mvdata = rEplace(mdata,'"','&quot;')   
   mvdata = rEplace(mvdata,'\0xA','<BR>') 
   return mvdata
}
function Umakestringforjavalink(mdata)
{
   var mvdata
   mvdata = rEplace(mdata,"\'","&#92;&#39;")
   mvdata = rEplace(mvdata,'\0xA',"&#92;n") 
   mvdata = rEplace(mvdata,'\0xD',"") 
   mvdata = rEplace(mvdata,"\\","&#92;&#92;")  
   mvdata = rEplace(mvdata,'"',"&#34;") 
   return mvdata
}
function Umakestringfortaskpage(mdata)
{
   var mvdata
    mvdata = rEplace(mdata, "&", "&#38;")
    mvdata = rEplace(mvdata, ">", "&#62;")
    mvdata = rEplace(mvdata, "<", "&#60;")
    mvdata = rEplace(mvdata,"\'","&#39;")	
    return mvdata
}
function Umakestringforhyperlink(data)
{
	var mdata
	mdata = rEplace(data,"&#60;",'\0x07')	
	mdata = rEplace(mdata,"&#62;",'\0x09')

	mdata = rEplace(mdata,"<","&#60;")
	mdata = rEplace(mdata,">","&#62;")

	mdata = rEplace(mdata,'\0x07',"<")	
	mdata = rEplace(mdata,'\0x09',">")
	
	mdata = rEplace(mdata,'"',"&quot;")
	mdata = rEplace(mdata,'\0x08'," ")
	return mdata
}
function ChangeComma(data)
{
	return rEplace(data,",",".")
}
function _CheckCompare(data0)
{  
    var returnn = ''
    var data = '0' 
    data = new String(data0)
    //if (isNaN(data)) data = '0'
    data = rEplace(data, ".", ",")
    var kindex = data.indexOf(",")
    var mindex = 0
    if (kindex != -1){
        mindex = data.substring(0,kindex)	
	    if (mindex == "") mindex = 0
        if (data.length != 1){
            var aindex
            aindex = data.substring(data.length-2,data.length)
            
            if (aindex == ",5") data += "0"
            returnn = data.substring(data.length-3,data.length)
        }else{
            returnn = data
        }

        if (returnn == ",25"){
            returnn = 1
        }
        else if (returnn == ",50"){
            returnn = 2
        }
        else if (returnn == ",75"){
            returnn = 3
        }
        else
        {
            returnn = 0
        }
    }
    else
    {
        returnn  = 0
    }
    return returnn 
}
function _CheckCompare2(data0)
{
    var returnn = ''
    var data = '0'
    data = new String(data0)
    //if (isNaN(data)) data = '0'
    data = rEplace(data, ".", ",")
    var kindex = data.indexOf(",")
    var mindex = 0
    if (kindex != -1){
        mindex = data.substring(0,kindex)	
	    if (mindex == "") mindex = 0
        if (data.length != 1){
            var aindex
            aindex = data.substring(data.length-2,data.length)
            
            if (aindex == ",5") data += "0"
            returnn = data.substring(data.length-3,data.length)
        }else{
            returnn = data
        }

        if (returnn == ",25"){
            returnn = mindex + ":15"
        }
        else if (returnn == ",50"){
            returnn = mindex + ":30"
        }
        else if (returnn == ",75"){
            returnn = mindex + ":45"
        }
        else
        {
            returnn = mindex + ":00"
        }
    }
    else
    {
        returnn  = data + ":00"
    }
    return returnn 
}
function rEplace(mdata,mfind,mreplaced)

{
   var mreturn
   var mindex=0
   mreturn = new String(mdata)
   if (mreturn == null) return ''
   if (mreturn == "") return ''
   
   mindex = mreturn.indexOf(mfind,mindex) 
   while (mindex >= 0){

     mreturn = mreturn.substring(0,mindex) + mreplaced + mreturn.substring(mindex+mfind.length,mreturn.length)
     mindex = mreturn.indexOf(mfind,mindex+1)
   }
   return mreturn
}

function CHVALUE(data)
 {   
	if (data == "true" || data == true || data == "True"){return 1}
	else{return 0}
}	

function UReplaceFrenchForAjax(mdata)
{
		var myS = new String(mdata); 
        var i = 0;
        var tmpvalue = 0 
        var mvalue =""
      
        for(i=0;i<=myS.length -1;i++)
        {
          
            tmpvalue = myS.charCodeAt(i)
            mvalue   = myS.charAt(i)            
           
            if(parseFloat(tmpvalue) == 167){myS = myS.replace(mvalue,"%;Azbycx;")}     
      
            else if(parseFloat(tmpvalue) == 201){myS = myS.replace(mvalue,"%;Eacute;")}
            else if(parseFloat(tmpvalue) == 233){myS = myS.replace(mvalue,"%;eacute;")}
            else if(parseFloat(tmpvalue) == 200){myS = myS.replace(mvalue,"%;Egrave;")}

            else if(parseFloat(tmpvalue) == 232){myS = myS.replace(mvalue,"%;egrave;")}
            else if(parseFloat(tmpvalue) == 199){myS = myS.replace(mvalue,"%;Ccedil;")}
            else if(parseFloat(tmpvalue) == 231){myS = myS.replace(mvalue,"%;ccedil;")}

            else if(parseFloat(tmpvalue) == 192){myS = myS.replace(mvalue,"%;Agrave;")}
            else if(parseFloat(tmpvalue) == 224){myS = myS.replace(mvalue,"%;agrave;")}
            else if(parseFloat(tmpvalue) == 202){myS = myS.replace(mvalue,"%;Ecirc;")}

            else if(parseFloat(tmpvalue) == 226){myS = myS.replace(mvalue,"%;acirc;")}
            else if(parseFloat(tmpvalue) == 219){myS = myS.replace(mvalue,"%;Ucirc;")}
            else if(parseFloat(tmpvalue) == 234){myS = myS.replace(mvalue,"%;ecirc;")}

            else if(parseFloat(tmpvalue) == 203){myS = myS.replace(mvalue,"%;Euml;")}
            else if(parseFloat(tmpvalue) == 251){myS = myS.replace(mvalue,"%;ucirc;")}
            else if(parseFloat(tmpvalue) == 217){myS = myS.replace(mvalue,"%;Ugrave;")}

            else if(parseFloat(tmpvalue) == 235){myS = myS.replace(mvalue,"%;euml;")}
            else if(parseFloat(tmpvalue) == 249){myS = myS.replace(mvalue,"%;ugrave;")}
            else if(parseFloat(tmpvalue) == 194){myS = myS.replace(mvalue,"%;Acirc;")}
            
            else if(parseFloat(tmpvalue) == 211){myS = myS.replace(mvalue,"%;Oacute;")}
            else if(parseFloat(tmpvalue) == 243){myS = myS.replace(mvalue,"%;oacute;")}
            else if(parseFloat(tmpvalue) == 212){myS = myS.replace(mvalue,"%;Ocirc;")}
            else if(parseFloat(tmpvalue) == 244){myS = myS.replace(mvalue,"%;ocirc;")}
            
            else if(parseFloat(tmpvalue) == 43){myS = myS.replace(mvalue,"%;BzbycxB;")} //+
           
            
           if(parseFloat(tmpvalue) == 167){myS = myS.replace(mvalue,"%;Aacute;")}     
            else if(parseFloat(tmpvalue) == 193){myS = myS.replace(mvalue,"%;aacute;")}
            else if(parseFloat(tmpvalue) == 225){myS = myS.replace(mvalue,"%;Auml;")}
            else if(parseFloat(tmpvalue) == 196){myS = myS.replace(mvalue,"%;auml;")}
            else if(parseFloat(tmpvalue) == 205){myS = myS.replace(mvalue,"%;Iacute;")}
            
            else if(parseFloat(tmpvalue) == 237){myS = myS.replace(mvalue,"%;iacute;")}
            else if(parseFloat(tmpvalue) == 206){myS = myS.replace(mvalue,"%;Icirc;")}
            else if(parseFloat(tmpvalue) == 204){myS = myS.replace(mvalue,"%;Igrave;")}
            else if(parseFloat(tmpvalue) == 207){myS = myS.replace(mvalue,"%;Iuml;")}
            else if(parseFloat(tmpvalue) == 218){myS = myS.replace(mvalue,"%;Uacute;")}
            else if(parseFloat(tmpvalue) == 250){myS = myS.replace(mvalue,"%;uacute;")}
            
            else if(parseFloat(tmpvalue) == 221){myS = myS.replace(mvalue,"%;Yacute;")}
            else if(parseFloat(tmpvalue) == 253){myS = myS.replace(mvalue,"%;yacute;")}
            else if(parseFloat(tmpvalue) == 376){myS = myS.replace(mvalue,"%;Yuml;")}
            else if(parseFloat(tmpvalue) == 255){myS = myS.replace(mvalue,"%;yuml;")}


        }
        
    return myS

}//***********************************************
// ajax : how to use
//***********************************************
// kpo 09/06/2006 created ,put in library, put comment
//***********************************************
//
//1)include js. file
//<script language="JavaScript" src="AJax/JsAjax.js"></script>
//
//2)in your function call doAjax(url,call back function name)
//eg., function a()
//     {
//      doAjax('FormGetWarranty.asp?mTYPE=CAR&mCUSA='+mCUSA+'&RND='+new Date(),'loadWarranties')       
//     }
//3) put your callbackfunction (this format)
//
//function loadWarranties() {
//    if (xmlhttp.readyState==4) { 
//        if (xmlhttp.status==200) { 
//
//            >>>> put your code here.,xmlhttp.responseText will return what your response.write in page url
//
//            }
//        }
//    }
//}
//4) besure that you have this in your URL
// '&RND='+new Date(), >> this will help to reload it,otherwise your result will not update.
//***********************************************
function doAjax(gURL,mFunc)
{
	//styleId=pStyle;
	//create the Cross-browser XMLHttpRequest object
	if (window.XMLHttpRequest) { // code for Mozilla, Safari, etc 
		xmlhttp=new XMLHttpRequest();
		if (xmlhttp.overrideMimeType) {
			xmlhttp.overrideMimeType('text/xml');
		}	
		eval("xmlhttp.onreadystatechange="+mFunc+";")
		xmlhttp.open("GET", gURL, true);
		xmlhttp.send(null);
	} else if (window.ActiveXObject) { //IE 
		xmlhttp=new ActiveXObject('Microsoft.XMLHTTP'); 
		if (xmlhttp) {
			eval("xmlhttp.onreadystatechange="+mFunc+";")
			xmlhttp.open('GET', gURL, false);
			xmlhttp.send();
		}
	}
}
function doAjaX(gURL,mParam,mFunc,mvarsetname)
{
    var mvarname = mvarsetname
    if (mvarname == null) mvarname = 'xmlhttp'
	//styleId=pStyle;
	//create the Cross-browser XMLHttpRequest object
	if (window.XMLHttpRequest) { // code for Mozilla, Safari, etc 
	    eval(mvarname+"=new XMLHttpRequest();"+
	         mvarname+".onreadystatechange = function(){;"+
                "if ("+mvarname+".readyState==4) {;"+
                "  if ("+mvarname+".status==200) {;"+ 
                "      var mreturn = "+mvarname+".responseText;"+
                "      "+mFunc+"(mreturn);"+
                "  };"+
                "  };"+
                "};"+
		     mvarname+".open('POST',gURL, true);"+
             mvarname+".setRequestHeader('Content-Type','application/x-www-form-urlencoded');"+
             mvarname+".setRequestHeader('Content-length', mParam.length);"+
             mvarname+".setRequestHeader('Connection', 'close');"+
		     mvarname+".send(mParam);")
	} else if (window.ActiveXObject) { //IE 
		eval(mvarname+"=new ActiveXObject('Microsoft.XMLHTTP');"+ 
		     "if ("+mvarname+") {"+
	         mvarname+".onreadystatechange = function(){;"+
                "if ("+mvarname+".readyState==4) {;"+
                "  if ("+mvarname+".status==200) {;"+ 
                "      var mreturn = "+mvarname+".responseText;"+
                "      "+mFunc+"(mreturn);"+
                "  };"+
                "  };"+
                "};"+
		     mvarname+".open('POST', gURL, true);"+
             mvarname+".setRequestHeader('Content-Type','application/x-www-form-urlencoded');"+
             mvarname+".setRequestHeader('Content-length', mParam.length);"+
             mvarname+".setRequestHeader('Connection', 'close');"+
		     mvarname+".send(mParam);"+
		     "}")
	}
}//   ****************************************************************************
//   PARAMETERS IN : Keyword for cookies
//   RETURN VALUE  : value of keyword 
//   PURPOSE       : getvalue from cookies keyworkd
//   CALL FROM     : none
//   Creation Date : 1999/03/17 (KPO)
//   Modification  : Date          User  Comment							Version
//                    1999/03/18    KPO   modify to many value
//   ****************************************************************************
   function Getuse(Keyword)
   {
      var st_temp
      var st_temp1
      var st_temp2
      var i_1
      var i_2
      var st_ret
      st_ret = ""
      st_temp = String(document.cookie)
      st_temp1 = st_temp.split(";")
      for (i_1=0;i_1<st_temp1.length;i_1++)
      {
         i_2 = st_temp1[i_1].indexOf("Frontware:")
         if (i_2 >= 0)
         {
            st_temp = st_temp1[i_1]
            st_temp1 = st_temp.split("Frontware:")
            st_temp = String(st_temp1[1])
            break;
         }
      }
      st_temp1 = st_temp.split("][")
      for (i_1=0;i_1<st_temp1.length;i_1++)
      {
         i_2 = st_temp1[i_1].indexOf(Keyword)
         if (i_2 >= 0)
         {            
           st_temp = st_temp1[i_1]
           st_temp1 = st_temp.split("::")
           st_ret = st_temp1[1]           
           break;
         }
      }
      return st_ret
   }   
//   ****************************************************************************
//   PARAMETERS IN : Keyword for cookies and value to setting in cookies
//   RETURN VALUE  : none
//   PURPOSE       : settvalue to cookies 
//   CALL FROM     : none
//   Creation Date : 1999/03/17 (KPO)
//   Modification  : Date          User  Comment							Version
//                    1999/03/18    KPO   modify to many value
//   ****************************************************************************
   function Setuse(Keyword,Value)
   {
     var st_temp
     var st_temp1
     var st_temp2
     var i_1
     var i_2
     st_temp = document.cookie
     st_temp1 = st_temp.split(";")
     i_2 = st_temp.indexOf("Frontware:")
     if (i_2 >= 0)
     {
      for (i_1=0;i_1<st_temp1.length;i_1++)
      {
         i_2 = st_temp1[i_1].indexOf("Frontware:")
         if (i_2 >= 0)
         {
           st_temp = st_temp1[i_1]
           break;
         }
      }
     }
     else
     {     
        st_temp = "Frontware:"
     }
     //
     st_temp1 = st_temp.split("Frontware:")     
     st_temp = st_temp1[1]
     st_temp1 = st_temp.split("][")
     st_temp = "Frontware:"
     i_2 = 0
     if (st_temp1.length > 1)
     {
       for (i_1=0;i_1<st_temp1.length;i_1++)
       {
          st_temp2 = st_temp1[i_1].split("::")          
          if (st_temp2[0] == Keyword)
          {
             st_temp += (Keyword+"::"+Value+"][")             
             i_2++
          }
          else
          { 
             if (st_temp1[i_1] != "") st_temp += (st_temp1[i_1]+"][")
          }
       }
     }
     if (i_2 == 0)
     {
        st_temp += (Keyword+"::"+Value)+"]["
     }
     document.cookie = st_temp + ";expires=Sun, 31 Jan 2100 23:59:59 UTC;path=/"
   }
   function Set_Cookiess(name, value, expires, path, domain, secure) {
       var today = new Date();
       var expires_date = "Sun, 31 Jan 2100 23:59:59 UTC";
       document.cookie = name + "=" + escape(value) +
        ((expires) ? ";expires=" + expires_date : "") +
        ((path) ? ";path=" + path : "") +
        ((domain) ? ";domain=" + domain : "") +
        ((secure) ? ";secure" : "");
   }

   function Get_Cookiess(check_name) {
       var a_all_cookies = document.cookie.split(';');
       var a_temp_cookie = '';
       var cookie_name = '';
       var cookie_value = '';
       var b_cookie_found = false; // set boolean t/f default f

       for (i = 0; i < a_all_cookies.length; i++) {

           a_temp_cookie = a_all_cookies[i].split('=');

           cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');

           if (cookie_name == check_name) {
               b_cookie_found = true;
               if (a_temp_cookie.length > 1) {
                   cookie_value = unescape(a_temp_cookie[1].replace(/^\s+|\s+$/g, ''));
               }

               return cookie_value;
               break;
           }
           a_temp_cookie = null;
           cookie_name = '';
       }
       if (!b_cookie_found) {
           return null;
       }
   }