
function z(s,defaults){if(typeof(s)==='string'){return z.id(s,defaults);}
else{return z.get(s,defaults);}}
z.copy=function(dst,src){for(key in src){if(key!=='prototype'){dst[key]=src[key];}}};z.ccopy=function(dst,src){for(key in src){if(key!=='prototype'){if((typeof(dst[key])=='function')&&typeof(src[key])=='function'){var back=dst[key];dst[key]=src[key]
dst[key].base=back;}
else{dst[key]=src[key];}}}};z.each=function(obj,fn){for(key in obj){if(obj.constructor.prototype[key]!==obj[key]){if(fn(key,obj[key])===false)break;}}};z.bind=function(fn,obj){return function(){return fn.apply(obj,arguments);}}
z.Class=function(){};z.Class.prototype.base=function(){return arguments.callee.caller.base.apply(this,arguments);}
z.Class.extend=function(obj){var this1=this;var obj1=function(){var c=obj.construct||this1.prototype.construct||z.Class;c.apply(this,arguments);}
z.copy(obj1.prototype,this.prototype);z.ccopy(obj1.prototype,obj);z.ccopy(obj1,this);return obj1;}
z.Class.implement=function(obj){z.ccopy(this.prototype,obj);}
z.Class.stat=function(obj){z.ccopy(this,obj);}
z.browser={platform:(navigator.platform.match(/mac|win|linux/i)||['other'])[0].toLowerCase(),version:(navigator.userAgent.toLowerCase().match(/.+(?:rv|it|ra|ie|me)[\/: ]([\d.]+)/)||[-1,-1])[1],engine:'unknown'};if(window.opera)z.browser.engine='presto';else if(window.ActiveXObject)z.browser.engine='trident';else if(!navigator.taintEnabled)z.browser.engine='webkit';else if(document.getBoxObjectFor!=null)z.browser.engine='gecko';z.Element=z.Class.extend({dom:null,construct:function(params){params=params||{};var doc=document;this.dom=params.dom?params.dom:(params.id?doc.getElementById(params.id):(params.tag?doc.createElement(params.tag):doc.createElement('div')));if(params.attr)this.attr(params.attr);if(params.prop)this.prop(params.prop);if(params.css)this.css(params.css);if(params.defaults)z.copy(this,params.defaults);if(params.children)this.appendChild(params.children);this.dom[this.constructor.zname]=this;},css:function(key_name,key_value){if(arguments.length==2){try{this.setStyle(key_name,key_value);}
catch(e){alert("wrong property:"+key_name+":"+key_value);}}
else{if(typeof(key_name)=='object'){var this1=this;z.each(key_name,function(key){this1.css(key,key_name[key]);});}
else{return this.getStyle(key_name);}}},setStyle:function(key_name,key_value){if((key_name=='opacity')){if(z.browser.engine=='trident'){if((key_value==1)&&(typeof(this.dom.filters['alpha'])!=='undefined')){this.dom.filters['alpha'].enabled=false;}
else{if((typeof(this.dom.filters['alpha'])!=='undefined')&&(!this.dom.filters['alpha'].enabled)){this.dom.filters['alpha'].enabled=true;}
this.dom.style.filter="alpha(opacity:"+(Math.round(key_value*100))+")";}}
else{this.dom.style[key_name]=key_value;}}
else if((key_name=='float')||(key_name=='cssFloat')||(key_name=='styleFloat')){if(z.browser.engine=='trident'){this.dom.style.styleFloat=key_value;}
else{this.dom.style.cssFloat=key_value;}}
else{this.dom.style[key_name]=key_value;}},getStyle:function(key_name){return this.dom.style[key_name];},prop:function(key_name,key_value){if(arguments.length==2){this.setProp(key_name,key_value);}
else{if(typeof(key_name)=='object'){var this1=this;z.each(key_name,function(key){this1.prop(key,key_name[key]);});}
else{return this.getProp(key_name);}}},setProp:function(key_name,key_value){try{this.dom[key_name]=key_value;}
catch(e){alert("wrong property:"+key_name+":"+key_value);}},getProp:function(key_name){if(key_name=='text')return(this.dom['text']||this.dom['innerText']);return this.dom[key_name];},attr:function(key_name,key_value){if(arguments.length==2){this.setAttr(key_name,key_value);}
else{if(typeof(key_name)=='object'){var this1=this;z.each(key_name,function(key){this1.attr(key,key_name[key]);});}
else{return this.getAttr(key_name);}}},setAttr:function(key_name,key_value){try{this.dom.setAttribute(key_name,key_value);}
catch(e){alert("wrong property:"+key_name+":"+key_value);}},getAttr:function(key_name){return this.dom.getAttribute(key_name);},hasClass:function(className){return z.Element.hasClass(this.dom.className,className)},addClass:function(className){if(!this.hasClass(className)){this.dom.className=this.dom.className+' '+className;}},removeClass:function(className){this.dom.className=this.dom.className.replace(new RegExp('(^|\\s)'+className+'(?:\\s|$)'),'$1');},putBefore:function(el){if(el.dom)el=el.dom
el.parentNode.insertBefore(this.dom,el);},putAfter:function(el){if(el.dom)el=el.dom
if(el.nextSibling){el.parentNode.insertBefore(this.dom,el.nextSibling);}
else{el.parentNode.appendChild(this.dom);}},putInto:function(el){if(el.dom)el=el.dom
el.appendChild(this.dom);},appendChild:function(el){if(el.dom)el=el.dom
if(el.constructor===Array){var i,len=el.length;for(i=0;i<len;i++){this.appendChild(el[i]);}
return;}
this.dom.appendChild(el);},remove:function(el){if(el){if(el.dom)el=el.dom}
else el=this.dom;el.parentNode.removeChild(el);},getCoordinates:function(){function getPOL(obj){var x;x=obj.offsetLeft;if(obj.offsetParent!=null)
x+=getPOL(obj.offsetParent);return x;};function getPOT(obj){var y;y=obj.offsetTop;if(obj.offsetParent!=null)
y+=getPOT(obj.offsetParent);return y;};return{top:getPOT(this.dom),left:getPOL(this.dom),width:this.dom.offsetWidth,height:this.dom.offsetHeight};}});z.Element.stat({zname:'_z',get:function(e,defaults){if(e[this.zname]!==undefined)return e[this.zname];return new this({'dom':e,'defaults':defaults});},id:function(id,defaults){var e=document.getElementById(id);if(e){return this.get(e,defaults);}
return null;},hasClass:function(elementClassName,className){return(elementClassName.length>0&&(elementClassName==className||new RegExp("(^|\\s)"+className+"(\\s|$)").test(elementClassName)));},create:function(props){var el=new this(props);return el;},synonyms:function(name,names){for(var i=0;i<names.length;i++){this.prototype[names[i]]=this.prototype[name];}}});z.Element.synonyms('prop',['p']);z.Element.synonyms('css',['s','style','c']);z.id=function(id,defaults){return z.Element.id(id,defaults);};z.get=function(el,defaults){return z.Element.get(el,defaults);};z.Event=z.Class.extend({dom:null,owner:null,construct:function(e){with(this){this.dom=e;if(!e)return;e._z=this;this.shift=e.shiftKey;this.ctrl=e.ctrlKey;this.alt=e.altKey;this.meta=e.metaKey;this.type=e.type;var doc=document;doc=(!doc.compatMode||doc.compatMode=='CSS1Compat')?doc.documentElement:doc.body;this.page={};this.page.x=dom.pageX||dom.clientX+doc.scrollLeft;this.page.y=dom.pageY||dom.clientY+doc.scrollTop;this.client={};this.client.x=dom.layerX||dom.offsetX;this.client.y=dom.layerY||dom.offsetY;this.code=dom.which||dom.keyCode;if(code>111&&code<124)this.key='f'+(code-111);this.key=this.key||keyCodes[code]||String.fromCharCode(code).toLowerCase();}},keyCodes:{'13':'enter','38':'up','40':'down','37':'left','39':'right','27':'esc','32':'space','8':'backspace','9':'tab','46':'delete'},stop:function(){if(this.dom.stopPropagation){this.dom.stopPropagation();}
else{this.dom.cancelBubble=true;}},cancel:function(){if(this.dom.stopPropagation){this.dom.preventDefault();}
else{this.dom.returnValue=false;}},halt:function(){this.stop();this.cancel();}});z.Event.get=function(e){if(e._z)return e._z;return new z.Event(e);}
z.Element=z.Element.extend({events:null,construct:function(props){this.base(props);this.events={};},on:function(eventname,func,remove,custom){if(remove)return this.removeEvent(eventname,func);if(!this.events[eventname]){this.events[eventname]=[];var t1=this;if(!custom){this.addEvent(eventname,function(e){t1.callEvent(eventname,e)});}};this.events[eventname].push(func);return this;},addEvent:function(name,func){if(this.dom.addEventListener){this.dom.addEventListener(name,func,false);}
else{this.dom.attachEvent('on'+name,func);}},callEvent:function(eventname,e){e=e?z.Event.get(e):z.Event.get(window.event);e.owner=this;if(this.events[eventname]){var hooks=this.events[eventname].slice(0),len=hooks.length
for(var i=0;i<len;i++){hooks[i].apply(this,[e]);}}},fireEvent:function(eventname,e){e=e||new z.Event();if(hooks=this.events[eventname]){for(var i=0;i<hooks.length;i++){hooks[i].apply(this,[e]);}}},removeEvent:function(eventname,func){if(this.events[eventname]){var i,len=this.events[eventname].length;for(i=0;i<len;i++){if(this.events[eventname][i]==func){this.events[eventname].splice(i,1);return true;}}}
return false;}})
z.Element.stat({shortEvents:function(names){var events={}
z.each(names,function(key,event){events[event]=new Function("fn","remove","return this.on('"+[event]+"',fn,remove)");});this.implement(events);}});z.Element.shortEvents(['click','mousedown','mouseup','mousemove','mouseover','mouseout','focus','blur','change','keypress','keydown','keyup']);(function(){function hasClass(className,classNames){if(typeof(classNames.push)=='function'){for(var i=0;i<classNames.length;i++)if(hasClass(className,classNames[i]))return true;return false;}
else{return z.Element.hasClass(className,classNames);}}
function isTagName(tagName,tagNames){if(typeof(tagNames.push)=='function'){for(var i=0;i<tagNames.length;i++)if(isTagName(tagName,tagNames[i]))return true;return false;}
else{return(tagName.toUpperCase()==tagNames.toUpperCase());}}
function hasProperty(el,key,value){if(typeof(value.push)=='function'){for(var i=0;i<value.length;i++)if(hasProperty(el,key,value[i]))return true;return false;}
else{if(!el[key])return false;if(el[key]!==value)return false;return true;}}
function appendResult(search,el,res,constr,defaults){var fail=false;z.each(search,function(key){if(key=='depth')return;if(key=='_t'||key=='tagName'||key=='tag'){if(!isTagName(el.tagName,search[key])){fail=true;return false;}
return;}
if(key=='_c'||key=='class'){if(!hasClass(el.className,search[key])){fail=true;return false;}
return;}
if(!hasProperty(el,key,search[key])){fail=true;return false;}});if(fail)return;res.elements.push(constr.get(el,defaults));};function selectElement(el,search,res,constr,defaults){constr=constr||z.Element;defaults=defaults||{};var tagname=search['tagName']||search['_t']||search['tag'];var depth=search['depth']||-1;if((tagname)&&(depth===-1)){var num=0;var tn=tagname;while(((typeof(tagname.push)=='function')&&(tn=tagname[num++]))||tn){var els=el.getElementsByTagName(tn);tn=false;var els_l=els.length;for(var i=0;i<els_l;i++){appendResult(search,els[i],res,constr,defaults);}}}
else{var child;for(child=el.firstChild;child;child=child.nextSibling){if(child.nodeType!=1)continue;appendResult(search,child,res,constr,defaults);if(depth===-1)selectElement(child,search,res,constr);else if(depth>1){search[depth]=depth--;selectElement(child,search,res,constr,defaults)}}}};z.Element.implement({select:function(search,result,constr,defaults){var res=result||(new z.CompoundElement());selectElement(this.dom,search,res,constr,defaults);return res;},children:function(search,result,constr,defaults){search['depth']=1;return this.select(search,result,constr,defaults);}});z.Element.select=function(search,defaults){return z.document.select(search,null,this,defaults);}})();z.select=function(search){return z.document.select(search);}
z.CompoundElement=z.Class.extend({elements:[],construct:function(){this.elements=[];},select:function(search,result,cons,defaults){var result=result||new z.CompoundElement();var i,len=this.elements.length;for(i=0;i<len;i++){this.elements[i].select(search,result,cons,defaults);}
return result;},children:function(search,result,cons,defaults){search['depth']=1;return this.select(search,result1,cons,defaults);},each:function(fn){var i,len=this.elements.length;for(i=0;i<len;i++){if(fn.apply(this.elements[i],[this.elements[i]])===false)
break;}},get:function(key){return this.elements[key];}});(function(){var events={on:function(eventname,fn,remove){this.each(function(el){el.on(eventname,fn,remove);});return this;},addClass:function(className){this.each(function(el){el.addClass(className);})},removeClass:function(className){this.each(function(el){el.removeClass(className);})}}
z.each(['click','mousedown','mouseup','mousemove','mouseover','mouseout','focus','blur','change','keypress','keydown','keyup'],function(key,event){events[event]=new Function("fn","remove","return this.on('"+[event]+"',fn,remove)");})
z.CompoundElement.implement(events);})();z.document={}
z.copy(z.document,new z.Element({'dom':document}));z.ccopy(z.document,{isReady:false,on:function(name,func,remove){if(name=='ready'&&this.isReady){func.apply(this);return;}
this.base(name,func,remove);},ready:function(func){this.on('ready',func);},getHeight:function(){var de=this.dom.body.parentNode;var db=this.dom.body;return((db.scrollHeight>de.scrolleight)?db.scrollHeight:de.scrollHeight);},getWidth:function(){var de=this.dom.body.parentNode;var db=this.dom.body;return((db.scrollWidth>de.scrollWidth)?db.clientWidth:de.scrollWidth);},getWindowHeight:function(){var de=this.dom.body.parentNode;var db=this.dom.body;if(window.opera){return db.clientHeight;}
if(document.compatMode=='CSS1Compat'){return de.clientHeight;}
else{return db.clientHeight;}},getWindowWidth:function(){var de=this.dom.body.parentNode;var db=this.dom.body;if(window.opera){return db.clientWidth;}
if(document.compatMode=='CSS1Compat'){return de.clientWidth;}
else{return db.clientWidth;}},getScrollTop:function(){return document.documentElement.scrollTop||document.body.scrollTop;},getScrollLeft:function(){return document.documentElement.scrollLeft||document.body.scrollLeft;}});document._z=z.document;(function(){var domready=function(){if(z.document.isReady)return;z.document.isReady=true;z.document.fireEvent('ready');};if(z.browser.engine=='trident'){if(window==top){var temp=document.createElement('div');(function(){try{temp.doScroll();domready();}
catch(e){setTimeout(arguments.callee,50);};})();}
else{z(window).addEvent('load',domready);}}else if(z.browser.engine=='webkit'){(function(){if(document.readyState!="loaded"&&document.readyState!="complete"){setTimeout(arguments.callee,50);return;}
domready();})();}else{z.document.addEvent('DOMContentLoaded',domready);}})();z.json={toJSONString:function(value){if(value==null)return'null';switch(typeof value){case'object':if(value.constructor===Array){return this.arrayToJSONString(value);}
else{return this.objectToJSONString(value);}
case'string':return this.stringToJSONString(value);case'number':return this.numberToJSONString(value);case'boolean':return this.booleanToJSONString(value);}},arrayToJSONString:function(value){var a=[],i,l=value.length,v;for(i=0;i<l;i+=1){v=value[i];a.push(this.toJSONString(v));}
return'['+a.join(',')+']';},booleanToJSONString:function(value){return String(value);},dateToJSONString:function(value){function f(n){return n<10?'0'+n:n;}
return'"'+value.getUTCFullYear()+'-'+
f(value.getUTCMonth()+1)+'-'+
f(value.getUTCDate())+'T'+
f(value.getUTCHours())+':'+
f(value.getUTCMinutes())+':'+
f(value.getUTCSeconds())+'Z"';},numberToJSONString:function(value){return isFinite(value)?String(value):'null';},objectToJSONString:function(value){var a=[],k,v;if(value==null)return'null';for(k in value){if(typeof k==='string'&&Object.prototype.hasOwnProperty.apply(value,[k])){v=value[k];switch(typeof v){case'object':if(v.constructor===Array){a.push(this.stringToJSONString(k)+':'+this.arrayToJSONString(v));}
else{a.push(this.stringToJSONString(k)+':'+this.objectToJSONString(v));}
break;case'string':a.push(this.stringToJSONString(k)+':'+this.stringToJSONString(v));break;case'number':a.push(this.stringToJSONString(k)+':'+this.numberToJSONString(v));break;case'boolean':a.push(this.stringToJSONString(k)+':'+this.booleanToJSONString(v));break;}}}
return'{'+a.join(',')+'}';},stringToJSONString:function(value){var m={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'};if(/["\\\x00-\x1f]/.test(value)){return'"'+value.replace(/[\x00-\x1f\\"]/g,function(a){var c=m[a];if(c){return c;}
c=a.charCodeAt();return'\\u00'+
Math.floor(c/16).toString(16)+
(c%16).toString(16);})+'"';}
return'"'+value+'"';},parseJSON:function(value,filter){var j;function walk(k,v){var i;if(v&&typeof v==='object'){for(i in v){if(Object.prototype.hasOwnProperty.apply(v,[i])){v[i]=walk(i,v[i]);}}}
return filter(k,v);}
if(/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/.test(value.replace(/\\./g,'@').replace(/"[^"\\\n\r]*"/g,''))){j=eval('('+value+')');return typeof filter==='function'?walk('',j):j;}
else{if(this.debug){alert(value);}
throw new SyntaxError('parseJSON');}}}
z.Ajax=z.Class.extend({server:'',debug:true,requests:{},requests_num:0,callFunction:function(){var r=new z.AjaxRequest(this.server);r.callFunction(arguments);},callFunctionArg:function(func_name,args){var r=new z.AjaxRequest(this.server);r.callFunctionArg(func_name,args);},initForm:function(form_id){var that=this;z.document.ready(function(){var form=z(form_id);if(form){that.setupForm(form,form_id);}});},setupForm:function(form,form_id){var name='_ajax_'+Math.ceil(Math.random()*10000);var value=z.json.toJSONString({'o':form_id});var input=new z.Element({'tag':'INPUT','prop':{'type':'hidden','name':'r','value':value}})
input.putInto(form);form.dom.action=this.server;form.dom.target=name;if(z.browser.engine=='trident'){var tagname='<iframe name="'+name+'">';}
else{var tagname='IFRAME';}
var iframe=new z.Element({'tag':tagname,'prop':{'name':name},'css':{'width':'1px','height':'1px','position':'absolute','top':'0px','left':'-10000px'}});iframe.putInto(document.body);}});z.Ajax.stat({renderResponses:function(responses){for(var i=0;i<responses.length;i++){var response=responses[i];this.renderResponse(response);}},renderResponse:function(response){if(response.c=='cm'){var params=[];for(var i=0;i<response.a.length;i++){params[i]="response.a["+i+"]";}
var s=response.o+"."+response.m+"("+params.join(",")+")";eval(s);}
if(response.c=='sc'){var params=[];for(var i=0;i<response.a.length;i++){params[i]="response.a["+i+"]";}
var s=response.f+"("+params.join(",")+")";eval(s);}
else if(response.c=='a'){alert(response.m);}
else if(response.c=='e'){eval(response.s);}
else if(response.c=='s'){var obj=document.getElementById(response.e);if(obj)obj[response.p]=response.v;}}});z.AjaxRequest=z.Class.extend({server:'',construct:function(server){this.xmlhttp=this.getTransport();this.server=server;},getTransport:function(){try{return new ActiveXObject("Microsoft.XMLHTTP");}
catch(e){}
try{return new XMLHttpRequest();}
catch(e){}},callFunction:function(args){var func=args[0];var el_argx=[];for(var i=1;i<args.length;i++){el_argx.push(args[i]);}
var request={'f':func,'a':el_argx};var json_request=z.json.toJSONString(request);this.xmlhttp.open('post',this.server,true);this.xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");this.xmlhttp.send('r='+encodeURIComponent(json_request));var this1=this;this.xmlhttp.onreadystatechange=function(){if(this1.xmlhttp.readyState==4){var responses=z.json.parseJSON(this1.xmlhttp.responseText);z.Ajax.renderResponses(responses);}}},callFunctionArg:function(func_name,args){var el_argx=[];for(var i=0;i<args.length;i++){el_argx.push(args[i]);}
var request={'f':func_name,'a':el_argx};var json_request=z.json.toJSONString(request);this.xmlhttp.open('post',this.server,true);this.xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");this.xmlhttp.send('r='+encodeURIComponent(json_request));var this1=this;this.xmlhttp.onreadystatechange=function(){if(this1.xmlhttp.readyState==4){var responses=z.json.parseJSON(this1.xmlhttp.responseText);z.Ajax.renderResponses(responses);}}}});z.Logger={panel:null,log:function(m){if(!this.panel){this.panel=new z.Element({'tag':'DIV','css':{'position':'absolute','background':'white','overflow':'scroll','width':'300px','height':'100px','top':'10px','left':'10px'}});this.panel.putInto(document.body);}
this.panel.dom.innerHTML=''+m+'<br>'+this.panel.dom.innerHTML;}}
z.log=function(msg){if(typeof(console)!=='undefined'){console.log("%s",msg);}
else{z.Logger.log(msg);}};z.Form=z.Element.extend({getValues:function(){var submitDisabledElements=false;if(arguments.length>1&&arguments[1]==true)
submitDisabledElements=true;var prefix="";if(arguments.length>2)
prefix=arguments[2];var values={};var formElements=this.dom.elements;for(var i=0;i<formElements.length;i++){if(!formElements[i].name)continue;if(formElements[i].name.substring(0,prefix.length)!=prefix)continue;if(formElements[i].type&&(formElements[i].type=='radio'||formElements[i].type=='checkbox')&&formElements[i].checked==false)continue;if(formElements[i].disabled&&formElements[i].disabled==true&&submitDisabledElements==false)continue;var name=formElements[i].name;if(name){values[name]=formElements[i].value;}}
return values;}});z.Form.zname='_zf';z.Form.shortEvents(['submit','reset']);z.delay=function(fn,timeout,autostart,repeat){var d=new z.Delayer(fn,timeout,(autostart===false?false:true),repeat);return d;};z.Delayer=z.Class.extend({fn:null,delay:null,repeat:false,timeout:null,construct:function(fn,delay,autostart,repeat){this.fn=fn;this.delay=delay;this.repeat=repeat;if(autostart)this.call();},start:function(){this.stop();this.call();},call:function(){var this1=this;this.timeout=window.setTimeout(function(){this1.callTimeout();},this.delay);},callTimeout:function(){this.fn();if(this.repeat&&(this.timeout!==null)){this.call();}
else{this.timeout=null;}},stop:function(){if(this.timeout){window.clearTimeout(this.timeout);this.timeout=null;}}});z.Animation=z.Class.extend({onStart:function(){},onStop:function(){},onStep:function(){},animation:null,duration:300,rate:24,step_number:0,count_steps:-1,data:null,timing:null,timer_id:false,animator:false,construct:function(props){z.copy(this,props);this.data=[];this.timing=[];this.animator=this.animator||z.Animation.Ease;this.animator.calculate(this.animation,this.data,this.duration,this.rate,this.timing);},start:function(){this.stop();this.step_number=0;this.onStart();this.doStep();},stop:function(){if(!this.timer_id){clearTimeout(this.timer_id);this.timer_id=false;}},doStep:function(){var data=this.data[this.step_number];this.onStep(data);if(typeof(this.timing[this.step_number])=='undefined'){this.onStop();this.timer_id=false;return;}
var this1=this;var timeout=this.timing[this.step_number];this.timer_id=setTimeout(function(){this1.doStep()},Math.round(timeout));this.step_number++;}});z.Animation.Line={calculate:function(animation,data,duration,rate,timing){var dt=1000/rate,t=0,i=0;for(;;t+=dt){data[i++]={};if(t+dt>=duration){timing.push(duration-t);break;}
timing.push(dt);}
data[i++]={};z.each(animation,function(value_name,values){var i=0,t=0,b=values[0],a=(values[1]-values[0])/duration;for(;;t+=dt){data[i++][value_name]=a*t+b;if(t+dt>=duration){data[i++][value_name]=a*duration+b;break;}}});}};z.Animation.Ease={calculate:function(animation,data,duration,rate,timing){var dt=1000/rate,t=0,i=0;for(;;t+=dt){data[i++]={};if(t+dt>=duration){timing.push(duration-t);break;}
timing.push(dt);}
data[i++]={};z.each(animation,function(value_name,values){var i=0,t=0,c=values[0],a=(values[0]-values[1])/(duration*duration),b=2*(values[1]-values[0])/duration;for(;;t+=dt){data[i++][value_name]=a*t*t+b*t+c;if(t+dt>=duration){data[i++][value_name]=a*duration*duration+b*duration+c;break;}}});}};z.ImageCache={list:[],add:function(url){var v=new Image();v.src=url;this.list.push(v);}}
z.Element=z.Element.extend({fadeIn:function(callback){var that=this;var a=new z.Animation({'duration':500,'animation':{'opacity':[0,1]},'onStep':function(data){that.css('opacity',data.opacity);},'onStop':function(data){if(callback)callback();}});a.start();},fadeOut:function(callback){var that=this;var a=new z.Animation({'duration':500,'animation':{'opacity':[1,0]},'onStep':function(data){that.css('opacity',data.opacity);},'onStop':function(data){if(callback)callback();}});a.start();}});z.document.ready(function(){z.ModalWindow.preloadImage('/images/imageloading.gif');var preloader=new z.Element({'tag':'img','prop':{'src':'/images/spacer.gif','alt':'loading...'},'css':{'background':'url(/images/imageloading.gif) no-repeat center center','width':'100px','height':'100px','position':'absolute','top':'50%','left':'50%','margin':'-50px 0 0 -50px','visibility':'hidden'}});preloader.putInto(z.Glass.get());z.ImageWindow=z.ModalWindow.extend({});z.select({'_t':'a','_c':'imagebox'}).each(function(){var href=this.p('href');var title="";var img=this.select({'_t':"img"}).get(0);if(img){if(img.p('title'))
title=img.p('title');else if(img.p('alt'))
title=img.p('alt');}
var window=null;var that=this;function showWindow(){if(window){window.show();return;}
preloader.css('visibility','visible');z.Glass.show();var image=new z.Element({'tag':'img',prop:{'src':href},css:{'position':'absolute','top':'0px','left':'-1000px'}});image.on('load',function(){preloader.css('visibility','hidden');var width=image.dom.clientWidth;z(document.body).remove(image);image.css({'position':'static','left':'auto','top':'auto'});window=new z.ImageWindow({'defaults':{'default_title':title,'width':width,"theme":"ToninoTheme"},'children':[image]});window.show();});image.putInto(document.body);};this.click(function(e){e.halt();showWindow();});});});z.ModalWindow=z.Element.extend({container:null,width:350,default_title:'Modal Window',showcb:true,theme:'DefaultTheme',construct:function(props){this.base(props);},show:function(){z.ModalWindow.current=this;if(!this.container){this.container=new(z.ModalWindow[this.theme])({owner:this});}
z.Glass.show();this.container.style({'display':'block'});this.positionWindow();var this1=this;this1.keylistener=function(e){if(e.code==27){this1.hide();z.document.keypress(this1.keylistener,true);this1.keylistener=null;}};function initEscKey(){z.document.keypress(this1.keylistener);}
var animation=new z.Animation({onStart:function(){this1.container.style({'visibility':'visible'});},onStep:function(data){this1.container.style({'opacity':data.opacity});},onStop:function(){this1.container.showShadow();initEscKey();this1.onShow();},duration:500,animation:{'opacity':[0,1]}});this.container.hideShadow();animation.start();},positionWindow:function(){var cover=z.Glass.get();var top=(cover.dom.offsetHeight-this.container.dom.offsetHeight)/2;top=top<0?0:top;var left=(cover.dom.offsetWidth-this.container.dom.offsetWidth)/2;this.container.style({left:left+"px",top:top+"px"});},onShow:function(){},hide:function(){this.container.style({'display':'none','visibility':'hidden'});z.Glass.hide();z.ModalWindow.current=null;},_startDragging:function(e){e.halt();if(this.movecallback)return;var this1=this;function trackMM(e){e.halt();var page=e.page;this1.container.style({left:page.x-this1.drag_left_offset+'px',top:page.y-this1.drag_top_offset+'px'});}
this.movecallback=function(e){trackMM(e);};var page=e.page;this.drag_left_offset=page.x-this.container.dom.offsetLeft;this.drag_top_offset=page.y-this.container.dom.offsetTop;z.document.mousemove(this.movecallback);},_stopDragging:function(e){z.document.mousemove(this.movecallback,true);this.movecallback=false;}});z.ModalWindow.max=function(arr){var max=0,i;for(i=0;i<arr.length;i++){if(arr[i]>max){max=arr[i];}}
return max;};z.ModalWindow.getWinW=function(){return this.max([document.body.clientWidth,document.documentElement.clientWidth,document.documentElement.scrollWidth]);};z.ModalWindow.getWinH=function(){return this.max([document.body.clientHeight,document.documentElement.clientHeight,document.documentElement.scrollHeight]);};z.Glass=z.Element.extend({glass:null,construct:function(p){var stat=z.ModalWindow;this.base(p);var css={};var that=this;if(z.browser.engine=='trident'&&z.browser.version<=6){this.css({'position':'absolute','width':document.documentElement.clientWidth+'px','height':document.documentElement.clientHeight+'px','top':document.documentElement.scrollTop+'px'});this.onscroll=function(){that.css({'top':document.documentElement.scrollTop+'px'});};this.onresize=function(){that.css({'width':document.documentElement.clientWidth+'px','height':document.documentElement.clientHeight+'px'});};}
this.cover=new z.Element({'tag':'div','prop':{innerHTML:'&nbsp',className:'cover_glass'}});this.cover.click(function(){if(z.ModalWindow.current){z.ModalWindow.current.hide();}});this.cover.putInto(this);},show:function(){this.style({visibility:'visible'});if(z.browser.engine=='trident'&&z.browser.version<=6){z(window).on('scroll',this.onscroll);z(window).on('resize',this.onresize);this.css({'top':document.documentElement.scrollTop+'px'});}},hide:function(){this.style({visibility:'hidden'});z(window).on('scroll',this.onscroll,true);z(window).on('resize',this.onresize,true);}});z.Glass.get=function(){if(!this._instanse){this._instanse=new z.Glass({'tag':'div','prop':{innerHTML:'&nbsp',className:'display_cover'},'css':{'visibility':'hidden','overflow':'hidden'}});this._instanse.putInto(document.body);}
return this._instanse;};z.Glass.show=function(){this.get().show();};z.Glass.hide=function(){this.get().hide();};z.ModalWindow.images_preloaded=new Array();z.ModalWindow.preloadImage=function(url){var v=new Image();v.src=url;z.ModalWindow.images_preloaded.push(v);};z.ModalWindow.AbstractTheme=z.Element.extend({widthOffset:0,owner:null,construct:function(params){this.owner=params.owner;var d=document.createElement('div');params.tag='div';this.base(params);this.style('width',params.owner.width+this.widthOffset+'px');this.putInto(z.Glass.get());},refreshShadow:function(){},hideShadow:function(){},showShadow:function(){}});z.ModalWindow.DefaultTheme=z.ModalWindow.AbstractTheme.extend({className:'default_modalwindow',construct:function(params){var owner=params.owner;this.base(params);this.p('className',this.className);var c_inner=new z.Element({"tag":"div","prop":{className:"border"}});c_inner.putInto(this);var this1=owner;var container=this;var title=this.title=new z.Element({'tag':'div','prop':{'className':"title"}});title.mousedown(function(e){this1._startDragging(e);});title.mouseup(function(e){this1._stopDragging(e);});title.putInto(c_inner);var title_texts=owner.select({'_t':'h5'});var title_text=title_texts.get(0);if(title_text){title_text.remove();title_text.putInto(title);}
else{title.p('innerHTML',owner.default_title);}
if(owner.showcb){var c_img=new z.Element({'tag':'IMG','prop':{src:'/images/spacer.gif',className:'close_button'}});c_img.click(function(){this1.hide();});c_img.mousedown(function(e){e.halt();});c_img.mouseup(function(e){e.halt();});c_img.putBefore(title.dom.firstChild);};var content=new z.Element({'tag':'div','prop':{className:"content"}});content.putInto(c_inner);if(owner.dom.parentNode)owner.remove();owner.putInto(content);owner.style({'display':'block'});var img_base='/images/modalwindow/';function SImg(src,style){var sh1=new z.Element({'tag':'img','prop':{alt:"",src:src},'css':style});sh1.putInto(container);return sh1;}
function _createShadow(){container.sh1=SImg(img_base+"sh_rt.png",{'visibility':'hidden',width:"8px",height:"8px",right:"0px",top:"0px",position:"absolute"});container.sh2=SImg(img_base+"sh_rb.png",{'visibility':'hidden',width:"8px",height:"8px",right:"0px",bottom:"0px",position:"absolute"});container.sh3=SImg(img_base+"sh_lb.png",{'visibility':'hidden',width:"8px",height:"8px",left:"0px",bottom:"0px",position:"absolute"});container.sh4=SImg(img_base+"sh_b.png",{'visibility':'hidden',width:(container.dom.offsetWidth-16)+"px",height:"8px",left:"8px",style:"0px",position:"absolute"});container.sh5=SImg(img_base+"sh_r.png",{'visibility':'hidden',width:"8px",height:(container.dom.offsetHeight-16)+"px",right:"0px",top:"8px",position:"absolute"});}
_createShadow();},refreshShadow:function(){this.sh4.css({'width':(this.dom.offsetWidth-16)+"px"});this.sh5.css({'height':(this.dom.offsetHeight-16)+"px"});},showShadow:function(){var i;for(i=1;i<=5;i++){this['sh'+i].style('visibility','visible');}},hideShadow:function(){var i;for(i=1;i<=5;i++){this['sh'+i].style('visibility','hidden');}}});z.document.ready(function(){z.each(["sh_rt.png","sh_rb.png","sh_lb.png","sh_b.png","sh_r.png","close.png"],function(key,value){z.ModalWindow.preloadImage('/images/modalwindow/'+value);});});z.ModalWindow.XPTheme=z.ModalWindow.DefaultTheme.extend({construct:function(props){this.className='xp_modalwindow';this.base(props)}});z.ModalWindow.ToninoTheme=z.ModalWindow.AbstractTheme.extend({className:'tonino_modalwindow',construct:function(params){this.widthOffset=30;var owner=params.owner;var that=this;this.base(params);this.p('className',this.className);var content=new z.Element({'tag':'div','prop':{className:"content"}});var c_inner=new z.Element({"tag":"div","prop":{className:"shadow_paddings"},"children":[new z.Element({"tag":"div","prop":{className:"border"},"children":[new z.Element({"tag":"div","prop":{className:"window_topline"},"children":[new z.Element({"tag":"div","prop":{className:"window_topline1"},"children":[new z.Element({"tag":"div","prop":{className:"window_topline2",'innerHTML':'_'}})]})]}),new z.Element({"tag":"div","prop":{className:"window_middleline"},"children":[content]}),new z.Element({"tag":"div","prop":{className:"window_bottomline"},"children":[new z.Element({"tag":"div","prop":{className:"window_bottomline1"},"children":[new z.Element({"tag":"div","prop":{className:"window_bottomline2",'innerHTML':'_'}})]})]})]})]});c_inner.putInto(this);if(owner.dom.parentNode)owner.remove();owner.putInto(content);var title=new z.Element({'tag':'div','prop':{'className':"title"}});title.mousedown(function(e){owner._startDragging(e)});title.mouseup(function(e){owner._stopDragging(e)});var title_texts=owner.select({'_t':'h5'});var title_text=title_texts.get(0)
if(title_text){title_text.remove();title_text.putInto(title);}
else{title.appendChild(new z.Element({'tag':'h5',prop:{'innerHTML':owner.default_title}}));}
if(owner.showcb){var c_img=new z.Element({'tag':'IMG','prop':{src:'/images/spacer.gif',className:'close_button'}});c_img.click(function(){owner.hide();}).mousedown(function(e){e.halt()}).mouseup(function(e){e.halt()});if(!(z.browser.engine=='trident'&&z.browser.version<=6)){c_img.mouseover(function(){this.addClass('close_button_hover')}).mouseout(function(){this.removeClass('close_button_hover')})}
c_img.putBefore(title.dom.firstChild);};title.putInto(content);owner.style({'display':'block'});var img_base='/images/modalwindow/tonino/';function SImg(src,style){var sh1=new z.Element({'tag':'img','prop':{alt:"",src:src},'css':style});sh1.putInto(that);return sh1;}
function _createShadow(){that.sh1=SImg(img_base+"shadow_top_right.png",{'visibility':'hidden',width:"20px",height:"20px",right:"0px",top:"0px",position:"absolute"});that.sh2=SImg(img_base+"shadow_bottom_right.png",{'visibility':'hidden',width:"30px",height:"30px",right:"0",bottom:"0",position:"absolute"});that.sh3=SImg(img_base+"shadow_bottom_left.png",{'visibility':'hidden',width:"20px",height:"20px",left:"0px",bottom:"0px",position:"absolute"});that.sh4=SImg("/images/spacer.gif",{'background':'url('+img_base+'shadow_bottom.png) repeat-x','visibility':'hidden',width:(that.dom.offsetWidth-50)+"px",height:"20px",left:"20px",style:"0px",bottom:0,position:"absolute"});that.sh5=SImg("/images/spacer.gif",{'background':'url('+img_base+'shadow_right.png) repeat-y','visibility':'hidden',width:"20px",height:(that.dom.offsetHeight-50)+"px",right:"0px",top:"20px",position:"absolute"});}
_createShadow();},refreshShadow:function(){this.sh4.css({'width':(this.dom.offsetWidth-50)+"px"});this.sh5.css({'height':(this.dom.offsetHeight-50)+"px"});},showShadow:function(){var i;for(i=1;i<=5;i++){this['sh'+i].style('visibility','visible');}},hideShadow:function(){var i;for(i=1;i<=5;i++){this['sh'+i].style('visibility','hidden');}}});z.document.ready(function(){z.each(["shadow_top_right.png","shadow_bottom_right.png","shadow_bottom_left.png","shadow_bottom.png","shadow_right.png"],function(key,value){z.ModalWindow.preloadImage('/images/modalwindow/tonino/'+value)});});z.ajax=new z.Ajax();z.ajax.server='?ajax'
