var isOpera=(navigator.userAgent.indexOf("Opera")>=0)&&parseFloat(navigator.appVersion);var isIE=((document.all)&&(!isOpera))&&parseFloat(navigator.appVersion.split("MSIE ")[1].split(";")[0]);function addEvent(obj,evType,fn){'use strict';if(obj.addEventListener){obj.addEventListener(evType,fn,false);return true;}else if(obj.attachEvent){var r=obj.attachEvent("on"+evType,fn);return r;}else{return false;}}
function removeEvent(obj,evType,fn){'use strict';if(obj.removeEventListener){obj.removeEventListener(evType,fn,false);return true;}else if(obj.detachEvent){obj.detachEvent("on"+evType,fn);return true;}else{return false;}}
function cancelEventPropagation(e){'use strict';if(!e){e=window.event;}
e.cancelBubble=true;if(e.stopPropagation){e.stopPropagation();}}
function quickElement(){'use strict';var obj=document.createElement(arguments[0]);if(arguments[2]){var textNode=document.createTextNode(arguments[2]);obj.appendChild(textNode);}
var len=arguments.length;for(var i=3;i<len;i+=2){obj.setAttribute(arguments[i],arguments[i+1]);}
arguments[1].appendChild(obj);return obj;}
function removeChildren(a){'use strict';while(a.hasChildNodes()){a.removeChild(a.lastChild);}}
function findPosX(obj){'use strict';var curleft=0;if(obj.offsetParent){while(obj.offsetParent){curleft+=obj.offsetLeft-((isOpera)?0:obj.scrollLeft);obj=obj.offsetParent;}
if(isIE&&obj.parentElement){curleft+=obj.offsetLeft-obj.scrollLeft;}}else if(obj.x){curleft+=obj.x;}
return curleft;}
function findPosY(obj){'use strict';var curtop=0;if(obj.offsetParent){while(obj.offsetParent){curtop+=obj.offsetTop-((isOpera)?0:obj.scrollTop);obj=obj.offsetParent;}
if(isIE&&obj.parentElement){curtop+=obj.offsetTop-obj.scrollTop;}}else if(obj.y){curtop+=obj.y;}
return curtop;}
(function(){'use strict';Date.prototype.getTwelveHours=function(){var hours=this.getHours();if(hours===0){return 12;}
else{return hours<=12?hours:hours-12;}};Date.prototype.getTwoDigitMonth=function(){return(this.getMonth()<9)?'0'+(this.getMonth()+1):(this.getMonth()+1);};Date.prototype.getTwoDigitDate=function(){return(this.getDate()<10)?'0'+this.getDate():this.getDate();};Date.prototype.getTwoDigitTwelveHour=function(){return(this.getTwelveHours()<10)?'0'+this.getTwelveHours():this.getTwelveHours();};Date.prototype.getTwoDigitHour=function(){return(this.getHours()<10)?'0'+this.getHours():this.getHours();};Date.prototype.getTwoDigitMinute=function(){return(this.getMinutes()<10)?'0'+this.getMinutes():this.getMinutes();};Date.prototype.getTwoDigitSecond=function(){return(this.getSeconds()<10)?'0'+this.getSeconds():this.getSeconds();};Date.prototype.getHourMinute=function(){return this.getTwoDigitHour()+':'+this.getTwoDigitMinute();};Date.prototype.getHourMinuteSecond=function(){return this.getTwoDigitHour()+':'+this.getTwoDigitMinute()+':'+this.getTwoDigitSecond();};Date.prototype.getFullMonthName=function(){return typeof window.CalendarNamespace==="undefined"?this.getTwoDigitMonth():window.CalendarNamespace.monthsOfYear[this.getMonth()];};Date.prototype.strftime=function(format){var fields={B:this.getFullMonthName(),c:this.toString(),d:this.getTwoDigitDate(),H:this.getTwoDigitHour(),I:this.getTwoDigitTwelveHour(),m:this.getTwoDigitMonth(),M:this.getTwoDigitMinute(),p:(this.getHours()>=12)?'PM':'AM',S:this.getTwoDigitSecond(),w:'0'+this.getDay(),x:this.toLocaleDateString(),X:this.toLocaleTimeString(),y:(''+this.getFullYear()).substr(2,4),Y:''+this.getFullYear(),'%':'%'};var result='',i=0;while(i<format.length){if(format.charAt(i)==='%'){result=result+fields[format.charAt(i+1)];++i;}
else{result=result+format.charAt(i);}
++i;}
return result;};String.prototype.pad_left=function(pad_length,pad_string){var new_string=this;for(var i=0;new_string.length<pad_length;i++){new_string=pad_string+new_string;}
return new_string;};String.prototype.strptime=function(format){var split_format=format.split(/[.\-/]/);var date=this.split(/[.\-/]/);var i=0;var day,month,year;while(i<split_format.length){switch(split_format[i]){case"%d":day=date[i];break;case"%m":month=date[i]-1;break;case"%Y":year=date[i];break;case"%y":year=date[i];break;}
++i;}
return new Date(Date.UTC(year,month,day));};})();function getStyle(oElm,strCssRule){'use strict';var strValue="";if(document.defaultView&&document.defaultView.getComputedStyle){strValue=document.defaultView.getComputedStyle(oElm,"").getPropertyValue(strCssRule);}
else if(oElm.currentStyle){strCssRule=strCssRule.replace(/\-(\w)/g,function(strMatch,p1){return p1.toUpperCase();});strValue=oElm.currentStyle[strCssRule];}
return strValue;}