
function $(id){return document.getElementById(id);}
function $A(iterable){if(!iterable)return[];if(iterable.toArray){return iterable.toArray();}else{var results=[];for(var i=0;i<iterable.length;i++)
results.push(iterable[i]);return results;}}
function $app(id){return desktop.layout.apps[id];}
function extendObject(dst,src){for(var i in src){dst[i]=src[i];}}
function swapValues(obj,idxA,idxB){var tmp=obj[idxA];obj[idxA]=obj[idxB];obj[idxB]=tmp;}
function varp(v){alert(dump(v));}
function varpw(v){win=open("","varp","width=700,toolbar=no,status=no,titlebar=no,scrollbars=yes");win.document.write("<html><body><pre style='font-family: Tahoma, Verdana, Arial; font-size: 11px;'>"+dump(v)+"</pre></body></html>");}
function dump(d,l){if(l==null)l=1;var s='';var sPrefix='';for(var i=1;i<l;i++){sPrefix+="    ";}
if(d==null){s="NULL\n";}else if(d==undefined){s="UNDEFINED\n";}else if(typeof(d)=="object"){s+="{\n";for(var k in d){s+=sPrefix;s+=k+": "+dump(d[k],l+1);}
s+=sPrefix+"}\n"}else{s+=""+d+"\n";}
return s;}
function info(v){var s='';for(var i in v){s+=i+'; ';}
alert(s);}
function varToString(d){var s='';if(d==null){s="null";}else if(d==undefined){s="undefined";}else if(typeof(d)=="string"){s="\""+d.replace(/([\\"'])/g,"\\$1").replace(/\n/g,"\\n").replace(/\r/g,"\\r")+"\"";}else if(typeof(d)=="object"){if(d.length==undefined){var a=[];for(var k in d){a.push("\""+k+"\":"+varToString(d[k]));}
s="{"+a.join(",")+"}";}else{var a=[];for(var i=0;i<d.length;i++){a.push(varToString(d[i]));}
s="["+a.join(",")+"]";}}else{s+=d;}
return s;}
function stringToArr(str){return eval("["+str+"]");}
function clone(obj){if((typeof(obj)!='object')||(obj==null)){return obj;}
if(obj.length!=undefined){var newObj=[]
for(var i=0;i<obj.length;i++){newObj[i]=clone(obj[i]);}}else{var newObj={}
for(var i in obj){if(obj.hasOwnProperty(i)){newObj[i]=clone(obj[i]);}}}
return newObj;}
function php_serialize(mixed_value){var _getType=function(inp){var type=typeof inp,match;if(type=='object'&&!inp){return'null';}
if(type=="object"){if(!inp.constructor){return'object';}
var cons=inp.constructor.toString();if(match=cons.match(/(\w+)\(/)){cons=match[1].toLowerCase();}
var types=["boolean","number","string","array"];for(key in types){if(cons==types[key]){type=types[key];break;}}}
return type;};var type=_getType(mixed_value);var val;switch(type){case"undefined":case"null":val="N";break;case"boolean":val="b:"+(mixed_value?"1":"0");break;case"number":val=(Math.round(mixed_value)==mixed_value?"i":"d")+":"+mixed_value;break;case"string":val="s:"+mixed_value.length+":\""+mixed_value+"\"";break;case"array":case"object":val="a";var count=0;var vals="";var okey;for(key in mixed_value){okey=(key.match(/^[0-9]+$/)?parseInt(key):key);vals+=php_serialize(okey)+
php_serialize(mixed_value[key]);count++;}
val+=":"+count+":{"+vals+"}";break;}
if(type!="object"&&type!="array")val+=";";return val;}
Function.prototype.bind=function(){var __method=this,args=$A(arguments),obj=args.shift();return function(){return __method.apply(obj,args.concat($A(arguments)));}}
Function.prototype.bindAsEventListener=function(object,args){var __method=this;return function(event){if(!event){event=window.event;}
if(event&&event.srcElement){try{event.target=event.srcElement}catch(e){}}
return __method.call(object,event,args);}}
Function.prototype.extendPrototype=function(list){for(var i in list){this.prototype[i]=list[i];}}
String.prototype.jsEscape=function(){return this.replace(/\%/g,"%jcp").replace(/\n/g,"%jcn").replace(/\r/g,"%jcr").replace(/"/g,"%jcqq").replace(/'/g,"%jcq").replace(/\\/g,"%jcbs");}
String.prototype.jsUnescape=function(){return this.replace(/\%jcr/g,"\r").replace(/\%jcn/g,"\n").replace(/\%jcqq/g,"\"").replace(/\%jcq/g,"'").replace(/\%jcbs/g,"\\").replace(/\%jcp/g,"%");}
String.prototype.fromSanitizedHtml=function(){return this.replace(/&lt;/g,'<').replace(/&gt;/g,'>').replace(/&amp;/g,'&').replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/&#37;/g,'%').replace(/&#40;/g,'(').replace(/&#41;/g,')').replace(/&#43;/g,'+').replace(/&#45;/g,'-');}
String.prototype.nl2br=function(){return this.replace(/\n/g,"<br/>");}
String.prototype.br2nl=function(){return this.replace(/<br\/>/g,"\n");}
String.prototype.addSlashes=function(){return this.replace(/([\\"'])/g,"\\$1").replace(/\0/g,"\\0").replace(/\n/g,"\\n");}
String.prototype.stripSlashes=function(){return this.replace(/\\'/g,'\'').replace(/\\"/g,'"').replace(/\\\\/g,'\\').replace(/\\0/g,'\0');}
String.prototype.trim=function(){return this.replace(/^\s*|\s*$/g,"");}
String.prototype.ucFirst=function(){return this.charAt(0).toUpperCase()+this.substr(1);}
String.prototype.sprintf=function(values){return this.replace(/\{([\w\s\-]+)\}/g,function(x,key){return(key in values)?values[key]:'';});};Date.prototype.format=function(format){var self=this;if(!format)format=core.config.formats["date"];return format.replace(/d|H|i|m|M|s|Y|l/g,function(format){function p(v){return v<10?"0"+v:v;}
switch(format){case"d":return p(self.getDate());case"H":return p(self.getHours());case"i":return p(self.getMinutes());case"m":return p(1+self.getMonth());case"M":return core.common.monthes_short[self.getMonth()];case"s":return p(self.getSeconds());case"Y":return self.getFullYear();case"l":return core.common.weekdays[self.getDay()];default:return"";}});};Date.prototype.getUnixTime=function(){return Math.round(this.getTime()/1000);}
Date.prototype.setUnixTime=function(v){return this.setTime(v*1000);}
core={wsc:{},values:{},components:{},externals:{},objects:{},apps:{},data:{},config:{},procedures:{},templates:{},init:function(){if(location.href.indexOf("#preview")!=-1){core.values.is_page_preview=true;core.mode="view";}
core.data.texts=new core.apps.texts();window.desktop=new core.apps.desktop();}}
window.onload=function(){core.init();}
core.console={window:null,isStarted:false,log:function(str,type){if(!this.window)return;var doc=this.window.document;var div=doc.createElement("div");div.className="message_"+type;var d=new Date;var t=[d.getHours(),d.getMinutes(),d.getSeconds(),d.getMilliseconds()];for(var i=0;i<t.length;i++){if(t[i]<10)t[i]="0"+t[i];}
div.innerHTML=t.join(":")+"<br/><pre>"+str+"</pre>";if(doc.body.firstChild){doc.body.insertBefore(div,doc.body.firstChild);}else{doc.body.appendChild(div);}},start:function(){if(this.window==null){this.window=window.open("","core_console");var doc=this.window.document;doc.open();doc.close();doc.title="Core log";var style=doc.createElement("link");style.rel="stylesheet";style.type="text/css";style.href="/static/debug.css";var head=doc.getElementsByTagName("head")[0];head.appendChild(style);}}}
core.browser={attachEvent:function(obj,event,callback){if(event=="onenter"){var cb=function(e){e=core.browser.event.fix(e);if(e.keyCode==13){callback(e);}}
event="onkeyup";}else if(event=="onclear"){obj[event]=callback;return;}else{var cb=callback;}
if(obj.attachEvent){obj.attachEvent(event,cb);}else if(obj.addEventListener){if(event.indexOf("on")==0){event=event.substr(2);}
obj.addEventListener(event,cb,false);}else{obj[event]=cb;}},getIEVersionNumber:function(){var ua=navigator.userAgent;var ofs=ua.indexOf("MSIE ");return ofs==-1?0:parseFloat(ua.substring(ofs+5,ua.indexOf(";",ofs)));},getScroll:function(){var doc=document.documentElement;var r={left:self.pageXOffset||(doc&&doc.scrollLeft)||document.body.scrollLeft,top:self.pageYOffset||(doc&&doc.scrollTop)||document.body.scrollTop}
return r;},getDocumentSize:function(){var doc=document.documentElement
var r={width:document.offsetWidth||document.body.offsetWidth,height:document.offsetHeight||document.body.offsetHeight}
return r;},getWindowSize:function(){var doc=document.documentElement
var r={width:self.innerWidth||(doc&&doc.clientWidth)||document.body.clientWidth,height:self.innerHeight||(doc&&doc.clientHeight)||document.body.clientHeight}
return r;},applyCSS:function(css){var style=document.createElement('style');style.setAttribute('type','text/css');if(style.styleSheet){style.styleSheet.cssText=css;}else{var cssText=document.createTextNode(css);style.appendChild(cssText);}
var head=document.getElementsByTagName('head')[0];head.appendChild(style);},loadCSS:function(file,elementId){var css=document.createElement("link");document.getElementsByTagName('head')[0].appendChild(css);css.setAttribute("rel","stylesheet");css.setAttribute("type","text/css");css.setAttribute("href",file);if(elementId){css.id=elementId;}
return css;},getFlashVersion:function(){var v=-1;if(navigator.plugins!=null&&navigator.plugins.length>0){if(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]){var v2=navigator.plugins["Shockwave Flash 2.0"]?" 2.0":"";var descr=navigator.plugins["Shockwave Flash"+v2].description;descr=descr.split(" ");var mv=descr[2].split(".");v=mv[0];}}else{try{var obj=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");var descr=obj.GetVariable("$version");descr=descr.split(" ");var mv=descr[1].split(",");v=mv[0];}catch(e){}}
return parseInt(v);}}
core.browser.cookies={get:function(name){var cookie=" "+document.cookie;var search=" "+name+"=";var setStr=null;var offset=0;var end=0;if(cookie.length>0){offset=cookie.indexOf(search);if(offset!=-1){offset+=search.length;end=cookie.indexOf(";",offset)
if(end==-1){end=cookie.length;}
setStr=unescape(cookie.substring(offset,end));}}
return(setStr);},set:function(name,value,time){var expdate=new Date()
if(time==undefined){time=365*(24*60*60*1000);}
expdate.setTime(expdate.getTime()+time)
var cookieValue=name+"="+escape(value)+"; expires="+expdate.toGMTString();document.cookie=cookieValue;},delelete:function(name){document.cookie=name+"="+"; expires=Thu, 01-Jan-70 00:00:01 GMT";}}
core.browser.event={fix:function(e){if(!e)e=window.event;if(!e)return;if(e.target){if(e.target.nodeType==3)e.target=e.target.parentNode}else if(e.srcElement){e.target=e.srcElement}
return e;},stopPropagation:function(e){if(e.stopPropagation)e.stopPropagation();else e.cancelBubble=true;},preventDefault:function(e){if(e.preventDefault)e.preventDefault();else e.returnValue=false;},kill:function(e){if(!e)e=window.event;if(e){this.stopPropagation(e);this.preventDefault(e);}
return false;}}
core.browser.element={create:function(tag,args){var el=document.createElement(tag);for(var i in args){el[i]=args[i];}
return el;},clear:function(el){while(el.childNodes.length){el.removeChild(el.firstChild);}},remove:function(el){if(!el)return;if(el.parentNode){el.parentNode.removeChild(el);}
el=null;},removeChilds:function(el,stop_element){if(!stop_element){while(el.childNodes.length){el.removeChild(el.lastChild);}}else{while(el.lastChild&&el.lastChild!=stop_element){el.removeChild(el.lastChild);}}},disableSelection:function(target){if(typeof(target.onselectstart)!="undefined"){target.tmp_onselectstart=target.onselectstart;target.onselectstart=function(){return false}}else if(typeof(target.style.MozUserSelect)!="undefined"){target.style.tmp_MozUserSelect=target.style.MozUserSelect;target.style.MozUserSelect="none";}else{target.tmp_onmousedown=target.onmousedown;target.onmousedown=function(){return false}}
target.style.cursor="default"},enableSelection:function(target){if(typeof(target.onselectstart)!="undefined"){target.onselectstart=target.tmp_onselectstart;}else if(typeof(target.style.MozUserSelect)!="undefined"){target.style.MozUserSelect=target.style.tmp_MozUserSelect;}else{target.onmousedown=target.tmp_onmousedown;}},getPosition:function(el,skip_scroll){if(el.getBoundingClientRect){var rect=el.getBoundingClientRect();var ofs={left:document.documentElement.clientLeft||document.body.clientLeft||0,top:document.documentElement.clientTop||document.body.clientTop||0}
var res={top:Math.round(rect.top)-ofs.top,left:Math.round(rect.left)-ofs.left}
if(!skip_scroll){var scroll=core.browser.getScroll();res.top+=scroll.top;res.left+=scroll.left;}}else{var res={top:0,left:0}
while(el){res.top+=parseInt(el.offsetTop);res.left+=parseInt(el.offsetLeft);el=el.offsetParent;}}
return res;},getStyle:function(el,name){var res="";if(document.defaultView&&document.defaultView.getComputedStyle){res=document.defaultView.getComputedStyle(el,"").getPropertyValue(name);}else if(el.currentStyle){name=name.replace(/\-(\w)/g,function(p0,p1){return p1.toUpperCase();});res=el.currentStyle[name];}
return res;},transferStyles:function(src,dst){var skeys=["font-family","font-size","color","background-color"];var dkeys=["fontFamily","fontSize","color","backgroundColor"];for(var i=0;i<skeys.length;i++){dst.style[dkeys[i]]=this.getStyle(src,skeys[i]);}}}
if(navigator.userAgent.indexOf("AppleWebKit")!=-1){core.browser.safari=1;}else if(navigator.userAgent.indexOf("Opera")!=-1){core.browser.opera=1;}else if(navigator.userAgent.indexOf("Gecko")!=-1){core.browser.mozilla=1;}else if(navigator.userAgent.indexOf("MSIE")!=-1){core.browser.ie=1;var v=navigator.appVersion.split("MSIE")
core.browser.ie_version=parseFloat(v[1]);}
core.launcher={loaded:{},load:function(args){if(!args.components)return;var components=typeof(args.components)=="string"?[args.components]:args.components;var list=[];for(var i=0;i<components.length;i++){if(!this.loaded[components[i]]){list.push(components[i]);}}
if(list.length>0){var script=document.createElement("script");script.type='text/javascript'
if(core.browser.ie){script.onreadystatechange=function(){if(script.readyState=="loaded"){args.onload();}}}else{script.onload=function(){args.onload();}}
var head=document.getElementsByTagName('head')[0];head.appendChild(script);script.src="/site.php?dialog=js_apps&list="+list.join(";")+"&sid="+core.data.sid;}else{args.onload();}},registerLoadedApps:function(list){for(var i=0;i<list.length;i++){core.launcher.loaded[list[i]]=true;}},run:function(args){if(core.launcher.loaded[args.appName]){try{app=new core.apps[args.appName](args.appArgs);app.appName=args.appName;if(args.onrun){args.onrun(app);}
return app;}catch(e){core.console.log("Can't run app: "+args.appName+"\n"+dump(e),"error");return false;}}else{var loadingBox=core.browser.element.create("div",{className:"app_loading_box"});if(args.beforeElement){args.beforeElement.parentNode.insertBefore(loadingBox,args.beforeElement);}else if(args.parentElement){args.parentElement.appendChild(loadingBox);}else{return false;}
args.beforeElement=loadingBox;var onload=function(){loadingBox.style.display="none";if(core.launcher.loaded[args.appName]){core.launcher.run(args);}
core.browser.element.remove(loadingBox);loadingBox=null;}
core.launcher.load({components:args.appName,onload:onload});}}}
core.transport={create:function(){var xtr;var ex;if(typeof(XMLHttpRequest)!="undefined"){xtr=new XMLHttpRequest();}else{try{xtr=new ActiveXObject("Msxml2.XMLHTTP.4.0");}catch(ex){try{xtr=new ActiveXObject("Msxml2.XMLHTTP");}catch(ex){}}}
try{if(xtr&&!xtr.setRequestHeader)xtr=null;}catch(ex){}
return xtr;},send:function(url,data,callback,method){var req=this.create();if(!req){core.console.log("Can't init request object.","error");return false;}
req.onreadystatechange=function(){if(req.readyState!=4)return;if(req.status!=200){core.console.log(req.status?"status: "+req.status:"no data","error");return;}
var res;try{eval("res = "+req.responseText+";");}catch(e){res=req.responseText;}
if(callback)callback(res);req=null;}
var method=method?method.toLowerCase():"get";if(data){if(core.data){data._sid=core.data.sid;}
data._rnd=Math.random();data=this.getEncodedData(data);}else{data="";}
if(method=="get"){url+=(url.match(/\?/)?"&":"?")+data;}
req.open(method,url,true);var to_send=null;if(method=="post"){req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");to_send=data;}
req.send(to_send);},getEncodedData:function(data){var enc=[];for(var key in data){if(!data.hasOwnProperty(key))continue;enc.push(encodeURIComponent(key)+"="+encodeURIComponent(data[key]));}
return enc.join("&");}}
core.utils={};core.utils.fsystem={formatSize:function(bytes){bytes=parseInt(bytes,10);if(bytes<1024){return bytes+" b";}else if(bytes<1048576){return(bytes>>10)+" Kb";}else{return(bytes>>20)+" Mb";}},getFileIcon:function(fname){var ext=this.getFileExtension(fname);return"/static/fileicons/"+(this._types[ext]?this._types[ext]:"_")+".gif";},getFileType:function(fname){var ext=this.getFileExtension(fname);return this._types[ext]?this._types[ext]:false;},getFileExtension:function(fname){var ext=fname.split(".");ext=ext[ext.length-1].toLowerCase();return ext;},_types:{"mp3":"audio","wma":"audio","wav":"audio","mid":"audio","ogg":"audio","avi":"video","vob":"video","mkv":"video","wmv":"video","mpg":"video","mp4":"video","flv":"video","pdf":"acrobat","c":"code","pas":"code","asp":"code","js":"code","php":"code_php","php3":"code_php","php5":"code_php","phtml":"code_php","zip":"compressed","rar":"compressed","7z":"compressed","tar":"compressed","bz2":"compressed","xls":"excel","csv":"excel","swf":"flash","htm":"html","html":"html","jpg":"picture","jpeg":"picture","gif":"picture","png":"picture","bmp":"picture","tga":"picture","ppt":"powerpoint","txt":"text","doc":"word"}}
core.utils.gmap={messages:{"gmap_key_error":"Please setup Google Maps API key in admin section","compability_error":"Browser not compatible","ok":"GMap API loaded"},status:false,callbacks:[],getGmapKey:function(){var key=core.data.gmap_key;if(core.data.home_domain!=core.data.base_host){key=GMAP_API_KEY==""?false:GMAP_API_KEY;}
return key;},loadAPI:function(callback){this.callbacks.push(callback);if(this.status){if(this.status!="loading"){this.runCallbacks();}
return;}
this.status="loading";var key=this.getGmapKey();if(!key){this.status="gmap_key_error";this.runCallbacks();}
var script=document.createElement("script");script.type="text/javascript";script.src="http://maps.google.com/maps?file=api&v=2.x&key="+key+"&async=2&callback=core.utils.gmap.onApiLoaded";document.body.appendChild(script);},onApiLoaded:function(r){var obj=core.utils.gmap;obj.status=GBrowserIsCompatible()?"ok":"compability_error";obj.runCallbacks();},runCallbacks:function(){var arg={status:this.status,message:this.messages[this.status]}
while(this.callbacks.length){var c=this.callbacks.shift();if(c)c(arg);}}};
core.common={isEmail:function(x){if(typeof(x)!="undefined"){return x.search(/^[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*@[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*\.([A-Za-z]){2,4}$/ig)!=-1;}else{return false;}},isEmpty:function(x){return(typeof(x)=="undefined"||(x=="")||(x==""&&!isNaN(x))||(/^\s*$/.test(x)));},formatTitle:function(str){str=str.trim();var words=str.split(" ");var first=words.shift();return"<strong>"+first+"</strong> "+words.join(" ");},getUserFile:function(fname,skip_domain){return"/files/"+core.data.site_info.subdomain+"/"+fname;},monthes:["January","February","March","April","May","June","July","August","September","October","November","December"],monthes_short:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdays_short:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]}
core.values.page_styles_theme=[{title:"Style A",style:"page_style_a"},{title:"Style B",style:"page_style_b"},{title:"Style C",style:"page_style_c"},{title:"Style D",style:"page_style_d"}];
core.components.html_component={buildModel:function(parent,data){if(!data)return;if(!this.$)this.$={};var tag=data["tag"];if(!tag){if(data.length){for(var e in data){this.buildModel(parent,data[e]);}}
return parent;}
if(tag=="include"){this.displayTpl(parent,data["tpl"]);return parent;}
var events=this._formatEventsList(data.events);if(core.wsc[tag]){var control=new core.wsc[tag](data,events);var el=control.window;if(data.name){el["name"]=data.name;}}else{data=this._extendModel(data);var el=this._buildElement(data);}
for(var k in events){core.browser.attachEvent(el,k,events[k]);}
if(data.id){this.$[data.id]=el;el.id=data.id;}
if(parent){parent.appendChild(el);}
this.buildModel(el,data.childs);return el;},_buildElement:function(data){if(data["tag"]=="text"){return document.createTextNode(data.innerHTML)}
var el=this.createElement(data);for(p in data){switch(p){case null,"tag","childs":continue;break;case"cssText":el.style.cssText+=data[p];break;case"options":for(var i in data.options){el.options.add(new Option(data.options[i].text,data.options[i].value));}
break;case"style":for(s in data.style){el.style[s]=data.style[s];}
break;case"src":var src=data.src;el.setAttribute("src",src);break;case"display":if(!data.display){el.style.display='none';}
break;case"href":if(data.href=="void"){el.href="javascript:void(0)";}else{el.href=data.href;}
break;case"html":el.innerHTML=data.html;break;case"hint":if(data.tag=="input"){el.hint=data.hint;core.wsc.lib.addTextInputHint(el);}
break;default:el[p]=data[p];break;}}
return el;},_extendModel:function(data){switch(data["tag"]){case"table":if(data.childs&&data.childs[0].tag!="tbody"){var id=data.id;delete(data.id);data.childs=[{tag:"tbody",childs:data.childs,id:id}]}
break;case"checkbox":var m={tag:"label",childs:[{tag:"input",type:"checkbox",id:data.id,className:"checkbox"},{tag:"text",innerHTML:data.title}]}
return m;break;case"a":if(data["href"]==undefined){data["href"]="void";}
break;case"wsc_text":case"wsc_password":var d=clone(data);d.tag="input";d.type=data.tag=="wsc_text"?"text":"password";var display=d.display;delete d.display;var clear_control=d.clear_control;delete d.clear_control;var className=d.className||"";delete d.className;data={tag:"div",className:"wsc_text "+className,childs:[{tag:"div",childs:[d]}]}
if(clear_control!=undefined){data.childs.push({tag:"span",className:"btn_clear",title:"Clear",events:{onclick:["_wscClearText",d.id]}});}
if(display!=undefined){data.display=display;}
break;case"wsc_textarea":var d=clone(data);d.tag="textarea";var h=data.title!=undefined?{tag:"div",className:"wsc_box_hl",html:"<div class='wsc_box_hr'>"+data.title+"</div>"}:{tag:"div",className:"wsc_box_tl",innerHTML:"<div class='wsc_box_tr'><div class='wsc_box_tc'></div></div>"}
data={tag:"div",className:"wsc_box",childs:[h,{tag:"div",className:"wsc_box_m",childs:[{tag:"span",childs:[d]}]},{tag:"div",className:"wsc_box_bl",innerHTML:"<div class='wsc_box_br'><div class='wsc_box_bc'></div></div>"}]}
break;case"wsc_box":var h=data.title!=undefined?{tag:"div",className:"wsc_box_hl",childs:[{tag:"div",className:"wsc_box_hr",id:data.id?data.id+"_title":null,innerHTML:data.title}]}:{tag:"div",className:"wsc_box_tl",innerHTML:"<div class='wsc_box_tr'><div class='wsc_box_tc'></div></div>"}
data={tag:"div",className:"wsc_box",childs:[h,{tag:"div",className:"wsc_box_m",childs:data.childs},{tag:"div",className:"wsc_box_bl",innerHTML:"<div class='wsc_box_br'><div class='wsc_box_bc'></div></div>"}]}
break;}
return data;},displayTpl:function(parent,tplName){if(!parent)return;if(core.templates[tplName]){this.buildModel(parent,core.templates[tplName]);}else{this.error("template <"+tplName+"> not found");}},_formatEventsList:function(events){var res={};if(typeof(events)=="string"){var list=events.split(";");for(var i=0;i<list.length;i++){var event=list[i].split("=");var on=event[0];var handler=event[1];if(!handler||!this[handler])continue;res[on]=this[handler].bindAsEventListener(this);}}else{for(var on in events){if(typeof(events[on])=="string"){if(this[events[on]]){res[on]=this[events[on]].bindAsEventListener(this);}}else{if(this[events[on][0]]){res[on]=this[events[on][0]].bindAsEventListener(this,events[on][1]);}}}}
return res;},createElement:function(data){return document.createElement(data.tag);},showElement:function(name,remove_none){if(!this.$[name])return false;this.$[name].style.display=remove_none?"":"block";},showElements:function(names){for(var i=0;i<names.length;i++){var el=this.$[names[i]];if(!el)continue;el.style.display="block";}},hideElement:function(name){if(!this.$[name])return false;this.$[name].style.display="none";},hideElements:function(names){for(var i=0;i<names.length;i++){var el=this.$[names[i]];if(!el)continue;el.style.display="none";}},deleteElement:function(name){var el=this.$[name];if(!el)return false;if(el.parentNode){el.parentNode.removeChild(el);}
this.$[name]=null},setElementOpacity:function(n,v){with(this.$[n].style){opacity=v/100;filter='alpha(opacity='+v+')';}},callFunction:function(name,args){var o=this;if(!o[name])return false;return o[name](args);},error:function(str){alert("Error in "+this.appName+"\n"+str);},_wscClearText:function(e,id){var el=this.$[id];if(el.hint){el.setValue(false);}else{el.value="";}
if(el.onclear){el.onclear(e);}}}
if(core.browser.ie&&core.browser.ie_version<9){core.components.html_component.createElement=function(data){if(data.name&&(data.tag=="input"||data.tag=="select"||data.tag=="textarea")){var t="<"+data.tag+" name='"+data.name+"'>";}else{var t=data.tag;}
return document.createElement(t);}}
core.components.desktop_app={open:function(args){if(args.beforeElement){this.displayTpl(desktop.$["tmp_hidden"],"app_window");args.beforeElement.parentNode.insertBefore(this.$["window"],args.beforeElement);}else if(args.parentElement){this.displayTpl(args.parentElement,"app_window");}else{return false;}
this.profile=args.profile||this.defaultProfile;for(var k in this.defaultProfile){if(this.profile[k]!=undefined)continue;this.profile[k]=this.defaultProfile[k];}
if(core.mode!="view"||this.profile["title"]!=""){this.buildModel(this.$["caption"],{tag:"h3",id:"title"});}
this.id=args.id;this.applyCaptionMode();this.applyAppStyle();this.callFunction("buildContent",this.$["content"]);this.$["window"].wid=this.id;if(core.mode=="admin"){this.initAdminControls();}
this.callFunction("onOpen");},setTitle:function(str){var el=this.$["title"];if(!el)return;el.innerHTML=core.common.formatTitle(str);},applyCaptionMode:function(){this.$["caption"].style.display=this.profile["title"]==""?"none":"block";},applyAppStyle:function(){this.$["window"].className="app "+this.profile["app_style"];},setParent:function(el){el.appendChild(this.$["window"]);},blockUI:function(){if(!this.$["window"])return;if(!this.$["ui_overlay"]){this.buildModel(this.$["window"],{tag:"div",className:"ui_overlay",id:"ui_overlay",innerHTML:"<div></div><span><img src='/static/images/loading.gif'/> Loading...</span>"});}
this.showElement("ui_overlay");var els=this.$["ui_overlay"].style;var win=this.$["window"];els.width=win.offsetWidth+"px";els.height=win.offsetHeight+"px";},unblockUI:function(){this.hideElement("ui_overlay");}}
core.components.popup_app={_showContent:function(){this.isVisible=true;this._renderContent();this.showElement("content");this.callFunction("onShowContent");this.setTitle(this.getTitle());this._updateResizeCursors();},_renderContent:function(){if(this._isContentRendered)return;this.buildModel(desktop.$["popup_content"],{tag:"div",id:"content",display:false});this.callFunction("renderContent");this._isContentRendered=true;this._initResize();},_initResize:function(){this._resize_cursors={};if(!this.window_resize)return;if(!this.window_resize.target){this.window_resize.target="content";}
var el=this.$[this.window_resize.target];if(this.window_resize.width){if(el){el.style.width=this.window_resize.width+"px";}
if(this.window_resize.min_width){desktop.$["popup_right"].onmousedown=this._startResize.bindAsEventListener(this);this._resize_cursors["r"]=true;var horizaontal=true;}}
if(this.window_resize.height){if(el){el.style.height=this.window_resize.height+"px";}
if(this.window_resize.min_height){desktop.$["popup_footer"].onmousedown=this._startResize.bindAsEventListener(this);this._resize_cursors["b"]=true;var vertical=true;}}
if(horizaontal&&vertical){desktop.$["popup_right_bottom"].onmousedown=this._startResize.bindAsEventListener(this);this._resize_cursors["rb"]=true;}
this.callFunction("onResize",this.window_resize);},_updateResizeCursors:function(){desktop.$["popup_right"].style.cursor=this._resize_cursors["r"]?"e-resize":"default";desktop.$["popup_footer"].style.cursor=this._resize_cursors["b"]?"s-resize":"default";desktop.$["popup_right_bottom"].style.cursor=this._resize_cursors["rb"]?"nw-resize":"default";},_hideContent:function(){this.isVisible=false;this.callFunction("onHideContent");this.hideElement("content");},setTitle:function(str){desktop.setPopupTitle(str);},_startResize:function(e){if(this._isResizing)return;this._isResizing=true;e=core.browser.event.fix(e);document.onmouseup=this._stopResize.bindAsEventListener(this);this._oldMouseMove=document.onmousemove;var el=this.$[this.window_resize.target];this._tmp_size={width:el.offsetWidth,height:el.offsetHeight}
this._roffset={left:e.clientX,top:e.clientY}
document.onmousemove=this._resize.bindAsEventListener(this);document.ondragstart=function(){return false}
core.browser.event.kill(e);return false;},_resize:function(e){e=core.browser.event.fix(e);var win=core.browser.getWindowSize();var ofs={width:(this._roffset.left-Math.min(win.width,e.clientX))*2,height:(this._roffset.top-Math.min(win.height,e.clientY))*2}
var rect={width:Math.max(this._tmp_size.width-ofs.width,this.window_resize.min_width),height:Math.max(this._tmp_size.height-ofs.height,this.window_resize.min_height)}
if(rect.width>1600)rect.width=1600;if(this.window_resize.min_width){this.$[this.window_resize.target].style.width=rect.width+"px";}
if(this.window_resize.min_height){this.$[this.window_resize.target].style.height=rect.height+"px";}
this.callFunction("onResize",rect);desktop.updatePopupPos("popup_window");},_stopResize:function(e){this._isResizing=false;document.onmouseup=null;document.onmousemove=this._oldMouseMove;},onCloseClick:function(e){desktop.hidePopupApp();}}
core.values.form_object_idx=0;core.values.form_objects=[];core.objects.form=function(properties){this.default_properties={parent_el:false,disable_submit:false,form_builder_mode:false,target_type:false,target_value:false}
this.properties={};this.setProperties(properties);this.data=false;this.form_id=false;this.obj_id=++core.values.form_object_idx;core.values.form_objects[this.obj_id]=this;this.iframe_name="form_iframe"+this.obj_id;}
core.objects.form.prototype={setProperties:function(properties){for(var key in properties){this.properties[key]=properties[key]==undefined?this.default_properties[key]:properties[key];}},setStructure:function(data,form_id){this.data=clone(data);this.form_id=form_id;this.is_field_hidden={};},initCountriesList:function(){if(core.data.countries){this.fillCountries();}else{var p={dialog:"gmap",action:"get_countries"}
core.transport.send("/controller.php",p,this.onCountriesList.bind(this));}},onCountriesList:function(data){if(data&&data.status=="done"){core.data.countries=data.countries;this.fillCountries();}},fillCountries:function(){for(var id in this.$["form"]){var el=this.$["form"][id];if(el&&el.is_countries_list){this.fillCountryElement(el);}}},fillCountryElement:function(el){var cts=core.data.countries;el.options.length=0;for(var i=0;i<cts.length;i++){el.options.add(new Option(cts[i].printable_name,cts[i].iso));}},updateDocuments:function(){for(var i=0;i<this.data.fields.length;i++){var p=this.data.fields[i].properties;if(p.document){core.data.texts.get(p.document.id,this.setDocContent.bind(this,i,p.document));}}},setDocContent:function(idx,pdoc,text){var el=this.$["note_"+idx+"_"+text.id];if(!el)return;el.innerHTML=text[pdoc.target];},render:function(){this.outline(null);if(!this.data||!this.properties.parent_el||!this.data.fields.length)return;this.buildModel(this.properties.parent_el,{tag:"input",type:"hidden",id:"inp_tmp"});var m=[{tag:"div",className:"section",innerHTML:this.data.description}];this.pages_count=1;this.pages_elements=[{start:0,count:0}];var page_el={tag:"div",id:"page_0",display:this.properties.form_builder_mode,childs:[]}
for(var i=0;i<this.data.fields.length;i++){var field=this.data.fields[i];this.pages_elements[this.pages_count-1].count++;if(field.type=="page_break"&&page_el){m.push(page_el);this.pages_count++;this.pages_elements.push({start:i+1,count:0});page_el={tag:"div",id:"page_"+(this.pages_count-1),display:this.properties.form_builder_mode,childs:[]}}
page_el.childs.push({tag:"div",className:"outline",is_outline:true,childs:[this.getFieldModel(i,field)]});}
if(!this.properties.disable_submit){page_el.childs.push(this.getSubmitModel());}
if(page_el.childs.length){m.push(page_el);}
m={tag:"form",className:"user",id:"form",childs:m}
if(this.properties.target_type=="url"){m.action="controller.php";m.childs.push(this.getHiddenField("dialog","forms_receiver"));m.childs.push(this.getHiddenField("_sid",core.data.sid));m.childs.push(this.getHiddenField("_form_id",this.form_id));m.childs.push(this.getHiddenField("_obj_id",this.obj_id));m.childs.push(this.getHiddenField("_email",this.properties.target_value));m.childs.push(this.getHiddenField("_repeaters",""));m.method="post";m.target=this.iframe_name;m.onsubmit=this.onFormSubmit.bind(this);}
this.buildModel(this.properties.parent_el,m);for(var i=0;i<this.data.fields.length;i++){if(this.data.fields[i].type=="file"){this.$["form"].setAttribute("enctype","multipart/form-data");this.$["form"].setAttribute("encoding","multipart/form-data");break;}}
this.buildModel(this.properties.parent_el,[{tag:"iframe",display:false,name:this.iframe_name,src:"about:blank"},{tag:"div",id:"msg_submit_ok",className:"message_success",display:false,innerHTML:this.data.confirmation||"Data successfully sent."},{tag:"div",id:"msg_submit_error",className:"message_error",display:false,innerHTML:"Form error"}]);this.renderRepeaters();this.updateElementsVisibility();this.initCountriesList();this.updateDocuments();this.initNavigation();},initNavigation:function(){if(this.pages_count==0||this.properties.form_builder_mode){return;}
this.is_seo_iframe_rendered=[];this.active_page_idx=null;var m={tag:"div",className:"section",display:this.pages_count>1,childs:[{tag:"a",innerHTML:"Prev",events:{onclick:["onNavClick",-1]},id:"lnk_nav_prev"},{tag:"span",id:"box_nav_info"},{tag:"a",innerHTML:"Next",events:{onclick:["onNavClick",1]},id:"lnk_nav_next"}]}
this.buildModel(this.properties.parent_el,m);this.showPage(0);},onNavClick:function(e,dir){if(dir==1&&!this.checkRequiredFields())return;var page_idx=this.active_page_idx+dir;if(page_idx<0||page_idx>this.pages_count)return;this.showPage(page_idx);},showPage:function(idx){if(this.active_page_idx!=null){this.hideElement("page_"+this.active_page_idx);}
this.active_page_idx=idx;this.showElement("page_"+this.active_page_idx);this.$["lnk_nav_prev"].style.visibility=this.active_page_idx==0?"hidden":"visible";this.$["lnk_nav_next"].style.visibility=this.active_page_idx==(this.pages_count-1)?"hidden":"visible";this.$["box_nav_info"].innerHTML=" &nbsp; Step "+(this.active_page_idx+1)+" of "+this.pages_count+" &nbsp; ";if(this.active_page_idx!=0&&core.data.site_has_analytics_code&&!this.is_seo_iframe_rendered[this.active_page_idx]){this.is_seo_iframe_rendered[this.active_page_idx]=true;var seo_page_url="http://"+core.data.http_host+"/site.php?dialog=form&form_id="+this.form_id+"&step="+(this.active_page_idx+1);var m={tag:"iframe",display:false,src:seo_page_url}
this.buildModel(this.properties.parent_el,m);}},getHiddenField:function(name,value){var m={tag:"input",type:"hidden",name:name,value:value};return m;},getFieldModel:function(idx,field){if(field.type=="page_break"&&!this.properties.form_builder_mode){return{tag:"div"};}
var p=field.properties;var m={tag:"div",className:"section type_"+field.type,id:"section"+idx,style:{position:"relative"},events:{onclick:["onSectionClick",idx]},childs:[]}
if(p.label&&field.type!="repeater"){m.childs.push({tag:"div",className:"header1",innerHTML:p.label});}
switch(field.type){case"captcha":m.childs.push({tag:"div",className:"fbox",childs:[{tag:"div",className:"c31",childs:[{tag:"img",className:"captcha",id:"captcha",src:"/controller.php?dialog=forms_manager&act=captcha&form_id="+this.form_id+"&_="+Math.random()}]},{tag:"div",className:"c32",childs:[{tag:"input",className:"code",type:"text",name:p.name}]}]});break;case"file":m.childs.push({tag:"input",type:"file",name:p.name});break;case"text":case"email":m.childs.push({tag:"input",type:"text",events:{onfocus:"onFieldFocus",onblur:"onFieldBlur",onchange:"onFieldChanged"},name:p.name});break;case"textarea":m.childs.push({tag:"textarea",name:p.name,events:{onfocus:"onFieldFocus",onblur:"onFieldBlur",onchange:"onFieldChanged"},style:{height:p.height+"px"}});break;case"select":m.childs.push({tag:"select",name:p.name,events:{onfocus:"onFieldFocus",onblur:"onFieldBlur",onchange:"onFieldChanged"},options:p.options});break;case"radios":var opts=p.options;for(var i=0;i<opts.length;i++){m.childs.push({tag:"div",childs:[{tag:"input",type:"radio",name:p.name,checked:i==0,value:opts[i].value},{tag:"text",innerHTML:opts[i].text}]});}
break;case"checkboxes":var opts=p.options;for(var i=0;i<opts.length;i++){m.childs.push({tag:"div",childs:[{tag:"input",type:"checkbox",name:p.name+"_"+opts[i].value},{tag:"text",innerHTML:opts[i].text}]});}
break;case"name":switch(p.name_format){case"name":m.childs.push({tag:"input",type:"text",events:{onfocus:"onFieldFocus",onblur:"onFieldBlur"},name:p.name});break;case"first_last":m.childs.push({tag:"div",className:"fbox",childs:[{tag:"div",className:"c21",childs:[{tag:"input",type:"text",events:{onfocus:"onFieldFocus",onblur:"onFieldBlur"},name:p.name+"_first"},{tag:"span",innerHTML:"First Name"}]},{tag:"div",className:"c22",childs:[{tag:"input",type:"text",events:{onfocus:"onFieldFocus",onblur:"onFieldBlur"},name:p.name+"_last"},{tag:"span",innerHTML:"Last Name"}]}]});break;case"first_middle_last":m.childs.push({tag:"div",className:"fbox",childs:[{tag:"div",className:"c31",childs:[{tag:"input",type:"text",events:{onfocus:"onFieldFocus",onblur:"onFieldBlur"},name:p.name+"_first"},{tag:"span",innerHTML:"First Name"}]},{tag:"div",className:"c32",childs:[{tag:"input",type:"text",events:{onfocus:"onFieldFocus",onblur:"onFieldBlur"},name:p.name+"_middle"},{tag:"span",innerHTML:"Middle Name/Initial"}]},{tag:"div",className:"c33",childs:[{tag:"input",type:"text",events:{onfocus:"onFieldFocus",onblur:"onFieldBlur"},name:p.name+"_last"},{tag:"span",innerHTML:"Last Name"}]}]});break;}
break;case"contact":m.childs.push({tag:"div",className:"fbox",childs:[{tag:"div",className:"c21",childs:[{tag:"input",type:"text",events:{onfocus:"onFieldFocus",onblur:"onFieldBlur"},name:p.name+"_phone"},{tag:"span",innerHTML:"Phone"}]},{tag:"div",className:"c22",childs:[{tag:"input",type:"text",events:{onfocus:"onFieldFocus",onblur:"onFieldBlur"},name:p.name+"_phone_mobile"},{tag:"span",innerHTML:"Mobile"}]}]});m.childs.push({tag:"div",className:"fbox",childs:[{tag:"input",type:"text",events:{onfocus:"onFieldFocus",onblur:"onFieldBlur"},name:p.name+"_email"},{tag:"span",innerHTML:"Email"}]})
if(p["confirm_email"]){m.childs.push({tag:"input",type:"text",events:{onfocus:"onFieldFocus",onblur:"onFieldBlur"},name:p.name+"_email2"},{tag:"span",innerHTML:"Confirm Email"});}
break;case"date":var d=new Date();m.childs.push({tag:"div",className:"fbox",childs:[{tag:"div",className:"time_cell",childs:[{tag:"input",type:"text",value:d.getDate(),readOnly:true,events:{onfocus:"onFieldFocus",onblur:"onFieldBlur"},name:p.name+"_day"},{tag:"span",innerHTML:"DD"}]},{tag:"div",className:"time_div",innerHTML:" / "},{tag:"div",className:"time_cell",childs:[{tag:"input",type:"text",value:d.getMonth()+1,readOnly:true,events:{onfocus:"onFieldFocus",onblur:"onFieldBlur"},name:p.name+"_month"},{tag:"span",innerHTML:"MM"}]},{tag:"div",className:"time_div",innerHTML:" / "},{tag:"div",className:"time_cell2",childs:[{tag:"input",type:"text",value:d.getFullYear(),readOnly:true,events:{onfocus:"onFieldFocus",onblur:"onFieldBlur"},name:p.name+"_year"},{tag:"span",innerHTML:"YYYY"}]},{tag:"div",className:"btn_calendar",field_name:p.name,id:"btn_dp"+p.name,events:{onclick:"showDatePicker"}}]});break;case"time":var date=new Date();var hh=date.getHours();if(hh>12){var ampm="pm";hh-=12;}else{var ampm="am";}
if(hh<10)hh="0"+hh;var mm=date.getMinutes();if(mm<10)mm="0"+mm;var mt={tag:"div",className:"fbox",childs:[{tag:"div",className:"time_cell",childs:[{tag:"input",type:"text",value:hh,maxLength:2,vformat:"HH",events:{onfocus:"onFieldFocus",onblur:"onFieldBlur"},name:p.name+"_h"},{tag:"span",innerHTML:"HH"}]},{tag:"div",className:"time_div",innerHTML:" : "},{tag:"div",className:"time_cell",childs:[{tag:"input",type:"text",value:mm,maxLength:2,vformat:"MM",events:{onfocus:"onFieldFocus",onblur:"onFieldBlur"},name:p.name+"_m"},{tag:"span",innerHTML:"MM"}]}]}
if(p["time_format"]=="hhmmss"){var ss=date.getSeconds();if(ss<10)ss="0"+ss;mt.childs.push({tag:"div",className:"time_div",innerHTML:" : "},{tag:"div",className:"time_cell",childs:[{tag:"input",type:"text",value:ss,maxLength:2,vformat:"SS",events:{onfocus:"onFieldFocus",onblur:"onFieldBlur"},name:p.name+"_s"},{tag:"span",innerHTML:"SS"}]});}
mt.childs.push({tag:"div",className:"time_div",innerHTML:" : "},{tag:"div",className:"time_cell2",childs:[{tag:"select",name:p.name+"_ampm",events:{onfocus:"onFieldFocus",onblur:"onFieldBlur"},options:[{value:"am",text:"AM"},{value:"pm",text:"PM"}],value:ampm},{tag:"span",innerHTML:"AM/PM"}]});m.childs.push(mt);break;case"addr":m.childs.push({tag:"div",childs:[{tag:"input",type:"text",events:{onfocus:"onFieldFocus",onblur:"onFieldBlur"},name:p.name+"_street"},{tag:"span",innerHTML:"Street"},{tag:"input",type:"text",events:{onfocus:"onFieldFocus",onblur:"onFieldBlur"},name:p.name+"_line2"},{tag:"span",innerHTML:"Address Line 2"},{tag:"input",type:"text",events:{onfocus:"onFieldFocus",onblur:"onFieldBlur"},name:p.name+"_city"},{tag:"span",innerHTML:"Town/City"},{tag:"div",className:"fbox",childs:[{tag:"div",className:"c31",childs:[{tag:"input",type:"text",events:{onfocus:"onFieldFocus",onblur:"onFieldBlur"},name:p.name+"_state"},{tag:"span",innerHTML:"State"}]},{tag:"div",className:"c32",childs:[{tag:"input",type:"text",events:{onfocus:"onFieldFocus",onblur:"onFieldBlur"},name:p.name+"_post_code"},{tag:"span",innerHTML:"Area/Post Code"}]},{tag:"div",className:"c33",childs:[{tag:"select",events:{onfocus:"onFieldFocus",onblur:"onFieldBlur"},options:[{text:"Loading...",value:""}],is_countries_list:true,name:p.name+"_country"},{tag:"span",innerHTML:"Country"}]}]}]});break;case"statements":var s=p.statements,o=p.options;var tm=[{tag:"tr",childs:[{tag:"th"}]}];for(var i=0;i<o.length;i++){tm[0].childs.push({tag:"th",innerHTML:o[i].text});}
for(var i=0;i<s.length;i++){var trm={tag:"tr",className:(i%2==1?"odd":""),childs:[{tag:"td",innerHTML:s[i].text}]}
for(var j=0;j<o.length;j++){trm.childs.push({tag:"td",childs:[{tag:"input",type:"radio",name:p.name+"_"+s[i].value,checked:j==0,value:o[j].value}]});}
tm.push(trm);}
m.childs.push({tag:"table",className:"statements",childs:tm});break;case"price":m.childs.push({tag:"input",type:"text",events:{onfocus:"onFieldFocus",onblur:"onFieldBlur"},vformat:"money",value:"0.00",name:p.name},{tag:"span",innerHTML:(p.currency=="GBP"?"&pound; ":"$ ")+p.currency});break;case"hr":m.childs.push({tag:"hr"});break;case"page_break":if(this.properties.form_builder_mode){m.childs.push({tag:"div",className:"page_break",innerHTML:"Page break"});}
break;case"repeater":if(p.qty_input_type=="select"){var opts=[];for(var i=p.qty_min;i<=p.qty_max;i++){opts.push({text:i,value:i});}
var im={tag:"select",id:"inp_repeater_qty"+idx,className:"w75",events:{onchange:["onRepeaterQtyChanged",idx]},options:opts,value:p.qty_min}}else{var im={tag:"input",type:"text",id:"inp_repeater_qty"+idx,className:"w50",style:{display:"inline"},value:p.qty_min,events:{onchange:["onRepeaterQtyChanged",idx]}}}
m.childs.push({tag:"div",className:"repeater",childs:[{tag:"div",childs:[{tag:"text",innerHTML:p.label+" "},im]},{tag:"div",id:"repeater_content"+idx}]});break;case"link":m.childs.push({tag:"a",href:p.url,target:p.new_window?"_blank":"_self",innerHTML:p.title});break;case"note":if(p.document){m.childs.push({tag:"div",innerHTML:"Loading...",id:"note_"+idx+"_"+p.document.id});}else{m.childs.push({tag:"div",innerHTML:p.text});}
break;}
return m;},getSubmitModel:function(){var m=[{tag:"input",id:"btn_submit",events:{onclick:"onSubmitClick"},type:"submit",value:" Submit "}]
return m;},addFirstZero:function(i){if(i<10)i="0"+i;return i;},onFieldFocus:function(e){e=core.browser.event.fix(e);var el=e.target;this.outline(el);},onFieldBlur:function(e){this.outline(null);e=core.browser.event.fix(e);var el=e.target;if(!el.vformat)return;var v=el.value;switch(el.vformat){case"HH":v=parseInt(v,10)||0;if(v<0){v=0;}else if(v>12){v=12;}
el.value=this.addFirstZero(v);break;case"MM":case"SS":v=parseInt(v,10)||0;if(v<0){v=0;}else if(v>59){v=59;}
el.value=this.addFirstZero(v);break;case"money":if(v.indexOf(".")==-1){v=parseInt(v,10)||0;v=v+".00";}else{var tmp=v.split(".");tmp[0]=parseInt(tmp[0],10)||0;tmp[1]=parseInt(tmp[1],10)||0;if(tmp[1]>99){tmp[1]=99;}else{tmp[1]=this.addFirstZero(tmp[1]);}
v=tmp[0]+"."+tmp[1];}
el.value=v;break;}
this.updateElementsVisibility();},onFieldChanged:function(e){this.updateElementsVisibility();},outline:function(el){if(this.properties.form_builder_mode)return;if(this.outline_el){this.outline_el.className="outline";this.outline_el=null;}
if(!el)return;while(!el.is_outline&&el.parentNode){el=el.parentNode;}
if(el.is_outline){el.className="outline_active";this.outline_el=el;}},onSectionClick:function(e,idx){if(this.onSectionFocus){this.onSectionFocus(idx);}
if(this.properties.form_builder_mode){core.browser.event.kill(e);}},showDatePicker:function(e){e=core.browser.event.fix(e);this.dp_target=e.target.field_name;var el=this.$["form"][e.target.field_name+"_day"];var pos=core.browser.element.getPosition(el);pos=[pos.left,pos.top+el.offsetHeight+1];if(!this.date_picker){var w=this;this.date_picker=core.externals.datepicker({inputField:this.$["inp_tmp"],showsTime:false,singleClick:true,onUpdate:this.onDateSelect.bind(this),position:pos});}
this.$["inp_tmp"].onclick();},onDateSelect:function(cal){if(!this.dp_target)return;var form=this.$["form"];form[this.dp_target+"_day"].value=cal.date.getDate();form[this.dp_target+"_month"].value=cal.date.getMonth()+1;form[this.dp_target+"_year"].value=cal.date.getFullYear();this.dp_target=false;},onFormSubmit:function(){this.$["btn_submit"].disabled=true;},onFormSubmitted:function(res){this.hideElements(["msg_submit_ok","msg_submit_error"]);if(res){this.showMsg("msg_submit_ok");this.$["btn_submit"].disabled=false;if(this.pages_count>1){this.clear();this.showPage(0);}}else{this.showMsg("msg_submit_error");}},showMsg:function(msg_id){this.setElementOpacity(msg_id,100);this.showElement(msg_id);if(msg_id=="msg_submit_ok"){for(var i=5;i>=0;i--){setTimeout(this.setMsgOpacity.bind(this,msg_id,i*20),(5-i)*30+5000);}}},setMsgOpacity:function(msg_id,v){if(v==0){this.hideElement(msg_id);}else{this.setElementOpacity(msg_id,v);}},setSubmitDisabled:function(v){this.properties.disable_submit=v;},onSubmitClick:function(e){if(this.properties.disable_submit){alert("You can't submit form in editor mode");core.browser.event.kill(e);return false;}
if(!this.checkRequiredFields()){core.browser.event.kill(e);return false;}
switch(this.properties.target_type){case"url":var v=this.getRepeatersQty();this.$["form"]["_repeaters"].value=php_serialize(v);break;case"callback":if(!this.properties.target_value)return;this.properties.target_value(this.collectCodeValues());core.browser.event.kill(e);return false;break;}},checkRequiredFields:function(force_check_all_fields){if(force_check_all_fields){var eidx={start:0,count:this.data.fields.length}}else{var eidx=this.pages_elements[this.active_page_idx];}
for(var j=0;j<eidx.count;j++){var idx=eidx.start+j;if(this.is_field_hidden[idx])continue;if(!this.checkRequiredField(this.data.fields[idx],idx)){return false;}}
return true;},checkRequiredField:function(field,idx){var form=this.$["form"];var p=field.properties;if(p["required"]!==true&&field.type!="repeater")return true;var empty=false;function is_empty(key){return form[p.name+key].value.trim()=="";}
switch(field.type){case"text":case"email":case"textarea":case"file":case"captcha":empty=is_empty("");break;case"name":switch(p.name_format){case"name":empty=is_empty("");break;case"first_last":empty=is_empty("_first")||is_empty("_last");break;case"first_middle_last":empty=is_empty("_first")||is_empty("_middle")||is_empty("_last");break;}
break;case"addr":empty=is_empty("_street")||is_empty("_city")||is_empty("_state")||is_empty("_post_code")||is_empty("_country")
break;case"contact":empty=is_empty("_phone")||is_empty("_email")
break;case"price":empty=is_empty("")||(form[p.name].value=="0.00");break;case"select":empty=p.options.length!=0&&form[p.name].value==p.options[0].value;break;case"repeater":var generated_fields=this.generateRepeaterFields(idx);for(var i=0;i<generated_fields.length;i++){if(!this.checkRequiredField(generated_fields[i])){return false;break;}}
break;}
if(empty){alert("Please fill "+p.label);return false;}
return true;},collectHTMLValues:function(){var all_fields=this.getAllFields();var res="";for(var i=0;i<all_fields.length;i++){var p=all_fields[i];if(!p.properties["name"])continue;var v=this.getFieldValue(p);v=typeof(v)=="object"?v.join(" "):v;res+="<div class='form_row'>"+"<label>"+p.properties.label+"</label>"+v+"</div>"}
return res;},collectCodeValues:function(){var all_fields=this.getAllFields();var res=[];for(var i=0;i<all_fields.length;i++){var p=all_fields[i];if(!p.properties["name"])continue;res[p.properties["name"]]=this.getFieldValue(p);}
return res;},getFieldValue:function(field){var form=this.$["form"];var p=field.properties;switch(field.type){case"name":switch(p.name_format){case"name":return form[p.name].value;break;case"first_last":return[form[p.name+"_first"].value,form[p.name+"_last"].value]
break;case"first_middle_last":return[form[p.name+"_first"].value,form[p.name+"_middle"].value,form[p.name+"_last"].value]
break;}
break;case"checkboxes":var res=[];for(var i=0;i<p.options.length;i++){if(form[p.name+"_"+p.options[i].value].checked){res.push(p.options[i].text+"; ");}}
return res;break;case"radios":var l=form[p.name];if(!l)return"";for(var i=0;i<l.length;i++){if(l[i].checked)return l[i].value;}
break;case"addr":var l2=form[p.name+"_line2"].value;var res=form[p.name+"_street"].value+", "+
(l2?(form[p.name+"_line2"].value+", "):"")+
form[p.name+"_city"].value+", "+
form[p.name+"_state"].value+", "+
form[p.name+"_country"].value+", "+
form[p.name+"_post_code"].value;return res;break;case"contact":var res="phone: "+form[p.name+"_phone"].value+", "+"mobile phone: "+form[p.name+"_phone_mobile"].value+", "+"Email: "+form[p.name+"_email"].value+", "+
(p["confirm_email"]?"Email 2: "+form[p.name+"_email2"].value:"")
return res;break;case"time":var res=form[p.name+"_h"].value+":"+
form[p.name+"_m"].value+
(p.time_format=="hhmmss"?":"+form[p.name+"_s"].value:"")+
form[p.name+"_ampm"].value;return res;break;case"date":var res=form[p.name+"_day"].value+"/"+
form[p.name+"_month"].value+"/"+
form[p.name+"_year"].value;return res;break;case"statements":var res=[];var s=p.statements,o=p.options;for(var i=0;i<s.length;i++){var l=form[p.name+"_"+s[i].value];for(var j=0;j<l.length;j++){if(l[j].checked){res.push(s[i].text+": "+o[j].text);break;}}}
return res;break;case"page_break":return null;break;default:return form[p.name].value;break;}},clear:function(){for(var i=0;i<this.data.fields.length;i++){this.clearField(this.data.fields[i]);}},clearField:function(field){var form=this.$["form"];var p=field.properties;switch(field.type){case"name":switch(p.name_format){case"name":form[p.name].value="";break;case"first_last":form[p.name+"_first"].value="";form[p.name+"_last"].value="";break;case"first_middle_last":form[p.name+"_first"].value="";form[p.name+"_middle"].value="";form[p.name+"_last"].value="";break;}
break;case"checkboxes":for(var i=0;i<p.options.length;i++){form[p.name+"_"+p.options[i].value].checked=false;}
break;case"addr":form[p.name+"_line2"].value="";form[p.name+"_street"].value="";form[p.name+"_line2"].value="";form[p.name+"_city"].value="";form[p.name+"_state"].value="";form[p.name+"_country"].value="";form[p.name+"_post_code"].value="";break;case"contact":form[p.name+"_phone"].value="";form[p.name+"_phone_mobile"].value="";form[p.name+"_email"].value="";form[p.name+"_email2"].value="";break;case"time":case"date":case"statements":case"page_break":break;default:form[p.name].value="";break;}},updateElementsVisibility:function(){if(this.properties.form_builder_mode)return;for(var i=0;i<this.data.fields.length;i++){var field=this.data.fields[i];if(field.childs){var new_fields=this.generateRepeaterFields(i);for(var j=0;j<new_fields.length;j++){if(!new_fields[j].visibility_condition)continue;if(this.testVisibilityCondition(new_fields[j],new_fields)){this.showElement("section"+i+"-"+j);this.is_field_hidden[i+"-"+j]=false;}else{this.hideElement("section"+i+"-"+j);this.is_field_hidden[i+"-"+j]=true;}}}else{if(!field.visibility_condition)continue;if(this.testVisibilityCondition(field,this.data.fields)){this.showElement("section"+i);this.is_field_hidden[i]=false;}else{this.hideElement("section"+i);this.is_field_hidden[i]=true;}}}},testVisibilityCondition:function(field,node){var vc=field.visibility_condition;var src_element=this.searchFieldByName(vc.src_element,node);if(src_element){var fl,v=this.getFieldValue(src_element);switch(vc.condition){case"equal":fl=v==vc.value;break;case"not_equal":fl=v!=vc.value;break;}
switch(vc.mode){case"visible":return fl;break;case"hidden":return!fl;break;}}
return true;},searchFieldByName:function(name,node){for(var i=0;i<node.length;i++){if(node[i].properties.name==name){return node[i];}}
return false;},renderRepeaters:function(){for(var i=0;i<this.data.fields.length;i++){if(this.data.fields[i].type=="repeater"){this.renderRepeaterContent(i);}}},onRepeaterQtyChanged:function(e,idx){if(this.properties.form_builder_mode){alert("This element does't work in edit mode");return;}
var el=this.$["inp_repeater_qty"+idx];if(el.tagName=="INPUT"){var repeater_props=this.data.fields[idx].properties;var v=parseInt(el.value,10);if(!v){alert("Please enter a number from "+repeater_props.qty_min+" to "+repeater_props.qty_max);v=repeater_props.qty_min;}else{if(v<repeater_props.qty_min){v=repeater_props.qty_min;}else if(v>repeater_props.qty_max){v=repeater_props.qty_max;}}
el.value=v;}
this.renderRepeaterContent(idx);},renderRepeaterContent:function(idx){var el=this.$["repeater_content"+idx];el.innerHTML="";var new_fields=this.generateRepeaterFields(idx);for(var i=0;i<new_fields.length;i++){this.buildModel(el,this.getFieldModel(idx+"-"+i,new_fields[i]));}},generateRepeaterFields:function(idx){var repeater=this.data.fields[idx];if(!repeater.childs)return[];if(this.properties.form_builder_mode){return repeater.childs;}else{var qty=parseInt(this.$["inp_repeater_qty"+idx].value,10)||1;return this.processRepeater(repeater,qty);}},processRepeater:function(field,qty){var res=[];for(var i=0;i<qty;i++){for(var j=0;j<field.childs.length;j++){var new_field=clone(field.childs[j]);var num=field.properties.qty_min+i;if(new_field.properties.name){new_field.properties.name=this.processRepeaterPlaceholder(new_field.properties.name,num);}
if(new_field.properties.label){new_field.properties.label=this.processRepeaterPlaceholder(new_field.properties.label,num);}
if(new_field.visibility_condition){new_field.visibility_condition.src_element=this.processRepeaterPlaceholder(new_field.visibility_condition.src_element,num);}
res.push(new_field);}}
return res;},processRepeaterPlaceholder:function(str,num){if(str.indexOf("%NUM%")!=-1){var res=str.replace("%NUM%",num);}else{var res=str+num;}
return res;},getAllFields:function(){var res=[];for(var i=0;i<this.data.fields.length;i++){var f=this.data.fields[i];if(f.childs){var generated=this.generateRepeaterFields(i);for(var j=0;j<generated.length;j++){res.push(generated[j]);}}else{res.push(f);}}
return res;},getRepeatersQty:function(){var res={};for(var i=0;i<this.data.fields.length;i++){var f=this.data.fields[i];if(f.childs){res[i]=parseInt(this.$["inp_repeater_qty"+i].value,10);}}
return res;},qty_select_options:[{text:"1",value:1},{text:"2",value:2},{text:"3",value:3},{text:"4",value:4},{text:"5",value:5},{text:"6",value:6},{text:"7",value:7},{text:"8",value:8},{text:"9",value:9},{text:"10",value:10},{text:"11",value:11},{text:"12",value:12},{text:"13",value:13},{text:"14",value:14},{text:"15",value:15},{text:"16",value:16},{text:"17",value:17},{text:"18",value:18},{text:"19",value:19},{text:"20",value:20}]}
core.objects.form.extendPrototype(core.components.html_component);
core.objects.pager=function(args){this.per_page=args.per_page||10;this.parent=args.parent;this.callback=args.callback;this.is_empty=true;this.render();}
core.objects.pager.prototype={render:function(){this.buildModel(this.parent,{tag:"div",id:"window",className:"obj_pager",style:{display:"none"}});},changeRowsPerPage:function(v){this.per_page=v;},setData:function(offset,total){total_records=eval(total);this.$["window"].innerHTML="";var page=Math.floor(offset/this.per_page);var total=Math.ceil(total/this.per_page);this.$["window"].innerHTML="";if(total_records<=this.per_page){this.is_empty=true;this.hideElement("window");return;}
this.is_empty=false;this.showElement("window");var p=page;if(p>total)p=total;var items=[];if(total>7){items.push({text:"first",page:0});}
last_page=total-1;var i1=p-3;var i2=p+3;if(i1<0){i2-=i1;i1=0;}
if(i2>last_page){i1-=(i2-last_page);i2=last_page;}
if(i1<0)i1=0;for(var i=i1;i<=i2;i++){items.push({text:i+1,page:i});}
if(total>7){items.push({text:"last",page:last_page});}
this.buildModel(this.$["window"],{tag:"span",innerHTML:"Page "});for(var i=0;i<items.length;i++){this.buildModel(this.$["window"],items[i].page!=page?{tag:"a",href:"void",innerHTML:items[i].text,events:{onclick:["onPageClick",items[i].page]}}:{tag:"span",innerHTML:items[i].text});}},onPageClick:function(e,v){if(!this.callback)return;this.callback(v*this.per_page);},hide:function(){this.hideElement("window");},show:function(){this.showElement("window");}}
core.objects.pager.extendPrototype(core.components.html_component);
core.externals.datepicker=function(params){function param_default(pname,def){if(typeof params[pname]=="undefined"){params[pname]=def;}};param_default("inputField",null);param_default("displayArea",null);param_default("button",null);param_default("eventName","click");param_default("ifFormat","%Y/%m/%d");param_default("daFormat","%Y/%m/%d");param_default("singleClick",true);param_default("disableFunc",null);param_default("dateStatusFunc",params["disableFunc"]);param_default("dateText",null);param_default("firstDay",null);param_default("align","Bl");param_default("range",[1900,2999]);param_default("weekNumbers",true);param_default("flat",null);param_default("flatCallback",null);param_default("onSelect",null);param_default("onClose",null);param_default("onUpdate",null);param_default("date",null);param_default("showsTime",false);param_default("timeFormat","24");param_default("electric",true);param_default("step",2);param_default("position",null);param_default("cache",false);param_default("showOthers",false);param_default("multiple",null);if(!(params.flat||params.multiple||params.inputField||params.displayArea||params.button)){alert("Calendar.setup:\n  Nothing to setup (no fields found).  Please check your code");return false;}
function onSelect(cal){var p=cal.params;var update=(cal.dateClicked||p.electric);if(update&&p.inputField){p.inputField.value=cal.date.print(p.ifFormat);if(typeof p.inputField.onchange=="function")
p.inputField.onchange();}
if(update&&p.displayArea)
p.displayArea.innerHTML=cal.date.print(p.daFormat);if(update&&typeof p.onUpdate=="function")
p.onUpdate(cal);if(update&&p.flat){if(typeof p.flatCallback=="function")
p.flatCallback(cal);}
if(update&&p.singleClick&&cal.dateClicked)
cal.callCloseHandler();};if(params.flat!=null){if(typeof params.flat=="string")
params.flat=document.getElementById(params.flat);if(!params.flat){alert("Calendar.setup:\n  Flat specified but can't find parent.");return false;}
var cal=new Calendar(params.firstDay,params.date,params.onSelect||onSelect);cal.showsOtherMonths=params.showOthers;cal.showsTime=params.showsTime;cal.time24=(params.timeFormat=="24");cal.params=params;cal.weekNumbers=params.weekNumbers;cal.setRange(params.range[0],params.range[1]);cal.setDateStatusHandler(params.dateStatusFunc);cal.getDateText=params.dateText;if(params.ifFormat){cal.setDateFormat(params.ifFormat);}
if(params.inputField&&typeof params.inputField.value=="string"){cal.parseDate(params.inputField.value);}
cal.create(params.flat);cal.show();return false;}
var triggerEl=params.button||params.displayArea||params.inputField;triggerEl["on"+params.eventName]=function(){var dateEl=params.inputField||params.displayArea;var dateFmt=params.inputField?params.ifFormat:params.daFormat;var mustCreate=false;var cal=window.calendar;if(dateEl)
params.date=Date.parseDate(dateEl.value||dateEl.innerHTML,dateFmt);if(!(cal&&params.cache)){window.calendar=cal=new Calendar(params.firstDay,params.date,params.onSelect||onSelect,params.onClose||function(cal){cal.hide();});cal.showsTime=params.showsTime;cal.time24=(params.timeFormat=="24");cal.weekNumbers=params.weekNumbers;mustCreate=true;}else{if(params.date)
cal.setDate(params.date);cal.hide();}
if(params.multiple){cal.multiple={};for(var i=params.multiple.length;--i>=0;){var d=params.multiple[i];var ds=d.print("%Y%m%d");cal.multiple[ds]=d;}}
cal.showsOtherMonths=params.showOthers;cal.yearStep=params.step;cal.setRange(params.range[0],params.range[1]);cal.params=params;cal.setDateStatusHandler(params.dateStatusFunc);cal.getDateText=params.dateText;cal.setDateFormat(dateFmt);if(mustCreate)
cal.create();cal.refresh();if(!params.position)
cal.showAtElement(params.button||params.displayArea||params.inputField,params.align);else
cal.showAt(params.position[0],params.position[1]);return false;};return cal;}
Calendar=function(firstDayOfWeek,dateStr,onSelected,onClose){this.activeDiv=null;this.currentDateEl=null;this.getDateStatus=null;this.getDateToolTip=null;this.getDateText=null;this.timeout=null;this.onSelected=onSelected||null;this.onClose=onClose||null;this.dragging=false;this.hidden=false;this.minYear=1970;this.maxYear=2050;this.dateFormat=Calendar._TT["DEF_DATE_FORMAT"];this.ttDateFormat=Calendar._TT["TT_DATE_FORMAT"];this.isPopup=true;this.weekNumbers=true;this.firstDayOfWeek=typeof firstDayOfWeek=="number"?firstDayOfWeek:Calendar._FD;this.showsOtherMonths=false;this.dateStr=dateStr;this.ar_days=null;this.showsTime=false;this.time24=true;this.yearStep=2;this.hiliteToday=true;this.multiple=null;this.table=null;this.element=null;this.tbody=null;this.firstdayname=null;this.monthsCombo=null;this.yearsCombo=null;this.hilitedMonth=null;this.activeMonth=null;this.hilitedYear=null;this.activeYear=null;this.dateClicked=false;if(typeof Calendar._SDN=="undefined"){if(typeof Calendar._SDN_len=="undefined")
Calendar._SDN_len=3;var ar=new Array();for(var i=8;i>0;){ar[--i]=Calendar._DN[i].substr(0,Calendar._SDN_len);}
Calendar._SDN=ar;if(typeof Calendar._SMN_len=="undefined")
Calendar._SMN_len=3;ar=new Array();for(var i=12;i>0;){ar[--i]=Calendar._MN[i].substr(0,Calendar._SMN_len);}
Calendar._SMN=ar;}};Calendar._C=null;Calendar.is_ie=(/msie/i.test(navigator.userAgent)&&!/opera/i.test(navigator.userAgent));Calendar.is_ie5=(Calendar.is_ie&&/msie 5\.0/i.test(navigator.userAgent));Calendar.is_opera=/opera/i.test(navigator.userAgent);Calendar.is_khtml=/Konqueror|Safari|KHTML/i.test(navigator.userAgent);Calendar.getAbsolutePos=function(el){var SL=0,ST=0;var is_div=/^div$/i.test(el.tagName);if(is_div&&el.scrollLeft)
SL=el.scrollLeft;if(is_div&&el.scrollTop)
ST=el.scrollTop;var r={x:el.offsetLeft-SL,y:el.offsetTop-ST};if(el.offsetParent){var tmp=this.getAbsolutePos(el.offsetParent);r.x+=tmp.x;r.y+=tmp.y;}
return r;};Calendar.isRelated=function(el,evt){var related=evt.relatedTarget;if(!related){var type=evt.type;if(type=="mouseover"){related=evt.fromElement;}else if(type=="mouseout"){related=evt.toElement;}}
while(related){if(related==el){return true;}
related=related.parentNode;}
return false;};Calendar.removeClass=function(el,className){if(!(el&&el.className)){return;}
var cls=el.className.split(" ");var ar=new Array();for(var i=cls.length;i>0;){if(cls[--i]!=className){ar[ar.length]=cls[i];}}
el.className=ar.join(" ");};Calendar.addClass=function(el,className){Calendar.removeClass(el,className);el.className+=" "+className;};Calendar.getElement=function(ev){var f=Calendar.is_ie?window.event.srcElement:ev.currentTarget;while(f.nodeType!=1||/^div$/i.test(f.tagName))
f=f.parentNode;return f;};Calendar.getTargetElement=function(ev){var f=Calendar.is_ie?window.event.srcElement:ev.target;while(f.nodeType!=1)
f=f.parentNode;return f;};Calendar.stopEvent=function(ev){ev||(ev=window.event);if(Calendar.is_ie){ev.cancelBubble=true;ev.returnValue=false;}else{ev.preventDefault();ev.stopPropagation();}
return false;};Calendar.addEvent=function(el,evname,func){if(el.attachEvent){el.attachEvent("on"+evname,func);}else if(el.addEventListener){el.addEventListener(evname,func,true);}else{el["on"+evname]=func;}};Calendar.removeEvent=function(el,evname,func){if(el.detachEvent){el.detachEvent("on"+evname,func);}else if(el.removeEventListener){el.removeEventListener(evname,func,true);}else{el["on"+evname]=null;}};Calendar.createElement=function(type,parent){var el=null;if(document.createElementNS){el=document.createElementNS("http://www.w3.org/1999/xhtml",type);}else{el=document.createElement(type);}
if(typeof parent!="undefined"){parent.appendChild(el);}
return el;};Calendar._add_evs=function(el){with(Calendar){addEvent(el,"mouseover",dayMouseOver);addEvent(el,"mousedown",dayMouseDown);addEvent(el,"mouseout",dayMouseOut);if(is_ie){addEvent(el,"dblclick",dayMouseDblClick);el.setAttribute("unselectable",true);}}};Calendar.findMonth=function(el){if(typeof el.month!="undefined"){return el;}else if(typeof el.parentNode.month!="undefined"){return el.parentNode;}
return null;};Calendar.findYear=function(el){if(typeof el.year!="undefined"){return el;}else if(typeof el.parentNode.year!="undefined"){return el.parentNode;}
return null;};Calendar.showMonthsCombo=function(){var cal=Calendar._C;if(!cal){return false;}
var cal=cal;var cd=cal.activeDiv;var mc=cal.monthsCombo;if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}
if(cal.activeMonth){Calendar.removeClass(cal.activeMonth,"active");}
var mon=cal.monthsCombo.getElementsByTagName("div")[cal.date.getMonth()];Calendar.addClass(mon,"active");cal.activeMonth=mon;var s=mc.style;s.display="block";if(cd.navtype<0)
s.left=cd.offsetLeft+"px";else{var mcw=mc.offsetWidth;if(typeof mcw=="undefined")
mcw=50;s.left=(cd.offsetLeft+cd.offsetWidth-mcw)+"px";}
s.top=(cd.offsetTop+cd.offsetHeight)+"px";};Calendar.showYearsCombo=function(fwd){var cal=Calendar._C;if(!cal){return false;}
var cal=cal;var cd=cal.activeDiv;var yc=cal.yearsCombo;if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}
if(cal.activeYear){Calendar.removeClass(cal.activeYear,"active");}
cal.activeYear=null;var Y=cal.date.getFullYear()+(fwd?1:-1);var yr=yc.firstChild;var show=false;for(var i=12;i>0;--i){if(Y>=cal.minYear&&Y<=cal.maxYear){yr.innerHTML=Y;yr.year=Y;yr.style.display="block";show=true;}else{yr.style.display="none";}
yr=yr.nextSibling;Y+=fwd?cal.yearStep:-cal.yearStep;}
if(show){var s=yc.style;s.display="block";if(cd.navtype<0)
s.left=cd.offsetLeft+"px";else{var ycw=yc.offsetWidth;if(typeof ycw=="undefined")
ycw=50;s.left=(cd.offsetLeft+cd.offsetWidth-ycw)+"px";}
s.top=(cd.offsetTop+cd.offsetHeight)+"px";}};Calendar.tableMouseUp=function(ev){var cal=Calendar._C;if(!cal){return false;}
if(cal.timeout){clearTimeout(cal.timeout);}
var el=cal.activeDiv;if(!el){return false;}
var target=Calendar.getTargetElement(ev);ev||(ev=window.event);Calendar.removeClass(el,"active");if(target==el||target.parentNode==el){Calendar.cellClick(el,ev);}
var mon=Calendar.findMonth(target);var date=null;if(mon){var strr=cal.date+"";var date_parts=strr.split('/');if(date_parts.length>2)
date=new Date(date_parts[2],date_parts[1],date_parts[0]);else
date=new Date(cal.date);if(mon.month!=date.getMonth()){date.setMonth(mon.month);cal.setDate(date);cal.dateClicked=false;cal.callHandler();}}else{var year=Calendar.findYear(target);if(year){var strr=cal.date+"";var date_parts=strr.split('/');if(date_parts.length>2)
date=new Date(date_parts[2],date_parts[1],date_parts[0]);else
date=new Date(cal.date);if(year.year!=date.getFullYear()){date.setFullYear(year.year);cal.setDate(date);cal.dateClicked=false;cal.callHandler();}}}
with(Calendar){removeEvent(document,"mouseup",tableMouseUp);removeEvent(document,"mouseover",tableMouseOver);removeEvent(document,"mousemove",tableMouseOver);cal._hideCombos();_C=null;return stopEvent(ev);}};Calendar.tableMouseOver=function(ev){var cal=Calendar._C;if(!cal){return;}
var el=cal.activeDiv;var target=Calendar.getTargetElement(ev);if(target==el||target.parentNode==el){Calendar.addClass(el,"hilite active");Calendar.addClass(el.parentNode,"rowhilite");}else{if(typeof el.navtype=="undefined"||(el.navtype!=50&&(el.navtype==0||Math.abs(el.navtype)>2)))
Calendar.removeClass(el,"active");Calendar.removeClass(el,"hilite");Calendar.removeClass(el.parentNode,"rowhilite");}
ev||(ev=window.event);if(el.navtype==50&&target!=el){var pos=Calendar.getAbsolutePos(el);var w=el.offsetWidth;var x=ev.clientX;var dx;var decrease=true;if(x>pos.x+w){dx=x-pos.x-w;decrease=false;}else
dx=pos.x-x;if(dx<0)dx=0;var range=el._range;var current=el._current;var count=Math.floor(dx/10)%range.length;for(var i=range.length;--i>=0;)
if(range[i]==current)
break;while(count-->0)
if(decrease){if(--i<0)
i=range.length-1;}else if(++i>=range.length)
i=0;var newval=range[i];el.innerHTML=newval;cal.onUpdateTime();}
var mon=Calendar.findMonth(target);if(mon){if(mon.month!=cal.date.getMonth()){if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}
Calendar.addClass(mon,"hilite");cal.hilitedMonth=mon;}else if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}}else{if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}
var year=Calendar.findYear(target);if(year){if(year.year!=cal.date.getFullYear()){if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}
Calendar.addClass(year,"hilite");cal.hilitedYear=year;}else if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}}else if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}}
return Calendar.stopEvent(ev);};Calendar.tableMouseDown=function(ev){if(Calendar.getTargetElement(ev)==Calendar.getElement(ev)){return Calendar.stopEvent(ev);}};Calendar.calDragIt=function(ev){var cal=Calendar._C;if(!(cal&&cal.dragging)){return false;}
var posX;var posY;if(Calendar.is_ie){posY=window.event.clientY+document.body.scrollTop;posX=window.event.clientX+document.body.scrollLeft;}else{posX=ev.pageX;posY=ev.pageY;}
cal.hideShowCovered();var st=cal.element.style;st.left=(posX-cal.xOffs)+"px";st.top=(posY-cal.yOffs)+"px";return Calendar.stopEvent(ev);};Calendar.calDragEnd=function(ev){var cal=Calendar._C;if(!cal){return false;}
cal.dragging=false;with(Calendar){removeEvent(document,"mousemove",calDragIt);removeEvent(document,"mouseup",calDragEnd);tableMouseUp(ev);}
cal.hideShowCovered();};Calendar.dayMouseDown=function(ev){var el=Calendar.getElement(ev);if(el.disabled){return false;}
var cal=el.calendar;cal.activeDiv=el;Calendar._C=cal;if(el.navtype!=300)with(Calendar){if(el.navtype==50){el._current=el.innerHTML;addEvent(document,"mousemove",tableMouseOver);}else
addEvent(document,Calendar.is_ie5?"mousemove":"mouseover",tableMouseOver);addClass(el,"hilite active");addEvent(document,"mouseup",tableMouseUp);}else if(cal.isPopup){cal._dragStart(ev);}
if(el.navtype==-1||el.navtype==1){if(cal.timeout)clearTimeout(cal.timeout);cal.timeout=setTimeout("Calendar.showMonthsCombo()",250);}else if(el.navtype==-2||el.navtype==2){if(cal.timeout)clearTimeout(cal.timeout);cal.timeout=setTimeout((el.navtype>0)?"Calendar.showYearsCombo(true)":"Calendar.showYearsCombo(false)",250);}else{cal.timeout=null;}
return Calendar.stopEvent(ev);};Calendar.dayMouseDblClick=function(ev){Calendar.cellClick(Calendar.getElement(ev),ev||window.event);if(Calendar.is_ie){document.selection.empty();}};Calendar.dayMouseOver=function(ev){var el=Calendar.getElement(ev);if(Calendar.isRelated(el,ev)||Calendar._C||el.disabled){return false;}
if(el.ttip){if(el.ttip.substr(0,1)=="_"){el.ttip=el.caldate.print(el.calendar.ttDateFormat)+el.ttip.substr(1);}
el.calendar.tooltips.innerHTML=el.ttip;}
if(el.navtype!=300){Calendar.addClass(el,"hilite");if(el.caldate){Calendar.addClass(el.parentNode,"rowhilite");}}
return Calendar.stopEvent(ev);};Calendar.dayMouseOut=function(ev){with(Calendar){var el=getElement(ev);if(isRelated(el,ev)||_C||el.disabled)
return false;removeClass(el,"hilite");if(el.caldate)
removeClass(el.parentNode,"rowhilite");if(el.calendar)
el.calendar.tooltips.innerHTML=_TT["SEL_DATE"];return stopEvent(ev);}};Calendar.cellClick=function(el,ev){var cal=el.calendar;var closing=false;var newdate=false;var date=null;if(typeof el.navtype=="undefined"){if(cal.currentDateEl){Calendar.removeClass(cal.currentDateEl,"selected");Calendar.addClass(el,"selected");closing=(cal.currentDateEl==el);if(!closing){cal.currentDateEl=el;}}
cal.date.setDateOnly(el.caldate);date=cal.date;var other_month=!(cal.dateClicked=!el.otherMonth);if(!other_month&&!cal.currentDateEl)
{var strr=date+"";var date_parts=strr.split('/');if(date_parts.length>2)
date1=new Date(date_parts[2],date_parts[1],date_parts[0]);else
date1=new Date(date);cal._toggleMultipleDate(date1);}
else
newdate=!el.disabled;if(other_month)
cal._init(cal.firstDayOfWeek,date);}else{if(el.navtype==200){Calendar.removeClass(el,"hilite");cal.callCloseHandler();return;}
var strr=cal.date+"";var date_parts=strr.split('/');if(date_parts.length>2)
date=new Date(date_parts[2],date_parts[1],date_parts[0]);else
date=new Date(cal.date);if(el.navtype==0)
date.setDateOnly(new Date());cal.dateClicked=false;var year=date.getFullYear();var mon=date.getMonth();function setMonth(m){var day=date.getDate();var max=date.getMonthDays(m);if(day>max){date.setDate(max);}
date.setMonth(m);};switch(el.navtype){case-2:if(year>cal.minYear){date.setFullYear(year-1);}
break;case-1:if(mon>0){setMonth(mon-1);}else if(year-->cal.minYear){date.setFullYear(year);setMonth(11);}
break;case 1:if(mon<11){setMonth(mon+1);}else if(year<cal.maxYear){date.setFullYear(year+1);setMonth(0);}
break;case 2:if(year<cal.maxYear){date.setFullYear(year+1);}
break;case 100:cal.setFirstDayOfWeek(el.fdow);return;case 50:var range=el._range;var current=el.innerHTML;for(var i=range.length;--i>=0;)
if(range[i]==current)
break;if(ev&&ev.shiftKey){if(--i<0)
i=range.length-1;}else if(++i>=range.length)
i=0;var newval=range[i];el.innerHTML=newval;cal.onUpdateTime();return;case 0:if((typeof cal.getDateStatus=="function")&&cal.getDateStatus(date,date.getFullYear(),date.getMonth(),date.getDate())){return false;}
break;}
if(!date.equalsTo(cal.date)){cal.setDate(date);newdate=true;}else if(el.navtype==0)
newdate=closing=true;}
if(newdate){ev&&cal.callHandler();}
if(closing){Calendar.removeClass(el,"hilite");ev&&cal.callCloseHandler();}};Calendar.prototype.create=function(_par){var parent=null;if(!_par){parent=document.getElementsByTagName("body")[0];this.isPopup=true;}else{parent=_par;this.isPopup=false;}
var strr=this.dateStr+"";var date_parts=strr.split('/');if(date_parts.length>2)
this.date=this.dateStr?new Date(date_parts[2],date_parts[1],date_parts[0]):new Date();else
this.date=this.dateStr?new Date(this.dateStr):new Date();var table=Calendar.createElement("table");this.table=table;table.cellSpacing=0;table.cellPadding=0;table.calendar=this;Calendar.addEvent(table,"mousedown",Calendar.tableMouseDown);var div=Calendar.createElement("div");this.element=div;div.className="calendar";if(this.isPopup){div.style.position="fixed";div.style.display="none";}
div.appendChild(table);var thead=Calendar.createElement("thead",table);var cell=null;var row=null;var cal=this;var hh=function(text,cs,navtype){cell=Calendar.createElement("td",row);cell.colSpan=cs;cell.className="button";if(navtype!=0&&Math.abs(navtype)<=2)
cell.className+=" nav";Calendar._add_evs(cell);cell.calendar=cal;cell.navtype=navtype;cell.innerHTML="<div unselectable='on'>"+text+"</div>";return cell;};row=Calendar.createElement("tr",thead);var title_length=6;(this.isPopup)&&--title_length;(this.weekNumbers)&&++title_length;hh("&#8226;",1,0);this.title=hh("",title_length,300);this.title.className="title";if(this.isPopup){this.title.ttip=Calendar._TT["DRAG_TO_MOVE"];this.title.style.cursor="move";hh("&#x00d7;",1,200).ttip=Calendar._TT["CLOSE"];}
row=Calendar.createElement("tr",thead);row.className="headrow";this._nav_py=hh("&#x00ab;",1,-2);this._nav_py.ttip=Calendar._TT["PREV_YEAR"];this._nav_pm=hh("&#x2039;",1,-1);this._nav_pm.ttip=Calendar._TT["PREV_MONTH"];this._nav_now=hh(Calendar._TT["TODAY"],this.weekNumbers?4:3,0);this._nav_now.ttip=Calendar._TT["GO_TODAY"];this._nav_nm=hh("&#x203a;",1,1);this._nav_nm.ttip=Calendar._TT["NEXT_MONTH"];this._nav_ny=hh("&#x00bb;",1,2);this._nav_ny.ttip=Calendar._TT["NEXT_YEAR"];row=Calendar.createElement("tr",thead);row.className="daynames";if(this.weekNumbers){cell=Calendar.createElement("td",row);cell.className="name wn";cell.innerHTML=Calendar._TT["WK"];}
for(var i=7;i>0;--i){cell=Calendar.createElement("td",row);if(!i){cell.navtype=100;cell.calendar=this;Calendar._add_evs(cell);}}
this.firstdayname=(this.weekNumbers)?row.firstChild.nextSibling:row.firstChild;this._displayWeekdays();var tbody=Calendar.createElement("tbody",table);this.tbody=tbody;for(i=6;i>0;--i){row=Calendar.createElement("tr",tbody);if(this.weekNumbers){cell=Calendar.createElement("td",row);}
for(var j=7;j>0;--j){cell=Calendar.createElement("td",row);cell.calendar=this;Calendar._add_evs(cell);}}
if(this.showsTime){row=Calendar.createElement("tr",tbody);row.className="time";cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=2;cell.innerHTML=Calendar._TT["TIME"]||"&nbsp;";cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=this.weekNumbers?4:3;(function(){function makeTimePart(className,init,range_start,range_end){var part=Calendar.createElement("span",cell);part.className=className;part.innerHTML=init;part.calendar=cal;part.ttip=Calendar._TT["TIME_PART"];part.navtype=50;part._range=[];if(typeof range_start!="number")
part._range=range_start;else{for(var i=range_start;i<=range_end;++i){var txt;if(i<10&&range_end>=10)txt='0'+i;else txt=''+i;part._range[part._range.length]=txt;}}
Calendar._add_evs(part);return part;};var hrs=cal.date.getHours();var mins=cal.date.getMinutes();var t12=!cal.time24;var pm=(hrs>12);if(t12&&pm)hrs-=12;var H=makeTimePart("hour",hrs,t12?1:0,t12?12:23);var span=Calendar.createElement("span",cell);span.innerHTML=":";span.className="colon";var M=makeTimePart("minute",mins,0,59);var AP=null;cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=2;if(t12)
AP=makeTimePart("ampm",pm?"pm":"am",["am","pm"]);else
cell.innerHTML="&nbsp;";cal.onSetTime=function(){var pm,hrs=this.date.getHours(),mins=this.date.getMinutes();if(t12){pm=(hrs>=12);if(pm)hrs-=12;if(hrs==0)hrs=12;AP.innerHTML=pm?"pm":"am";}
H.innerHTML=(hrs<10)?("0"+hrs):hrs;M.innerHTML=(mins<10)?("0"+mins):mins;};cal.onUpdateTime=function(){var date=this.date;var h=parseInt(H.innerHTML,10);if(t12){if(/pm/i.test(AP.innerHTML)&&h<12)
h+=12;else if(/am/i.test(AP.innerHTML)&&h==12)
h=0;}
var d=date.getDate();var m=date.getMonth();var y=date.getFullYear();date.setHours(h);date.setMinutes(parseInt(M.innerHTML,10));date.setFullYear(y);date.setMonth(m);date.setDate(d);this.dateClicked=false;this.callHandler();};})();}else{this.onSetTime=this.onUpdateTime=function(){};}
var tfoot=Calendar.createElement("tfoot",table);row=Calendar.createElement("tr",tfoot);row.className="footrow";cell=hh(Calendar._TT["SEL_DATE"],this.weekNumbers?8:7,300);cell.className="ttip";if(this.isPopup){cell.ttip=Calendar._TT["DRAG_TO_MOVE"];cell.style.cursor="move";}
this.tooltips=cell;div=Calendar.createElement("div",this.element);this.monthsCombo=div;div.className="combo";for(i=0;i<Calendar._MN.length;++i){var mn=Calendar.createElement("div");mn.className=Calendar.is_ie?"label-IEfix":"label";mn.month=i;mn.innerHTML=Calendar._SMN[i];div.appendChild(mn);}
div=Calendar.createElement("div",this.element);this.yearsCombo=div;div.className="combo";for(i=12;i>0;--i){var yr=Calendar.createElement("div");yr.className=Calendar.is_ie?"label-IEfix":"label";div.appendChild(yr);}
this._init(this.firstDayOfWeek,this.date);parent.appendChild(this.element);};Calendar._keyEvent=function(ev){var cal=window._dynarch_popupCalendar;if(!cal||cal.multiple)
return false;(Calendar.is_ie)&&(ev=window.event);var act=(Calendar.is_ie||ev.type=="keypress"),K=ev.keyCode;if(ev.ctrlKey){switch(K){case 37:act&&Calendar.cellClick(cal._nav_pm);break;case 38:act&&Calendar.cellClick(cal._nav_py);break;case 39:act&&Calendar.cellClick(cal._nav_nm);break;case 40:act&&Calendar.cellClick(cal._nav_ny);break;default:return false;}}else switch(K){case 32:Calendar.cellClick(cal._nav_now);break;case 27:act&&cal.callCloseHandler();break;case 37:case 38:case 39:case 40:if(act){var prev,x,y,ne,el,step;prev=K==37||K==38;step=(K==37||K==39)?1:7;function setVars(){el=cal.currentDateEl;var p=el.pos;x=p&15;y=p>>4;ne=cal.ar_days[y][x];};setVars();function prevMonth(){var strr=cal.date+"";var date_parts=strr.split('/');if(date_parts.length>2)
var date=new Date(date_parts[2],date_parts[1],date_parts[0]);else
var date=new Date(cal.date);date.setDate(date.getDate()-step);cal.setDate(date);};function nextMonth(){var strr=cal.date+"";var date_parts=strr.split('/');if(date_parts.length>2)
var date=new Date(date_parts[2],date_parts[1],date_parts[0]);else
var date=new Date(cal.date);date.setDate(date.getDate()+step);cal.setDate(date);};while(1){switch(K){case 37:if(--x>=0)
ne=cal.ar_days[y][x];else{x=6;K=38;continue;}
break;case 38:if(--y>=0)
ne=cal.ar_days[y][x];else{prevMonth();setVars();}
break;case 39:if(++x<7)
ne=cal.ar_days[y][x];else{x=0;K=40;continue;}
break;case 40:if(++y<cal.ar_days.length)
ne=cal.ar_days[y][x];else{nextMonth();setVars();}
break;}
break;}
if(ne){if(!ne.disabled)
Calendar.cellClick(ne);else if(prev)
prevMonth();else
nextMonth();}}
break;case 13:if(act)
Calendar.cellClick(cal.currentDateEl,ev);break;default:return false;}
return Calendar.stopEvent(ev);};Calendar.prototype._init=function(firstDayOfWeek,date){var today=new Date(),TY=today.getFullYear(),TM=today.getMonth(),TD=today.getDate();this.table.style.visibility="hidden";var year=date.getFullYear();if(year<this.minYear){year=this.minYear;date.setFullYear(year);}else if(year>this.maxYear){year=this.maxYear;date.setFullYear(year);}
this.firstDayOfWeek=firstDayOfWeek;var strr=date+"";var date_parts=strr.split('/');if(date_parts.length>2)
this.date=new Date(date_parts[2],date_parts[1],date_parts[0]);else
this.date=new Date(date);var month=date.getMonth();var mday=date.getDate();var no_days=date.getMonthDays();date.setDate(1);var day1=(date.getDay()-this.firstDayOfWeek)%7;if(day1<0)
day1+=7;date.setDate(-day1);date.setDate(date.getDate()+1);var row=this.tbody.firstChild;var MN=Calendar._SMN[month];var ar_days=this.ar_days=new Array();var weekend=Calendar._TT["WEEKEND"];var dates=this.multiple?(this.datesCells={}):null;for(var i=0;i<6;++i,row=row.nextSibling){var cell=row.firstChild;if(this.weekNumbers){cell.className="day wn";cell.innerHTML=date.getWeekNumber();cell=cell.nextSibling;}
row.className="daysrow";var hasdays=false,iday,dpos=ar_days[i]=[];for(var j=0;j<7;++j,cell=cell.nextSibling,date.setDate(iday+1)){iday=date.getDate();var wday=date.getDay();cell.className="day";cell.pos=i<<4|j;dpos[j]=cell;var current_month=(date.getMonth()==month);if(!current_month){if(this.showsOtherMonths){cell.className+=" othermonth";cell.otherMonth=true;}else{cell.className="emptycell";cell.innerHTML="&nbsp;";cell.disabled=true;continue;}}else{cell.otherMonth=false;hasdays=true;}
cell.disabled=false;cell.innerHTML=this.getDateText?this.getDateText(date,iday):iday;if(dates)
dates[date.print("%Y%m%d")]=cell;if(this.getDateStatus){var status=this.getDateStatus(date,year,month,iday);if(this.getDateToolTip){var toolTip=this.getDateToolTip(date,year,month,iday);if(toolTip)
cell.title=toolTip;}
if(status===true){cell.className+=" disabled";cell.disabled=true;}else{if(/disabled/i.test(status))
cell.disabled=true;cell.className+=" "+status;}}
if(!cell.disabled){var strr=date+"";var date_parts=strr.split('/');if(date_parts.length>2)
cell.caldate=new Date(date_parts[2],date_parts[1],date_parts[0]);else
cell.caldate=new Date(date);cell.ttip="_";if(!this.multiple&&current_month&&iday==mday&&this.hiliteToday){cell.className+=" selected";this.currentDateEl=cell;}
if(date.getFullYear()==TY&&date.getMonth()==TM&&iday==TD){cell.className+=" today";cell.ttip+=Calendar._TT["PART_TODAY"];}
if(weekend.indexOf(wday.toString())!=-1)
cell.className+=cell.otherMonth?" oweekend":" weekend";}}
if(!(hasdays||this.showsOtherMonths))
row.className="emptyrow";}
this.title.innerHTML=Calendar._MN[month]+", "+year;this.onSetTime();this.table.style.visibility="visible";this._initMultipleDates();};Calendar.prototype._initMultipleDates=function(){if(this.multiple){for(var i in this.multiple){var cell=this.datesCells[i];var d=this.multiple[i];if(!d)
continue;if(cell)
cell.className+=" selected";}}};Calendar.prototype._toggleMultipleDate=function(date){if(this.multiple){var ds=date.print("%Y%m%d");var cell=this.datesCells[ds];if(cell){var d=this.multiple[ds];if(!d){Calendar.addClass(cell,"selected");this.multiple[ds]=date;}else{Calendar.removeClass(cell,"selected");delete this.multiple[ds];}}}};Calendar.prototype.setDateToolTipHandler=function(unaryFunction){this.getDateToolTip=unaryFunction;};Calendar.prototype.setDate=function(date){if(!date.equalsTo(this.date)){this._init(this.firstDayOfWeek,date);}};Calendar.prototype.refresh=function(){this._init(this.firstDayOfWeek,this.date);};Calendar.prototype.setFirstDayOfWeek=function(firstDayOfWeek){this._init(firstDayOfWeek,this.date);this._displayWeekdays();};Calendar.prototype.setDateStatusHandler=Calendar.prototype.setDisabledHandler=function(unaryFunction){this.getDateStatus=unaryFunction;};Calendar.prototype.setRange=function(a,z){this.minYear=a;this.maxYear=z;};Calendar.prototype.callHandler=function(){if(this.onSelected){this.onSelected(this,this.date.print(this.dateFormat));}};Calendar.prototype.callCloseHandler=function(){if(this.onClose){this.onClose(this);}
this.hideShowCovered();};Calendar.prototype.destroy=function(){var el=this.element.parentNode;el.removeChild(this.element);Calendar._C=null;window._dynarch_popupCalendar=null;};Calendar.prototype.reparent=function(new_parent){var el=this.element;el.parentNode.removeChild(el);new_parent.appendChild(el);};Calendar._checkCalendar=function(ev){var calendar=window._dynarch_popupCalendar;if(!calendar){return false;}
var el=Calendar.is_ie?Calendar.getElement(ev):Calendar.getTargetElement(ev);for(;el!=null&&el!=calendar.element;el=el.parentNode);if(el==null){window._dynarch_popupCalendar.callCloseHandler();return Calendar.stopEvent(ev);}};Calendar.prototype.show=function(){var rows=this.table.getElementsByTagName("tr");for(var i=rows.length;i>0;){var row=rows[--i];Calendar.removeClass(row,"rowhilite");var cells=row.getElementsByTagName("td");for(var j=cells.length;j>0;){var cell=cells[--j];Calendar.removeClass(cell,"hilite");Calendar.removeClass(cell,"active");}}
this.element.style.display="block";this.hidden=false;if(this.isPopup){window._dynarch_popupCalendar=this;Calendar.addEvent(document,"keydown",Calendar._keyEvent);Calendar.addEvent(document,"keypress",Calendar._keyEvent);Calendar.addEvent(document,"mousedown",Calendar._checkCalendar);}
this.hideShowCovered();};Calendar.prototype.hide=function(){if(this.isPopup){Calendar.removeEvent(document,"keydown",Calendar._keyEvent);Calendar.removeEvent(document,"keypress",Calendar._keyEvent);Calendar.removeEvent(document,"mousedown",Calendar._checkCalendar);}
this.element.style.display="none";this.hidden=true;this.hideShowCovered();};Calendar.prototype.showAt=function(x,y){var s=this.element.style;s.left=x+"px";s.top=y+"px";this.show();};Calendar.prototype.showAtElement=function(el,opts){var self=this;var p=Calendar.getAbsolutePos(el);if(!opts||typeof opts!="string"){this.showAt(p.x,p.y+el.offsetHeight);return true;}
function fixPosition(box){if(box.x<0)
box.x=0;if(box.y<0)
box.y=0;var cp=document.createElement("div");var s=cp.style;s.position="absolute";s.right=s.bottom=s.width=s.height="0px";document.body.appendChild(cp);var br=Calendar.getAbsolutePos(cp);document.body.removeChild(cp);if(Calendar.is_ie){br.y+=document.body.scrollTop;br.x+=document.body.scrollLeft;}else{br.y+=window.scrollY;br.x+=window.scrollX;}
var tmp=box.x+box.width-br.x;if(tmp>0)box.x-=tmp;tmp=box.y+box.height-br.y;if(tmp>0)box.y-=tmp;};this.element.style.display="block";Calendar.continuation_for_the_fucking_khtml_browser=function(){var w=self.element.offsetWidth;var h=self.element.offsetHeight;self.element.style.display="none";var valign=opts.substr(0,1);var halign="l";if(opts.length>1){halign=opts.substr(1,1);}
switch(valign){case"T":p.y-=h;break;case"B":p.y+=el.offsetHeight;break;case"C":p.y+=(el.offsetHeight-h)/2;break;case"t":p.y+=el.offsetHeight-h;break;case"b":break;}
switch(halign){case"L":p.x-=w;break;case"R":p.x+=el.offsetWidth;break;case"C":p.x+=(el.offsetWidth-w)/2;break;case"l":p.x+=el.offsetWidth-w;break;case"r":break;}
p.width=w;p.height=h+40;self.monthsCombo.style.display="none";fixPosition(p);self.showAt(p.x,p.y);};if(Calendar.is_khtml)
setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()",10);else
Calendar.continuation_for_the_fucking_khtml_browser();};Calendar.prototype.setDateFormat=function(str){this.dateFormat=str;};Calendar.prototype.setTtDateFormat=function(str){this.ttDateFormat=str;};Calendar.prototype.parseDate=function(str,fmt){if(!fmt)
fmt=this.dateFormat;this.setDate(Date.parseDate(str,fmt));};Calendar.prototype.hideShowCovered=function(){if(!Calendar.is_ie&&!Calendar.is_opera)
return;function getVisib(obj){var value=obj.style.visibility;if(!value){if(document.defaultView&&typeof(document.defaultView.getComputedStyle)=="function"){if(!Calendar.is_khtml)
value=document.defaultView.getComputedStyle(obj,"").getPropertyValue("visibility");else
value='';}else if(obj.currentStyle){value=obj.currentStyle.visibility;}else
value='';}
return value;};var tags=new Array("applet","iframe","select");var el=this.element;var p=Calendar.getAbsolutePos(el);var EX1=p.x;var EX2=el.offsetWidth+EX1;var EY1=p.y;var EY2=el.offsetHeight+EY1;for(var k=tags.length;k>0;){var ar=document.getElementsByTagName(tags[--k]);var cc=null;for(var i=ar.length;i>0;){cc=ar[--i];p=Calendar.getAbsolutePos(cc);var CX1=p.x;var CX2=cc.offsetWidth+CX1;var CY1=p.y;var CY2=cc.offsetHeight+CY1;if(this.hidden||(CX1>EX2)||(CX2<EX1)||(CY1>EY2)||(CY2<EY1)){if(!cc.__msh_save_visibility){cc.__msh_save_visibility=getVisib(cc);}
cc.style.visibility=cc.__msh_save_visibility;}else{if(!cc.__msh_save_visibility){cc.__msh_save_visibility=getVisib(cc);}
cc.style.visibility="hidden";}}}};Calendar.prototype._displayWeekdays=function(){var fdow=this.firstDayOfWeek;var cell=this.firstdayname;var weekend=Calendar._TT["WEEKEND"];for(var i=0;i<7;++i){cell.className="day name";var realday=(i+fdow)%7;if(i){cell.ttip=Calendar._TT["DAY_FIRST"].replace("%s",Calendar._DN[realday]);cell.navtype=100;cell.calendar=this;cell.fdow=realday;Calendar._add_evs(cell);}
if(weekend.indexOf(realday.toString())!=-1){Calendar.addClass(cell,"weekend");}
cell.innerHTML=Calendar._SDN[(i+fdow)%7];cell=cell.nextSibling;}};Calendar.prototype._hideCombos=function(){this.monthsCombo.style.display="none";this.yearsCombo.style.display="none";};Calendar.prototype._dragStart=function(ev){if(this.dragging){return;}
this.dragging=true;var posX;var posY;if(Calendar.is_ie){posY=window.event.clientY+document.body.scrollTop;posX=window.event.clientX+document.body.scrollLeft;}else{posY=ev.clientY+window.scrollY;posX=ev.clientX+window.scrollX;}
var st=this.element.style;this.xOffs=posX-parseInt(st.left);this.yOffs=posY-parseInt(st.top);with(Calendar){addEvent(document,"mousemove",calDragIt);addEvent(document,"mouseup",calDragEnd);}};Date._MD=new Array(31,28,31,30,31,30,31,31,30,31,30,31);Date.SECOND=1000;Date.MINUTE=60*Date.SECOND;Date.HOUR=60*Date.MINUTE;Date.DAY=24*Date.HOUR;Date.WEEK=7*Date.DAY;Date.parseDate=function(str,fmt){var today=new Date();var y=0;var m=-1;var d=0;var a=str.split(/\W+/);var b=fmt.match(/%./g);var i=0,j=0;var hr=0;var min=0;for(i=0;i<a.length;++i){if(!a[i])
continue;switch(b[i]){case"%d":case"%e":d=parseInt(a[i],10);break;case"%m":m=parseInt(a[i],10)-1;break;case"%Y":case"%y":y=parseInt(a[i],10);(y<100)&&(y+=(y>29)?1900:2000);break;case"%b":case"%B":for(j=0;j<12;++j){if(Calendar._MN[j].substr(0,a[i].length).toLowerCase()==a[i].toLowerCase()){m=j;break;}}
break;case"%H":case"%I":case"%k":case"%l":hr=parseInt(a[i],10);break;case"%P":case"%p":if(/pm/i.test(a[i])&&hr<12)
hr+=12;else if(/am/i.test(a[i])&&hr>=12)
hr-=12;break;case"%M":min=parseInt(a[i],10);break;}}
if(isNaN(y))y=today.getFullYear();if(isNaN(m))m=today.getMonth();if(isNaN(d))d=today.getDate();if(isNaN(hr))hr=today.getHours();if(isNaN(min))min=today.getMinutes();if(y!=0&&m!=-1&&d!=0)
return new Date(y,m,d,hr,min,0);y=0;m=-1;d=0;for(i=0;i<a.length;++i){if(a[i].search(/[a-zA-Z]+/)!=-1){var t=-1;for(j=0;j<12;++j){if(Calendar._MN[j].substr(0,a[i].length).toLowerCase()==a[i].toLowerCase()){t=j;break;}}
if(t!=-1){if(m!=-1){d=m+1;}
m=t;}}else if(parseInt(a[i],10)<=12&&m==-1){m=a[i]-1;}else if(parseInt(a[i],10)>31&&y==0){y=parseInt(a[i],10);(y<100)&&(y+=(y>29)?1900:2000);}else if(d==0){d=a[i];}}
if(y==0)
y=today.getFullYear();if(m!=-1&&d!=0)
return new Date(y,m,d,hr,min,0);return today;};Date.prototype.getMonthDays=function(month){var year=this.getFullYear();if(typeof month=="undefined"){month=this.getMonth();}
if(((0==(year%4))&&((0!=(year%100))||(0==(year%400))))&&month==1){return 29;}else{return Date._MD[month];}};Date.prototype.getDayOfYear=function(){var now=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);var then=new Date(this.getFullYear(),0,0,0,0,0);var time=now-then;return Math.floor(time/Date.DAY);};Date.prototype.getWeekNumber=function(){var d=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);var DoW=d.getDay();d.setDate(d.getDate()-(DoW+6)%7+3);var ms=d.valueOf();d.setMonth(0);d.setDate(4);return Math.round((ms-d.valueOf())/(7*864e5))+1;};Date.prototype.equalsTo=function(date){return((this.getFullYear()==date.getFullYear())&&(this.getMonth()==date.getMonth())&&(this.getDate()==date.getDate())&&(this.getHours()==date.getHours())&&(this.getMinutes()==date.getMinutes()));};Date.prototype.setDateOnly=function(date){var strr=date+"";var date_parts=strr.split('/');if(date_parts.length>2)
var tmp=new Date(date_parts[2],date_parts[1],date_parts[0]);else
var tmp=new Date(date);this.setDate(1);this.setFullYear(tmp.getFullYear());this.setMonth(tmp.getMonth());this.setDate(tmp.getDate());};Date.prototype.print=function(str){var m=this.getMonth();var d=this.getDate();var y=this.getFullYear();var wn=this.getWeekNumber();var w=this.getDay();var s={};var hr=this.getHours();var pm=(hr>=12);var ir=(pm)?(hr-12):hr;var dy=this.getDayOfYear();if(ir==0)
ir=12;var min=this.getMinutes();var sec=this.getSeconds();s["%a"]=Calendar._SDN[w];s["%A"]=Calendar._DN[w];s["%b"]=Calendar._SMN[m];s["%B"]=Calendar._MN[m];s["%C"]=1+Math.floor(y/100);s["%d"]=(d<10)?("0"+d):d;s["%e"]=d;s["%H"]=(hr<10)?("0"+hr):hr;s["%I"]=(ir<10)?("0"+ir):ir;s["%j"]=(dy<100)?((dy<10)?("00"+dy):("0"+dy)):dy;s["%k"]=hr;s["%l"]=ir;s["%m"]=(m<9)?("0"+(1+m)):(1+m);s["%M"]=(min<10)?("0"+min):min;s["%n"]="\n";s["%p"]=pm?"PM":"AM";s["%P"]=pm?"pm":"am";s["%s"]=Math.floor(this.getTime()/1000);s["%S"]=(sec<10)?("0"+sec):sec;s["%t"]="\t";s["%U"]=s["%W"]=s["%V"]=(wn<10)?("0"+wn):wn;s["%u"]=w+1;s["%w"]=w;s["%y"]=(''+y).substr(2,2);s["%Y"]=y;s["%%"]="%";var re=/%./g;if(!Calendar.is_ie5&&!Calendar.is_khtml)
return str.replace(re,function(par){return s[par]||par;});var a=str.match(re);for(var i=0;i<a.length;i++){var tmp=s[a[i]];if(tmp){re=new RegExp(a[i],'g');str=str.replace(re,tmp);}}
return str;};Date.prototype.__msh_oldSetFullYear=Date.prototype.setFullYear;Date.prototype.setFullYear=function(y){var d=new Date(this);d.__msh_oldSetFullYear(y);if(d.getMonth()!=this.getMonth())
this.setDate(28);this.__msh_oldSetFullYear(y);};window._dynarch_popupCalendar=null;Calendar._DN=new Array
("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday");Calendar._SDN=new Array
("Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun");Calendar._FD=0;Calendar._MN=new Array
("January","February","March","April","May","June","July","August","September","October","November","December");Calendar._SMN=new Array
("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");Calendar._TT={};Calendar._TT["INFO"]="About the calendar";Calendar._TT["ABOUT"]="DHTML Date/Time Selector\n"+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n"+"For latest version visit: http://www.dynarch.com/projects/calendar/\n"+"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details."+"\n\n"+"Date selection:\n"+"- Use the \xab, \xbb buttons to select year\n"+"- Use the "+String.fromCharCode(0x2039)+", "+String.fromCharCode(0x203a)+" buttons to select month\n"+"- Hold mouse button on any of the above buttons for faster selection.";Calendar._TT["ABOUT_TIME"]="\n\n"+"Time selection:\n"+"- Click on any of the time parts to increase it\n"+"- or Shift-click to decrease it\n"+"- or click and drag for faster selection.";Calendar._TT["PREV_YEAR"]="Prev. year (hold for menu)";Calendar._TT["PREV_MONTH"]="Prev. month (hold for menu)";Calendar._TT["GO_TODAY"]="Go Today";Calendar._TT["NEXT_MONTH"]="Next month (hold for menu)";Calendar._TT["NEXT_YEAR"]="Next year (hold for menu)";Calendar._TT["SEL_DATE"]="Select date";Calendar._TT["DRAG_TO_MOVE"]="Drag to move";Calendar._TT["PART_TODAY"]=" (today)";Calendar._TT["DAY_FIRST"]="Display %s first";Calendar._TT["WEEKEND"]="0,6";Calendar._TT["CLOSE"]="Close";Calendar._TT["TODAY"]="Today";Calendar._TT["TIME_PART"]="(Shift-)Click or drag to change value";Calendar._TT["DEF_DATE_FORMAT"]="%Y-%m-%d";Calendar._TT["TT_DATE_FORMAT"]="%a, %b %e";Calendar._TT["WK"]="wk";Calendar._TT["TIME"]="Time:";
var swfobject=function(){var D="undefined",r="object",S="Shockwave Flash",W="ShockwaveFlash.ShockwaveFlash",q="application/x-shockwave-flash",R="SWFObjectExprInst",x="onreadystatechange",O=window,j=document,t=navigator,T=false,U=[h],o=[],N=[],I=[],l,Q,E,B,J=false,a=false,n,G,m=true,M=function(){var aa=typeof j.getElementById!=D&&typeof j.getElementsByTagName!=D&&typeof j.createElement!=D,ah=t.userAgent.toLowerCase(),Y=t.platform.toLowerCase(),ae=Y?/win/.test(Y):/win/.test(ah),ac=Y?/mac/.test(Y):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,X=!+"\v1",ag=[0,0,0],ab=null;if(typeof t.plugins!=D&&typeof t.plugins[S]==r){ab=t.plugins[S].description;if(ab&&!(typeof t.mimeTypes!=D&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=true;X=false;ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);ag[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=D){try{var ad=new ActiveXObject(W);if(ad){ab=ad.GetVariable("$version");if(ab){X=true;ab=ab.split(" ")[1].split(",");ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=function(){if(!M.w3){return}if((typeof j.readyState!=D&&j.readyState=="complete")||(typeof j.readyState==D&&(j.getElementsByTagName("body")[0]||j.body))){f()}if(!J){if(typeof j.addEventListener!=D){j.addEventListener("DOMContentLoaded",f,false)}if(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=="complete"){j.detachEvent(x,arguments.callee);f()}});if(O==top){(function(){if(J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(arguments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/loaded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}f()})()}s(f)}}();function f(){if(J){return}try{var Z=j.getElementsByTagName("body")[0].appendChild(C("span"));Z.parentNode.removeChild(Z)}catch(aa){return}J=true;var X=U.length;for(var Y=0;Y<X;Y++){U[Y]()}}function K(X){if(J){X()}else{U[U.length]=X}}function s(Y){if(typeof O.addEventListener!=D){O.addEventListener("load",Y,false)}else{if(typeof j.addEventListener!=D){j.addEventListener("load",Y,false)}else{if(typeof O.attachEvent!=D){i(O,"onload",Y)}else{if(typeof O.onload=="function"){var X=O.onload;O.onload=function(){X();Y()}}else{O.onload=Y}}}}}function h(){if(T){V()}else{H()}}function V(){var X=j.getElementsByTagName("body")[0];var aa=C(r);aa.setAttribute("type",q);var Z=X.appendChild(aa);if(Z){var Y=0;(function(){if(typeof Z.GetVariable!=D){var ab=Z.GetVariable("$version");if(ab){ab=ab.split(" ")[1].split(",");M.pv=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}else{if(Y<10){Y++;setTimeout(arguments.callee,10);return}}X.removeChild(aa);Z=null;H()})()}else{H()}}function H(){var ag=o.length;if(ag>0){for(var af=0;af<ag;af++){var Y=o[af].id;var ab=o[af].callbackFn;var aa={success:false,id:Y};if(M.pv[0]>0){var ae=c(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(ab){aa.success=true;aa.ref=z(Y);ab(aa)}}else{if(o[af].expressInstall&&A()){var ai={};ai.data=o[af].expressInstall;ai.width=ae.getAttribute("width")||"0";ai.height=ae.getAttribute("height")||"0";if(ae.getAttribute("class")){ai.styleclass=ae.getAttribute("class")}if(ae.getAttribute("align")){ai.align=ae.getAttribute("align")}var ah={};var X=ae.getElementsByTagName("param");var ac=X.length;for(var ad=0;ad<ac;ad++){if(X[ad].getAttribute("name").toLowerCase()!="movie"){ah[X[ad].getAttribute("name")]=X[ad].getAttribute("value")}}P(ai,ah,Y,ab)}else{p(ae);if(ab){ab(aa)}}}}}else{w(Y,true);if(ab){var Z=z(Y);if(Z&&typeof Z.SetVariable!=D){aa.success=true;aa.ref=Z}ab(aa)}}}}}function z(aa){var X=null;var Y=c(aa);if(Y&&Y.nodeName=="OBJECT"){if(typeof Y.SetVariable!=D){X=Y}else{var Z=Y.getElementsByTagName(r)[0];if(Z){X=Z}}}return X}function A(){return!a&&F("6.0.65")&&(M.win||M.mac)&&!(M.wk&&M.wk<312)}function P(aa,ab,X,Z){a=true;E=Z||null;B={success:false,id:X};var ae=c(X);if(ae){if(ae.nodeName=="OBJECT"){l=g(ae);Q=null}else{l=ae;Q=X}aa.id=R;if(typeof aa.width==D||(!/%$/.test(aa.width)&&parseInt(aa.width,10)<310)){aa.width="310"}if(typeof aa.height==D||(!/%$/.test(aa.height)&&parseInt(aa.height,10)<137)){aa.height="137"}j.title=j.title.slice(0,47)+" - Flash Player Installation";var ad=M.ie&&M.win?"ActiveX":"PlugIn",ac="MMredirectURL="+O.location.toString().replace(/&/g,"%26")+"&MMplayerType="+ad+"&MMdoctitle="+j.title;if(typeof ab.flashvars!=D){ab.flashvars+="&"+ac}else{ab.flashvars=ac}if(M.ie&&M.win&&ae.readyState!=4){var Y=C("div");X+="SWFObjectNew";Y.setAttribute("id",X);ae.parentNode.insertBefore(Y,ae);ae.style.display="none";(function(){if(ae.readyState==4){ae.parentNode.removeChild(ae)}else{setTimeout(arguments.callee,10)}})()}u(aa,ab,X)}}function p(Y){if(M.ie&&M.win&&Y.readyState!=4){var X=C("div");Y.parentNode.insertBefore(X,Y);X.parentNode.replaceChild(g(Y),X);Y.style.display="none";(function(){if(Y.readyState==4){Y.parentNode.removeChild(Y)}else{setTimeout(arguments.callee,10)}})()}else{Y.parentNode.replaceChild(g(Y),Y)}}function g(ab){var aa=C("div");if(M.win&&M.ie){aa.innerHTML=ab.innerHTML}else{var Y=ab.getElementsByTagName(r)[0];if(Y){var ad=Y.childNodes;if(ad){var X=ad.length;for(var Z=0;Z<X;Z++){if(!(ad[Z].nodeType==1&&ad[Z].nodeName=="PARAM")&&!(ad[Z].nodeType==8)){aa.appendChild(ad[Z].cloneNode(true))}}}}}return aa}function u(ai,ag,Y){var X,aa=c(Y);if(M.wk&&M.wk<312){return X}if(aa){if(typeof ai.id==D){ai.id=Y}if(M.ie&&M.win){var ah="";for(var ae in ai){if(ai[ae]!=Object.prototype[ae]){if(ae.toLowerCase()=="data"){ag.movie=ai[ae]}else{if(ae.toLowerCase()=="styleclass"){ah+=' class="'+ai[ae]+'"'}else{if(ae.toLowerCase()!="classid"){ah+=" "+ae+'="'+ai[ae]+'"'}}}}}var af="";for(var ad in ag){if(ag[ad]!=Object.prototype[ad]){af+='<param name="'+ad+'" value="'+ag[ad]+'" />'}}aa.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+ah+">"+af+"</object>";N[N.length]=ai.id;X=c(ai.id)}else{var Z=C(r);Z.setAttribute("type",q);for(var ac in ai){if(ai[ac]!=Object.prototype[ac]){if(ac.toLowerCase()=="styleclass"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!="classid"){Z.setAttribute(ac,ai[ac])}}}}for(var ab in ag){if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!="movie"){e(Z,ab,ag[ab])}}aa.parentNode.replaceChild(Z,aa);X=Z}}return X}function e(Z,X,Y){var aa=C("param");aa.setAttribute("name",X);aa.setAttribute("value",Y);Z.appendChild(aa)}function y(Y){var X=c(Y);if(X&&X.nodeName=="OBJECT"){if(M.ie&&M.win){X.style.display="none";(function(){if(X.readyState==4){b(Y)}else{setTimeout(arguments.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var Y=c(Z);if(Y){for(var X in Y){if(typeof Y[X]=="function"){Y[X]=null}}Y.parentNode.removeChild(Y)}}function c(Z){var X=null;try{X=j.getElementById(Z)}catch(Y){}return X}function C(X){return j.createElement(X)}function i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=[Z,X,Y]}function F(Z){var Y=M.pv,X=Z.split(".");X[0]=parseInt(X[0],10);X[1]=parseInt(X[1],10)||0;X[2]=parseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]==X[0]&&Y[1]>X[1])||(Y[0]==X[0]&&Y[1]==X[1]&&Y[2]>=X[2]))?true:false}function v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var aa=j.getElementsByTagName("head")[0];if(!aa){return}var X=(ad&&typeof ad=="string")?ad:"screen";if(ab){n=null;G=null}if(!n||G!=X){var Z=C("style");Z.setAttribute("type","text/css");Z.setAttribute("media",X);n=aa.appendChild(Z);if(M.ie&&M.win&&typeof j.styleSheets!=D&&j.styleSheets.length>0){n=j.styleSheets[j.styleSheets.length-1]}G=X}if(M.ie&&M.win){if(n&&typeof n.addRule==r){n.addRule(ac,Y)}}else{if(n&&typeof j.createTextNode!=D){n.appendChild(j.createTextNode(ac+" {"+Y+"}"))}}}function w(Z,X){if(!m){return}var Y=X?"visible":"hidden";if(J&&c(Z)){c(Z).style.visibility=Y}else{v("#"+Z,"visibility:"+Y)}}function L(Y){var Z=/[\\\"<>\.;]/;var X=Z.exec(Y)!=null;return X&&typeof encodeURIComponent!=D?encodeURIComponent(Y):Y}var d=function(){if(M.ie&&M.win){window.attachEvent("onunload",function(){var ac=I.length;for(var ab=0;ab<ac;ab++){I[ab][0].detachEvent(I[ab][1],I[ab][2])}var Z=N.length;for(var aa=0;aa<Z;aa++){y(N[aa])}for(var Y in M){M[Y]=null}M=null;for(var X in swfobject){swfobject[X]=null}swfobject=null})}}();return{registerObject:function(ab,X,aa,Z){if(M.w3&&ab&&X){var Y={};Y.id=ab;Y.swfVersion=X;Y.expressInstall=aa;Y.callbackFn=Z;o[o.length]=Y;w(ab,false)}else{if(Z){Z({success:false,id:ab})}}},getObjectById:function(X){if(M.w3){return z(X)}},embedSWF:function(ab,ah,ae,ag,Y,aa,Z,ad,af,ac){var X={success:false,id:ah};if(M.w3&&!(M.wk&&M.wk<312)&&ab&&ah&&ae&&ag&&Y){w(ah,false);K(function(){ae+="";ag+="";var aj={};if(af&&typeof af===r){for(var al in af){aj[al]=af[al]}}aj.data=ab;aj.width=ae;aj.height=ag;var am={};if(ad&&typeof ad===r){for(var ak in ad){am[ak]=ad[ak]}}if(Z&&typeof Z===r){for(var ai in Z){if(typeof am.flashvars!=D){am.flashvars+="&"+ai+"="+Z[ai]}else{am.flashvars=ai+"="+Z[ai]}}}if(F(Y)){var an=u(aj,am,ah);if(aj.id==ah){w(ah,true)}X.success=true;X.ref=an}else{if(aa&&A()){aj.data=aa;P(aj,am,ah,ac);return}else{w(ah,true)}}if(ac){ac(X)}})}else{if(ac){ac(X)}}},switchOffAutoHideShow:function(){m=false},ua:M,getFlashPlayerVersion:function(){return{major:M.pv[0],minor:M.pv[1],release:M.pv[2]}},hasFlashPlayerVersion:F,createSWF:function(Z,Y,X){if(M.w3){return u(Z,Y,X)}else{return undefined}},showExpressInstall:function(Z,aa,X,Y){if(M.w3&&A()){P(Z,aa,X,Y)}},removeSWF:function(X){if(M.w3){y(X)}},createCSS:function(aa,Z,Y,X){if(M.w3){v(aa,Z,Y,X)}},addDomLoadEvent:K,addLoadEvent:s,getQueryParamValue:function(aa){var Z=j.location.search||j.location.hash;if(Z){if(/\?/.test(Z)){Z=Z.split("?")[1]}if(aa==null){return L(Z)}var Y=Z.split("&");for(var X=0;X<Y.length;X++){if(Y[X].substring(0,Y[X].indexOf("="))==aa){return L(Y[X].substring((Y[X].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(a){var X=c(R);if(X&&l){X.parentNode.replaceChild(l,X);if(Q){w(Q,true);if(M.ie&&M.win){l.style.display="block"}}if(E){E(B)}}a=false}}}}();
core.apps.texts=function(){this.data=[];this.listeners=[];this._parsePage();}
core.apps.texts.prototype={get:function(id,callback){if(!id)return;if(this.data[id]!=undefined){callback(this.data[id]);return true;}
var p={dialog:"texts",act:"get_content",id:id}
var f=function(res){if(res==null)return;core.data.texts.data[res.id]=res;callback(res);}
core.transport.send("/controller.php",p,f);},_parsePage:function(){var el=document.getElementById("html_page_texts");var idx=0;if(!el)return;for(var i=0;i<el.childNodes.length;i++){var n=el.childNodes[i];if(!n.tagName||n.getAttribute("is_text")!="1")continue;var id=core.data.texts_info[idx].id;this.data[id]=core.data.texts_info[idx];this.data[id].summary=n.childNodes[0].innerHTML;this.data[id].content=n.childNodes[1].innerHTML;idx++;}}}
core.launcher.registerLoadedApps(["texts"]);

core.apps.desktop=function(args){window.desktop=this;this.simpleApps=[];this.isLoading=false;if(core.values.is_page_preview){this.displayTpl(document.body,"preview_panel");window.onunload=function(e){window.close();}}
this.render();this.initLayoutElements();this.callFunction("initInterface_"+core.mode);this.site_menu=new core.apps.site_menu({parentElement:this.$["site_menu"]});this.site_footer=new core.apps.site_footer({parentElement:this.$["site_footer"]});this.layout=new core.apps[core.data.layout_type]({parentElement:this.$["page_content"]});this.layout.callFunction("run");if(core.data.site_info.breadcrumbs_visible==1){this.breadcrumbs=new core.apps.breadcrumbs({parentElement:this.$["site_breadcrumbs"]});}else{this.hideElement("site_breadcrumbs");}
this.setTitle(core.data.site_info.title);this.initPageComments();this.callFunction("updateAuthControls");this.callFunction("initTheme");if(core.mode!="iphone"){this.ecom_cart.onCartUpdated();}
if(location.href.indexOf("#upgrade_browser")!=-1){core.launcher.run({appName:"upgrade_browser",parentElement:this.$["tmp_hidden"]});}}
core.apps.desktop.prototype={render:function(){this.displayTpl(document.body,"desktop_loading");this.buildModel(document.body,[{tag:"div",id:"tmp_hidden",display:false}]);},initPageComments:function(){if(!core.data.page_id||core.data.page_has_comments!=1)return;this.page_comments=core.launcher.run({appName:"comments",parentElement:this.$["page_comments"]});this.page_comments.open({profile:{title:"",sid:core.data.page_id},parentElement:this.$["page_comments"],id:core.data.page_id});},loadURL:function(url){if(url.indexOf("http")==-1){url="http://"+core.data.http_host+url;}
window.location.href=url;},closeBrowser:function(e){window.close();},openImageBox:function(images,active_image){if(!this.imagebox){this.imagebox=new core.apps.imagebox();}
this.imagebox.open(images,active_image);},setState:function(v){if(v=="loading"){this.isLoading=true;this.showElement("document_overlay");this.showElement("desktop_loading");this.updatePopupPos("document");}else{this.isLoading=false;this.hideElement("document_overlay");this.hideElement("desktop_loading");if(this.popup_stack.length){this.updatePopupPos();}}}}
core.apps.desktop.extendPrototype(core.components.html_component);
core.apps.desktop.extendPrototype({initLayoutElements:function(){var ids=["document_wrapper","site_content","site_header","header_doc","site_logo","site_title","inp_site_search_q","site_search_popup","site_menu","site_breadcrumbs","page_content","page_comments","page_footer","site_footer","page_content_wrapper","site_auth","auth_logged","auth_logged_user","auth_not_logged"];for(var i=0;i<ids.length;i++){var id=ids[i];this.$[id]=document.getElementById(id);}
if(this.$["site_title"]){core.browser.attachEvent(this.$["site_title"],"onclick",this.onTitleClick.bindAsEventListener(this));}
var el=this.$["inp_site_search_q"];if(el&&core.data.main_menu_flags.indexOf("f")!=-1){core.browser.attachEvent(el,"onfocus",this.onSiteSearchFocus.bindAsEventListener(this));core.browser.attachEvent(el,"onblur",this.onSiteSearchBlur.bindAsEventListener(this));}},setTitle:function(str){var el=this.$["site_title"];if(!el)return;el.innerHTML=core.common.formatTitle(str);},onTitleClick:function(e){location.href="http://"+core.data.http_host;},onSiteSearchFocus:function(e){this.showElement("site_search_popup");return true;},onSiteSearchBlur:function(e){var f=function(){desktop.hideElement("site_search_popup");}
setTimeout(f,300);return true;},initTheme:function(){if(core.apps.theme){this.theme=new core.apps.theme();this.renderSiteLogo();}},renderSiteLogo:function(){var file=core.data.site_info.site_logo;if(file){file=core.common.getUserFile(file);}else if(this.theme&&this.theme.site_logo&&this.theme.site_logo){file=this.theme.site_logo.src;if(core.data.site_info.custom_theme){file="/custom_themes/"+core.data.site_info.user_id+"/"+
core.data.site_info.custom_theme+"/"+this.theme.site_logo.src;}else{file="/themes/"+core.data.site_info.theme+"/"+this.theme.site_logo.src;}}
this.$["site_logo"].style.background=file?"transparent url('"+file+"') no-repeat left center":"none";},updateAuthControls:function(){if(core.data.site_user){this.showElements(["site_auth","auth_logged"]);this.$["auth_logged_user"].innerHTML=core.data.site_user.login;}else{if(core.data.site_info.enable_users==1){this.showElements(["site_auth","auth_not_logged"]);}else{this.hideElements(["site_auth","auth_not_logged"]);}}},onAuthLogoutClick:function(e){var p={dialog:"site_users",act:"logout"};core.transport.send("/controller.php",p,desktop.onLogoutResponce);},onLogoutResponce:function(r){desktop.loadURL(window.location.href);},onAuthRegisterClick:function(e){this.loadURL("/user/?page=register");}});
core.apps.desktop.prototype.ecom_cart={addProduct:function(args,callback){var p={act:"cart_add_product",amount:parseInt(args.amount)||1,pid:args.id,variations:args.variations||"",form_data:args.form_data||""}
this.send(p,callback);},addDonation:function(args,callback){var p={act:"cart_add_donation",amount_to_pay:parseFloat(args.amount_to_pay),form_data:args.form_data||""}
if(!p.amount_to_pay)return;this.send(p,callback);},removeProduct:function(key,callback){var p={act:"cart_remove_product",cart_key:key};this.send(p,callback);},send:function(p,callback){p.dialog="ecommerce";core.transport.send('/controller.php',p,this.onServerResponce.bind(this,callback),'POST');},onServerResponce:function(callback,r){if(!r||!r.data||!r.data.cart)return;if(r.data.status==0){alert(r.data.text);return;}
core.data.ecom_cart=r.data.cart;if(r.data["redirect_to_cart"]==1){location.href="/checkout/";}else{this.onCartUpdated();if(r.act=="cart_add_product"){alert(r.data.text+'\nTotal amount: '+r.data.cart.total_amount_items+r.data.cur);}}
if(callback)try{callback(r);}catch(e){}},onCartUpdated:function(){var l=desktop.layout;if($("app_shopping_cart")&&l&&l.haveApps){for(var id in l.apps){if(l.apps[id].appName=="shopping_cart"){l.apps[id].refresh();}}}
var el=$('scart_icon_text');if(el){var cart=core.data.ecom_cart;var items_count=0;if(cart){var total_amount=Number(cart.total_amount_all).toFixed(2);for(var i in cart.items)items_count++;}else{var total_amount="0.00";}
el.innerHTML="<span>Shopping Cart</span> "+items_count+" item/s | $"+total_amount+" value";}}}
core.templates['desktop_loading']=[{"tag":"div","childs":[{"tag":"span","innerHTML":"Please wait..."},{"tag":"img","src":"\/static\/loading.gif"}],"id":"desktop_loading","className":"desktop_loading"},{"tag":"div","className":"desktop_overlay","id":"document_overlay","cssText":"display: none; z-index: 100000;"}];
core.templates['app_window']={"tag":"div","childs":[{"tag":"div","childs":[{"tag":"div","childs":[{"tag":"div","className":"app_tc"}],"className":"app_tr"}],"className":"app_tl"},{"tag":"div","childs":[{"tag":"div","childs":[{"tag":"div","childs":[{"tag":"div","id":"caption","className":"app_caption"},{"tag":"div","id":"content","className":"app_content"},{"tag":"div","className":"app_footer"}],"className":"app_mc"}],"className":"app_mr"}],"className":"app_ml"},{"tag":"div","childs":[{"tag":"div","childs":[{"tag":"div","className":"app_bc"}],"className":"app_br"}],"className":"app_bl"}],"className":"app","id":"window"};
core.browser.applyCSS("\/* UI elements *\/.inp_color_preview {width: 32px;height: 16px;border: 1px solid #000;background: #FFF;cursor: pointer;float: left;margin-right: 4px;}.btn_color_picker {float: left;width: 16px;height: 16px;background: url(\/static\/icons\/color_swatch.png) no-repeat;cursor: pointer;}.panel {padding: 8px;}button.calendar {margin: 0 4px 4px 4px;width: 16px;height: 16px;padding: 0;border: 0;cursor: pointer;vertical-align: middle;background: transparent url(\/static\/site.images\/icons\/calendar.gif) no-repeat;}button {padding: 0;margin: 0;}button img {vertical-align: bottom;}img.icon {width: 16px;height: 16px;cursor: pointer;border: 0;}.site_header h1 {cursor: pointer;}.list_box {width: auto;background: #FFFFFF;overflow: auto;}.section_toggle {width: auto;padding: 4px 2px 16px 2px;margin: 0;}a.section_toggle_title,a.section_toggle_title:hover {color: blue;padding-right: 28px;background: url(\/static\/images\/arrow_d.gif) no-repeat right 2px !important;text-decoration: none;}a.section_toggle_title:hover {text-decoration: underline;}.section_toggle_content {width: auto;margin: 8px 0 0 0;}.obj_info {margin: 8px 0 0 0;border-top: 1px solid #999;}\/* helpers *\/.float_container {overflow: hidden;zoom: 1;width: auto;}.float_left {float: left;}.float_right {float: right;}\/* messages blocks *\/\/* messages *\/.message_error, .message_info, .message_success {width: auto;color: #000000;padding: 4px 8px 4px 32px;margin: 8px 0px 8px 0px;}.message_error {background: #FFDDDD url(\/static\/images\/icons\/error.png) no-repeat 8px 4px ;border: 1px solid #CC0000;}.message_info {background: #DDDDFF url(\/static\/images\/icons\/info.png) no-repeat 8px 4px ;border: 1px solid #0000CC;}.message_success {background: #DDFFDD url(\/static\/images\/icons\/success.png) no-repeat 8px 4px ;border: 1px solid #00CC00;}");
core.browser.applyCSS("\/* Distributed as part of The Coolest DHTML CalendarAuthor: Mihai Bazon, www.bazon.net\/mishooCopyright Dynarch.com 2005, www.dynarch.com*\/\/* The main calendar widget.  DIV containing a table. *\/div.calendar { position: relative; }.calendar, .calendar table {border: 1px solid #bdb2bf;font-size: 11px;color: #000;cursor: default;background: #BFCFDF;font-family: \"trebuchet ms\",verdana,tahoma,sans-serif;}.calendar {border-color: #797979;z-index: 100000;}\/* Header part -- contains navigation buttons and day names. *\/.calendar .button { \/* \"<<\", \"<\", \">\", \">>\" buttons have this class *\/text-align: center;    \/* They are the navigation buttons *\/padding: 2px;          \/* Make the buttons seem like they're pressing *\/background: url(\"\/static\/site.images\/datepicker\/title-bg.gif\") repeat-x 0 100%; color: #000;font-weight: bold;}.calendar .nav {font-family: verdana,tahoma,sans-serif;}.calendar .nav div {background: transparent url(\"\/static\/site.images\/datepicker\/menuarrow.gif\") no-repeat 100% 100%;}.calendar thead tr { background: url(\"\/static\/site.images\/datepicker\/title-bg.gif\") repeat-x 0 100%; color: #000; }.calendar thead .title { \/* This holds the current \"month, year\" *\/font-weight: bold;      \/* Pressing it will take you to the current date *\/text-align: center;padding: 2px;background: url(\"\/static\/site.images\/datepicker\/title-bg.gif\") repeat-x 0 100%; color: #000;}.calendar thead .headrow { \/* Row <TR> containing navigation buttons *\/}.calendar thead .name { \/* Cells <TD> containing the day names *\/border-bottom: 1px solid #797979;padding: 2px;text-align: center;color: #000;}.calendar thead .weekend { \/* How a weekend day name shows in header *\/color: #c44;}.calendar thead .hilite { \/* How do the buttons in header appear when hover *\/background: url(\"\/static\/site.images\/datepicker\/hover-bg.gif\");border-bottom: 1px solid #797979;padding: 2px 2px 1px 2px;}.calendar thead .active { \/* Active (pressed) buttons in header *\/background: url(\"\/static\/site.images\/datepicker\/active-bg.gif\"); color: #fff;padding: 3px 1px 0px 3px;border-bottom: 1px solid #797979;}.calendar thead .daynames { \/* Row <TR> containing the day names *\/background: url(\"\/static\/site.images\/datepicker\/dark-bg.gif\");}\/* The body part -- contains all the days in month. *\/.calendar tbody .day { \/* Cells <TD> containing month days dates *\/font-family: verdana,tahoma,sans-serif;width: 2em;color: #000;text-align: right;padding: 2px 4px 2px 2px;}.calendar tbody .day.othermonth {font-size: 80%;color: #999;}.calendar tbody .day.othermonth.oweekend {color: #f99;}.calendar table .wn {padding: 2px 3px 2px 2px;border-right: 1px solid #797979;background: url(\"\/static\/site.images\/datepicker\/dark-bg.gif\");}.calendar tbody .rowhilite td,.calendar tbody .rowhilite td.wn {background: url(\"\/static\/site.images\/datepicker\/rowhover-bg.gif\");}.calendar tbody td.today { font-weight: bold; \/* background: url(\"\/static\/site.images\/datepicker\/today-bg.gif\") no-repeat 70% 50%; *\/ }.calendar tbody td.hilite { \/* Hovered cells <TD> *\/background: url(\"\/static\/site.images\/datepicker\/hover-bg.gif\");padding: 1px 3px 1px 1px;border: 1px solid #bbb;}.calendar tbody td.active { \/* Active (pressed) cells <TD> *\/padding: 2px 2px 0px 2px;}.calendar tbody td.weekend { \/* Cells showing weekend days *\/color: #c44;}.calendar tbody td.selected { \/* Cell showing selected date *\/font-weight: bold;border: 1px solid #797979;padding: 1px 3px 1px 1px;background: url(\"\/static\/site.images\/datepicker\/active-bg.gif\"); color: #fff;}.calendar tbody .disabled { color: #999; }.calendar tbody .emptycell { \/* Empty cells (the best is to hide them) *\/visibility: hidden;}.calendar tbody .emptyrow { \/* Empty row (some months need less than 6 rows) *\/display: none;}\/* The footer part -- status bar and \"Close\" button *\/.calendar tfoot .footrow { \/* The <TR> in footer (only one right now) *\/text-align: center;background: #565;color: #fff;}.calendar tfoot .ttip { \/* Tooltip (status bar) cell <TD> *\/padding: 2px;background: url(\"\/static\/site.images\/datepicker\/status-bg.gif\") repeat-x 0 0; color: #000;}.calendar tfoot .hilite { \/* Hover style for buttons in footer *\/background: #afa;border: 1px solid #084;color: #000;padding: 1px;}.calendar tfoot .active { \/* Active (pressed) style for buttons in footer *\/background: #7c7;padding: 2px 0px 0px 2px;}\/* Combo boxes (menus that display months\/years for direct selection) *\/.calendar .combo {position: absolute;display: none;top: 0px;left: 0px;width: 4em;cursor: default;border-width: 0 1px 1px 1px;border-style: solid;border-color: #797979;background: #BFCFDF; color: #000;z-index: 100;font-size: 90%;}.calendar .combo .label,.calendar .combo .label-IEfix {text-align: center;padding: 1px;}.calendar .combo .label-IEfix {width: 4em;}.calendar .combo .hilite {background: url(\"\/static\/site.images\/datepicker\/hover-bg.gif\"); color: #000;}.calendar .combo .active {background: url(\"\/static\/site.images\/datepicker\/active-bg.gif\"); color: #fff;font-weight: bold;}.calendar td.time {border-top: 1px solid #797979;padding: 1px 0px;text-align: center;background: url(\"\/static\/site.images\/datepicker\/dark-bg.gif\");}.calendar td.time .hour,.calendar td.time .minute,.calendar td.time .ampm {padding: 0px 5px 0px 6px;font-weight: bold;background: #BFCFDF; color: #000;}.calendar td.time .hour,.calendar td.time .minute {font-family: monospace;}.calendar td.time .ampm {text-align: center;}.calendar td.time .colon {padding: 0px 2px 0px 3px;font-weight: bold;}.calendar td.time span.hilite {background: url(\"\/static\/site.images\/datepicker\/hover-bg.gif\"); color: #000;}.calendar td.time span.active {background: url(\"\/static\/site.images\/datepicker\/active-bg.gif\"); color: #fff;}");
core.browser.applyCSS(".toolbar_wrapper {padding: 5px 5px 0 5px;height: 24px;}.toolbar_box {padding-right: 5px;background: transparent url(\/static\/wsc\/text.png) no-repeat right top;}.toolbar {font-family: Tahoma;font-size: 12px;color: #333333;width: auto;padding: 1px 0 1px 5px;height: 22px;z-index: 10000;background: transparent url(\/static\/wsc\/text.png) no-repeat left bottom;}.toolbar .disabled {cursor: default !important;color: #BBB !important;background: none !important;}.toolbar .disabled .sub_menu {display: none !important;}.toolbar .disabled img {opacity: 0.4;filter: alpha(opacity=40);}.toolbar div.divider {float: left;height: 20px;width: 2px;margin: 1px;}.toolbar a.item {z-index: 100;position: relative;float: left;padding: 4px 8px;margin: 0;color: #000;text-decoration: none;}.toolbar a.item .sub_menu {display: none;}.toolbar a.item:hover {background: transparent url(\/static\/wsc\/toolbar_active_item_bg.png) repeat-x;margin: 0;color: #333;}.toolbar a.item:hover .sub_menu {display: block;}.toolbar img {width: 16px;height: 16px;border: none;margin-right: 4px;vertical-align: top;}.toolbar .sub_menu {position: absolute;left: -7px;top: 22px;z-index: 1000;width: 203px;overflow: hidden;}.toolbar .sub_menu .t,.toolbar .sub_menu .b {height: 12px;background: transparent url(\/static\/site_toolbar\/popup_tb.png) no-repeat;}.toolbar .sub_menu .b {background-position: left bottom;}.toolbar .sub_menu .m {background: transparent url(\/static\/site_toolbar\/popup_m.png) repeat-y;padding: 0 8px;}.toolbar .sub_menu .divider {float: none;height: 1px;margin: 4px 0;background: #FFF;font-size: 1px;}.toolbar a.sub_item {display: block;width: auto;margin: 0;padding: 3px 8px;color: #000;text-decoration: none;border: none;}.toolbar a.sub_item:hover {background: #FFF;color: #000;}");
core.browser.applyCSS("\/* loading msg popup *\/.desktop_loading {position: fixed;display: none;z-index: 100100;width: 250px;height: 60px;padding-top: 20px;text-align: center;background: transparent url(\/static\/loading_bg.png) no-repeat;}.desktop_loading span {font: normal 11px Tahoma;color: #333;}.desktop_loading img {width: 208px;height: 13px;padding-top: 10px;border: 0;}");
core.launcher.registerLoadedApps(["desktop"]);

core.apps.site_menu=function(args){this.active_submenu=null;this.$={};var item_num=0;var ul=desktop.$["site_menu"].childNodes[0];if(ul&&ul.childNodes.length>1){var max_width=ul.offsetWidth;var w=0;var extra_ofs=0;for(var i=0;i<ul.childNodes.length;i++){var li=ul.childNodes[i];if(w<max_width){extra_ofs=i;w+=li.offsetWidth;}else{var is_need_extra=true;}
var key="site_submenu"+item_num;this.$[key]=document.getElementById(key);if(this.$[key]){core.browser.attachEvent(li,"onmouseover",this._showSubmenu.bindAsEventListener(this,item_num));core.browser.attachEvent(li,"onmouseout",this._hideSubmenu.bindAsEventListener(this,item_num));}
item_num++;}}
var ul=$("body_menu").childNodes[0];if(ul&&ul.childNodes.length>1){for(var i=0;i<ul.childNodes.length;i++){var li=ul.childNodes[i];var key="site_submenu"+item_num;this.$[key]=document.getElementById(key);if(this.$[key]){core.browser.attachEvent(li,"onmouseover",this._showSubmenu.bindAsEventListener(this,item_num));core.browser.attachEvent(li,"onmouseout",this._hideSubmenu.bindAsEventListener(this,item_num));}
item_num++;}}
if(core.values.skip_menu_extra)return;if(is_need_extra){item_num++;var extra_sub_id="site_submenu"+item_num;this.buildModel(ul,{tag:"li",events:{onmouseover:["_showSubmenu",item_num],onmouseout:["_hideSubmenu",item_num]},childs:[{tag:"a",innerHTML:"&gt;&gt;",href:"void"},{tag:"div",className:"submenu",display:false,id:extra_sub_id}]});var last_num=ul.childNodes.length-1;for(var i=extra_ofs;i<last_num;i++){var li=ul.childNodes[extra_ofs];var mi=li.childNodes[0];var mi_sub=li.childNodes[1];if(mi_sub){this.$["site_submenu"+i]=mi_sub;mi_sub.className+=" subsubmenu";li.removeChild(mi_sub);mi.appendChild(mi_sub);core.browser.attachEvent(mi,"onmouseover",this._showSubSubmenu.bindAsEventListener(this,i));core.browser.attachEvent(mi,"onmouseout",this._hideSubSubmenu.bindAsEventListener(this,i));}
ul.removeChild(li);this.$[extra_sub_id].appendChild(mi);}}}
core.apps.site_menu.extendPrototype({_showSubmenu:function(e,idx){clearTimeout(this.timeout);if(this.active_submenu!=null&&this.active_submenu!=idx){this.hideElement("site_submenu"+this.active_submenu);this.active_submenu=null;}
var key="site_submenu"+idx;if(this.$[key]){this.setElementOpacity(key,100);this.showElement(key);this.active_submenu=idx;}},_hideSubmenu:function(e){this.timeout=setTimeout(this._hideSubmenuEl.bind(this),300);},_hideSubmenuEl:function(){if(this.active_submenu!=null){this.fxValue=5;this._fadeOut();}},_fadeOut:function(){var key="site_submenu"+this.active_submenu;if(this.fxValue<=0){this.hideElement(key);this.active_submenu=null;}else{this.fxValue--;this.setElementOpacity(key,this.fxValue*20);this.timeout=setTimeout(this._fadeOut.bind(this),30);}},_showSubSubmenu:function(e,idx){this.showElement("site_submenu"+idx);},_hideSubSubmenu:function(e,idx){this.hideElement("site_submenu"+idx);}});core.apps.site_menu.extendPrototype(core.components.html_component);
core.launcher.registerLoadedApps(["site_menu"]);

core.apps.breadcrumbs=function(args){if(core.data["page_file"]=="index"&&core.data["page_id"]=="")return;var home_page_mi={url:"index",title:"Home",type:"std"}
function findItem(url,node){if(!node)node=core.data.main_menu;for(var i=0;i<node.length;i++){if(node[i].url==url||findItem(url,node[i].childs)){path.unshift({title:node[i].title,url:node[i].url,type:node[i].type,blank_page:"0"});return true;}}
return false;}
function formatLink(mi){var url=mi.url;if(mi.type=="std"||mi.type=="doc"){url="/"+url+".html";}else if(mi.type!="external"){url="/"+url;}
return"<a href='"+url+"'>"+mi.title+"</a>"}
var path=[];var links=[];if(core.data.layout_type=="layout_columns"){if(findItem(core.data.page_file)){if(path[0].url!="index"){path.unshift(home_page_mi);}else{path[0].title="Home";}
for(var i=0;i<path.length-1;i++){links.push(formatLink(path[i]));}
links.push("<span>"+path[i++].title+"</span>");}else{links.push(formatLink(home_page_mi));links.push("<span>"+core.data.page_title+"</span>");}}else{links.push(formatLink(home_page_mi));var t=desktop.layout.title;if(typeof(t)=="object"){for(var i=0;i<t.length-1;i++){links.push("<a href='"+t[i].url+"'>"+t[i].title+"</a>");}
links.push("<span>"+(t[i].title||t[i])+"</span>");}else{links.push("<span>"+t+"</span>");}}
args.parentElement.innerHTML=links.join(" :: ");args.parentElement.childNodes[0].className+=" first_item";}
core.apps.breadcrumbs.extendPrototype(core.components.html_component);
core.launcher.registerLoadedApps(["breadcrumbs"]);

core.apps.site_footer=function(args){if(core.mode=="iphone")return;this.displayTpl(args.parentElement,"site_footer");this.cols=[];this.walkMenuNode(0,core.data.main_menu);if(this.cols.length){var col_width=Math.round(100/this.cols.length)+"%";var html="<table style='border: 0'><tr>";for(var i=0;i<this.cols.length;i++){var chtml="<strong>"+this.cols[i].shift()+"</strong>"+this.cols[i].join("<br/>");html+="<td style='width: "+col_width+"'>"+chtml+"</td>";}
html+="</tr></table>";this.$["links"].innerHTML=html;}
this.refresh();}
core.apps.site_footer.prototype={refresh:function(){this.$["info"].innerHTML=core.data.page_footer_code||core.data.site_info.footer_code;},walkMenuNode:function(col_num,node,skip_new_col){for(var i=0;i<node.length;i++){var fl=node[i].footer_link;if(fl=="p"){this.addColItem(col_num,node[i]);this.walkMenuNode(col_num,node[i].childs,1);if(!skip_new_col){col_num=this.cols.length;}
continue;}else if(fl=="s"){var c=this.cols.length;this.addColItem(c,node[i]);this.walkMenuNode(c,node[i].childs,1);continue;}
this.walkMenuNode(col_num,node[i].childs,skip_new_col);}},addColItem:function(col_num,mi){if(!this.cols[col_num])this.cols[col_num]=[];this.cols[col_num].push(this.formatLink(mi));},formatLink:function(mi){var url=mi.url;if(url==""){url="javascript:void(0)";}else if(mi.type=="std"||mi.type=="doc"){url="/"+url+".html";}
var t=mi.title.replace(/\s+/g,"&nbsp;");return"<a href='"+url+"' "+(mi.blank_page=="1"?"target='_new'":"")+">"+t+"</a>"}}
core.apps.site_footer.extendPrototype(core.components.html_component);
core.templates['site_footer']=[{"tag":"div","id":"links","className":"links"},{"tag":"div","id":"info","className":"info"}];
core.launcher.registerLoadedApps(["site_footer"]);

core.apps.imagebox=function(){}
core.apps.imagebox.prototype={open:function(images,active_image){if(!active_image)active_image=0;if(!images.length||!images[active_image])return;this.images=images;this.active_image=active_image;if(!this.$){this.renderBox();}
this.showElements(["imageBoxMainDiv","overlay"]);this.showImage();},close:function(){this.hideElements(["imageBoxMainDiv","overlay"]);},renderBox:function(){this.buildModel(document.body,{tag:"div",id:"overlay",className:"desktop_overlay",style:{zIndex:"100100"},events:{onclick:["close"]}});this.buildModel(document.body,{tag:"div",id:"imageBoxMainDiv",className:"imageBoxMainDiv",style:{zIndex:"100101"},childs:[{tag:"div",id:"topNav",className:"imageBoxTopNav",childs:[{tag:"a",className:"imageBoxNavClose",events:{onclick:["close"]}}]},{tag:"div",id:"outerImageContainer",className:"outerImageContainer",childs:[{tag:"div",id:"imageContainer",className:"imageContainer",childs:[{tag:"img",id:"imageBoxImage",className:"imageBoxImage"},{tag:"div",id:"hoverNav",className:"hoverNav",childs:[{tag:"a",id:"prevLink",className:"prevLink",events:{onclick:["prevImage"]}},{tag:"a",id:"nextLink",className:"nextLink",events:{onclick:["nextImage"]}}]},{tag:"div",id:"loading",className:"loading"}]}]},{tag:"div",id:"imageDataContainer",className:"imageDataContainer",childs:[{tag:"div",id:"imageData",className:"imageData",childs:[{tag:"div",id:"imageDetails",className:"imageDetails",childs:[{tag:"span",id:"caption",className:"caption"},{tag:"span",id:"numberDisplay",className:"numberDisplay"}]},{tag:"div",id:"bottomNav",className:"bottomNav",childs:[{tag:"a",id:"bottomNavClose",className:"imageBoxNavClose",events:{onclick:["close"]}}]}]}]}]});},showImage:function(){this.showElement("loading");this.img=new Image();this.img.onload=this.onImageLoaded.bind(this);this.img.src=this.getImageURL(this.images[this.active_image]);this.preloadNeighborImages()},onImageLoaded:function(){this.hideElement("loading");this.$["imageBoxImage"].src=this.getImageURL(this.images[this.active_image]);this.updatePosition(this.img.width,this.img.height);this.updateNavigation();},preloadNeighborImages:function(){var preloadNextImage,preloadPrevImage;if(this.images.length>this.active_image+1){preloadNextImage=new Image();preloadNextImage.src=this.getImageURL(this.images[this.active_image+1]);}
if(this.active_image>0){preloadPrevImage=new Image();preloadPrevImage.src=this.getImageURL(this.images[this.active_image-1]);}},nextImage:function(){if(this.active_image+2>this.images.length){return;}
this.active_image=this.active_image+1;this.showImage();},prevImage:function(){if(this.active_image-1<0){return;}
this.active_image=this.active_image-1;this.showImage();},setimages:function(images,current){if(current==undefined){current=0;}
this.active_image=current;this.images=images;},updateNavigation:function(){if(this.active_image>=this.images.length-1){this.hideElement("nextLink");}else{this.showElement("nextLink");}
if(this.active_image==0){this.hideElement("prevLink");}else{this.showElement("prevLink");}
if(this.images.length>1){this.$["numberDisplay"].innerHTML="Image "+(this.active_image+1)+" of "+this.images.length;}},updatePosition:function(imgWidth,imgHeight){var widthNew=imgWidth<800?imgWidth+20:820;this.$["topNav"].style.width=widthNew+"px";this.$["outerImageContainer"].style.width=widthNew+"px";this.$["imageDataContainer"].style.width=widthNew+"px";var rect=core.browser.getWindowSize();var h=Math.min(this.$["imageBoxMainDiv"].offsetHeight,rect.height);this.$["imageBoxMainDiv"].style.top=Math.floor(0.5*(rect.height-h))+"px";},getImageURL:function(fname){return fname.indexOf("http://")==-1?core.common.getUserFile(fname):fname;}}
core.apps.imagebox.extendPrototype(core.components.html_component);core.apps.imagebox.extendPrototype(core.components.popup_app);
core.launcher.registerLoadedApps(["imagebox"]);

