var E104={name:"104 JavaScript Framework & Library",version:"0.11.101214",author:"RD Team of 104 HR Academy",base:"mootools 1.3"};E104.Icon={loading:"images/ico/loading_16.gif",close:"images/ico/close.gif",dialog:"images/ico/dlg_16.gif",success16:"images/ico/success.png",success50:"images/ico/success_64.png",info16:"images/ico/info.png",info50:"images/ico/info_64.png",alert16:"images/ico/alert.png",alert50:"images/ico/alert_64.png",error16:"images/ico/error.png",error50:"images/ico/error_64.png"};
E104.Text={FormValidator:{TXT_SUBMIT_ERROR:"<b>Can not submit!</b><br> Please check all required field(s)."},IPE:{TXT_CONFIRM:"Update data.\nAre you sure?"}};E104.browserQuickDetect=function(){return(function a(){})[-5]=="x"?"FF3":(function a(){})[-6]=="x"?"FF2":/a/[-1]=="a"?"FF":"\v"=="v"?"IE":/a/.__proto__=="//"?"Saf":/s/.test(/a/.toString)?"Chr":/^function \(/.test([].sort)?"Op":"Unknown"
};E104.comparator=function(j,h){if(typeOf(j)=="number"){return e?j-h:h-j}else{if(typeOf(j)=="boolean"){return j==h?0:e?(j?1:-1):(!j?1:-1)}else{if(typeOf(j)=="string"){var f=j.toLowerCase();var c=h.toLowerCase();
if(!isNaN(f.toInt())&&!isNaN(c.toInt())){return e?f.toInt()-c.toInt():c.toInt()-f.toInt()}else{return e?(f<c?-1:f>c?1:0):(f<c?1:f>c?-1:0)}}else{if(typeOf(j)=="object"){if(this[0]==undefined){alert(E104.name+": comparator need a property to compare");
return 0}var k=this[0];var e=this[1]==undefined?true:this[1]=="asc";var g=E104._get(j,k);var d=E104._get(h,k);if(typeOf(g)=="number"){return e?g-d:d-g}else{if(typeOf(g)=="boolean"){return g==d?0:e?(g?1:-1):(!g?1:-1)
}else{if(typeOf(g)=="string"){var f=g==null?"":g.toLowerCase();var c=d==null?"":d.toLowerCase();if(!isNaN(Number(f))&&!isNaN(Number(c))){return e?f.toInt()-c.toInt():c.toInt()-f.toInt()}else{return e?(f<c?-1:f>c?1:0):(f<c?1:f>c?-1:0)
}}else{return 0}}}}else{return 0}}}}};E104._get=function(b,a){if(!b){return null}return(typeOf(a)=="array"&&a.length>1)?E104._get(b[a[0]],a.slice(1)):b[a]};E104._center=function(e){var c=document.getElementsByTagName("html")[0];
var b=c.clientWidth,d=c.clientHeight;var a=(b-e.scrollWidth)/2;var f=(d-((e.scrollHeight<200)?200:e.scrollHeight))/2;e.style.left=(a<0?0:a)+"px";e.style.top=(f<0?0:f)+document.getScroll().y+"px"};E104._getBgColor=function(b){b=$(b);
var a=b.getStyle("background-color");return a!="transparent"?a:E104._getBgColor(b.getParent())};E104._escapeHtml=function(a){return a.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\n/g,"<br/>")};E104.Group=new Class({Extends:Group,name:E104.name+"(E104.Group)",add:function(a){this.instances.append(new Array(a))
},size:function(){return this.instances.length}});E104.Dialog=new Class({name:E104.name+"(E104.Dialog)",initialize:function(a){this.msgTypes=["success","info","alert","error"];this.types=["normal","loading","iframe"];
this.dialogs=new Hash();this.dialogs[this.msgTypes[0]]=this._genMsgDialog(this.msgTypes[0],"#C4EFB4","#66D53D",E104.Icon.success50);this.dialogs[this.msgTypes[1]]=this._genMsgDialog(this.msgTypes[1],"#CADAF4","#76A0E5",E104.Icon.info50);
this.dialogs[this.msgTypes[2]]=this._genMsgDialog(this.msgTypes[2],"#FDF8CA","#F4DD45",E104.Icon.alert50);this.dialogs[this.msgTypes[3]]=this._genMsgDialog(this.msgTypes[3],"#FFBBBB","#DC2727",E104.Icon.error50);
this.dialogs[this.types[0]]=this._genNormalDialog();this.dialogs[this.types[1]]=this._genLoadingDialog();this.dialogs[this.types[2]]=this._genIFrameDialog();window.addEvent("resize",this._adjustmentMasks.bind(this));
this.options=Object.merge({},a)},openSuccessDialog:function(b,a){this.openMsgDialog(b,a,"success")},openInfoDialog:function(b,a){this.openMsgDialog(b,a,"info")},openAlertDialog:function(b,a){this.openMsgDialog(b,a,"alert")
},openErrorDialog:function(b,a){this.openMsgDialog(b,a,"error")},openMsgDialog:function(d,c,b,a){a=Object.merge({autoClose:2000},a);if(!this.msgTypes.contains(b)){b=this.msgTypes[0]}this._openModalMsgDialog(d,c,this.dialogs[b]);
if(a.autoClose>0){this.closeDialog.delay(a.autoClose,this,b)}},_openModalMsgDialog:function(c,a,b){b.getElement("div[class=msg-title]").set("text",c);b.getElement("div[class=msg-txt]").set("html",a);this._openDialog(b)
},openNormalDialog:function(c,b){var a=this.dialogs[this.types[0]];if(c&&c!=""){a.getElement("span[class=normal-title]").set("text",c)}if(b&&b!=""){a.getElement("span[class=normal-txt]").set("text",b)}this._openDialog(a)
},openLoadingDialog:function(b){var a=this.dialogs[this.types[1]];if(b&&b!=""){a.getElement("span[class=loading-txt]").set("text",b)}this._openDialog(a)},closeLoadingDialog:function(){this._closeDialog(this.dialogs[this.types[1]])
},openIFrameDialog:function(b,a){var e=this.dialogs[this.types[2]];e.getElement(".loading16").style.display="block";var c=e.getElement("#iframePanel");c.fade("hide");this.iframeLoading=true;c.set("src",b);
if(a.title){this.setTitle(this.types[2],a.title)}if(a.width!=undefined){c.setStyle("width",a.width)}if(a.height!=undefined){c.setStyle("height",a.height)}if(a.scroll!=undefined){c.setProperty("scrolling",a.scroll)
}if(a.modal==null){a.modal=true}this._openDialog(e,a)},closeIFrameDialog:function(){this._closeDialog(this.dialogs[this.types[2]])},_genMsgDialog:function(f,b,a,e){var d='<table border="0" cellpadding="0" cellspacing="3" bgcolor="#FFFFFF" style="border:1px solid #808080"><tr><td style="border:1px dotted #808080">XXX</td></tr></table>';
var h=new Element("div");h.style.position="absolute";var c=d.replace("XXX",'<table class="m" width="360" border="0" cellpadding="5" cellspacing="3" bgcolor="'+b+'" style="border-top:3px solid '+a+'"><tr><th width="10%"><img class="icon" src="'+e+'" style="cursor:move"></th><td width="90%"><img class="closeIcon" src="'+E104.Icon.close+'" align="right" border="0" style="cursor:pointer;"><div class="msg-title"></div><div class="msg-txt" style="padding:5px 20px 5px 0px"></div></td></tr></table>');
h.innerHTML=c;document.body.appendChild(h);$(h).set("tween",{duration:100});$(h).fade("hide");$(h).setStyles({top:0,left:0});$(h).makeDraggable({handle:$(h).getElement("img[class=icon]")});var g=$(h).getElement("img[class=closeIcon]");
g.addEvent("click",function(j){this._closeDialog(h)}.bind(this));return h},_genNormalDialog:function(){var b='<table width="360" border="0" align="center" cellpadding="8" cellspacing="3" bgcolor="#FFFFFF" style="border:1px solid #808080"><tr><td bgcolor="#E9E6DE" style="border:1px dotted #808080"><img class="closeIcon" src="images/ico/close.gif" width="16" height="16" align="right" /><span class="normal-title" style="font-weight:bold"></span><br><span class="normal-txt"></span></td></tr></table>';
var c=new Element("div");c.style.position="absolute";c.innerHTML=b;var a=$(c).getElement("img[class=closeIcon]");a.addEvent("click",function(d){this._closeDialog(c)}.bind(this));document.body.appendChild(c);
$(c).set("tween",{duration:100});$(c).fade("hide");$(c).setStyles({top:0,left:0});$(c).makeDraggable();return c},_genLoadingDialog:function(){var b='<table border="0" cellpadding="0" cellspacing="3" bgcolor="#FFFFFF" style="border:1px solid #808080"><tr><td style="border:1px dotted #808080;cursor:move">XXX</td></tr></table>';
var c=new Element("div");c.style.position="absolute";var a=b.replace("XXX",'<table class="m" border="0" cellspacing="3" bgcolor="#E0E0E0"><tr><td style="padding:10px 30px 10px 5px"><img src="'+E104.Icon.loading+'" hspace="10" align="absmiddle"><span class="loading-txt">Loading</span></td></tr></table>');
c.innerHTML=a;document.body.appendChild(c);$(c).set("tween",{duration:50});$(c).fade("hide");$(c).setStyles({top:0,left:0});$(c).makeDraggable();return c},_genIFrameDialog:function(){var d=new Element("div",{id:this.types[2]});
var c=new Element("div",{id:"loadingPanel","class":"loading16"});c.set("text","Loading ...");var b=new Element("iframe",{id:"iframePanel",frameborder:"0"});b.fade("hide");b.setStyles({width:"100px",height:"20px"});
d.grab(c).grab(b);b.addEvent("load",function(){if(!this.iframeLoading||b.get("src")==null){return}this.iframeLoading=false;this.dialogs[this.types[2]].getElement(".loading16").style.display="none";this.dialogs[this.types[2]].getElement("#iframePanel").fade("show")
}.bind(this));var a=Object.merge({title:"104",decorate:true},a);return this._genDialog(d,a)},addDialog:function(a,b){if(typeOf(a)=="string"&&this.msgTypes.indexOf(a.toLowerCase())>0){alert(this.name+":\nCan not use reserve word: '"+a);
return}var c=typeOf(a)=="element"?a:$(a);if(!c){alert(this.name+":\nCan not find DOM object: "+a);return}b=Object.merge({title:"104",decorate:true},b);this.dialogs[c.id]=this._genDialog(c,b)},openDialog:function(a,b){b=Object.merge({url:""},b);
if(b.url!=""){this.dialogs[a].getElement("iframe[id="+a+"_iframePanel]").set("src",encodeURI(b.url))}this._openDialog(this.dialogs[a],b)},newIframeDialog:function(a,b){if(Object.keyOf(this.dialogs,a)){alert(this.name+':\nDialogId: "'+a+'" is existed!');
return}var b=Object.merge({title:"104",width:640,height:480,scroll:true},b);var e=new Element("div");e.setProperty("id",a);var d=new Element("div");d.setProperties({id:a+"_loadingPanel","class":"loading16"});
d.set("text","Loading ...");var c=new Element("iframe");c.setProperty("id",a+"_iframePanel");c.setProperty("frameborder","0");c.fade("hide");c.setStyles({width:b.width+"px",height:b.height+"px"});e.grab(d).grab(c);
c.addEvent("load",function(){if(c.get("src")==null){return}this.dialogs[a].getElement("div[id="+a+"_loadingPanel]").style.display="none";this.dialogs[a].getElement("iframe[id="+a+"_iframePanel]").fade("show")
}.bind(this));this.dialogs[a]=this._genDialog(e,{title:b.title,decorate:true})},getIframe:function(a){if(a==null){return this.dialogs[this.types[2]].getElement("iframe")}else{if(this.dialogs[a]==null){return null
}else{return this.dialogs[a].getElement("iframe[id="+a+"_iframePanel]")}}},setTitle:function(a,b){if(this.dialogs[a]==null){return false}this.dialogs[a].getElement("[id=titleText]").set("text",b);return true
},_openDialog:function(b,a){if(!b){alert(this.name+':\n"'+dialogId+'" does not add yet!');return}a=Object.merge({modal:true},a);if(a.top){b.setStyle("top",a.top)}if(a.left){b.setStyle("left",a.left)}b.style.zIndex=a.modal?Number(this._showMask())+1:100*this._getMaskCount()+3;
b.style.display="block";if(!a.top&&!a.left){E104._center(b)}b.fade("in")},closeDialog:function(a){this._closeDialog(this.dialogs[a])},_closeDialog:function(a){a.fade("hide");a.setStyle("top",-a.getSize().y);
this._hiddenMask(null,Number(a.style.zIndex)-1)},_genDialog:function(c,b){var f=new Element("div");f.innerHTML=b.skeleton?b.skeleton:b.decorate?'<table border="0" cellpadding="0" cellspacing="3" bgcolor="#80BEFE" style="border:1px solid #DEF"><tr><td bgcolor="#FFFFFF" class="f1-9" style="padding:2px;border:1px solid #666"><div id="DLG_TITLE"></div><div id="DLG_BODY" style="padding:3px 3px 1px 3px"></div></td></tr></table>':'<table border="0" cellpadding="0" cellspacing="0"><tr><td class="f1-9"><div id="DLG_TITLE"></div><div id="DLG_BODY" style="padding:0px"></div></td></tr></table>';
var a=b.decorate?('<table width="100%" border="0" cellpadding="3" cellspacing="0" class="dlg-header"><tr><td style="padding-left:5px"><table border="0" cellpadding="1" cellspacing="0" class="dlg-title"><tr><td style="padding-left:4px"><img src="'+(b.icon||E104.Icon.dialog)+'"></td><td id="titleText" style="padding:2px 10px 2px 3px">- '+b.title+' -</td></tr></table></td><td align="right"><img src="'+E104.Icon.close+'" border="0" class="closeIcon" style="cursor:pointer"></td></tr></table>'):('<div align="right" style="padding:1px 0px"><img src="'+E104.Icon.close+'" border="0" class="closeIcon" style="cursor:pointer"></div>');
$(f).getElement("[id=DLG_TITLE]").innerHTML=a;if(b.decorate){var e=$(f).getElement("table[class=dlg-header]");e.addEvents({mouseover:function(g){e.addClass("dlg-header1")},mouseout:function(g){e.removeClass("dlg-header1")
}});$(f).makeDraggable({handle:$(f).getElement("[id=DLG_TITLE]")})}c.inject($(f).getElement("[id=DLG_BODY]"));document.body.appendChild(f);var d=$(f).getElement("img[class=closeIcon]");d.addEvent("click",function(g){this._closeDialog(f)
}.bind(this));$(f).set("tween",{duration:50});$(f).fade("hide");$(f).style.position="absolute";$(f).setStyles({top:0,left:0});c.style.display="block";return f},_adjustmentMasks:function(){var a=document.getElementsByTagName("html")[0];
$$("div[id^=mask]").each(function(b){b.style.width=a.scrollWidth>a.clientWidth?a.scrollWidth+"px":a.clientWidth+"px";b.style.height=a.scrollHeight>a.clientHeight?a.scrollHeight+"px":a.clientHeight+"px"
})},_getTopZIndex:function(){var a=0;$$("div[id^=mask]").each(function(b){if(b.style.zIndex>a){a=b.style.zIndex}});return Number(a)},_getMaskCount:function(){return $$("div[id^=mask]").length},_showMask:function(){var a=this._genMask(this._getMaskCount()==0?101:this._getTopZIndex()+100);
return a.style.zIndex},_hiddenMask:function(b,a){if($("mask"+a)!=null){$("mask"+a).destroy()}},_genMask:function(c){var b=document.getElementsByTagName("html")[0];var a=new Element("div",{id:"mask"+c,styles:{display:"block",position:"absolute","background-color":"#808080",opacity:0.5,filter:"alpha(opacity=50)",cursor:"not-allowed",top:0,left:0,width:b.scrollWidth>b.clientWidth?b.scrollWidth+"px":b.clientWidth+"px",height:b.scrollHeight>b.clientHeight?b.scrollHeight+"px":b.clientHeight+"px",zIndex:c}});
document.body.appendChild(a);return a}});E104.FormValidator=new Class({name:E104.name+"(E104.FormValidator)",initialize:function(d,b,a){this.form=document.id(d);this.url=b;if(!this.form){alert(this.name+":\nCan't find form: "+d);
return}this._setOptions(a);this.submit=this.form.getElement("input[name=submit]");if(!this.submit){this.submit=this.form.getElement("input[type=submit]")}if(!this.submit){alert(this.name+":\nCan't find submit button in form('"+d+"')'");
return}this.properties=new Hash();this.propOptions=new Hash();this.tips=new Hash();this.validating=new Hash();this.validated=new Hash();this.propValues=new Hash();this.remaining=false;var c=this.submit.onclick;
this.submit.onclick=null;this.form.addEvent("submit",function(f){this._validateRemaining(f,c)}.bind(this));this.submit.set("id","submit");this._genTip("submit");var e=this.tips.get("submit");e.getElement("[id=contentText]").set("html",this.options.submitError);
this._updateTipStyle(e,"error");this.form.getElements("input[type=text]").append(this.form.getElements("input[type=password]")).append(this.form.getElements("textarea")).each(function(f){this._updatePropStyle(f,"normal");
f.addEvents({focus:function(){if(this.validated.get(f.id)=="success"){this._updatePropStyle(f,"focus")}else{if(this.validated.get(f.id)=="info"){this._updatePropStyle(f,"info")}else{if(this.validated.get(f.id)=="alert"){this._updatePropStyle(f,"alert")
}else{if(this.validated.get(f.id)=="error"){this._updatePropStyle(f,"error")}else{this._updatePropStyle(f,"focus")}}}}var g=this.propOptions.get(f.id);if(g&&g.isCalendar){if(this.calendar==null){this.calendar=new E104.Calendar(f,{clickEvent:false,onDateSelected:function(h){this._getAjax(f.id,g).send()
}.bind(this)})}else{this.calendar.setTarget(f)}this.calendar.open()}}.bind(this),blur:function(){if(this.properties.get(f.id)==null){this._updatePropStyle(f,"normal");return}if(this.validating.get(f.id)){return
}this._updatePropStyle(f,this.validated.get(f.id))}.bind(this),keyup:function(){if(this.validated.get(f.id)!=""){this.validated.set(f.id,"");this._updatePropStyle(f,"focus")}}.bind(this),mouseenter:function(){this._showTip(f)
}.bind(this),mouseleave:function(){var g=this.tips.get(f.id);if(g){g.setStyles({display:"none"})}}.bind(this)})}.bind(this))},_validateRemaining:function(b,e){b.stop();if(!this.remaining){this.remaining=true;
var g=new E104.Group();var h=this.properties.getKeys();var a=new Array();for(var d=0;d<h.length;d+=1){if(this.validated.get(h[d])!="success"&&this.validated.get(h[d])!="info"){var c=this.propOptions.get(h[d]);
var f=this._getAjax(h[d],c.encode,c.key);a=a.concat(f);g.add(f)}}if(g.size()>0){g.addEvent("onComplete",function(){var k=true;for(var j=0;j<h.length;j+=1){if(this.validated.get(h[j])!="success"&&this.validated.get(h[j])!="info"){var l=this.properties.get(h[j]);
if(l.style.display=="none"){l.style.display="block";l.select();l.style.display="none"}else{l.select()}k=false;break}}if(k){this.tips.get("submit").fade("hide");if(e){e.attempt()}}else{this._showTip(this.submit)
}this.remaining=false}.bind(this));a.each(function(j){j.send()})}else{this.tips.get("submit").fade("hide");if(e){e.attempt()}this.remaining=false}}return false},reset:function(){this.form.reset();this.validating=new Hash();
this.validated=new Hash();this.remaining=false;this.properties.each(function(b,a){this._updatePropStyle(b,"normal")}.bind(this))},_setOptions:function(a){this.options={successIco:E104.Icon.success16,infoIco:E104.Icon.info16,alertIco:E104.Icon.alert16,errorIco:E104.Icon.error16,submitError:E104.Text.FormValidator.TXT_SUBMIT_ERROR};
Object.append(this.options,a||{})},addProperty:function(c,a){a=Object.merge({event:"blur",encode:false,key:"",isCalendar:false},a);if(!this.form){return}var b=this.form.getElement("[id="+c+"]");if(!b){alert(this.name+":\nCan't find property: \""+c+'" in form('+this.form.id+")");
return}this.properties.set(c,b);this.propOptions.set(c,a);this._genTip(c);this.validating.set(c,false);this.validated.set(c,"");this.propValues.set(c,null);$(b).addEvent(a.event,function(d){this._validating(d,c,a)
}.bind(this))},_genTip:function(c){var b=new Element("div",{styles:{position:"absolute",top:"0",left:"0",display:"none","z-index":"9999"}});var a=new Element("div",{id:"content"});a.grab(new Element("div",{id:"contentText",styles:{margin:"1px 10px"}}));
b.grab(a);this.tips.set(c,b.inject(document.body))},_showTip:function(b){var d=this.tips.get(b.id);if(b.id=="submit"||(d&&["info","alert","error"].contains(this.validated.get(b.id)))){d.setStyle("display","block");
var c=d.getElement("[id=content]");if(d.getElement("[id=arrow]")){d.getElement("[id=arrow]").destroy()}var f=b.getCoordinates().top+b.getScroll().y;var a=b.getCoordinates().left+b.scrollLeft;if(document.getSize().x-a<d.getSize().x){a=document.getSize().x-d.getSize().x+15
}if(f-document.getScroll().y>=d.getSize().y+20){var e="css/tip-"+(b.id=="submit"?"error":this.validated.get(b.id))+"-arr-btm.png";new Element("img",{id:"arrow",src:e,height:20}).inject(c,"after");c.setStyles({"background-position":"top center",padding:"12px 0px 2px 0px"});
d.setStyles({top:f-d.getSize().y+7,left:a-15})}else{var e="css/tip-"+(b.id=="submit"?"error":this.validated.get(b.id))+"-arr-top.png";new Element("img",{id:"arrow",src:e,height:20}).inject(c,"before");
c.setStyles({"background-position":"bottom center",padding:"2px 0px 12px 0px"});d.setStyles({top:f+b.getSize().y-7,left:a-15})}d.fade("show");if(b.id=="submit"){(function(){d.fade("out")}).delay(3000)}}},_getAjax:function(e,a){var d=this.properties.get(e);
var c=a.encode?(d.value.trim().length==0?"":new E104.MD5().encode(d.value+a.key)+"=="):d.value.trim();var b=new Request.JSON({url:this.url,data:{form:this.form.id,property:(d.id||d.name),data:c},onComplete:function(f){this._onComplete(f,e,a)
}.bind(this)});return b},_validating:function(b,d,a){if(a.isCalendar&&this.calendar!=null&&this.calendar.isOpen){return}var c=(a.fn&&typeOf(a.fn)=="function")?a.fn.attempt():true;if(!c||this.remaining){return
}if(this.validating.get(d)){return}if(this.properties.get(d).value==this.propValues.get(d)){return}this.validating.set(d,true);this.propValues.set(d,this.properties.get(d).value);this._getAjax(d,a).send()
},_onComplete:function(b,c,a){if(b.validate==""){return}this.setPropertyStatus(c,b.validate,b.message);if(b.validate=="success"&&typeOf(a.onSuccess)=="function"){a.onSuccess.attempt()}},setPropertyStatus:function(b,a,d){var c=this.tips.get(b);
c.style.display="none";c.getElement("[id=contentText]").set("html",d);this._updatePropStyle(this.properties.get(b),a);this._updateTipStyle(c,a);this.validating.set(b,false);this.validated.set(b,a)},_updatePropStyle:function(b,a){if(typeOf(b)=="string"){b=this.properties.get(b)
}b.removeClass("validate-normal");b.removeClass("validate-focus");b.removeClass("validate-success");b.removeClass("validate-info");b.removeClass("validate-alert");b.removeClass("validate-error");if(a=="normal"||a=="focus"){b.addClass("validate-"+a)
}else{b.addClass("validate-normal");b.addClass("validate-"+a)}},_updateTipStyle:function(d,b){var c=d.getElement("[id=content]");c.removeClass("validate-infoTip");c.removeClass("validate-alertTip");c.removeClass("validate-errorTip");
c.addClass("validate-"+b+"Tip");var a=d.getElement("[id=contentText]");a.removeClass("validate-infoTipText");a.removeClass("validate-alertTipText");a.removeClass("validate-errorTipText");a.addClass("validate-"+b+"TipText")
}});E104.MD5=new Class({name:E104.name+"(E104.MD5)",initialize:function(){this.b64pad="";this.chrsz=8},encode:function(a){return this._binl2b64(this._core_md5(this._str2binl(a),a.length*this.chrsz))},_core_md5:function(t,n){function m(a,d){var c=(a&65535)+(d&65535);
var b=(a>>16)+(d>>16)+(c>>16);return(b<<16)|(c&65535)}function k(a,b){return(a<<b)|(a>>>(32-b))}function u(A,w,d,c,z,y){return m(k(m(m(w,A),m(c,y)),z),d)}function e(z,y,D,C,w,B,A){return u((y&D)|((~y)&C),z,y,w,B,A)
}function q(z,y,D,C,w,B,A){return u((y&C)|(D&(~C)),z,y,w,B,A)}function f(z,y,D,C,w,B,A){return u(y^D^C,z,y,w,B,A)}function v(z,y,D,C,w,B,A){return u(D^(y|(~C)),z,y,w,B,A)}t[n>>5]|=128<<((n)%32);t[(((n+64)>>>9)<<4)+14]=n;
var s=1732584193;var r=-271733879;var p=-1732584194;var o=271733878;for(i=0;i<t.length;i+=16){var l=s;var j=r;var h=p;var g=o;s=e(s,r,p,o,t[i+0],7,-680876936);o=e(o,s,r,p,t[i+1],12,-389564586);p=e(p,o,s,r,t[i+2],17,606105819);
r=e(r,p,o,s,t[i+3],22,-1044525330);s=e(s,r,p,o,t[i+4],7,-176418897);o=e(o,s,r,p,t[i+5],12,1200080426);p=e(p,o,s,r,t[i+6],17,-1473231341);r=e(r,p,o,s,t[i+7],22,-45705983);s=e(s,r,p,o,t[i+8],7,1770035416);
o=e(o,s,r,p,t[i+9],12,-1958414417);p=e(p,o,s,r,t[i+10],17,-42063);r=e(r,p,o,s,t[i+11],22,-1990404162);s=e(s,r,p,o,t[i+12],7,1804603682);o=e(o,s,r,p,t[i+13],12,-40341101);p=e(p,o,s,r,t[i+14],17,-1502002290);
r=e(r,p,o,s,t[i+15],22,1236535329);s=q(s,r,p,o,t[i+1],5,-165796510);o=q(o,s,r,p,t[i+6],9,-1069501632);p=q(p,o,s,r,t[i+11],14,643717713);r=q(r,p,o,s,t[i+0],20,-373897302);s=q(s,r,p,o,t[i+5],5,-701558691);
o=q(o,s,r,p,t[i+10],9,38016083);p=q(p,o,s,r,t[i+15],14,-660478335);r=q(r,p,o,s,t[i+4],20,-405537848);s=q(s,r,p,o,t[i+9],5,568446438);o=q(o,s,r,p,t[i+14],9,-1019803690);p=q(p,o,s,r,t[i+3],14,-187363961);
r=q(r,p,o,s,t[i+8],20,1163531501);s=q(s,r,p,o,t[i+13],5,-1444681467);o=q(o,s,r,p,t[i+2],9,-51403784);p=q(p,o,s,r,t[i+7],14,1735328473);r=q(r,p,o,s,t[i+12],20,-1926607734);s=f(s,r,p,o,t[i+5],4,-378558);
o=f(o,s,r,p,t[i+8],11,-2022574463);p=f(p,o,s,r,t[i+11],16,1839030562);r=f(r,p,o,s,t[i+14],23,-35309556);s=f(s,r,p,o,t[i+1],4,-1530992060);o=f(o,s,r,p,t[i+4],11,1272893353);p=f(p,o,s,r,t[i+7],16,-155497632);
r=f(r,p,o,s,t[i+10],23,-1094730640);s=f(s,r,p,o,t[i+13],4,681279174);o=f(o,s,r,p,t[i+0],11,-358537222);p=f(p,o,s,r,t[i+3],16,-722521979);r=f(r,p,o,s,t[i+6],23,76029189);s=f(s,r,p,o,t[i+9],4,-640364487);
o=f(o,s,r,p,t[i+12],11,-421815835);p=f(p,o,s,r,t[i+15],16,530742520);r=f(r,p,o,s,t[i+2],23,-995338651);s=v(s,r,p,o,t[i+0],6,-198630844);o=v(o,s,r,p,t[i+7],10,1126891415);p=v(p,o,s,r,t[i+14],15,-1416354905);
r=v(r,p,o,s,t[i+5],21,-57434055);s=v(s,r,p,o,t[i+12],6,1700485571);o=v(o,s,r,p,t[i+3],10,-1894986606);p=v(p,o,s,r,t[i+10],15,-1051523);r=v(r,p,o,s,t[i+1],21,-2054922799);s=v(s,r,p,o,t[i+8],6,1873313359);
o=v(o,s,r,p,t[i+15],10,-30611744);p=v(p,o,s,r,t[i+6],15,-1560198380);r=v(r,p,o,s,t[i+13],21,1309151649);s=v(s,r,p,o,t[i+4],6,-145523070);o=v(o,s,r,p,t[i+11],10,-1120210379);p=v(p,o,s,r,t[i+2],15,718787259);
r=v(r,p,o,s,t[i+9],21,-343485551);s=m(s,l);r=m(r,j);p=m(p,h);o=m(o,g)}return Array(s,r,p,o)},_str2binl:function(d){var c=Array();var a=(1<<this.chrsz)-1;for(var b=0;b<d.length*this.chrsz;b+=this.chrsz){c[b>>5]|=(d.charCodeAt(b/this.chrsz)&a)<<(b%32)
}return c},_binl2b64:function(d){var c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var f="";for(var b=0;b<d.length*4;b+=3){var e=(((d[b>>2]>>8*(b%4))&255)<<16)|(((d[b+1>>2]>>8*((b+1)%4))&255)<<8)|((d[b+2>>2]>>8*((b+2)%4))&255);
for(var a=0;a<4;a+=1){if(b*8+a*6>d.length*32){f+=this.b64pad}else{f+=c.charAt((e>>6*(3-a))&63)}}}return f}});E104.IPE=new Class({name:E104.name+"(E104.IPE)",initialize:function(d,b,e,c,a){this.element=$(d);
this.element.setStyle("padding",2);this.element.set("tween",{duration:300,link:"cancel"});this.options=Object.merge({localeId:-1,tip:"",highlightColor:"#FFC",multiLine:false,password:false,displayLengthLimit:0,focusStyle:"ipe-focus",isCalendar:false,isConfirm:false,confirmMsg:E104.Text.IPE.TXT_CONFIRM,onComplete:"",value:-1},a);
this.setValue(this.options.value);this.url=b;this.id=e;this.property=c;this.element.setStyle("min-width","30px");this.element.setStyle("min-height","18px");if(this.options.width){this.element.setStyle("width",this.options.width)
}if(this.options.height){this.element.setStyle("overflow","auto");this.element.setStyle("height",this.options.height)}this.editing=false;this.saving=false;this.enable=true;this.options.bg=E104._getBgColor(this.element);
if(this.options.tip){this.element.setProperty("title",this.options.tip);this.tip=new Tips(this.element,{showDelay:1000})}this.element.addEvent("mouseover",this._mouseOver.bind(this));this.element.addEvent("mouseout",this._mouseOut.bind(this));
this.element.addEvent("click",this._editing.bind(this))},reset:function(){this._doNotThing()},setOptions:function(a){Object.append(this.options,a||{})},setId:function(a){this.id=a},getId:function(){return this.id
},setValue:function(b){this.value=b==-1?this.element.get("html"):b+"";this.value=this.value.replace(/&lt;/g,"<").replace(/&gt;/g,">");if(this.options.multiLine){this.element.set("text",this.value)}else{if(this.options.password){var c="";
for(var a=0;a<this.value.length;a++){c+="*"}this.element.set("text",c)}else{if(this.options.displayLengthLimit<1){this.element.set("text",this.value)}else{if(this.value.length>this.options.displayLengthLimit){this.element.set("text",this.value.substring(0,this.options.displayLengthLimit)+"...")
}else{this.element.set("text",this.value)}}}}},getValue:function(){return this.element.get("text")},setEnable:function(a){this.enable=a},focus:function(){this._editing()},_mouseOver:function(){if(this.saving||this.editing||!this.enable){return
}this.element.tween("background-color",this.options.highlightColor)},_mouseOut:function(){if(this.saving||this.editing||!this.enable){return}this.element.tween("background-color",this.options.bg);(function(){this.element.style.background="transparent"
}.bind(this)).delay(500)},_editing:function(){if(this.saving||this.editing||!this.enable){return}this.editing=true;this.element.setStyle("display","none");if(this.form==null){this.form=this._createForm();
this.form.inject(this.element,"after")}this.field.set("value",this.value);this.form.setStyle("display","block");this.field.focus();if(!this.options.multiLine){this.field.select()}if(this.options.tip){(function(){this.tip.hide()
}.bind(this)).delay(1000)}},_createForm:function(){var a=new Element("form");a=$(a);a.setStyle("margin","0px");a.onsubmit=this._leftEditing.bind(this);if(this.options.multiLine){this.field=new Element("textarea",{value:this.value,"class":this.options.focusStyle})
}else{if(this.options.password){this.field=new Element("input",{type:"password",value:this.value,"class":this.options.focusStyle})}else{this.field=new Element("input",{type:"text",value:this.value,"class":this.options.focusStyle})
}}this.field.setStyle("width",this.options.width?this.options.width:"95%");if(this.options.multiLine&&this.options.height){this.field.setStyle("height",this.options.height)}if(this.options.isCalendar){this.calendar=new E104.Calendar(this.field,{autoHide:false,onDateSelected:this._leftEditing.bind(this),clickEvent:false});
document.addEvent("click",function(b){this._blur(b)}.bind(this))}else{this.field.addEvent("blur",function(b){this._leftEditing(b)}.bind(this))}this.field.addEvent("keyup",function(b){if(b.key=="esc"){this._doNotThing()
}}.bind(this));a.appendChild(this.field);return a},_blur:function(a){if(a.target==this.element){this.calendar.open()}else{if((a.target!=this.field&&!(a.target==this.calendar.dialog||this.calendar.dialog.contains(a.target)))||a.key=="esc"){this.calendar.close();
this._leftEditing()}}},_leftEditing:function(){if(!this.saving&&this.editing){this.editing=false;var a=this.field.get("value").trim();if((a!=this.value&&!this.options.isConfirm)||(a!=this.value&&this.options.isConfirm&&confirm(this.options.confirmMsg))){this._doSaving(a)
}else{this._doNotThing()}}return false},_doNotThing:function(){this.saving=false;this.editing=false;this.element.setStyle("display","");if(this.form){this.form.setStyle("display","none")}if(this.options.isCalendar&&this.calendar){this.calendar.close()
}this._mouseOut();return false},_doSaving:function(b){this.saving=true;this.editing=false;this.form.setStyle("display","none");if(this.options.isCalendar){this.calendar.close()}if(!this.savingDiv){this.savingDiv=this._createSavingDiv();
this.savingDiv.inject(this.element,"after")}this.savingDiv.setStyle("display","");var a=new Request.JSON({url:this.url,method:"post",data:{id:this.id,localeId:this.options.localeId,property:this.property,original:this.value,updated:b},onSuccess:this._onComplete.bind(this)});
a.send()},_createSavingDiv:function(){var b=new Element("div");b=$(b);b.setAttribute("nowrap","nowrap");b.set("text","saving...");b.setStyles({"font-size":"7pt",color:"#AAA"});var a=new Element("img",{src:E104.Icon.loading,align:"absmiddle",hspace:"2"});
a.inject(b,"top");return b},_onComplete:function(a){this.savingDiv.setStyle("display","none");if(a.success=="true"){this.setValue(a.value);this.element.setStyle("display","");this._mouseOut();this.editing=false;
if(typeOf(this.options.onComplete)=="function"){this.options.onComplete.attempt()}}else{alert(a.message);this.form.setStyle("display","");this.field.select();this.editing=true}this.saving=false}});E104.IPS=new Class({Extends:E104.IPE,name:E104.name+"(E104.IPS)",initialize:function(e,c,f,d,a,b){this.parent(e,c,f,d,b);
if(typeOf(a)!="array"||a.length<1){alert(this.name+':\nArgument: "values" must be an array. (length >= 1)');return}this.setOptionValues(a)},setOptionValues:function(a){this.originalText=this.element.get("text").clean();
if(this.id!=0&&!this._validateValues(a,this.originalText)){alert(this.name+':\nArgument: "values" can not seek init value('+this.originalText+")");return}this.values=typeOf(a[0])=="array"?this._valueHash(a):a
},setValue:function(a){if(this.values==null){return}this.element.set("text",typeOf(this.values)=="array"?a:this.values.get(a))},getValue:function(){if(this.values==null){return}var a=this.getLabel();return typeOf(this.values)=="array"?a:Object.keyOf(this.values,a)
},getLabel:function(){return this.element.get("text")},_validateValues:function(b,c){var a=false;b.each(function(d){if(typeOf(d)=="array"){if((d[0]+"").toLowerCase()==c.toLowerCase()){this.originalValue=d[1];
a=true}}else{if((d+"").toLowerCase()==c.toLowerCase()){a=true}}});return a},_valueHash:function(a){var b=new Hash();a.each(function(c){if(c&&c.length>1){b.set(c[1],c[0])}});return b},_editing:function(){if(this.saving||this.editing||!this.enable){return
}this.editing=true;this.element.setStyle("display","none");if(this.form){this.form.destroy()}this.form=this._createForm();this.form.inject(this.element,"before");this.form.setStyle("display","");this.field.focus();
if(this.options.tip){(function(){this.tip.hide()}.bind(this)).delay(1000)}},_createForm:function(){var a=new Element("form");a=$(a);a.setStyle("margin","0px");a.onsubmit=this._leftEditing.bind(this);this.field=new Element("select",{"class":"ipe-normal",events:{change:function(b){this._leftEditing(b)
}.bind(this),blur:function(b){this._leftEditing(b)}.bind(this)}});if(this.options.width){this.field.setStyle("width",this.options.width)}if(typeOf(this.values)=="array"){this.values.each(function(c){c+="";
var b=new Element("option",{value:c});b.set("text",c);if(this.element.get("text").toLowerCase().clean()==c.toLowerCase().clean()){b.setAttribute("selected","selected")}this.field.appendChild(b)}.bind(this))
}else{this.values.each(function(d,c){d+="";var b=new Element("option",{value:c});b.set("text",d);if(this.element.get("text").toLowerCase().clean()==d.toLowerCase().clean()){b.setAttribute("selected","selected");
this.originalValue=c}this.field.appendChild(b)}.bind(this))}a.appendChild(this.field);return a},_leftEditing:function(b){if(!this.saving&&this.editing){this.editing=false;var a=this.field.get("value").trim();
if(a!=this.originalValue){this._doSaving(a)}else{this._doNotThing()}}},_doSaving:function(b){this.saving=true;this.editing=false;this.form.setStyle("display","none");if(!this.savingDiv){this.savingDiv=this._createSavingDiv();
this.savingDiv.inject(this.element,"after")}this.savingDiv.setStyle("display","");var a=new Request.JSON({url:this.url,method:"post",data:{id:this.id,localeId:this.options.localeId,property:this.property,original:this.originalValue,updated:b},onSuccess:this._onComplete.bind(this)});
a.send()},_onComplete:function(a){this.savingDiv.setStyle("display","none");if(a.success=="true"){this.originalValue=a.value;this.originalText=(typeOf(this.values)=="array")?a.value:this.values.get(a.value);
this.element.innerHTML=this.originalText==""?"&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp":this.originalText.replace(/\n/gi,"<br>");this.element.setStyle("display","");this._mouseOut();this.editing=false;
if(typeOf(this.options.onComplete)=="function"){this.options.onComplete.attempt()}}else{this.form.setStyle("display","");alert(a.message);this.editing=true}this.saving=false}});E104.Tabs=new Class({name:E104.name+"(E104.Tabs)",initialize:function(a){this.tabs=new Hash();
this.contents=new Hash();this.selectedIndex=0;this.options=Object.merge({tabClass:"tab-unselected",tabOverClass:"tab-over",tabSelectedClass:"tab-selected",contentClass:"tab-content"},a)},addTab:function(a,f,e){var c=$(a);
if(!c){alert(this.name+":\nCan't find tab: \""+a+'"');return}var b=new Array();if(typeOf(f)!="array"){b[0]=f}else{b=f}var d=new Array();b.each(function(g){if(!$(g)){alert(this.name+":\nCan't find tab content: \""+g+'"');
return}else{d.push($(g));$(g).addClass(this.options.contentClass)}},this);c.setStyle("cursor","pointer");this.tabs.set(this.tabs.getLength(),c);this.contents.set(a,d);if(this.contents.getKeys().length==1){this._tabSelected(c)
}else{d.each(function(g){g.style.display="none"});c.addClass(this.options.tabClass)}c.addEvent("click",this._tabSelected.bind(this,c,e));c.addEvent("mouseover",this._tabMouseOver.bind(this,c));c.addEvent("mouseout",this._tabMouseOut.bind(this,c))
},reset:function(){this.tabs.get(0).fireEvent("click")},select:function(a){this.tabs.getValues().each(function(b){if(b.id==a){b.fireEvent("click")}})},getSelectedIndex:function(){return this.selectedIndex.toInt()
},getSelectedTab:function(){return this.tabs.get(this.selectedIndex)},getSelectedContent:function(){return this.contents.get(this.getSelectedTab())},_tabSelected:function(b,a){this.contents.getKeys().each(function(c){this._unselected($(c))
},this);b.removeClass(this.options.tabClass);b.removeClass(this.options.tabOverClass);b.addClass(this.options.tabSelectedClass);this.contents.getValues().each(function(c){c.each(function(d){d.style.display="none"
})},this);this.contents.get(b.id).each(function(c){c.style.display="block"});this.selectedIndex=Object.keyOf(this.tabs,b).toInt();if(a&&typeOf(a)=="function"){a.attempt()}},_unselected:function(a){a.removeClass(this.options.tabSelectedClass);
a.removeClass(this.options.tabOverClass);a.addClass(this.options.tabClass)},_tabMouseOver:function(a){if(a!=this.getSelectedTab()){a.addClass(this.options.tabOverClass)}},_tabMouseOut:function(a){if(a!=this.getSelectedTab()){a.removeClass(this.options.tabOverClass)
}}});E104.Pager=new Class({name:E104.name+"(E104.Pager)",initialize:function(c,b,a){this.options=Object.merge({count:50},a);this.pageIndicators=new Array();$$("select[id="+b+"]").each(function(e,d){this.pageIndicators[d]=new E104.ComboBox(e,{width:"40px"});
this.pageIndicators[d].field.addClass("f1-8")}.bind(this));if(this.pageIndicators==null||this.pageIndicators.length==0){alert(this.name+':\nCan not find "Page Indicator"(select object)!');return}this.setData(c);
this.countPerPage=isNaN(this.options.count)||this.options.count<1?20:Math.round(this.options.count);this._setCurrPage(1)},getData:function(){return this.data},setData:function(a){if(typeOf(a)!="array"){alert(this.name+":\nData is not array type!");
return}this.data=a;this._genPageIndicator()},getCurrPage:function(){return this.currPage},updateCurrPage:function(a){if(a==null||typeOf(a)!="number"||a<0){a=0}this.currPage=this.pageIndicators[a].getValue();
this._setCurrPage(this.currPage)},getCountPerPage:function(){return this.countPerPage},updateCountPerPage:function(a){if(a==null||typeOf(a)!="number"||a<0){a=0}this.countPerPage=this.countIndicators[a].getValue();
this.countIndicators.each(function(b){b.setValue(this.countPerPage)}.bind(this));this._setCurrPage(1);this._genPageIndicator()},_setCurrPage:function(a){this.currPage=a<1?1:a>this.getMaxPage()?this.getMaxPage():a;
this.pageIndicators.each(function(b){b.setValue(a)}.bind(this))},firstPage:function(){this._setCurrPage(1)},previousPage:function(){this._setCurrPage(this.currPage-1)},nextPage:function(){this._setCurrPage(this.currPage+1)
},lastPage:function(){this._setCurrPage(this.getMaxPage())},getMaxPage:function(){return this.data.length==0?1:Math.ceil(this.data.length/this.countPerPage)},getCurrData:function(){var d=(this.currPage-1)*this.countPerPage;
var b=this.currPage<this.getMaxPage()?this.countPerPage:this.data.length-d;var c=new Array();for(var a=0;a<b;a++){c[a]=this.data[d+a]}return c},getStartSeq:function(){return(this.currPage-1)*this.countPerPage
},_genPageIndicator:function(){var b=new Hash();for(var a=1,c=this.getMaxPage();a<=c;a++){b[a]=a}if(this.currPage>this.getMaxPage()){this.currPage=this.getMaxPage()}this.pageIndicators.each(function(d){d.value=this.currPage;
d.setOptionItems(b)}.bind(this))},genCountIndicator:function(b,e){var a=$$("select[id="+b+"]");a.each(function(g){g.empty()});if(e==null){e=[5,10,20,50,100,200]}for(var d=0,f=e.length;d<f;d++){var c=new Element("option",{value:e[d]});
c.appendText(e[d]);a.each(function(g){var h=c.clone();if(e[d]==this.countPerPage){h.setAttribute("selected","selected")}h.inject(g)}.bind(this))}this.countIndicators=new Array();a.each(function(h,g){this.countIndicators[g]=new E104.ComboBox(h,{width:"40px"});
this.countIndicators[g].field.addClass("f1-8")}.bind(this))}});E104.Calendar=new Class({name:E104.name+"(E104.Calendar)",initialize:function(b,a){this.setTarget(b);this.options=Object.merge({time:new Date(),weekLabels:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],gridClass:"calendar-grid",headClass:"calendar-head",cellClass:"calendar-cell",todayClass:"calendar-today",autoHide:true,onDateSelected:"",clickEvent:true},a);
this._genDialog();if(this.options.clickEvent){document.addEvent("click",function(c){this._cancel(c)}.bind(this))}document.addEvent("keyup",function(c){this._cancel(c)}.bind(this))},_cancel:function(a){if((a.target!=this.target&&!(a.target==this.dialog||this.dialog.contains(a.target)))||a.key=="esc"){this.close()
}return false},setTarget:function(a){this.target=$(a);if(this.target==null){alert(this.name+":\nCan not find target: "+a);return}},open:function(){if(Date.parse(this.target.get("value"))>0){this.options.time.setTime(Date.parse(this.target.get("value")))
}this._renderCalendar();this.dialog.setStyles({top:this.target.getCoordinates(document.body).top-document.getScroll().y>=this.dialog.getSize().y?this.target.getTop()-this.dialog.getSize().y:this.target.getTop()+this.target.getSize().y,left:document.getSize().x-this.target.getLeft()<this.dialog.getSize().x?document.getSize().x-this.dialog.getSize().x:this.target.getLeft()-5});
this.dialog.fade("show")},close:function(){this.dialog.fade("hide")},isOpen:function(){return this.dialog.style.visibility=="visible"},_genDialog:function(){var a=new Element("div");a.innerHTML='<table border="0" cellspacing="0" cellpadding="3" style="border:2px solid #CCC;background-color:#FFF"><tr><td style="border:1px solid #999"><table id="CAL_TITLE" width="100%" border="0" cellpadding="0" cellspacing="0" style="margin:2px 0px"><tr><td width="99%" nowrap><img id="py" src="images/arrow_first.gif" align="absmiddle" style="cursor:pointer" hspace="1" /><img id="pm" src="images/arrow_prev.gif" align="absmiddle" style="cursor:pointer" hspace="1" /><span id="CAL_IND" style="font-family:verdana;color:#09F;font-size:12pt;font-weight:bold"></span><img id="nm" src="images/arrow_next.gif" align="absmiddle" style="cursor:pointer" hspace="1" /><img id="ny" src="images/arrow_last.gif" align="absmiddle" style="cursor:pointer" hspace="1" /></td><td width="1%"><img src="'+E104.Icon.close+'" border="0" class="closeIcon" style="cursor:pointer"></td></tr></table></td></tr></table>';
document.body.appendChild(a);a.getElement("img[id=pm]").addEvent("click",this._prevMonth.bind(this));a.getElement("img[id=nm]").addEvent("click",this._nextMonth.bind(this));a.getElement("img[id=py]").addEvent("click",this._prevYear.bind(this));
a.getElement("img[id=ny]").addEvent("click",this._nextYear.bind(this));a.getElement("img[class=closeIcon]").onclick=this.close.bind(this);a.style.zIndex=10000;$(a).makeDraggable({handle:$(a).getElement("table[id=CAL_TITLE]")});
$(a).fade("hide");this.dialog=a},_renderCalendar:function(){var l=this.options.time;var o=l.getFullYear();var c=l.getMonth();var g=l.getDate();var f=l.getDay();var b=new Date(o,c,1).getDay();var n=[31,28,31,30,31,30,31,31,30,31,30,31];
if((o%4==0&&o%400!=0)||(o%1000==0)){n[1]=29}var j=n[c];var h='<table border="0" cellpadding="3" cellspacing="1" class="'+this.options.gridClass+'"><tr>';this.options.weekLabels.each(function(d){h+='<td class="'+this.options.headClass+'">'+d+"</td>"
}.bind(this));var m=new Date();for(var k=1-b;k<=j;){h+="</tr><tr>";for(var e=0;e<7;e++){if(k<1||k>j){h+='<td bgcolor="#DDDDDD">&nbsp;</td>'}else{var p=(m.getFullYear()==o&&m.getMonth()==c&&m.getDate()==k)?this.options.todayClass:this.options.cellClass;
h+='<td id="_day" dateValue="'+o+"/"+(c+1)+"/"+k+'" style="cursor:pointer" class="'+p+'">'+k+"</td>"}k++}}h+="</tr></table>";var a=new Element("div",{id:"CAL_CONTENT"});a.set("html",h);a.getElements("td[id^=_day]").addEvent("click",function(d){this._dateSelected(d)
}.bind(this));a.getElements("td[id^=_day]").addEvent("mouseover",function(d){d.target.highlight()}.bind(this));this.dialog.getElement("span[id=CAL_IND]").set("text",o+"/"+(c+1));if(this.dialog.getElement("div[id=CAL_CONTENT]")!=null){this.dialog.getElement("div[id=CAL_CONTENT]").destroy()
}a.inject(this.dialog.getElement("table[id=CAL_TITLE]"),"after")},_dateSelected:function(a){this.target.set("value",a.target.get("dateValue"));if(this.options.autoHide){this.close()}var b=this.options.onDateSelected;
if(b&&typeOf(b)=="function"){b.attempt(a)}},_nextMonth:function(){this.options.time.setMonth(this.options.time.getMonth()+1);this._renderCalendar()},_prevMonth:function(){this.options.time.setMonth(this.options.time.getMonth()-1);
this._renderCalendar()},_nextYear:function(){this.options.time.setFullYear(this.options.time.getFullYear()+1);this._renderCalendar()},_prevYear:function(){this.options.time.setFullYear(this.options.time.getFullYear()-1);
this._renderCalendar()}});E104.BrowserDetector=new Class({name:E104.name+"(E104.Calendar)",initialize:function(b,a){this.browser=this._searchString(this.dataBrowser)||"An unknown browser";this.version=this._searchVersion(navigator.userAgent)||this._searchVersion(navigator.appVersion)||"an unknown version";
this.OS=this._searchString(this.dataOS)||"an unknown OS"},_searchString:function(d){for(var a=0;a<d.length;a++){var b=d[a].string;var c=d[a].prop;this.versionSearchString=d[a].versionSearch||d[a].identity;
if(b){if(b.indexOf(d[a].subString)!=-1){return d[a].identity}}else{if(c){return d[a].identity}}}},_searchVersion:function(b){var a=b.indexOf(this.versionSearchString);if(a==-1){return}return parseFloat(b.substring(a+this.versionSearchString.length+1))
},dataBrowser:[{string:navigator.userAgent,subString:"Chrome",identity:"Chrome"},{string:navigator.userAgent,subString:"OmniWeb",versionSearch:"OmniWeb/",identity:"OmniWeb"},{string:navigator.vendor,subString:"Apple",identity:"Safari",versionSearch:"Version"},{prop:window.opera,identity:"Opera"},{string:navigator.vendor,subString:"iCab",identity:"iCab"},{string:navigator.vendor,subString:"KDE",identity:"Konqueror"},{string:navigator.userAgent,subString:"Firefox",identity:"Firefox"},{string:navigator.vendor,subString:"Camino",identity:"Camino"},{string:navigator.userAgent,subString:"Netscape",identity:"Netscape"},{string:navigator.userAgent,subString:"MSIE",identity:"Explorer",versionSearch:"MSIE"},{string:navigator.userAgent,subString:"Gecko",identity:"Mozilla",versionSearch:"rv"},{string:navigator.userAgent,subString:"Mozilla",identity:"Netscape",versionSearch:"Mozilla"}],dataOS:[{string:navigator.platform,subString:"Win",identity:"Windows"},{string:navigator.platform,subString:"Mac",identity:"Mac"},{string:navigator.userAgent,subString:"iPhone",identity:"iPhone/iPod"},{string:navigator.platform,subString:"Linux",identity:"Linux"}]});
E104.ComboBox=new Class({name:E104.name+"(E104.ComboBox)",initialize:function(d,c){this.options=Object.merge({editable:false,fieldClass:"combo-field",focusClass:"combo-focus",panelClass:"combo-panel",optionClass:"combo-option",optionOverClass:"combo-optionOver",removeFn:null},c);
this.element=$(d);if(this.element==null||this.element.nodeName!="SELECT"){alert(this.name+':\nComboBox(id="'+d+"\") must work on 'Select' object, but '"+(this.element==null?"":this.element.get("tag"))+"'");
return}if(this.options.width==null){this.options.width=this.element.getSize().x+"px"}this.element.style.display="none";var a=this.element.getSelected().length>0?this.element.getSelected()[0]:null;this.value=a==null?"":((a.get("value")?a.get("value"):a.get("text"))+"");
this.text=a==null?"":(a.get("text")+"");this.field=new Element("input",{readonly:!this.options.editable,type:"text",value:this.text,"class":this.options.fieldClass,style:"width:"+this.options.width});if(!this.options.editable){this.field.style.cursor="pointer"
}this.field.inject(this.element,"after");this.field.addEvent("click",function(f){this._focus(f)}.bind(this));if(this.options.editable){this.field.addEvent("keyup",function(f){this._enter.bind(f)}.bind(this))
}var b={};this.element.getElements("option").each(function(e){b[e.get("text")]=(e.get("value")+"")});this.optionPanel=new Element("div",{"class":this.options.panelClass,style:"position:absolute"});this.optionPanel.style.zIndex=9999;
this.optionPanel.fade("hide");this.optionPanel.setStyles({top:0,left:0});document.body.appendChild(this.optionPanel);this.setOptionItems(b);document.addEvent("click",function(f){this._cancel(f)}.bind(this));
document.addEvent("keyup",function(f){this._cancel(f)}.bind(this))},setOptionItems:function(a){this.optionItems=a;this.isRebuilding=true;if(!Object.contains(Object.values(this.optionItems),this.value)&&Object.values(this.optionItems).length>0){this.setValue(Object.values(this.optionItems)[0])
}},getText:function(){return this.options.editable?this.field.get("value").trim():Object.keyOf(this.optionItems,this.value)},getValue:function(){if(!this.options.editable){return this.value}else{var a=this.field.get("value").trim();
return Object.contains(this.optionItems,a)?Object.keyOf(this.optionItems,a):a}},getSelectedIndex:function(){return this.optionItems.getValues().indexOf(this.value)},addOption:function(){},removeOption:function(a){this.optionItems=Object.filter(this.optionItems,function(c,b){return(c+"")!=(a+"")
});if(this.optionPanel.getElement("[v="+a+"]")){this.optionPanel.getElement("[v="+a+"]").dispose()}if(this.value==a&&Object.values(this.optionItems).length>0){this.setValue(Object.values(this.optionItems)[0])
}},setValue:function(a){if(Object.contains(Object.values(this.optionItems),a)){this.value=a}else{if(Object.contains(Object.values(this.optionItems),a+"")){this.value=a+""}else{return false}}this.field.set("value",Object.keyOf(this.optionItems,this.value));
return true},setVisibility:function(a){if(!a){this.field.removeClass(this.options.focusClass);this.optionPanel.fade("hide")}this.field.style.display=a?"block":"none"},focus:function(){this.field.addClass(this.options.focusClass);
var a=this._buildOptionPanel();a.fade("show");this.disableCancelEvent=true},_buildOptionPanel:function(){if(this.isRebuilding){this.optionPanel.empty();Object.each(this.optionItems,function(g,f){var e=new Element("div",{value:g,"class":this.options.optionClass,v:g});
e.set("text",f);e.addEvent("click",this._setValue.bind(this,e));e.addEvent("mouseover",function(h){this._optOver(h,e)}.bind(this));e.addEvent("mouseout",function(h){this._optOut(h,e)}.bind(this));if(typeOf(this.options.removeFn)=="function"){var d=new Element("img",{src:E104.Icon.close,align:"right"});
d.inject(e,"top");d.addEvent("click",function(h){h.stopPropagation();this.options.removeFn.apply(this,[f,g,this[1]])}.bind(this))}this.optionPanel.grab(e);this.isRebuilding=false},this)}var a=document.getCoordinates().bottom+document.getScroll().y-this.field.getCoordinates().bottom;
var c=this.field.getCoordinates().top-document.getCoordinates().top+document.getScroll().y;var b=a>this.optionPanel.getSize().y?this.field.getTop()+this.field.getSize().y+1:c>this.optionPanel.getSize().y?this.field.getTop()-this.optionPanel.getSize().y-1:-1;
if(b==-1){b=a>c?this.field.getTop()+this.field.getSize().y+1:this.field.getTop()-this.optionPanel.getSize().y-1;this.optionPanel.style.height=((a>c?a:c)-10)+"px"}this.optionPanel.setStyles({top:b,left:this.field.getLeft()-1});
if(this.field.getSize().x>this.optionPanel.getSize().x){this.optionPanel.style.width=this.field.getSize().x-7+"px"}return this.optionPanel},_focus:function(b){b.target.addClass(this.options.focusClass);
var a=this._buildOptionPanel();a.fade("show")},_enter:function(a){if(a.key=="enter"){this.field.removeClass(this.options.focusClass);this.optionPanel.fade("hide");var b=this.getValue();this.value=b;if(this.options.editable&&$A(this.element.options).every(function(c){return c.get("value")!=b
})){new Element("option",{value:b}).inject(this.element)}this.element.set("value",this.value);if(typeOf(this.element.onchange)=="function"){this.element.onchange.attempt()}}},_setValue:function(a){var c=a.get("text");
var b=a.get("value");this.field.removeClass(this.options.focusClass);this.optionPanel.fade("hide");if(this.value!=b){this.field.set("value",c);this.value=b;this.element.set("value",this.value);if(typeOf(this.element.onchange)=="function"){this.element.onchange.attempt()
}}},_cancel:function(a){if(this.disableCancelEvent){this.disableCancelEvent=false;return}if((a.target!=this.field&&a.target!=this.optionPanel)||a.key=="esc"){this.field.removeClass(this.options.focusClass);
this.optionPanel.fade("hide")}},_optOver:function(a,b){b.addClass(this.options.optionOverClass)},_optOut:function(a,b){b.removeClass(this.options.optionOverClass)}});
