var Builder={NODEMAP:{AREA:"map",CAPTION:"table",COL:"table",COLGROUP:"table",LEGEND:"fieldset",OPTGROUP:"select",OPTION:"select",PARAM:"object",TBODY:"table",TD:"table",TFOOT:"table",TH:"table",THEAD:"table",TR:"table"},node:function(a){a=a.toUpperCase();var g=this.NODEMAP[a]||"div";var b=document.createElement(g);try{b.innerHTML="<"+a+"></"+a+">"}catch(f){}
var d=b.firstChild||null;if(d&&(d.tagName.toUpperCase()!=a)){d=d.getElementsByTagName(a)[0]}
if(!d){d=document.createElement(a)}
if(!d){return}
if(arguments[1]){if(this._isStringOrNumber(arguments[1])||(arguments[1]instanceof Array)||arguments[1].tagName){this._children(d,arguments[1])}else{var c=this._attributes(arguments[1]);if(c.length){try{b.innerHTML="<"+a+" "+c+"></"+a+">"}catch(f){}
d=b.firstChild||null;if(!d){d=document.createElement(a);for(attr in arguments[1]){d[attr=="class"?"className":attr]=arguments[1][attr]}}
if(d.tagName.toUpperCase()!=a){d=b.getElementsByTagName(a)[0]}}}}
if(arguments[2]){this._children(d,arguments[2])}
return $(d)},_text:function(a){return document.createTextNode(a)},ATTR_MAP:{className:"class",htmlFor:"for"},_attributes:function(a){var b=[];for(attribute in a){b.push((attribute in this.ATTR_MAP?this.ATTR_MAP[attribute]:attribute)+'="'+a[attribute].toString().escapeHTML().gsub(/"/,"&quot;")+'"')}
return b.join(" ")},_children:function(b,a){if(a.tagName){b.appendChild(a);return}
if(typeof a=="object"){a.flatten().each(function(c){if(typeof c=="object"){b.appendChild(c)}else{if(Builder._isStringOrNumber(c)){b.appendChild(Builder._text(c))}}})}else{if(Builder._isStringOrNumber(a)){b.appendChild(Builder._text(a))}}},_isStringOrNumber:function(a){return(typeof a=="string"||typeof a=="number")},build:function(b){var a=this.node("div");$(a).update(b.strip());return a.down()},dump:function(b){if(typeof b!="object"&&typeof b!="function"){b=window}
var a=("A ABBR ACRONYM ADDRESS APPLET AREA B BASE BASEFONT BDO BIG BLOCKQUOTE BODY BR BUTTON CAPTION CENTER CITE CODE COL COLGROUP DD DEL DFN DIR DIV DL DT EM FIELDSET FONT FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HR HTML I IFRAME IMG INPUT INS ISINDEX KBD LABEL LEGEND LI LINK MAP MENU META NOFRAMES NOSCRIPT OBJECT OL OPTGROUP OPTION P PARAM PRE Q S SAMP SCRIPT SELECT SMALL SPAN STRIKE STRONG STYLE SUB SUP TABLE TBODY TD TEXTAREA TFOOT TH THEAD TITLE TR TT U UL VAR").split(/\s+/);a.each(function(c){b[c]=function(){return Builder.node.apply(Builder,[c].concat($A(arguments)))}})}};String.prototype.parseColor=function(){var a="#";if(this.slice(0,4)=="rgb("){var c=this.slice(4,this.length-1).split(",");var b=0;do{a+=parseInt(c[b]).toColorPart()}while(++b<3)}else{if(this.slice(0,1)=="#"){if(this.length==4){for(var b=1;b<4;b++){a+=(this.charAt(b)+this.charAt(b)).toLowerCase()}}
if(this.length==7){a=this.toLowerCase()}}}
return(a.length==7?a:(arguments[0]||this))};Element.collectTextNodes=function(a){return $A($(a).childNodes).collect(function(b){return(b.nodeType==3?b.nodeValue:(b.hasChildNodes()?Element.collectTextNodes(b):""))}).flatten().join("")};Element.collectTextNodesIgnoreClass=function(a,b){return $A($(a).childNodes).collect(function(c){return(c.nodeType==3?c.nodeValue:((c.hasChildNodes()&&!Element.hasClassName(c,b))?Element.collectTextNodesIgnoreClass(c,b):""))}).flatten().join("")};Element.setContentZoom=function(a,b){a=$(a);a.setStyle({fontSize:(b/100)+"em"});if(Prototype.Browser.WebKit){window.scrollBy(0,0)}
return a};Element.getInlineOpacity=function(a){return $(a).style.opacity||""};Element.forceRerendering=function(a){try{a=$(a);var c=document.createTextNode(" ");a.appendChild(c);a.removeChild(c)}catch(b){}};var Effect={_elementDoesNotExistError:{name:"ElementDoesNotExistError",message:"The specified DOM element does not exist, but is required for this effect to operate"},Transitions:{linear:Prototype.K,sinoidal:function(a){return(-Math.cos(a*Math.PI)/2)+0.5},reverse:function(a){return 1-a},flicker:function(a){var a=((-Math.cos(a*Math.PI)/4)+0.75)+Math.random()/4;return a>1?1:a},wobble:function(a){return(-Math.cos(a*Math.PI*(9*a))/2)+0.5},pulse:function(b,a){return(-Math.cos((b*((a||5)-0.5)*2)*Math.PI)/2)+0.5},spring:function(a){return 1-(Math.cos(a*4.5*Math.PI)*Math.exp(-a*6))},none:function(a){return 0},full:function(a){return 1}},DefaultOptions:{duration:1,fps:100,sync:false,from:0,to:1,delay:0,queue:"parallel"},tagifyText:function(a){var b="position:relative";if(Prototype.Browser.IE){b+=";zoom:1"}
a=$(a);$A(a.childNodes).each(function(c){if(c.nodeType==3){c.nodeValue.toArray().each(function(d){a.insertBefore(new Element("span",{style:b}).update(d==" "?String.fromCharCode(160):d),c)});Element.remove(c)}})},multiple:function(b,c){var e;if(((typeof b=="object")||Object.isFunction(b))&&(b.length)){e=b}else{e=$(b).childNodes}
var a=Object.extend({speed:0.1,delay:0},arguments[2]||{});var d=a.delay;$A(e).each(function(g,f){new c(g,Object.extend(a,{delay:f*a.speed+d}))})},PAIRS:{slide:["SlideDown","SlideUp"],blind:["BlindDown","BlindUp"],appear:["Appear","Fade"]},toggle:function(b,c){b=$(b);c=(c||"appear").toLowerCase();var a=Object.extend({queue:{position:"end",scope:(b.id||"global"),limit:1}},arguments[2]||{});Effect[b.visible()?Effect.PAIRS[c][1]:Effect.PAIRS[c][0]](b,a)}};Effect.DefaultOptions.transition=Effect.Transitions.sinoidal;Effect.ScopedQueue=Class.create(Enumerable,{initialize:function(){this.effects=[];this.interval=null},_each:function(a){this.effects._each(a)},add:function(b){var c=new Date().getTime();var a=Object.isString(b.options.queue)?b.options.queue:b.options.queue.position;switch(a){case"front":this.effects.findAll(function(d){return d.state=="idle"}).each(function(d){d.startOn+=b.finishOn;d.finishOn+=b.finishOn});break;case"with-last":c=this.effects.pluck("startOn").max()||c;break;case"end":c=this.effects.pluck("finishOn").max()||c;break}
b.startOn+=c;b.finishOn+=c;if(!b.options.queue.limit||(this.effects.length<b.options.queue.limit)){this.effects.push(b)}
if(!this.interval){this.interval=setInterval(this.loop.bind(this),15)}},remove:function(a){this.effects=this.effects.reject(function(b){return b==a});if(this.effects.length==0){clearInterval(this.interval);this.interval=null}},loop:function(){var c=new Date().getTime();for(var b=0,a=this.effects.length;b<a;b++){this.effects[b]&&this.effects[b].loop(c)}}});Effect.Queues={instances:$H(),get:function(a){if(!Object.isString(a)){return a}
return this.instances.get(a)||this.instances.set(a,new Effect.ScopedQueue())}};Effect.Queue=Effect.Queues.get("global");Effect.Base=Class.create({position:null,start:function(a){function b(d,c){return((d[c+"Internal"]?"this.options."+c+"Internal(this);":"")+(d[c]?"this.options."+c+"(this);":""))}
if(a&&a.transition===false){a.transition=Effect.Transitions.linear}
this.options=Object.extend(Object.extend({},Effect.DefaultOptions),a||{});this.currentFrame=0;this.state="idle";this.startOn=this.options.delay*1000;this.finishOn=this.startOn+(this.options.duration*1000);this.fromToDelta=this.options.to-this.options.from;this.totalTime=this.finishOn-this.startOn;this.totalFrames=this.options.fps*this.options.duration;this.render=(function(){function c(e,d){if(e.options[d+"Internal"]){e.options[d+"Internal"](e)}
if(e.options[d]){e.options[d](e)}}
return function(d){if(this.state==="idle"){this.state="running";c(this,"beforeSetup");if(this.setup){this.setup()}
c(this,"afterSetup")}
if(this.state==="running"){d=(this.options.transition(d)*this.fromToDelta)+this.options.from;this.position=d;c(this,"beforeUpdate");if(this.update){this.update(d)}
c(this,"afterUpdate")}}})();this.event("beforeStart");if(!this.options.sync){Effect.Queues.get(Object.isString(this.options.queue)?"global":this.options.queue.scope).add(this)}},loop:function(c){if(c>=this.startOn){if(c>=this.finishOn){this.render(1);this.cancel();this.event("beforeFinish");if(this.finish){this.finish()}
this.event("afterFinish");return}
var b=(c-this.startOn)/this.totalTime,a=(b*this.totalFrames).round();if(a>this.currentFrame){this.render(b);this.currentFrame=a}}},cancel:function(){if(!this.options.sync){Effect.Queues.get(Object.isString(this.options.queue)?"global":this.options.queue.scope).remove(this)}
this.state="finished"},event:function(a){if(this.options[a+"Internal"]){this.options[a+"Internal"](this)}
if(this.options[a]){this.options[a](this)}},inspect:function(){var a=$H();for(property in this){if(!Object.isFunction(this[property])){a.set(property,this[property])}}
return"#<Effect:"+a.inspect()+",options:"+$H(this.options).inspect()+">"}});Effect.Parallel=Class.create(Effect.Base,{initialize:function(a){this.effects=a||[];this.start(arguments[1])},update:function(a){this.effects.invoke("render",a)},finish:function(a){this.effects.each(function(b){b.render(1);b.cancel();b.event("beforeFinish");if(b.finish){b.finish(a)}
b.event("afterFinish")})}});Effect.Tween=Class.create(Effect.Base,{initialize:function(c,f,e){c=Object.isString(c)?$(c):c;var b=$A(arguments),d=b.last(),a=b.length==5?b[3]:null;this.method=Object.isFunction(d)?d.bind(c):Object.isFunction(c[d])?c[d].bind(c):function(g){c[d]=g};this.start(Object.extend({from:f,to:e},a||{}))},update:function(a){this.method(a)}});Effect.Event=Class.create(Effect.Base,{initialize:function(){this.start(Object.extend({duration:0},arguments[0]||{}))},update:Prototype.emptyFunction});Effect.Opacity=Class.create(Effect.Base,{initialize:function(b){this.element=$(b);if(!this.element){throw(Effect._elementDoesNotExistError)}
if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout)){this.element.setStyle({zoom:1})}
var a=Object.extend({from:this.element.getOpacity()||0,to:1},arguments[1]||{});this.start(a)},update:function(a){this.element.setOpacity(a)}});Effect.Move=Class.create(Effect.Base,{initialize:function(b){this.element=$(b);if(!this.element){throw(Effect._elementDoesNotExistError)}
var a=Object.extend({x:0,y:0,mode:"relative"},arguments[1]||{});this.start(a)},setup:function(){this.element.makePositioned();this.originalLeft=parseFloat(this.element.getStyle("left")||"0");this.originalTop=parseFloat(this.element.getStyle("top")||"0");if(this.options.mode=="absolute"){this.options.x=this.options.x-this.originalLeft;this.options.y=this.options.y-this.originalTop}},update:function(a){this.element.setStyle({left:(this.options.x*a+this.originalLeft).round()+"px",top:(this.options.y*a+this.originalTop).round()+"px"})}});Effect.MoveBy=function(b,a,c){return new Effect.Move(b,Object.extend({x:c,y:a},arguments[3]||{}))};Effect.Scale=Class.create(Effect.Base,{initialize:function(b,c){this.element=$(b);if(!this.element){throw(Effect._elementDoesNotExistError)}
var a=Object.extend({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:"box",scaleFrom:100,scaleTo:c},arguments[2]||{});this.start(a)},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=this.element.getStyle("position");this.originalStyle={};["top","left","width","height","fontSize"].each(function(b){this.originalStyle[b]=this.element.style[b]}.bind(this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var a=this.element.getStyle("font-size")||"100%";["em","px","%","pt"].each(function(b){if(a.indexOf(b)>0){this.fontSize=parseFloat(a);this.fontSizeType=b}}.bind(this));this.factor=(this.options.scaleTo-this.options.scaleFrom)/100;this.dims=null;if(this.options.scaleMode=="box"){this.dims=[this.element.offsetHeight,this.element.offsetWidth]}
if(/^content/.test(this.options.scaleMode)){this.dims=[this.element.scrollHeight,this.element.scrollWidth]}
if(!this.dims){this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth]}},update:function(a){var b=(this.options.scaleFrom/100)+(this.factor*a);if(this.options.scaleContent&&this.fontSize){this.element.setStyle({fontSize:this.fontSize*b+this.fontSizeType})}
this.setDimensions(this.dims[0]*b,this.dims[1]*b)},finish:function(a){if(this.restoreAfterFinish){this.element.setStyle(this.originalStyle)}},setDimensions:function(a,e){var f={};if(this.options.scaleX){f.width=e.round()+"px"}
if(this.options.scaleY){f.height=a.round()+"px"}
if(this.options.scaleFromCenter){var c=(a-this.dims[0])/2;var b=(e-this.dims[1])/2;if(this.elementPositioning=="absolute"){if(this.options.scaleY){f.top=this.originalTop-c+"px"}
if(this.options.scaleX){f.left=this.originalLeft-b+"px"}}else{if(this.options.scaleY){f.top=-c+"px"}
if(this.options.scaleX){f.left=-b+"px"}}}
this.element.setStyle(f)}});Effect.Highlight=Class.create(Effect.Base,{initialize:function(b){this.element=$(b);if(!this.element){throw(Effect._elementDoesNotExistError)}
var a=Object.extend({startcolor:"#ffff99"},arguments[1]||{});this.start(a)},setup:function(){if(this.element.getStyle("display")=="none"){this.cancel();return}
this.oldStyle={};if(!this.options.keepBackgroundImage){this.oldStyle.backgroundImage=this.element.getStyle("background-image");this.element.setStyle({backgroundImage:"none"})}
if(!this.options.endcolor){this.options.endcolor=this.element.getStyle("background-color").parseColor("#ffffff")}
if(!this.options.restorecolor){this.options.restorecolor=this.element.getStyle("background-color")}
this._base=$R(0,2).map(function(a){return parseInt(this.options.startcolor.slice(a*2+1,a*2+3),16)}.bind(this));this._delta=$R(0,2).map(function(a){return parseInt(this.options.endcolor.slice(a*2+1,a*2+3),16)-this._base[a]}.bind(this))},update:function(a){this.element.setStyle({backgroundColor:$R(0,2).inject("#",function(b,c,d){return b+((this._base[d]+(this._delta[d]*a)).round().toColorPart())}.bind(this))})},finish:function(){this.element.setStyle(Object.extend(this.oldStyle,{backgroundColor:this.options.restorecolor}))}});Effect.ScrollTo=function(c){var b=arguments[1]||{},a=document.viewport.getScrollOffsets(),d=$(c).cumulativeOffset();if(b.offset){d[1]+=b.offset}
return new Effect.Tween(null,a.top,d[1],b,function(e){scrollTo(a.left,e.round())})};Effect.Fade=function(c){c=$(c);var a=c.getInlineOpacity();var b=Object.extend({from:c.getOpacity()||1,to:0,afterFinishInternal:function(d){if(d.options.to!=0){return}
d.element.hide().setStyle({opacity:a})}},arguments[1]||{});return new Effect.Opacity(c,b)};Effect.Appear=function(b){b=$(b);var a=Object.extend({from:(b.getStyle("display")=="none"?0:b.getOpacity()||0),to:1,afterFinishInternal:function(c){c.element.forceRerendering()},beforeSetup:function(c){c.element.setOpacity(c.options.from).show()}},arguments[1]||{});return new Effect.Opacity(b,a)};Effect.Puff=function(b){b=$(b);var a={opacity:b.getInlineOpacity(),position:b.getStyle("position"),top:b.style.top,left:b.style.left,width:b.style.width,height:b.style.height};return new Effect.Parallel([new Effect.Scale(b,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true}),new Effect.Opacity(b,{sync:true,to:0})],Object.extend({duration:1,beforeSetupInternal:function(c){Position.absolutize(c.effects[0].element)},afterFinishInternal:function(c){c.effects[0].element.hide().setStyle(a)}},arguments[1]||{}))};Effect.BlindUp=function(a){a=$(a);a.makeClipping();return new Effect.Scale(a,0,Object.extend({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(b){b.element.hide().undoClipping()}},arguments[1]||{}))};Effect.BlindDown=function(b){b=$(b);var a=b.getDimensions();return new Effect.Scale(b,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:a.height,originalWidth:a.width},restoreAfterFinish:true,afterSetup:function(c){c.element.makeClipping().setStyle({height:"0px"}).show()},afterFinishInternal:function(c){c.element.undoClipping()}},arguments[1]||{}))};Effect.SwitchOff=function(b){b=$(b);var a=b.getInlineOpacity();return new Effect.Appear(b,Object.extend({duration:0.4,from:0,transition:Effect.Transitions.flicker,afterFinishInternal:function(c){new Effect.Scale(c.element,1,{duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetup:function(d){d.element.makePositioned().makeClipping()},afterFinishInternal:function(d){d.element.hide().undoClipping().undoPositioned().setStyle({opacity:a})}})}},arguments[1]||{}))};Effect.DropOut=function(b){b=$(b);var a={top:b.getStyle("top"),left:b.getStyle("left"),opacity:b.getInlineOpacity()};return new Effect.Parallel([new Effect.Move(b,{x:0,y:100,sync:true}),new Effect.Opacity(b,{sync:true,to:0})],Object.extend({duration:0.5,beforeSetup:function(c){c.effects[0].element.makePositioned()},afterFinishInternal:function(c){c.effects[0].element.hide().undoPositioned().setStyle(a)}},arguments[1]||{}))};Effect.Shake=function(d){d=$(d);var b=Object.extend({distance:20,duration:0.5},arguments[1]||{});var e=parseFloat(b.distance);var c=parseFloat(b.duration)/10;var a={top:d.getStyle("top"),left:d.getStyle("left")};return new Effect.Move(d,{x:e,y:0,duration:c,afterFinishInternal:function(f){new Effect.Move(f.element,{x:-e*2,y:0,duration:c*2,afterFinishInternal:function(g){new Effect.Move(g.element,{x:e*2,y:0,duration:c*2,afterFinishInternal:function(j){new Effect.Move(j.element,{x:-e*2,y:0,duration:c*2,afterFinishInternal:function(k){new Effect.Move(k.element,{x:e*2,y:0,duration:c*2,afterFinishInternal:function(l){new Effect.Move(l.element,{x:-e,y:0,duration:c,afterFinishInternal:function(m){m.element.undoPositioned().setStyle(a)}})}})}})}})}})}})};Effect.SlideDown=function(c){c=$(c).cleanWhitespace();var a=c.down().getStyle("bottom");var b=c.getDimensions();return new Effect.Scale(c,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:window.opera?0:1,scaleMode:{originalHeight:b.height,originalWidth:b.width},restoreAfterFinish:true,afterSetup:function(d){d.element.makePositioned();d.element.down().makePositioned();if(window.opera){d.element.setStyle({top:""})}
d.element.makeClipping().setStyle({height:"0px"}).show()},afterUpdateInternal:function(d){d.element.down().setStyle({bottom:(d.dims[0]-d.element.clientHeight)+"px"})},afterFinishInternal:function(d){d.element.undoClipping().undoPositioned();d.element.down().undoPositioned().setStyle({bottom:a})}},arguments[1]||{}))};Effect.SlideUp=function(c){c=$(c).cleanWhitespace();var a=c.down().getStyle("bottom");var b=c.getDimensions();return new Effect.Scale(c,window.opera?0:1,Object.extend({scaleContent:false,scaleX:false,scaleMode:"box",scaleFrom:100,scaleMode:{originalHeight:b.height,originalWidth:b.width},restoreAfterFinish:true,afterSetup:function(d){d.element.makePositioned();d.element.down().makePositioned();if(window.opera){d.element.setStyle({top:""})}
d.element.makeClipping().show()},afterUpdateInternal:function(d){d.element.down().setStyle({bottom:(d.dims[0]-d.element.clientHeight)+"px"})},afterFinishInternal:function(d){d.element.hide().undoClipping().undoPositioned();d.element.down().undoPositioned().setStyle({bottom:a})}},arguments[1]||{}))};Effect.Squish=function(a){return new Effect.Scale(a,window.opera?1:0,{restoreAfterFinish:true,beforeSetup:function(b){b.element.makeClipping()},afterFinishInternal:function(b){b.element.hide().undoClipping()}})};Effect.Grow=function(c){c=$(c);var b=Object.extend({direction:"center",moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.full},arguments[1]||{});var a={top:c.style.top,left:c.style.left,height:c.style.height,width:c.style.width,opacity:c.getInlineOpacity()};var g=c.getDimensions();var j,f;var e,d;switch(b.direction){case"top-left":j=f=e=d=0;break;case"top-right":j=g.width;f=d=0;e=-g.width;break;case"bottom-left":j=e=0;f=g.height;d=-g.height;break;case"bottom-right":j=g.width;f=g.height;e=-g.width;d=-g.height;break;case"center":j=g.width/2;f=g.height/2;e=-g.width/2;d=-g.height/2;break}
return new Effect.Move(c,{x:j,y:f,duration:0.01,beforeSetup:function(k){k.element.hide().makeClipping().makePositioned()},afterFinishInternal:function(k){new Effect.Parallel([new Effect.Opacity(k.element,{sync:true,to:1,from:0,transition:b.opacityTransition}),new Effect.Move(k.element,{x:e,y:d,sync:true,transition:b.moveTransition}),new Effect.Scale(k.element,100,{scaleMode:{originalHeight:g.height,originalWidth:g.width},sync:true,scaleFrom:window.opera?1:0,transition:b.scaleTransition,restoreAfterFinish:true})],Object.extend({beforeSetup:function(l){l.effects[0].element.setStyle({height:"0px"}).show()},afterFinishInternal:function(l){l.effects[0].element.undoClipping().undoPositioned().setStyle(a)}},b))}})};Effect.Shrink=function(c){c=$(c);var b=Object.extend({direction:"center",moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.none},arguments[1]||{});var a={top:c.style.top,left:c.style.left,height:c.style.height,width:c.style.width,opacity:c.getInlineOpacity()};var f=c.getDimensions();var e,d;switch(b.direction){case"top-left":e=d=0;break;case"top-right":e=f.width;d=0;break;case"bottom-left":e=0;d=f.height;break;case"bottom-right":e=f.width;d=f.height;break;case"center":e=f.width/2;d=f.height/2;break}
return new Effect.Parallel([new Effect.Opacity(c,{sync:true,to:0,from:1,transition:b.opacityTransition}),new Effect.Scale(c,window.opera?1:0,{sync:true,transition:b.scaleTransition,restoreAfterFinish:true}),new Effect.Move(c,{x:e,y:d,sync:true,transition:b.moveTransition})],Object.extend({beforeStartInternal:function(g){g.effects[0].element.makePositioned().makeClipping()},afterFinishInternal:function(g){g.effects[0].element.hide().undoClipping().undoPositioned().setStyle(a)}},b))};Effect.Pulsate=function(c){c=$(c);var b=arguments[1]||{},a=c.getInlineOpacity(),e=b.transition||Effect.Transitions.linear,d=function(f){return 1-e((-Math.cos((f*(b.pulses||5)*2)*Math.PI)/2)+0.5)};return new Effect.Opacity(c,Object.extend(Object.extend({duration:2,from:0,afterFinishInternal:function(f){f.element.setStyle({opacity:a})}},b),{transition:d}))};Effect.Fold=function(b){b=$(b);var a={top:b.style.top,left:b.style.left,width:b.style.width,height:b.style.height};b.makeClipping();return new Effect.Scale(b,5,Object.extend({scaleContent:false,scaleX:false,afterFinishInternal:function(c){new Effect.Scale(b,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(d){d.element.hide().undoClipping().setStyle(a)}})}},arguments[1]||{}))};Effect.Morph=Class.create(Effect.Base,{initialize:function(c){this.element=$(c);if(!this.element){throw(Effect._elementDoesNotExistError)}
var a=Object.extend({style:{}},arguments[1]||{});if(!Object.isString(a.style)){this.style=$H(a.style)}else{if(a.style.include(":")){this.style=a.style.parseStyle()}else{this.element.addClassName(a.style);this.style=$H(this.element.getStyles());this.element.removeClassName(a.style);var b=this.element.getStyles();this.style=this.style.reject(function(d){return d.value==b[d.key]});a.afterFinishInternal=function(d){d.element.addClassName(d.options.style);d.transforms.each(function(e){d.element.style[e.style]=""})}}}
this.start(a)},setup:function(){function a(b){if(!b||["rgba(0, 0, 0, 0)","transparent"].include(b)){b="#ffffff"}
b=b.parseColor();return $R(0,2).map(function(c){return parseInt(b.slice(c*2+1,c*2+3),16)})}
this.transforms=this.style.map(function(g){var f=g[0],e=g[1],d=null;if(e.parseColor("#zzzzzz")!="#zzzzzz"){e=e.parseColor();d="color"}else{if(f=="opacity"){e=parseFloat(e);if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout)){this.element.setStyle({zoom:1})}}else{if(Element.CSS_LENGTH.test(e)){var c=e.match(/^([\+\-]?[0-9\.]+)(.*)$/);e=parseFloat(c[1]);d=(c.length==3)?c[2]:null}}}
var b=this.element.getStyle(f);return{style:f.camelize(),originalValue:d=="color"?a(b):parseFloat(b||0),targetValue:d=="color"?a(e):e,unit:d}}.bind(this)).reject(function(b){return((b.originalValue==b.targetValue)||(b.unit!="color"&&(isNaN(b.originalValue)||isNaN(b.targetValue))))})},update:function(a){var d={},b,c=this.transforms.length;while(c--){d[(b=this.transforms[c]).style]=b.unit=="color"?"#"+(Math.round(b.originalValue[0]+(b.targetValue[0]-b.originalValue[0])*a)).toColorPart()+(Math.round(b.originalValue[1]+(b.targetValue[1]-b.originalValue[1])*a)).toColorPart()+(Math.round(b.originalValue[2]+(b.targetValue[2]-b.originalValue[2])*a)).toColorPart():(b.originalValue+(b.targetValue-b.originalValue)*a).toFixed(3)+(b.unit===null?"":b.unit)}
this.element.setStyle(d,true)}});Effect.Transform=Class.create({initialize:function(a){this.tracks=[];this.options=arguments[1]||{};this.addTracks(a)},addTracks:function(a){a.each(function(b){b=$H(b);var c=b.values().first();this.tracks.push($H({ids:b.keys().first(),effect:Effect.Morph,options:{style:c}}))}.bind(this));return this},play:function(){return new Effect.Parallel(this.tracks.map(function(a){var d=a.get("ids"),c=a.get("effect"),b=a.get("options");var e=[$(d)||$$(d)].flatten();return e.map(function(f){return new c(f,Object.extend({sync:true},b))})}).flatten(),this.options)}});Element.CSS_PROPERTIES=$w("backgroundColor backgroundPosition borderBottomColor borderBottomStyle borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth borderRightColor borderRightStyle borderRightWidth borderSpacing borderTopColor borderTopStyle borderTopWidth bottom clip color fontSize fontWeight height left letterSpacing lineHeight marginBottom marginLeft marginRight marginTop markerOffset maxHeight maxWidth minHeight minWidth opacity outlineColor outlineOffset outlineWidth paddingBottom paddingLeft paddingRight paddingTop right textIndent top width wordSpacing zIndex");Element.CSS_LENGTH=/^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;String.__parseStyleElement=document.createElement("div");String.prototype.parseStyle=function(){var b,a=$H();if(Prototype.Browser.WebKit){b=new Element("div",{style:this}).style}else{String.__parseStyleElement.innerHTML='<div style="'+this+'"></div>';b=String.__parseStyleElement.childNodes[0].style}
Element.CSS_PROPERTIES.each(function(c){if(b[c]){a.set(c,b[c])}});if(Prototype.Browser.IE&&this.include("opacity")){a.set("opacity",this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1])}
return a};if(document.defaultView&&document.defaultView.getComputedStyle){Element.getStyles=function(b){var a=document.defaultView.getComputedStyle($(b),null);return Element.CSS_PROPERTIES.inject({},function(c,d){c[d]=a[d];return c})}}else{Element.getStyles=function(b){b=$(b);var a=b.currentStyle,c;c=Element.CSS_PROPERTIES.inject({},function(d,e){d[e]=a[e];return d});if(!c.opacity){c.opacity=b.getOpacity()}
return c}}
Effect.Methods={morph:function(a,b){a=$(a);new Effect.Morph(a,Object.extend({style:b},arguments[2]||{}));return a},visualEffect:function(c,e,b){c=$(c);var d=e.dasherize().camelize(),a=d.charAt(0).toUpperCase()+d.substring(1);new Effect[a](c,b);return c},highlight:function(b,a){b=$(b);new Effect.Highlight(b,a);return b}};$w("fade appear grow shrink fold blindUp blindDown slideUp slideDown pulsate shake puff squish switchOff dropOut").each(function(a){Effect.Methods[a]=function(c,b){c=$(c);Effect[a.charAt(0).toUpperCase()+a.substring(1)](c,b);return c}});$w("getInlineOpacity forceRerendering setContentZoom collectTextNodes collectTextNodesIgnoreClass getStyles").each(function(a){Effect.Methods[a]=Element[a]});Element.addMethods(Effect.Methods);if(typeof Effect=="undefined"){throw("controls.js requires including script.aculo.us' effects.js library")}
var Autocompleter={};Autocompleter.Base=Class.create({baseInitialize:function(b,c,a){b=$(b);this.element=b;this.update=$(c);this.hasFocus=false;this.changed=false;this.active=false;this.index=0;this.entryCount=0;this.oldElementValue=this.element.value;if(this.setOptions){this.setOptions(a)}else{this.options=a||{}}
this.options.paramName=this.options.paramName||this.element.name;this.options.tokens=this.options.tokens||[];this.options.frequency=this.options.frequency||0.4;this.options.minChars=this.options.minChars||1;this.options.onShow=this.options.onShow||function(d,e){if(!e.style.position||e.style.position=="absolute"){e.style.position="absolute";Position.clone(d,e,{setHeight:false,offsetTop:d.offsetHeight})}
Effect.Appear(e,{duration:0.15})};this.options.onHide=this.options.onHide||function(d,e){new Effect.Fade(e,{duration:0.15})};if(typeof(this.options.tokens)=="string"){this.options.tokens=new Array(this.options.tokens)}
if(!this.options.tokens.include("\n")){this.options.tokens.push("\n")}
this.observer=null;this.element.setAttribute("autocomplete","off");Element.hide(this.update);Event.observe(this.element,"blur",this.onBlur.bindAsEventListener(this));Event.observe(this.element,"keydown",this.onKeyPress.bindAsEventListener(this))},show:function(){if(Element.getStyle(this.update,"display")=="none"){this.options.onShow(this.element,this.update)}
if(!this.iefix&&(Prototype.Browser.IE)&&(Element.getStyle(this.update,"position")=="absolute")){new Insertion.After(this.update,'<iframe id="'+this.update.id+'_iefix" style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" src="javascript:false;" frameborder="0" scrolling="no"></iframe>');this.iefix=$(this.update.id+"_iefix")}
if(this.iefix){setTimeout(this.fixIEOverlapping.bind(this),50)}},fixIEOverlapping:function(){Position.clone(this.update,this.iefix,{setTop:(!this.update.style.height)});this.iefix.style.zIndex=1;this.update.style.zIndex=2;Element.show(this.iefix)},hide:function(){this.stopIndicator();if(Element.getStyle(this.update,"display")!="none"){this.options.onHide(this.element,this.update)}
if(this.iefix){Element.hide(this.iefix)}},startIndicator:function(){if(this.options.indicator){Element.show(this.options.indicator)}},stopIndicator:function(){if(this.options.indicator){Element.hide(this.options.indicator)}},onKeyPress:function(a){if(this.active){switch(a.keyCode){case Event.KEY_TAB:case Event.KEY_RETURN:this.selectEntry();Event.stop(a);case Event.KEY_ESC:this.hide();this.active=false;Event.stop(a);return;case Event.KEY_LEFT:case Event.KEY_RIGHT:return;case Event.KEY_UP:this.markPrevious();this.render();Event.stop(a);return;case Event.KEY_DOWN:this.markNext();this.render();Event.stop(a);return}}else{if(a.keyCode==Event.KEY_TAB||a.keyCode==Event.KEY_RETURN||(Prototype.Browser.WebKit>0&&a.keyCode==0)){return}}
this.changed=true;this.hasFocus=true;if(this.observer){clearTimeout(this.observer)}
this.observer=setTimeout(this.onObserverEvent.bind(this),this.options.frequency*1000)},activate:function(){this.changed=false;this.hasFocus=true;this.getUpdatedChoices()},onHover:function(b){var a=Event.findElement(b,"LI");if(this.index!=a.autocompleteIndex){this.index=a.autocompleteIndex;this.render()}
Event.stop(b)},onClick:function(b){var a=Event.findElement(b,"LI");this.index=a.autocompleteIndex;this.selectEntry();this.hide()},onBlur:function(a){setTimeout(this.hide.bind(this),250);this.hasFocus=false;this.active=false},render:function(){if(this.entryCount>0){for(var a=0;a<this.entryCount;a++){this.index==a?Element.addClassName(this.getEntry(a),"selected"):Element.removeClassName(this.getEntry(a),"selected")}
if(this.hasFocus){this.show();this.active=true}}else{this.active=false;this.hide()}},markPrevious:function(){if(this.index>0){this.index--}else{this.index=this.entryCount-1}
this.getEntry(this.index).scrollIntoView(true)},markNext:function(){if(this.index<this.entryCount-1){this.index++}else{this.index=0}
this.getEntry(this.index).scrollIntoView(false)},getEntry:function(a){return this.update.firstChild.childNodes[a]},getCurrentEntry:function(){return this.getEntry(this.index)},selectEntry:function(){this.active=false;this.updateElement(this.getCurrentEntry())},updateElement:function(f){if(this.options.updateElement){this.options.updateElement(f);return}
var d="";if(this.options.select){var a=$(f).select("."+this.options.select)||[];if(a.length>0){d=Element.collectTextNodes(a[0],this.options.select)}}else{d=Element.collectTextNodesIgnoreClass(f,"informal")}
var c=this.getTokenBounds();if(c[0]!=-1){var e=this.element.value.substr(0,c[0]);var b=this.element.value.substr(c[0]).match(/^\s+/);if(b){e+=b[0]}
this.element.value=e+d+this.element.value.substr(c[1])}else{this.element.value=d}
this.oldElementValue=this.element.value;this.element.focus();if(this.options.afterUpdateElement){this.options.afterUpdateElement(this.element,f)}},updateChoices:function(c){if(!this.changed&&this.hasFocus){this.update.innerHTML=c;Element.cleanWhitespace(this.update);Element.cleanWhitespace(this.update.down());if(this.update.firstChild&&this.update.down().childNodes){this.entryCount=this.update.down().childNodes.length;for(var a=0;a<this.entryCount;a++){var b=this.getEntry(a);b.autocompleteIndex=a;this.addObservers(b)}}else{this.entryCount=0}
this.stopIndicator();this.index=0;if(this.entryCount==1&&this.options.autoSelect){this.selectEntry();this.hide()}else{this.render()}}},addObservers:function(a){Event.observe(a,"mouseover",this.onHover.bindAsEventListener(this));Event.observe(a,"click",this.onClick.bindAsEventListener(this))},onObserverEvent:function(){this.changed=false;this.tokenBounds=null;if(this.getToken().length>=this.options.minChars){this.getUpdatedChoices()}else{this.active=false;this.hide()}
this.oldElementValue=this.element.value},getToken:function(){var a=this.getTokenBounds();return this.element.value.substring(a[0],a[1]).strip()},getTokenBounds:function(){if(null!=this.tokenBounds){return this.tokenBounds}
var e=this.element.value;if(e.strip().empty()){return[-1,0]}
var f=arguments.callee.getFirstDifferencePos(e,this.oldElementValue);var j=(f==this.oldElementValue.length?1:0);var d=-1,c=e.length;var g;for(var b=0,a=this.options.tokens.length;b<a;++b){g=e.lastIndexOf(this.options.tokens[b],f+j-1);if(g>d){d=g}
g=e.indexOf(this.options.tokens[b],f+j);if(-1!=g&&g<c){c=g}}
return(this.tokenBounds=[d+1,c])}});Autocompleter.Base.prototype.getTokenBounds.getFirstDifferencePos=function(c,a){var d=Math.min(c.length,a.length);for(var b=0;b<d;++b){if(c[b]!=a[b]){return b}}
return d};Ajax.Autocompleter=Class.create(Autocompleter.Base,{initialize:function(c,d,b,a){this.baseInitialize(c,d,a);this.options.asynchronous=true;this.options.onComplete=this.onComplete.bind(this);this.options.defaultParams=this.options.parameters||null;this.url=b},getUpdatedChoices:function(){this.startIndicator();var a=encodeURIComponent(this.options.paramName)+"="+encodeURIComponent(this.getToken());this.options.parameters=this.options.callback?this.options.callback(this.element,a):a;if(this.options.defaultParams){this.options.parameters+="&"+this.options.defaultParams}
new Ajax.Request(this.url,this.options)},onComplete:function(a){this.updateChoices(a.responseText)}});Autocompleter.Local=Class.create(Autocompleter.Base,{initialize:function(b,d,c,a){this.baseInitialize(b,d,a);this.options.array=c},getUpdatedChoices:function(){this.updateChoices(this.options.selector(this))},setOptions:function(a){this.options=Object.extend({choices:10,partialSearch:true,partialChars:2,ignoreCase:true,fullSearch:false,selector:function(b){var d=[];var c=[];var j=b.getToken();var g=0;for(var e=0;e<b.options.array.length&&d.length<b.options.choices;e++){var f=b.options.array[e];var k=b.options.ignoreCase?f.toLowerCase().indexOf(j.toLowerCase()):f.indexOf(j);while(k!=-1){if(k==0&&f.length!=j.length){d.push("<li><strong>"+f.substr(0,j.length)+"</strong>"+f.substr(j.length)+"</li>");break}else{if(j.length>=b.options.partialChars&&b.options.partialSearch&&k!=-1){if(b.options.fullSearch||/\s/.test(f.substr(k-1,1))){c.push("<li>"+f.substr(0,k)+"<strong>"+f.substr(k,j.length)+"</strong>"+f.substr(k+j.length)+"</li>");break}}}
k=b.options.ignoreCase?f.toLowerCase().indexOf(j.toLowerCase(),k+1):f.indexOf(j,k+1)}}
if(c.length){d=d.concat(c.slice(0,b.options.choices-d.length))}
return"<ul>"+d.join("")+"</ul>"}},a||{})}});Field.scrollFreeActivate=function(a){setTimeout(function(){Field.activate(a)},1)};Ajax.InPlaceEditor=Class.create({initialize:function(c,b,a){this.url=b;this.element=c=$(c);this.prepareOptions();this._controls={};arguments.callee.dealWithDeprecatedOptions(a);Object.extend(this.options,a||{});if(!this.options.formId&&this.element.id){this.options.formId=this.element.id+"-inplaceeditor";if($(this.options.formId)){this.options.formId=""}}
if(this.options.externalControl){this.options.externalControl=$(this.options.externalControl)}
if(!this.options.externalControl){this.options.externalControlOnly=false}
this._originalBackground=this.element.getStyle("background-color")||"transparent";this.element.title=this.options.clickToEditText;this._boundCancelHandler=this.handleFormCancellation.bind(this);this._boundComplete=(this.options.onComplete||Prototype.emptyFunction).bind(this);this._boundFailureHandler=this.handleAJAXFailure.bind(this);this._boundSubmitHandler=this.handleFormSubmission.bind(this);this._boundWrapperHandler=this.wrapUp.bind(this);this.registerListeners()},checkForEscapeOrReturn:function(a){if(!this._editing||a.ctrlKey||a.altKey||a.shiftKey){return}
if(Event.KEY_ESC==a.keyCode){this.handleFormCancellation(a)}else{if(Event.KEY_RETURN==a.keyCode){this.handleFormSubmission(a)}}},createControl:function(g,c,b){var e=this.options[g+"Control"];var f=this.options[g+"Text"];if("button"==e){var a=document.createElement("input");a.type="submit";a.value=f;a.className="editor_"+g+"_button";if("cancel"==g){a.onclick=this._boundCancelHandler}
this._form.appendChild(a);this._controls[g]=a}else{if("link"==e){var d=document.createElement("a");d.href="#";d.appendChild(document.createTextNode(f));d.onclick="cancel"==g?this._boundCancelHandler:this._boundSubmitHandler;d.className="editor_"+g+"_link";if(b){d.className+=" "+b}
this._form.appendChild(d);this._controls[g]=d}}},createEditField:function(){var c=(this.options.loadTextURL?this.options.loadingText:this.getText());var b;if(1>=this.options.rows&&!/\r|\n/.test(this.getText())){b=document.createElement("input");b.type="text";var a=this.options.size||this.options.cols||0;if(0<a){b.size=a}}else{b=document.createElement("textarea");b.rows=(1>=this.options.rows?this.options.autoRows:this.options.rows);b.cols=this.options.cols||40}
b.name=this.options.paramName;b.value=c;b.className="editor_field";if(this.options.submitOnBlur){b.onblur=this._boundSubmitHandler}
this._controls.editor=b;if(this.options.loadTextURL){this.loadExternalText()}
this._form.appendChild(this._controls.editor)},createForm:function(){var b=this;function a(d,e){var c=b.options["text"+d+"Controls"];if(!c||e===false){return}
b._form.appendChild(document.createTextNode(c))}
this._form=$(document.createElement("form"));this._form.id=this.options.formId;this._form.addClassName(this.options.formClassName);this._form.onsubmit=this._boundSubmitHandler;this.createEditField();if("textarea"==this._controls.editor.tagName.toLowerCase()){this._form.appendChild(document.createElement("br"))}
if(this.options.onFormCustomization){this.options.onFormCustomization(this,this._form)}
a("Before",this.options.okControl||this.options.cancelControl);this.createControl("ok",this._boundSubmitHandler);a("Between",this.options.okControl&&this.options.cancelControl);this.createControl("cancel",this._boundCancelHandler,"editor_cancel");a("After",this.options.okControl||this.options.cancelControl)},destroy:function(){if(this._oldInnerHTML){this.element.innerHTML=this._oldInnerHTML}
this.leaveEditMode();this.unregisterListeners()},enterEditMode:function(a){if(this._saving||this._editing){return}
this._editing=true;this.triggerCallback("onEnterEditMode");if(this.options.externalControl){this.options.externalControl.hide()}
this.element.hide();this.createForm();this.element.parentNode.insertBefore(this._form,this.element);if(!this.options.loadTextURL){this.postProcessEditField()}
if(a){Event.stop(a)}},enterHover:function(a){if(this.options.hoverClassName){this.element.addClassName(this.options.hoverClassName)}
if(this._saving){return}
this.triggerCallback("onEnterHover")},getText:function(){return this.element.innerHTML.unescapeHTML()},handleAJAXFailure:function(a){this.triggerCallback("onFailure",a);if(this._oldInnerHTML){this.element.innerHTML=this._oldInnerHTML;this._oldInnerHTML=null}},handleFormCancellation:function(a){this.wrapUp();if(a){Event.stop(a)}},handleFormSubmission:function(d){var b=this._form;var c=$F(this._controls.editor);this.prepareSubmission();var f=this.options.callback(b,c)||"";if(Object.isString(f)){f=f.toQueryParams()}
f.editorId=this.element.id;if(this.options.htmlResponse){var a=Object.extend({evalScripts:true},this.options.ajaxOptions);Object.extend(a,{parameters:f,onComplete:this._boundWrapperHandler,onFailure:this._boundFailureHandler});new Ajax.Updater({success:this.element},this.url,a)}else{var a=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(a,{parameters:f,onComplete:this._boundWrapperHandler,onFailure:this._boundFailureHandler});new Ajax.Request(this.url,a)}
if(d){Event.stop(d)}},leaveEditMode:function(){this.element.removeClassName(this.options.savingClassName);this.removeForm();this.leaveHover();this.element.style.backgroundColor=this._originalBackground;this.element.show();if(this.options.externalControl){this.options.externalControl.show()}
this._saving=false;this._editing=false;this._oldInnerHTML=null;this.triggerCallback("onLeaveEditMode")},leaveHover:function(a){if(this.options.hoverClassName){this.element.removeClassName(this.options.hoverClassName)}
if(this._saving){return}
this.triggerCallback("onLeaveHover")},loadExternalText:function(){this._form.addClassName(this.options.loadingClassName);this._controls.editor.disabled=true;var a=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(a,{parameters:"editorId="+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(c){this._form.removeClassName(this.options.loadingClassName);var b=c.responseText;if(this.options.stripLoadedTextTags){b=b.stripTags()}
this._controls.editor.value=b;this._controls.editor.disabled=false;this.postProcessEditField()}.bind(this),onFailure:this._boundFailureHandler});new Ajax.Request(this.options.loadTextURL,a)},postProcessEditField:function(){var a=this.options.fieldPostCreation;if(a){$(this._controls.editor)["focus"==a?"focus":"activate"]()}},prepareOptions:function(){this.options=Object.clone(Ajax.InPlaceEditor.DefaultOptions);Object.extend(this.options,Ajax.InPlaceEditor.DefaultCallbacks);[this._extraDefaultOptions].flatten().compact().each(function(a){Object.extend(this.options,a)}.bind(this))},prepareSubmission:function(){this._saving=true;this.removeForm();this.leaveHover();this.showSaving()},registerListeners:function(){this._listeners={};var a;$H(Ajax.InPlaceEditor.Listeners).each(function(b){a=this[b.value].bind(this);this._listeners[b.key]=a;if(!this.options.externalControlOnly){this.element.observe(b.key,a)}
if(this.options.externalControl){this.options.externalControl.observe(b.key,a)}}.bind(this))},removeForm:function(){if(!this._form){return}
this._form.remove();this._form=null;this._controls={}},showSaving:function(){this._oldInnerHTML=this.element.innerHTML;this.element.innerHTML=this.options.savingText;this.element.addClassName(this.options.savingClassName);this.element.style.backgroundColor=this._originalBackground;this.element.show()},triggerCallback:function(b,a){if("function"==typeof this.options[b]){this.options[b](this,a)}},unregisterListeners:function(){$H(this._listeners).each(function(a){if(!this.options.externalControlOnly){this.element.stopObserving(a.key,a.value)}
if(this.options.externalControl){this.options.externalControl.stopObserving(a.key,a.value)}}.bind(this))},wrapUp:function(a){this.leaveEditMode();this._boundComplete(a,this.element)}});Object.extend(Ajax.InPlaceEditor.prototype,{dispose:Ajax.InPlaceEditor.prototype.destroy});Ajax.InPlaceCollectionEditor=Class.create(Ajax.InPlaceEditor,{initialize:function($super,c,b,a){this._extraDefaultOptions=Ajax.InPlaceCollectionEditor.DefaultOptions;$super(c,b,a)},createEditField:function(){var a=document.createElement("select");a.name=this.options.paramName;a.size=1;this._controls.editor=a;this._collection=this.options.collection||[];if(this.options.loadCollectionURL){this.loadCollection()}else{this.checkForExternalText()}
this._form.appendChild(this._controls.editor)},loadCollection:function(){this._form.addClassName(this.options.loadingClassName);this.showLoadingText(this.options.loadingCollectionText);var options=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(options,{parameters:"editorId="+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(transport){var js=transport.responseText.strip();if(!/^\[.*\]$/.test(js)){throw("Server returned an invalid collection representation.")}
this._collection=eval(js);this.checkForExternalText()}.bind(this),onFailure:this.onFailure});new Ajax.Request(this.options.loadCollectionURL,options)},showLoadingText:function(b){this._controls.editor.disabled=true;var a=this._controls.editor.firstChild;if(!a){a=document.createElement("option");a.value="";this._controls.editor.appendChild(a);a.selected=true}
a.update((b||"").stripScripts().stripTags())},checkForExternalText:function(){this._text=this.getText();if(this.options.loadTextURL){this.loadExternalText()}else{this.buildOptionList()}},loadExternalText:function(){this.showLoadingText(this.options.loadingText);var a=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(a,{parameters:"editorId="+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(b){this._text=b.responseText.strip();this.buildOptionList()}.bind(this),onFailure:this.onFailure});new Ajax.Request(this.options.loadTextURL,a)},buildOptionList:function(){this._form.removeClassName(this.options.loadingClassName);this._collection=this._collection.map(function(d){return 2===d.length?d:[d,d].flatten()});var b=("value"in this.options)?this.options.value:this._text;var a=this._collection.any(function(d){return d[0]==b}.bind(this));this._controls.editor.update("");var c;this._collection.each(function(e,d){c=document.createElement("option");c.value=e[0];c.selected=a?e[0]==b:0==d;c.appendChild(document.createTextNode(e[1]));this._controls.editor.appendChild(c)}.bind(this));this._controls.editor.disabled=false;Field.scrollFreeActivate(this._controls.editor)}});Ajax.InPlaceEditor.prototype.initialize.dealWithDeprecatedOptions=function(a){if(!a){return}
function b(c,d){if(c in a||d===undefined){return}
a[c]=d}
b("cancelControl",(a.cancelLink?"link":(a.cancelButton?"button":a.cancelLink==a.cancelButton==false?false:undefined)));b("okControl",(a.okLink?"link":(a.okButton?"button":a.okLink==a.okButton==false?false:undefined)));b("highlightColor",a.highlightcolor);b("highlightEndColor",a.highlightendcolor)};Object.extend(Ajax.InPlaceEditor,{DefaultOptions:{ajaxOptions:{},autoRows:3,cancelControl:"link",cancelText:"cancel",clickToEditText:"Click to edit",externalControl:null,externalControlOnly:false,fieldPostCreation:"activate",formClassName:"inplaceeditor-form",formId:null,highlightColor:"#ffff99",highlightEndColor:"#ffffff",hoverClassName:"",htmlResponse:true,loadingClassName:"inplaceeditor-loading",loadingText:"Loading...",okControl:"button",okText:"ok",paramName:"value",rows:1,savingClassName:"inplaceeditor-saving",savingText:"Saving...",size:0,stripLoadedTextTags:false,submitOnBlur:false,textAfterControls:"",textBeforeControls:"",textBetweenControls:""},DefaultCallbacks:{callback:function(a){return Form.serialize(a)},onComplete:function(b,a){new Effect.Highlight(a,{startcolor:this.options.highlightColor,keepBackgroundImage:true})},onEnterEditMode:null,onEnterHover:function(a){a.element.style.backgroundColor=a.options.highlightColor;if(a._effect){a._effect.cancel()}},onFailure:function(b,a){alert("Error communication with the server: "+b.responseText.stripTags())},onFormCustomization:null,onLeaveEditMode:null,onLeaveHover:function(a){a._effect=new Effect.Highlight(a.element,{startcolor:a.options.highlightColor,endcolor:a.options.highlightEndColor,restorecolor:a._originalBackground,keepBackgroundImage:true})}},Listeners:{click:"enterEditMode",keydown:"checkForEscapeOrReturn",mouseover:"enterHover",mouseout:"leaveHover"}});Ajax.InPlaceCollectionEditor.DefaultOptions={loadingCollectionText:"Loading options..."};Form.Element.DelayedObserver=Class.create({initialize:function(b,a,c){this.delay=a||0.5;this.element=$(b);this.callback=c;this.timer=null;this.lastValue=$F(this.element);Event.observe(this.element,"keyup",this.delayedListener.bindAsEventListener(this))},delayedListener:function(a){if(this.lastValue==$F(this.element)){return}
if(this.timer){clearTimeout(this.timer)}
this.timer=setTimeout(this.onTimerEvent.bind(this),this.delay*1000);this.lastValue=$F(this.element)},onTimerEvent:function(){this.timer=null;this.callback(this.element,$F(this.element))}});if(!Control){var Control={}}
Control.Slider=Class.create({initialize:function(d,a,b){var c=this;if(Object.isArray(d)){this.handles=d.collect(function(f){return $(f)})}else{this.handles=[$(d)]}
this.track=$(a);this.options=b||{};this.axis=this.options.axis||"horizontal";this.increment=this.options.increment||1;this.step=parseInt(this.options.step||"1");this.range=this.options.range||$R(0,1);this.value=0;this.values=this.handles.map(function(){return 0});this.spans=this.options.spans?this.options.spans.map(function(e){return $(e)}):false;this.options.startSpan=$(this.options.startSpan||null);this.options.endSpan=$(this.options.endSpan||null);this.restricted=this.options.restricted||false;this.maximum=this.options.maximum||this.range.end;this.minimum=this.options.minimum||this.range.start;this.alignX=parseInt(this.options.alignX||"0");this.alignY=parseInt(this.options.alignY||"0");this.trackLength=this.maximumOffset()-this.minimumOffset();this.handleLength=this.isVertical()?(this.handles[0].offsetHeight!=0?this.handles[0].offsetHeight:this.handles[0].style.height.replace(/px$/,"")):(this.handles[0].offsetWidth!=0?this.handles[0].offsetWidth:this.handles[0].style.width.replace(/px$/,""));this.active=false;this.dragging=false;this.disabled=false;if(this.options.disabled){this.setDisabled()}
this.allowedValues=this.options.values?this.options.values.sortBy(Prototype.K):false;if(this.allowedValues){this.minimum=this.allowedValues.min();this.maximum=this.allowedValues.max()}
this.eventMouseDown=this.startDrag.bindAsEventListener(this);this.eventMouseUp=this.endDrag.bindAsEventListener(this);this.eventMouseMove=this.update.bindAsEventListener(this);this.handles.each(function(f,e){e=c.handles.length-1-e;c.setValue(parseFloat((Object.isArray(c.options.sliderValue)?c.options.sliderValue[e]:c.options.sliderValue)||c.range.start),e);f.makePositioned().observe("mousedown",c.eventMouseDown)});this.track.observe("mousedown",this.eventMouseDown);document.observe("mouseup",this.eventMouseUp);document.observe("mousemove",this.eventMouseMove);this.initialized=true},dispose:function(){var a=this;Event.stopObserving(this.track,"mousedown",this.eventMouseDown);Event.stopObserving(document,"mouseup",this.eventMouseUp);Event.stopObserving(document,"mousemove",this.eventMouseMove);this.handles.each(function(b){Event.stopObserving(b,"mousedown",a.eventMouseDown)})},setDisabled:function(){this.disabled=true},setEnabled:function(){this.disabled=false},getNearestValue:function(a){if(this.allowedValues){if(a>=this.allowedValues.max()){return(this.allowedValues.max())}
if(a<=this.allowedValues.min()){return(this.allowedValues.min())}
var c=Math.abs(this.allowedValues[0]-a);var b=this.allowedValues[0];this.allowedValues.each(function(d){var e=Math.abs(d-a);if(e<=c){b=d;c=e}});return b}
if(a>this.range.end){return this.range.end}
if(a<this.range.start){return this.range.start}
return a},setValue:function(b,a){if(!this.active){this.activeHandleIdx=a||0;this.activeHandle=this.handles[this.activeHandleIdx];this.updateStyles()}
a=a||this.activeHandleIdx||0;if(this.initialized&&this.restricted){if((a>0)&&(b<this.values[a-1])){b=this.values[a-1]}
if((a<(this.handles.length-1))&&(b>this.values[a+1])){b=this.values[a+1]}}
b=this.getNearestValue(b);this.values[a]=b;this.value=this.values[0];this.handles[a].style[this.isVertical()?"top":"left"]=this.translateToPx(b);this.drawSpans();if(!this.dragging||!this.event){this.updateFinished()}},setValueBy:function(b,a){this.setValue(this.values[a||this.activeHandleIdx||0]+b,a||this.activeHandleIdx||0)},translateToPx:function(a){return Math.round(((this.trackLength-this.handleLength)/(this.range.end-this.range.start))*(a-this.range.start))+"px"},translateToValue:function(a){return((a/(this.trackLength-this.handleLength)*(this.range.end-this.range.start))+this.range.start)},getRange:function(b){var a=this.values.sortBy(Prototype.K);b=b||0;return $R(a[b],a[b+1])},minimumOffset:function(){return(this.isVertical()?this.alignY:this.alignX)},maximumOffset:function(){return(this.isVertical()?(this.track.offsetHeight!=0?this.track.offsetHeight:this.track.style.height.replace(/px$/,""))-this.alignY:(this.track.offsetWidth!=0?this.track.offsetWidth:this.track.style.width.replace(/px$/,""))-this.alignX)},isVertical:function(){return(this.axis=="vertical")},drawSpans:function(){var a=this;if(this.spans){$R(0,this.spans.length-1).each(function(b){a.setSpan(a.spans[b],a.getRange(b))})}
if(this.options.startSpan){this.setSpan(this.options.startSpan,$R(0,this.values.length>1?this.getRange(0).min():this.value))}
if(this.options.endSpan){this.setSpan(this.options.endSpan,$R(this.values.length>1?this.getRange(this.spans.length-1).max():this.value,this.maximum))}},setSpan:function(b,a){if(this.isVertical()){b.style.top=this.translateToPx(a.start);b.style.height=this.translateToPx(a.end-a.start+this.range.start)}else{b.style.left=this.translateToPx(a.start);b.style.width=this.translateToPx(a.end-a.start+this.range.start)}},updateStyles:function(){this.handles.each(function(a){Element.removeClassName(a,"selected")});Element.addClassName(this.activeHandle,"selected")},startDrag:function(c){if(Event.isLeftClick(c)){if(!this.disabled){this.active=true;var d=Event.element(c);var e=[Event.pointerX(c),Event.pointerY(c)];var a=d;if(a==this.track){var b=Position.cumulativeOffset(this.track);this.event=c;this.setValue(this.translateToValue((this.isVertical()?e[1]-b[1]:e[0]-b[0])-(this.handleLength/2)));var b=Position.cumulativeOffset(this.activeHandle);this.offsetX=(e[0]-b[0]);this.offsetY=(e[1]-b[1])}else{while((this.handles.indexOf(d)==-1)&&d.parentNode){d=d.parentNode}
if(this.handles.indexOf(d)!=-1){this.activeHandle=d;this.activeHandleIdx=this.handles.indexOf(this.activeHandle);this.updateStyles();var b=Position.cumulativeOffset(this.activeHandle);this.offsetX=(e[0]-b[0]);this.offsetY=(e[1]-b[1])}}}
Event.stop(c)}},update:function(a){if(this.active){if(!this.dragging){this.dragging=true}
this.draw(a);if(Prototype.Browser.WebKit){window.scrollBy(0,0)}
Event.stop(a)}},draw:function(b){var c=[Event.pointerX(b),Event.pointerY(b)];var a=Position.cumulativeOffset(this.track);c[0]-=this.offsetX+a[0];c[1]-=this.offsetY+a[1];this.event=b;this.setValue(this.translateToValue(this.isVertical()?c[1]:c[0]));if(this.initialized&&this.options.onSlide){this.options.onSlide(this.values.length>1?this.values:this.value,this)}},endDrag:function(a){if(this.active&&this.dragging){this.finishDrag(a,true);Event.stop(a)}
this.active=false;this.dragging=false},finishDrag:function(a,b){this.active=false;this.dragging=false;this.updateFinished()},updateFinished:function(){if(this.initialized&&this.options.onChange){this.options.onChange(this.values.length>1?this.values:this.value,this)}
this.event=null}});function setNameInitialValue(initial){$("newSearch_advanced_nameInitial").value=initial;$("newSearch_filterStatus_advanced_nameInitial").checked=true;cliquearBoton();}
function toggleAvailabilityHotelSearch(b,a){if(document.getElementById(b).style.display=="block"){document.getElementById(b).style.display="none";document.getElementById(a).style.display="block"}
return false}
function showStreetViewComponent(a){if(document.getElementById(a).style.display=="none"){document.getElementById(a).style.display="block"}}
function toggleLocationCategory(a,b){if(document.getElementById(b).style.display=="block"){document.getElementById(b).style.display="none";a.style.listStyleImage="url(/images/common/ico_mas.gif)"}else{document.getElementById(b).style.display="block";a.style.listStyleImage="url(/images/common/ico_menos.gif)"}
return false}
function toggleSectionById(a,b){if(document.getElementById(b).style.display=="none"){a.style.background="transparent url(/images/common/ico-arrow-180.gif) no-repeat scroll left center"}else{a.style.background="transparent url(/images/common/ico-arrow.gif) no-repeat scroll left center"}
Effect.toggle(b,"blind");return false}
function toggleCitiesInStateSearchAlsoView(b,a){if(document.getElementById(b).style.display=="block"){document.getElementById(b).style.display="none";document.getElementById(a).style.display="block"}
return false}
function DesplegarCategoria(a){if(document.getElementById("cat_"+a).style.display=="block"){document.getElementById("cat_"+a).style.display="none"}else{document.getElementById("cat_"+a).style.display="block"}}
function nextSection(next){var letters=$("reservation[card_number][section"+eval(next-1)+"]").value.length;if(letters==4){$("reservation[card_number][section"+next+"]").focus()}}
function nextCardField(a){var b=$("reservation[card_number][section"+a+"]").value.length;if(b==4){$("reservation_card_owner").focus()}}
function appendLightboxLoadingText(){}
function removeLightboxLoadingText(){}
function beforeAjaxSearch(a){appendLightboxLoadingText();window.location.hash=a}
function afterAjaxSearch(){removeLightboxLoadingText();$$("select","object","embed").each(function(a){a.style.visibility="visible"});$("lightbox").hide();$("overlay").hide()
window.location.href="#centercol";}
function beforeFilterSearch(){appendLightboxLoadingText()}
function afterFilterSearch(){removeLightboxLoadingText();$$("select","object","embed").each(function(a){a.style.visibility="visible"});$("lightbox").hide();$("overlay").hide();$("indicador_carga").style.display="none"}
function afterFilterRemove(b,a){removeLightboxLoadingText();$$("select","object","embed").each(function(c){c.style.visibility="visible"});updateSearchFilters(b,a);$("lightbox").hide();$("overlay").hide();$("indicador_carga").style.display="none"}
function updateSearchFilters(d,c){if($("newSearch_advanced_"+c)!=null){$("newSearch_advanced_"+c).value="";$("newSearch_advanced_"+c).selectedIndex="-1"}
var e=document.getElementsByName(d+"[advanced]["+c+"][]");var a=e.length;var b;for(b=0;b<a;b++){e[b].checked=false}
$("newSearch_filterStatus_advanced_"+c).checked=false;$("indicador_carga").style.display="none"}
function afterFilterPriceRemove(b,a){removeLightboxLoadingText();$$("select","object","embed").each(function(c){c.style.visibility="visible"});$("newSearch_availability_"+a).value="";$("newSearch_availability_"+a).selectedIndex="-1";$("newSearch_filterStatus_availability_"+a).checked=false;$("lightbox").hide();$("overlay").hide();$("indicador_carga").style.display="none"}
function beforeFilterPriceSearch(){$("overlay").show();$("lightbox").show()}
function showAvailabilityMoreRooms(b,c,a){b.parentNode.style.display="none";$(c).style.display="block";$(a).style.display="none";return false}
function updateCurrencies(){var a=1;if($("current_page")){a=$("current_page").value}
if($("updating_prices_message")){$("updating_prices_message").show()}
if($("selected_currency_id")){var b=$("selected_currency_id").value;var c=new Ajax.Updater("advanced_search_hotel_result","search/doAdvancedSearch/formName/newSearch/divId/advanced_search_hotel_result/selected_currency_id/"+b+"/page/"+a,{asynchronous:true,evalScripts:true,method:"GET",onComplete:function(e,d){$("updating_prices_message").hide()}})}
return false}
function updateSort(){var a=1;if($("current_page")){a=$("current_page").value}
if($("updating_prices_message")){$("updating_prices_message").show()}
if($("selected_orden_id")){var b=$("selected_orden_id").value;var c=new Ajax.Updater("advanced_search_hotel_result","search/doAdvancedSearch/formName/newSearch/divId/advanced_search_hotel_result/sort/"+b+"/reutilizarFiltros/1/",{asynchronous:true,evalScripts:true,method:"POST",onComplete:function(e,d){$("updating_prices_message").hide()}})}
return false}
function daysOfMonth(anho,mes){var dias_febrero;var dias_febrero
if((((anho%4)==0)&&((anho%100)!=0))&&((anho%400)==0)){dias_febrero=29;}else{dias_febrero=28;}
switch(mes){case 1:return 31;break;case 2:return dias_febrero;break;case 3:return 31;break;case 4:return 30;break;case 5:return 31;break;case 6:return 30;break;case 7:return 31;break;case 8:return 31;break;case 9:return 30;break;case 10:return 31;break;case 11:return 30;break;case 12:return 31;break;default:alert('Mes no encontrado');}}
function monthsOfYear(){var months=new Array('enero','febrero','marzo','abril','mayo','junio','julio','agosto','septiembre','octubre','noviembre','diciembre');return months;}
function daysOfWeek(lang){var dias;switch(lang){case'es':dias=new Array('Dom','Lun','Mar','Mié','Jue','Vie','Sáb');break;case'en':dias=new Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat');break;default:dias=new Array('Dom','Lun','Mar','Mié','Jue','Vie','Sáb');}
return dias;}
function getDaysOfMonthOptions(month,year,lang){Days=new Array();daysNames=daysOfWeek(lang);daysPerMonth=daysOfMonth(year,month);day=0;for(day;day<daysPerMonth;day++)
{date=new Date(year,month-1,day+1);Days[day]=daysNames[date.getDay()]+' '+parseInt(day+1,10);}
return Days;}
function onMonthChange(selectDayId,selectMonthId,from){var day=new Date();var selectMonthElement=document.getElementById(selectMonthId);var index=selectMonthElement.selectedIndex;var selectedMonth=selectMonthElement.options[index].value;var fSlashIndex=selectedMonth.indexOf('/');var month=parseInt(selectedMonth.substring(fSlashIndex+1),10);var year=parseInt(selectedMonth.substring(0,fSlashIndex),10);lang='es';var selectDayElementValue=document.getElementById(selectDayId).value-1;var selectDayElement=document.getElementById(selectDayId);selectDayElement.length=0;var DaysOpts=getDaysOfMonthOptions(month,year,lang);var i=0;var to=DaysOpts.length;if(from!==undefined){var i;if(from=='last'){i=0;}
else{i=parseInt(document.getElementById(from).value);}
to=DaysOpts.length;if(i==to){i=0;selectDayElementValue=0;}}
var selected=true;var j=0;for(i;i<to;i++){if(i==selectDayElementValue){selected=true;}
else{selected=false;}
selectDayElement.options[j]=new Option(DaysOpts[i],i+1,selected,selected);j++;}}
function updateDate(id,idDay,idYearM){date=document.getElementById(id).value;fidx=date.indexOf('/');dayU=parseInt(date.substring(0,fidx),10);lidx=date.lastIndexOf('/');monthU=parseInt(date.substring(fidx+1,lidx),10);yearU=date.substring(lidx+1);yearMonth=yearU+'/'+monthU;document.getElementById(idYearM).value=yearMonth;onMonthChange(idDay,idYearM);document.getElementById(idDay).value=dayU;}
function updateEstancia(formName){if(formName==null){var formName='buscarDisponibilidad';}
var estancia=formName+'_estancia';inDateDay=formName+"_availability_in_date_day",inDateYearMonth=formName+"_availability_in_date_year_month",outDateDay=formName+"_availability_out_date_day",outDateYearMonth=formName+"_availability_out_date_year_month"
daySelectedIdx=$(inDateDay).selectedIndex;dayIn=parseInt($(inDateDay).options[daySelectedIdx].value,10);YMSelectedIdx=$(inDateYearMonth).selectedIndex;YearMonthIn=$(inDateYearMonth).options[YMSelectedIdx].value;fSlashIndex=YearMonthIn.indexOf('/');monthInWithOutfSlash=parseInt(YearMonthIn.substring(fSlashIndex+1),10);yearInWithOutfSlash=parseInt(YearMonthIn.substring(0,fSlashIndex),10);daySelectedIdx=$(outDateDay).selectedIndex;dayOut=parseInt($(outDateDay).options[daySelectedIdx].value,10);YMSelectedIdx=$(outDateYearMonth).selectedIndex;YearMonthOut=$(outDateYearMonth).options[YMSelectedIdx].value;fSlashIndex=YearMonthOut.indexOf('/');monthOutWithOutfSlash=parseInt(YearMonthOut.substring(fSlashIndex+1),10);yearOutWithOutfSlash=parseInt(YearMonthOut.substring(0,fSlashIndex),10);date1=new Date(yearInWithOutfSlash,monthInWithOutfSlash-1,dayIn);date2=new Date(yearOutWithOutfSlash,monthOutWithOutfSlash-1,dayOut);diff=new Date();var text="";timeDiff=date2.getTime()-date1.getTime();if(timeDiff<0){days=0;text+=days+" "+nightText+"s";}
else{days=Math.floor(timeDiff/(1000*60*60*24));text+=days+" "+nightText;if(days>1)
text+="s";}
document.getElementById(estancia).innerHTML=text;outDate=formName+"_availability_out";$(outDate).value=dayOut+'/'+monthOutWithOutfSlash+'/'+yearOutWithOutfSlash;}
function updateAvailabilityIn(formName){if(formName==null){formName='buscarDisponibilidad';}
inDateDay=formName+"_availability_in_date_day",inDateYearMonth=formName+"_availability_in_date_year_month",outDateDay=formName+"_availability_out_date_day",outDateYearMonth=formName+"_availability_out_date_year_month"
dayIn=parseInt($(inDateDay).value,10);YearMonthIn=$(inDateYearMonth).value;fSlashIndex=YearMonthIn.indexOf('/');monthWithOutfSlash=parseInt(YearMonthIn.substring(fSlashIndex+1),10);yearWithOutfSlash=parseInt(YearMonthIn.substring(0,fSlashIndex),10);dateIn=new Date(yearWithOutfSlash,monthWithOutfSlash,dayIn);if(((dayIn+1)>daysOfMonth(yearWithOutfSlash,monthWithOutfSlash))&&(monthWithOutfSlash!=12)){$(outDateYearMonth).value=yearWithOutfSlash+'/'+(monthWithOutfSlash+1);onMonthChange(outDateDay,outDateYearMonth,'last');$(outDateDay).value=1;}
else if(((dayIn+1)>daysOfMonth(yearWithOutfSlash,monthWithOutfSlash))&&(monthWithOutfSlash==12)){$(outDateYearMonth).value=yearWithOutfSlash+1+'/'+1;onMonthChange(outDateDay,outDateYearMonth,inDateDay);$(outDateDay).value=1;}
else{$(outDateYearMonth).value=yearWithOutfSlash+'/'+monthWithOutfSlash;onMonthChange(outDateDay,outDateYearMonth,inDateDay);$(outDateDay).value=dayIn+1;}
inDate=formName+"_availability_in";$(inDate).value=dayIn+'/'+monthWithOutfSlash+'/'+yearWithOutfSlash;updateEstancia(formName);}
function isValidDate(dateStr){var datePat=/^(\d{1,2})(\/)(\d{1,2})\\2(\d{4})$/;var matchArray=dateStr.match(datePat);if(matchArray==null){return false;}
month=matchArray[3];day=matchArray[1];year=matchArray[4];if(month<1||month>12){return false;}
if(day<1||day>31){return false;}
if((month==4||month==6||month==9||month==11)&&day==31){return false;}
if(month==2){var isleap=(year%4==0&&(year%100!=0||year%400==0));if(day>29||(day==29&&!isleap)){return false;}}
return true;}
function parseDate(dateStr){var datePat=/^(\d{1,2})(\/)(\d{1,2})\\2(\d{4})$/;var matchArray=dateStr.match(datePat);month=matchArray[3];month--;day=matchArray[1];year=matchArray[4];return new Date(year,month,day);}
function showImageInGallery(b){var a=new Slideshow(b-1);a.setPhoto(b-1);soundManager.play("select");return false}
function showMapContinent(a){$("mapamundi").src="/images/continents/continent_"+a+".png"}
function showCountriesInContinent(a){$$(".box_continent_content").each(function(b){b.style.display="none"});$("countries_"+a).style.display="block";return false}
function changeImg(f,e){var c=document.getElementById(f);var b=c.src;var d=b.lastIndexOf("-");var a=b.substring(0,d);if(e==false){a+="-inactivo.gif"}else{a+="-activo.gif"}
c.src=a}
function submitPressed(a){a.disabled=true;document.getElementById('button_pressed_indicator').style.display='block';a.form.submit()}
var thisURL=document.location.href;var splitURL=thisURL.split("#");var photoId=splitURL[1]-1;var photoId=(!photoId||photoId<0)?0:photoId;var borderSize=0;Object.extend(Element,{getWidth:function(a){a=$(a);return a.offsetWidth},setWidth:function(b,a){b=$(b);b.style.width=a+"px"},setHeight:function(a,b){a=$(a);a.style.height=b+"px"},setSrc:function(a,b){a=$(a);a.src=b},setHref:function(b,a){b=$(b);b.href=a},setInnerHTML:function(a,b){a=$(a);a.innerHTML=b}});var Slideshow=Class.create();Slideshow.prototype={initialize:function(a){this.photoId=a;this.photo="Photo";this.photoBox="Container";this.prevLink="PrevLink";this.nextLink="NextLink";this.captionBox="CaptionContainer";this.caption="Caption";this.counter="Counter";this.loader="Loading"},getCurrentSize:function(){this.wCur=Element.getWidth(this.photoBox)-borderSize;this.hCur=Element.getHeight(this.photoBox)-borderSize},getNewSize:function(){this.wNew=photoArray[photoId][1];this.hNew=photoArray[photoId][2]},getScaleFactor:function(){this.getCurrentSize();this.getNewSize();this.xScale=(this.wNew/this.wCur)*100;this.yScale=(this.hNew/this.hCur)*100},setNewPhotoParams:function(){Element.setSrc(this.photo,photoDir+photoArray[photoId][0]);Element.setHref(this.prevLink,"#"+(photoId+1));Element.setHref(this.nextLink,"#"+(photoId+1))},setPhotoCaption:function(){Element.setInnerHTML(this.caption,photoArray[photoId][3]);Element.setInnerHTML(this.counter,((photoId+1)+"/"+photoNum))},resizePhotoBox:function(){this.getScaleFactor();new Effect.Scale(this.photoBox,this.yScale,{scaleX:false,duration:0.3,queue:"front"});new Effect.Scale(this.photoBox,this.xScale,{scaleY:false,delay:0.5,duration:0.3});Element.setWidth(this.captionBox,this.wNew-(-borderSize))},showPhoto:function(){new Effect.Fade(this.loader,{delay:0.5,duration:0.3});new Effect.Appear(this.photo,{duration:0.5,queue:"end",afterFinish:function(){Element.show("CaptionContainer");Element.show("PrevLink");Element.show("NextLink")}})},nextPhoto:function(){(photoId==(photoArray.length-1))?photoId=0:photoId++;this.initSwap()},prevPhoto:function(){(photoId==0)?photoId=photoArray.length-1:photoId--;this.initSwap()},setPhoto:function(a){photoId=a;this.initSwap()},initSwap:function(){Element.show(this.loader);Element.hide(this.photo);Element.hide(this.captionBox);Element.hide(this.prevLink);Element.hide(this.nextLink);this.setNewPhotoParams();this.resizePhotoBox();this.setPhotoCaption()}};LightboxOptions=Object.extend({fileLoadingImage:"/images/lightbox/loading.gif",fileBottomNavCloseImage:"/images/lightbox/closelabel.gif",overlayOpacity:0.8,animate:true,resizeSpeed:7,borderSize:10,labelImage:"Image",labelOf:"of"},window.LightboxOptions||{});var Lightbox=Class.create();Lightbox.prototype={imageArray:[],activeImage:undefined,initialize:function(){this.updateImageList();this.keyboardAction=this.keyboardAction.bindAsEventListener(this);if(LightboxOptions.resizeSpeed>10){LightboxOptions.resizeSpeed=10}
if(LightboxOptions.resizeSpeed<1){LightboxOptions.resizeSpeed=1}
this.resizeDuration=LightboxOptions.animate?((11-LightboxOptions.resizeSpeed)*0.15):0;this.overlayDuration=LightboxOptions.animate?0.2:0;var b=(LightboxOptions.animate?250:1)+"px";var a=$$("body")[0];a.appendChild(Builder.node("div",{id:"overlay"}));a.appendChild(Builder.node("div",{id:"lightbox"},[Builder.node("div",{id:"outerImageContainer"},Builder.node("div",{id:"imageContainer"},[Builder.node("img",{id:"lightboxImage"}),Builder.node("div",{id:"hoverNav"},[Builder.node("a",{id:"prevLink",href:"#"}),Builder.node("a",{id:"nextLink",href:"#"})]),Builder.node("div",{id:"loading"},[Builder.node("a",{id:"loadingLink",href:"#"},Builder.node("img",{src:LightboxOptions.fileLoadingImage})),Builder.node("p",{id:"loadingText"},"Actualizando resultados...")])])),Builder.node("div",{id:"imageDataContainer"},Builder.node("div",{id:"imageData"},[Builder.node("div",{id:"imageDetails"},[Builder.node("span",{id:"caption"}),Builder.node("span",{id:"numberDisplay"})]),Builder.node("div",{id:"bottomNav"},Builder.node("a",{id:"bottomNavClose",href:"#"},Builder.node("img",{src:LightboxOptions.fileBottomNavCloseImage})))]))]));$("overlay").hide().observe("click",(function(){this.end()}).bind(this));$("lightbox").hide().observe("click",(function(d){if(d.element().id=="lightbox"){this.end()}}).bind(this));$("outerImageContainer").setStyle({width:b,height:b});$("prevLink").observe("click",(function(d){d.stop();this.changeImage(this.activeImage-1)}).bindAsEventListener(this));$("nextLink").observe("click",(function(d){d.stop();this.changeImage(this.activeImage+1)}).bindAsEventListener(this));$("loadingLink").observe("click",(function(d){d.stop();this.end()}).bind(this));$("bottomNavClose").observe("click",(function(d){d.stop();this.end()}).bind(this));var c=this;(function(){var d="overlay lightbox outerImageContainer imageContainer lightboxImage hoverNav prevLink nextLink loading loadingLink imageDataContainer imageData imageDetails caption numberDisplay bottomNav bottomNavClose";$w(d).each(function(e){c[e]=$(e)})}).defer()},updateImageList:function(){this.updateImageList=Prototype.emptyFunction;document.observe("click",(function(a){var b=a.findElement("a[rel^=lightbox]")||a.findElement("area[rel^=lightbox]")||a.findElement("input[rel^=lightbox]");if(b){this.start(b)}}).bind(this))},start:function(f){$$("select","object","embed").each(function(g){g.style.visibility="hidden"});var c=this.getPageSize();$("overlay").setStyle({width:c[0]+"px",height:c[1]+"px"});new Effect.Appear(this.overlay,{duration:this.overlayDuration,from:0,to:LightboxOptions.overlayOpacity});this.imageArray=[];var b=0;var a=document.viewport.getScrollOffsets();var e=a[1]+(document.viewport.getHeight()/10);var d=a[0];this.lightbox.setStyle({top:e+"px",left:d+"px"}).show();this.changeImage(b)},changeImage:function(b){this.activeImage=b;if(LightboxOptions.animate){this.loading.show()}
this.lightboxImage.hide();this.hoverNav.hide();this.prevLink.hide();this.nextLink.hide();this.imageDataContainer.setStyle({opacity:0.0001});this.numberDisplay.hide();var a=new Image()},resizeImageContainer:function(e,f){var j=this.outerImageContainer.getWidth();var c=this.outerImageContainer.getHeight();var g=(e+LightboxOptions.borderSize*2);var l=(f+LightboxOptions.borderSize*2);var m=(g/j)*100;var b=(l/c)*100;var k=j-g;var a=c-l;if(a!=0){new Effect.Scale(this.outerImageContainer,b,{scaleX:false,duration:this.resizeDuration,queue:"front"})}
if(k!=0){new Effect.Scale(this.outerImageContainer,m,{scaleY:false,duration:this.resizeDuration,delay:this.resizeDuration})}
var d=0;if((a==0)&&(k==0)){d=100;if(Prototype.Browser.IE){d=250}}(function(){this.prevLink.setStyle({height:f+"px"});this.nextLink.setStyle({height:f+"px"});this.imageDataContainer.setStyle({width:g+"px"});this.showImage()}).bind(this).delay(d/1000)},showImage:function(){this.loading.hide();new Effect.Appear(this.lightboxImage,{duration:this.resizeDuration,queue:"end",afterFinish:(function(){this.updateDetails()}).bind(this)});this.preloadNeighborImages()},updateDetails:function(){if(this.imageArray[this.activeImage][1]!=""){this.caption.update(this.imageArray[this.activeImage][1]).show()}
if(this.imageArray.length>1){this.numberDisplay.update(LightboxOptions.labelImage+" "+(this.activeImage+1)+" "+LightboxOptions.labelOf+"  "+this.imageArray.length).show()}
new Effect.Parallel([new Effect.SlideDown(this.imageDataContainer,{sync:true,duration:this.resizeDuration,from:0,to:1}),new Effect.Appear(this.imageDataContainer,{sync:true,duration:this.resizeDuration})],{duration:this.resizeDuration,afterFinish:(function(){var a=this.getPageSize();this.overlay.setStyle({height:a[1]+"px"});this.updateNav()}).bind(this)})},updateNav:function(){this.hoverNav.show();if(this.activeImage>0){this.prevLink.show()}
if(this.activeImage<(this.imageArray.length-1)){this.nextLink.show()}
this.enableKeyboardNav()},enableKeyboardNav:function(){document.observe("keydown",this.keyboardAction)},disableKeyboardNav:function(){document.stopObserving("keydown",this.keyboardAction)},keyboardAction:function(d){var a=d.keyCode;var b;if(d.DOM_VK_ESCAPE){b=d.DOM_VK_ESCAPE}else{b=27}
var c=String.fromCharCode(a).toLowerCase();if(c.match(/x|o|c/)||(a==b)){this.end()}else{if((c=="p")||(a==37)){if(this.activeImage!=0){this.disableKeyboardNav();this.changeImage(this.activeImage-1)}}else{if((c=="n")||(a==39)){if(this.activeImage!=(this.imageArray.length-1)){this.disableKeyboardNav();this.changeImage(this.activeImage+1)}}}}},preloadNeighborImages:function(){var a,b;if(this.imageArray.length>this.activeImage+1){a=new Image();a.src=this.imageArray[this.activeImage+1][0]}
if(this.activeImage>0){b=new Image();b.src=this.imageArray[this.activeImage-1][0]}},end:function(){this.disableKeyboardNav();this.lightbox.hide();new Effect.Fade(this.overlay,{duration:this.overlayDuration});$$("select","object","embed").each(function(a){a.style.visibility="visible"})},getPageSize:function(){var c,a;if(window.innerHeight&&window.scrollMaxY){c=window.innerWidth+window.scrollMaxX;a=window.innerHeight+window.scrollMaxY}else{if(document.body.scrollHeight>document.body.offsetHeight){c=document.body.scrollWidth;a=document.body.scrollHeight}else{c=document.body.offsetWidth;a=document.body.offsetHeight}}
var b,d;if(self.innerHeight){if(document.documentElement.clientWidth){b=document.documentElement.clientWidth}else{b=self.innerWidth}
d=self.innerHeight}else{if(document.documentElement&&document.documentElement.clientHeight){b=document.documentElement.clientWidth;d=document.documentElement.clientHeight}else{if(document.body){b=document.body.clientWidth;d=document.body.clientHeight}}}
if(a<d){pageHeight=d}else{pageHeight=a}
if(c<b){pageWidth=c}else{pageWidth=b}
return[pageWidth,pageHeight]}};document.observe("dom:loaded",function(){lightbox=new Lightbox()});var isIE=navigator.appName.toLowerCase().indexOf("internet explorer")+1;var isMac=navigator.appVersion.toLowerCase().indexOf("mac")+1;function SoundManager(container){var self=this;this.movies=[];this.container=container;this.unsupported=0;this.defaultName="default";this.FlashObject=function(url){var me=this;this.o=null;this.loaded=false;this.isLoaded=function(){if(me.loaded){return true}
if(!me.o){return false}
me.loaded=((typeof(me.o.readyState)!="undefined"&&me.o.readyState==4)||(typeof(me.o.PercentLoaded)!="undefined"&&me.o.PercentLoaded()==100));return me.loaded};this.mC=document.createElement("div");this.mC.className="movieContainer";with(this.mC.style){position="absolute";left="-256px";width="64px";height="64px"}
var html=['<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"><param name="movie" value="'+url+'"><param name="quality" value="high"></object>','<embed src="'+url+'" width="1" height="1" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed>'];if(navigator.appName.toLowerCase().indexOf("microsoft")+1){this.mC.innerHTML=html[0];this.o=this.mC.getElementsByTagName("object")[0]}else{this.mC.innerHTML=html[1];this.o=this.mC.getElementsByTagName("embed")[0]}
document.getElementsByTagName("div")[0].appendChild(this.mC)};this.addMovie=function(movieName,url){self.movies[movieName]=new self.FlashObject(url)};this.checkMovie=function(movieName){movieName=movieName||self.defaultName;if(!self.movies[movieName]){self.errorHandler("checkMovie","Exception: Could not find movie",arguments);return false}else{return(self.movies[movieName].isLoaded())?self.movies[movieName]:false}};this.errorHandler=function(methodName,message,oArguments,e){writeDebug('<div class="error">soundManager.'+methodName+"("+self.getArgs(oArguments)+"): "+message+(e?" ("+e.name+" - "+(e.message||e.description||"no description"):"")+"."+(e?")":"")+"</div>")};this.play=function(soundID,loopCount,noDebug,movieName){if(self.unsupported){return false}
movie=self.checkMovie(movieName);if(!movie){return false}
if(typeof(movie.o.TCallLabel)!="undefined"){try{self.setVariable(soundID,"loopCount",loopCount||1,movie);movie.o.TCallLabel("/"+soundID,"start");if(!noDebug){writeDebug("soundManager.play("+self.getArgs(arguments)+")")}}catch(e){self.errorHandler("play","Failed: Flash unsupported / undefined sound ID (check XML)",arguments,e)}}};this.stop=function(soundID,movieName){if(self.unsupported){return false}
movie=self.checkMovie(movieName);if(!movie){return false}
try{movie.o.TCallLabel("/"+soundID,"stop");writeDebug("soundManager.stop("+self.getArgs(arguments)+")")}catch(e){self.errorHandler("stop","Failed: Flash unsupported / undefined sound ID (check XML)",arguments,e)}};this.getArgs=function(params){var x=params?params.length:0;if(!x){return""}
var result="";for(var i=0;i<x;i++){result+=(i&&i<x?", ":"")+(params[i].toString().toLowerCase().indexOf("object")+1?typeof(params[i]):params[i])}
return result};this.setVariable=function(soundID,property,value,oMovie){if(!oMovie){return false}
try{oMovie.o.SetVariable("/"+soundID+":"+property,value)}catch(e){self.errorHandler("setVariable","Failed",arguments,e)}};this.setVariableExec=function(soundID,fromMethodName,oMovie){try{oMovie.o.TCallLabel("/"+soundID,"setVariable")}catch(e){self.errorHandler(fromMethodName||"undefined","Failed",arguments,e)}};this.callMethodExec=function(soundID,fromMethodName,oMovie){try{oMovie.o.TCallLabel("/"+soundID,"callMethod")}catch(e){self.errorHandler(fromMethodName||"undefined","Failed",arguments,e)}};this.callMethod=function(soundID,methodName,methodParam,movieName){movie=self.checkMovie(movieName||self.defaultName);if(!movie){return false}
self.setVariable(soundID,"jsProperty",methodName,movie);self.setVariable(soundID,"jsPropertyValue",methodParam,movie);self.callMethodExec(soundID,methodName,movie)};this.setPan=function(soundID,pan,movieName){self.callMethod(soundID,"setPan",pan,movieName)};this.setVolume=function(soundID,volume,movieName){self.callMethod(soundID,"setVolume",volume,movieName)};if(isIE&&isMac){this.unsupported=1}
if(!this.unsupported){this.addMovie(this.defaultName,"soundcontroller.swf")}}
function SoundManagerNull(){this.movies=[];this.container=null;this.unsupported=1;this.FlashObject=function(a){};this.addMovie=function(b,a){};this.play=function(b,a){return false};this.defaultName="default"}
function writeDebug(c){var b=document.getElementById("debugContainer");if(!b){return false}
var a=document.createElement("div");a.innerHTML=c;b.appendChild(a)}
var soundManager=null;function soundManagerInit(){soundManager=new SoundManager()}
Calendar=function(d,c,f,a){this.activeDiv=null;this.currentDateEl=null;this.getDateStatus=null;this.getDateToolTip=null;this.getDateText=null;this.timeout=null;this.onSelected=f||null;this.onClose=a||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 d=="number"?d:Calendar._FD;this.showsOtherMonths=false;this.dateStr=c;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 b=new Array();for(var e=8;e>0;){b[--e]=Calendar._DN[e].substr(0,Calendar._SDN_len)}
Calendar._SDN=b;if(typeof Calendar._SMN_len=="undefined"){Calendar._SMN_len=3}
b=new Array();for(var e=12;e>0;){b[--e]=Calendar._MN[e].substr(0,Calendar._SMN_len)}
Calendar._SMN=b}};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(e){var a=0,d=0;var c=/^div$/i.test(e.tagName);if(c&&e.scrollLeft){a=e.scrollLeft}
if(c&&e.scrollTop){d=e.scrollTop}
var f={x:e.offsetLeft-a,y:e.offsetTop-d};if(e.offsetParent){var b=this.getAbsolutePos(e.offsetParent);f.x+=b.x;f.y+=b.y}
return f};Calendar.isRelated=function(c,a){var d=a.relatedTarget;if(!d){var b=a.type;if(b=="mouseover"){d=a.fromElement}else{if(b=="mouseout"){d=a.toElement}}}
while(d){if(d==c){return true}
d=d.parentNode}
return false};Calendar.removeClass=function(e,d){if(!(e&&e.className)){return}
var a=e.className.split(" ");var b=new Array();for(var c=a.length;c>0;){if(a[--c]!=d){b[b.length]=a[c]}}
e.className=b.join(" ")};Calendar.addClass=function(b,a){Calendar.removeClass(b,a);b.className+=" "+a};Calendar.getElement=function(a){var b=Calendar.is_ie?window.event.srcElement:a.currentTarget;while(b.nodeType!=1||/^div$/i.test(b.tagName)){b=b.parentNode}
return b};Calendar.getTargetElement=function(a){var b=Calendar.is_ie?window.event.srcElement:a.target;while(b.nodeType!=1){b=b.parentNode}
return b};Calendar.stopEvent=function(a){a||(a=window.event);if(Calendar.is_ie){a.cancelBubble=true;a.returnValue=false}else{a.preventDefault();a.stopPropagation()}
return false};Calendar.addEvent=function(a,c,b){if(a.attachEvent){a.attachEvent("on"+c,b)}else{if(a.addEventListener){a.addEventListener(c,b,true)}else{a["on"+c]=b}}};Calendar.removeEvent=function(a,c,b){if(a.detachEvent){a.detachEvent("on"+c,b)}else{if(a.removeEventListener){a.removeEventListener(c,b,true)}else{a["on"+c]=null}}};Calendar.createElement=function(c,b){var a=null;if(document.createElementNS){a=document.createElementNS("http://www.w3.org/1999/xhtml",c)}else{a=document.createElement(c)}
if(typeof b!="undefined"){b.appendChild(a)}
return a};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(a){if(typeof a.month!="undefined"){return a}else{if(typeof a.parentNode.month!="undefined"){return a.parentNode}}
return null};Calendar.findYear=function(a){if(typeof a.year!="undefined"){return a}else{if(typeof a.parentNode.year!="undefined"){return a.parentNode}}
return null};Calendar.showMonthsCombo=function(){var e=Calendar._C;if(!e){return false}
var e=e;var f=e.activeDiv;var d=e.monthsCombo;if(e.hilitedMonth){Calendar.removeClass(e.hilitedMonth,"hilite")}
if(e.activeMonth){Calendar.removeClass(e.activeMonth,"active")}
var c=e.monthsCombo.getElementsByTagName("div")[e.date.getMonth()];Calendar.addClass(c,"active");e.activeMonth=c;var b=d.style;b.display="block";if(f.navtype<0){b.left=f.offsetLeft+"px"}else{var a=d.offsetWidth;if(typeof a=="undefined"){a=50}
b.left=(f.offsetLeft+f.offsetWidth-a)+"px"}
b.top=(f.offsetTop+f.offsetHeight)+"px"};Calendar.showYearsCombo=function(d){var a=Calendar._C;if(!a){return false}
var a=a;var c=a.activeDiv;var f=a.yearsCombo;if(a.hilitedYear){Calendar.removeClass(a.hilitedYear,"hilite")}
if(a.activeYear){Calendar.removeClass(a.activeYear,"active")}
a.activeYear=null;var b=a.date.getFullYear()+(d?1:-1);var k=f.firstChild;var j=false;for(var e=12;e>0;--e){if(b>=a.minYear&&b<=a.maxYear){k.innerHTML=b;k.year=b;k.style.display="block";j=true}else{k.style.display="none"}
k=k.nextSibling;b+=d?a.yearStep:-a.yearStep}
if(j){var l=f.style;l.display="block";if(c.navtype<0){l.left=c.offsetLeft+"px"}else{var g=f.offsetWidth;if(typeof g=="undefined"){g=50}
l.left=(c.offsetLeft+c.offsetWidth-g)+"px"}
l.top=(c.offsetTop+c.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){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){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(o){var a=Calendar._C;if(!a){return}
var c=a.activeDiv;var k=Calendar.getTargetElement(o);if(k==c||k.parentNode==c){Calendar.addClass(c,"hilite active");Calendar.addClass(c.parentNode,"rowhilite")}else{if(typeof c.navtype=="undefined"||(c.navtype!=50&&(c.navtype==0||Math.abs(c.navtype)>2))){Calendar.removeClass(c,"active")}
Calendar.removeClass(c,"hilite");Calendar.removeClass(c.parentNode,"rowhilite")}
o||(o=window.event);if(c.navtype==50&&k!=c){var n=Calendar.getAbsolutePos(c);var q=c.offsetWidth;var p=o.clientX;var r;var m=true;if(p>n.x+q){r=p-n.x-q;m=false}else{r=n.x-p}
if(r<0){r=0}
var f=c._range;var j=c._current;var g=Math.floor(r/10)%f.length;for(var e=f.length;--e>=0;){if(f[e]==j){break}}
while(g-->0){if(m){if(--e<0){e=f.length-1}}else{if(++e>=f.length){e=0}}}
var b=f[e];c.innerHTML=b;a.onUpdateTime()}
var d=Calendar.findMonth(k);if(d){if(d.month!=a.date.getMonth()){if(a.hilitedMonth){Calendar.removeClass(a.hilitedMonth,"hilite")}
Calendar.addClass(d,"hilite");a.hilitedMonth=d}else{if(a.hilitedMonth){Calendar.removeClass(a.hilitedMonth,"hilite")}}}else{if(a.hilitedMonth){Calendar.removeClass(a.hilitedMonth,"hilite")}
var l=Calendar.findYear(k);if(l){if(l.year!=a.date.getFullYear()){if(a.hilitedYear){Calendar.removeClass(a.hilitedYear,"hilite")}
Calendar.addClass(l,"hilite");a.hilitedYear=l}else{if(a.hilitedYear){Calendar.removeClass(a.hilitedYear,"hilite")}}}else{if(a.hilitedYear){Calendar.removeClass(a.hilitedYear,"hilite")}}}
return Calendar.stopEvent(o)};Calendar.tableMouseDown=function(a){if(Calendar.getTargetElement(a)==Calendar.getElement(a)){return Calendar.stopEvent(a)}};Calendar.calDragIt=function(b){var c=Calendar._C;if(!(c&&c.dragging)){return false}
var e;var d;if(Calendar.is_ie){d=window.event.clientY+document.body.scrollTop;e=window.event.clientX+document.body.scrollLeft}else{e=b.pageX;d=b.pageY}
c.hideShowCovered();var a=c.element.style;a.left=(e-c.xOffs)+"px";a.top=(d-c.yOffs)+"px";return Calendar.stopEvent(b)};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(a){Calendar.cellClick(Calendar.getElement(a),a||window.event);if(Calendar.is_ie){document.selection.empty()}};Calendar.dayMouseOver=function(b){var a=Calendar.getElement(b);if(Calendar.isRelated(a,b)||Calendar._C||a.disabled){return false}
if(a.ttip){if(a.ttip.substr(0,1)=="_"){a.ttip=a.caldate.print(a.calendar.ttDateFormat)+a.ttip.substr(1)}
a.calendar.tooltips.innerHTML=a.ttip}
if(a.navtype!=300){Calendar.addClass(a,"hilite");if(a.caldate){Calendar.addClass(a.parentNode,"rowhilite");var c=a.calendar;if(c&&c.getDateToolTip){var e=a.caldate;window.status=e;a.title=c.getDateToolTip(e,e.getFullYear(),e.getMonth(),e.getDate())}}}
return Calendar.stopEvent(b)};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}}};Calendar.cellClick=function(e,p){var c=e.calendar;var j=false;var m=false;var f=null;if(typeof e.navtype=="undefined"){if(c.currentDateEl){Calendar.removeClass(c.currentDateEl,"selected");Calendar.addClass(e,"selected");j=(c.currentDateEl==e);if(!j){c.currentDateEl=e}}
c.date.setDateOnly(e.caldate);f=c.date;var b=!(c.dateClicked=!e.otherMonth);if(!b&&!c.currentDateEl&&c.multiple){c._toggleMultipleDate(new Date(f))}else{m=!e.disabled}
if(b){c._init(c.firstDayOfWeek,f)}}else{if(e.navtype==200){Calendar.removeClass(e,"hilite");c.callCloseHandler();return}
f=new Date(c.date);if(e.navtype==0){f.setDateOnly(new Date())}
c.dateClicked=false;var o=f.getFullYear();var g=f.getMonth();function a(s){var t=f.getDate();var r=f.getMonthDays(s);if(t>r){f.setDate(r)}
f.setMonth(s)}
switch(e.navtype){case 400:Calendar.removeClass(e,"hilite");var q=Calendar._TT.ABOUT;if(typeof q!="undefined"){q+=c.showsTime?Calendar._TT.ABOUT_TIME:""}else{q='Help and about box text is not translated into this language.\nIf you know this language and you feel generous please update\nthe corresponding file in "lang" subdir to match calendar-en.js\nand send it back to <mihai_bazon@yahoo.com> to get it into the distribution  ;-)\n\nThank you!\nhttp://dynarch.com/mishoo/calendar.epl\n'}
alert(q);return;case-2:if(o>c.minYear){f.setFullYear(o-1)}
break;case-1:if(g>0){a(g-1)}else{if(o-->c.minYear){f.setFullYear(o);a(11)}}
break;case 1:if(g<11){a(g+1)}else{if(o<c.maxYear){f.setFullYear(o+1);a(0)}}
break;case 2:if(o<c.maxYear){f.setFullYear(o+1)}
break;case 100:c.setFirstDayOfWeek(e.fdow);return;case 50:var l=e._range;var n=e.innerHTML;for(var k=l.length;--k>=0;){if(l[k]==n){break}}
if(p&&p.shiftKey){if(--k<0){k=l.length-1}}else{if(++k>=l.length){k=0}}
var d=l[k];e.innerHTML=d;c.onUpdateTime();return;case 0:if((typeof c.getDateStatus=="function")&&c.getDateStatus(f,f.getFullYear(),f.getMonth(),f.getDate())){return false}
break}
if(!f.equalsTo(c.date)){c.setDate(f);m=true}else{if(e.navtype==0){m=j=true}}}
if(m){p&&c.callHandler()}
if(j){Calendar.removeClass(e,"hilite");p&&c.callCloseHandler()}};Calendar.prototype.create=function(o){var n=null;if(!o){n=document.getElementsByTagName("body")[0];this.isPopup=true}else{n=o;this.isPopup=false}
this.date=this.dateStr?new Date(this.dateStr):new Date();var r=Calendar.createElement("table");this.table=r;r.cellSpacing=0;r.cellPadding=0;r.calendar=this;Calendar.addEvent(r,"mousedown",Calendar.tableMouseDown);var a=Calendar.createElement("div");this.element=a;a.className="calendar";if(this.isPopup){a.style.position="absolute";a.style.display="none"}
a.appendChild(r);var l=Calendar.createElement("thead",r);var p=null;var s=null;var b=this;var e=function(u,t,j){p=Calendar.createElement("td",s);p.colSpan=t;p.className="button";if(j!=0&&Math.abs(j)<=2){p.className+=" nav"}
Calendar._add_evs(p);p.calendar=b;p.navtype=j;p.innerHTML="<div unselectable='on'>"+u+"</div>";return p};s=Calendar.createElement("tr",l);var c=7;(this.isPopup)&&--c;(this.weekNumbers)&&++c;this.title=e("",c,300);this.title.className="title";if(this.isPopup){this.title.ttip="";this.title.style.cursor="move";e("&#x00d7;",1,200).ttip=""}
s=Calendar.createElement("tr",l);s.className="headrow";this._nav_pm=e("",1,-1);this._nav_pm.ttip="";this._nav_pm.className+=" izq";this._nav_now=e(Calendar._TT.TODAY,this.weekNumbers?6:5,0);this._nav_now.ttip="";this._nav_nm=e("",1,1);this._nav_nm.ttip="";this._nav_nm.className+=" der";s=Calendar.createElement("tr",l);s.className="daynames";if(this.weekNumbers){p=Calendar.createElement("td",s);p.className="name wn";p.innerHTML=Calendar._TT.WK}
for(var k=7;k>0;--k){p=Calendar.createElement("td",s);if(!k){p.navtype=100;p.calendar=this;Calendar._add_evs(p)}}
this.firstdayname=(this.weekNumbers)?s.firstChild.nextSibling:s.firstChild;this._displayWeekdays();var g=Calendar.createElement("tbody",r);this.tbody=g;for(k=6;k>0;--k){s=Calendar.createElement("tr",g);if(this.weekNumbers){p=Calendar.createElement("td",s)}
for(var f=7;f>0;--f){p=Calendar.createElement("td",s);p.calendar=this;Calendar._add_evs(p)}}
if(this.showsTime){s=Calendar.createElement("tr",g);s.className="time";p=Calendar.createElement("td",s);p.className="time";p.colSpan=2;p.innerHTML=Calendar._TT.TIME||"&nbsp;";p=Calendar.createElement("td",s);p.className="time";p.colSpan=this.weekNumbers?4:3;(function(){function v(E,G,F,H){var C=Calendar.createElement("span",p);C.className=E;C.innerHTML=G;C.calendar=b;C.ttip="";C.navtype=50;C._range=[];if(typeof F!="number"){C._range=F}else{for(var D=F;D<=H;++D){var B;if(D<10&&H>=10){B="0"+D}else{B=""+D}
C._range[C._range.length]=B}}
Calendar._add_evs(C);return C}
var z=b.date.getHours();var j=b.date.getMinutes();var A=!b.time24;var t=(z>12);if(A&&t){z-=12}
var x=v("hour",z,A?1:0,A?12:23);var w=Calendar.createElement("span",p);w.innerHTML=":";w.className="colon";var u=v("minute",j,0,59);var y=null;p=Calendar.createElement("td",s);p.className="time";p.colSpan=2;if(A){y=v("ampm",t?"pm":"am",["am","pm"])}else{p.innerHTML="&nbsp;"}
b.onSetTime=function(){var C,B=this.date.getHours(),D=this.date.getMinutes();if(A){C=(B>=12);if(C){B-=12}
if(B==0){B=12}
y.innerHTML=C?"pm":"am"}
x.innerHTML=(B<10)?("0"+B):B;u.innerHTML=(D<10)?("0"+D):D};b.onUpdateTime=function(){var C=this.date;var D=parseInt(x.innerHTML,10);if(A){if(/pm/i.test(y.innerHTML)&&D<12){D+=12}else{if(/am/i.test(y.innerHTML)&&D==12){D=0}}}
var E=C.getDate();var B=C.getMonth();var F=C.getFullYear();C.setHours(D);C.setMinutes(parseInt(u.innerHTML,10));C.setFullYear(F);C.setMonth(B);C.setDate(E);this.dateClicked=false;this.callHandler()}})()}else{this.onSetTime=this.onUpdateTime=function(){}}
var m=Calendar.createElement("tfoot",r);s=Calendar.createElement("tr",m);s.className="footrow";p=e(Calendar._TT.SEL_DATE,this.weekNumbers?8:7,300);p.className="ttip";if(this.isPopup){p.ttip="";p.style.cursor="move"}
this.tooltips=p;a=Calendar.createElement("div",this.element);this.monthsCombo=a;a.className="combo";for(k=0;k<Calendar._MN.length;++k){var d=Calendar.createElement("div");d.className=Calendar.is_ie?"label-IEfix":"label";d.month=k;d.innerHTML=Calendar._SMN[k];a.appendChild(d)}
a=Calendar.createElement("div",this.element);this.yearsCombo=a;a.className="combo";for(k=12;k>0;--k){var q=Calendar.createElement("div");q.className=Calendar.is_ie?"label-IEfix":"label";a.appendChild(q)}
this._init(this.firstDayOfWeek,this.date);n.appendChild(this.element)};Calendar._keyEvent=function(m){var a=window._dynarch_popupCalendar;if(!a||a.multiple){return false}(Calendar.is_ie)&&(m=window.event);var k=(Calendar.is_ie||m.type=="keypress"),n=m.keyCode;if(m.ctrlKey){switch(n){case 37:k&&Calendar.cellClick(a._nav_pm);break;case 38:k&&Calendar.cellClick(a._nav_py);break;case 39:k&&Calendar.cellClick(a._nav_nm);break;case 40:k&&Calendar.cellClick(a._nav_ny);break;default:return false}}else{switch(n){case 32:Calendar.cellClick(a._nav_now);break;case 27:k&&a.callCloseHandler();break;case 37:case 38:case 39:case 40:if(k){var e,o,l,g,c,d;e=n==37||n==38;d=(n==37||n==39)?1:7;function b(){c=a.currentDateEl;var q=c.pos;o=q&15;l=q>>4;g=a.ar_days[l][o]}
b();function f(){var p=new Date(a.date);p.setDate(p.getDate()-d);a.setDate(p)}
function j(){var p=new Date(a.date);p.setDate(p.getDate()+d);a.setDate(p)}
while(1){switch(n){case 37:if(--o>=0){g=a.ar_days[l][o]}else{o=6;n=38;continue}
break;case 38:if(--l>=0){g=a.ar_days[l][o]}else{f();b()}
break;case 39:if(++o<7){g=a.ar_days[l][o]}else{o=0;n=40;continue}
break;case 40:if(++l<a.ar_days.length){g=a.ar_days[l][o]}else{j();b()}
break}
break}
if(g){if(!g.disabled){Calendar.cellClick(g)}else{if(e){f()}else{j()}}}}
break;case 13:if(k){Calendar.cellClick(a.currentDateEl,m)}
break;default:return false}}
return Calendar.stopEvent(m)};Calendar.prototype._init=function(n,x){var w=new Date(),r=w.getFullYear(),z=w.getMonth(),b=w.getDate();this.table.style.visibility="hidden";var k=x.getFullYear();if(k<this.minYear){k=this.minYear;x.setFullYear(k)}else{if(k>this.maxYear){k=this.maxYear;x.setFullYear(k)}}
this.firstDayOfWeek=n;this.date=new Date(x);var y=x.getMonth();var B=x.getDate();var A=x.getMonthDays();x.setDate(1);var s=(x.getDay()-this.firstDayOfWeek)%7;if(s<0){s+=7}
x.setDate(-s);x.setDate(x.getDate()+1);var e=this.tbody.firstChild;var l=Calendar._SMN[y];var p=this.ar_days=new Array();var o=Calendar._TT.WEEKEND;var d=this.multiple?(this.datesCells={}):null;for(var u=0;u<6;++u,e=e.nextSibling){var a=e.firstChild;if(this.weekNumbers){a.className="day wn";a.innerHTML=x.getWeekNumber();a=a.nextSibling}
e.className="daysrow";var v=false,f,c=p[u]=[];for(var t=0;t<7;++t,a=a.nextSibling,x.setDate(f+1)){f=x.getDate();var g=x.getDay();a.className="day";a.pos=u<<4|t;c[t]=a;var m=(x.getMonth()==y);if(!m){if(this.showsOtherMonths){a.className+=" othermonth";a.otherMonth=true}else{a.className="emptycell";a.innerHTML="&nbsp;";a.disabled=true;continue}}else{a.otherMonth=false;v=true}
a.disabled=false;a.innerHTML=this.getDateText?this.getDateText(x,f):f;if(d){d[x.print("%Y%m%d")]=a}
if(this.getDateStatus){var q=this.getDateStatus(x,k,y,f);if(q===true){a.className+=" disabled";a.disabled=true}else{if(/disabled/i.test(q)){a.disabled=true}
a.className+=" "+q}}
if(!a.disabled){a.caldate=new Date(x);a.ttip="";if(!this.multiple&&m&&f==B&&this.hiliteToday){a.className+=" selected";this.currentDateEl=a}
if(x.getFullYear()==r&&x.getMonth()==z&&f==b){a.className+=" today";a.ttip+=""}
if(o.indexOf(g.toString())!=-1){a.className+=a.otherMonth?" oweekend":" weekend";if(t==6){a.className+=" dom"}}}}
if(!(v||this.showsOtherMonths)){e.className="emptyrow"}}
this.title.innerHTML=Calendar._MN[y]+", "+k;this.onSetTime();this.table.style.visibility="visible";this._initMultipleDates()};Calendar.prototype._initMultipleDates=function(){if(this.multiple){for(var b in this.multiple){var a=this.datesCells[b];var c=this.multiple[b];if(!c){continue}
if(a){a.className+=" selected"}}}};Calendar.prototype._toggleMultipleDate=function(b){if(this.multiple){var c=b.print("%Y%m%d");var a=this.datesCells[c];if(a){var e=this.multiple[c];if(!e){Calendar.addClass(a,"selected");this.multiple[c]=b}else{Calendar.removeClass(a,"selected");delete this.multiple[c]}}}};Calendar.prototype.setDateToolTipHandler=function(a){this.getDateToolTip=a};Calendar.prototype.setDate=function(a){if(!a.equalsTo(this.date)){this._init(this.firstDayOfWeek,a)}};Calendar.prototype.refresh=function(){this._init(this.firstDayOfWeek,this.date)};Calendar.prototype.setFirstDayOfWeek=function(a){this._init(a,this.date);this._displayWeekdays()};Calendar.prototype.setDateStatusHandler=Calendar.prototype.setDisabledHandler=function(a){this.getDateStatus=a};Calendar.prototype.setRange=function(b,c){this.minYear=b;this.maxYear=c};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 a=this.element.parentNode;a.removeChild(this.element);Calendar._C=null;window._dynarch_popupCalendar=null};Calendar.prototype.reparent=function(b){var a=this.element;a.parentNode.removeChild(a);b.appendChild(a)};Calendar._checkCalendar=function(b){var c=window._dynarch_popupCalendar;if(!c){return false}
var a=Calendar.is_ie?Calendar.getElement(b):Calendar.getTargetElement(b);for(;a!=null&&a!=c.element;a=a.parentNode){}
if(a==null){window._dynarch_popupCalendar.callCloseHandler();return Calendar.stopEvent(b)}};Calendar.prototype.show=function(){var e=this.table.getElementsByTagName("tr");for(var d=e.length;d>0;){var f=e[--d];Calendar.removeClass(f,"rowhilite");var c=f.getElementsByTagName("td");for(var b=c.length;b>0;){var a=c[--b];Calendar.removeClass(a,"hilite");Calendar.removeClass(a,"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(a,c){var b=this.element.style;b.left=a+"px";b.top=c+"px";this.show()};Calendar.prototype.showAtElement=function(c,d){var a=this;var e=Calendar.getAbsolutePos(c);if(!d||typeof d!="string"){this.showAt(e.x,e.y+c.offsetHeight);return true}
function b(k){if(k.x<0){k.x=0}
if(k.y<0){k.y=0}
var l=document.createElement("div");var j=l.style;j.position="absolute";j.right=j.bottom=j.width=j.height="0px";document.body.appendChild(l);var g=Calendar.getAbsolutePos(l);document.body.removeChild(l);if(document.body.scrollLeft){g.x+=document.body.scrollLeft}
g.x+=window.scrollX;if(document.body.scrollTop){g.y+=document.body.scrollTop}
g.y+=window.scrollY;var f=k.x+k.width-g.x;if(f>0){k.x-=f}
f=k.y+k.height-g.y;if(f>0){k.y-=f}}
this.element.style.display="block";Calendar.continuation_for_the_fucking_khtml_browser=function(){var f=a.element.offsetWidth;var j=a.element.offsetHeight;a.element.style.display="none";var g=d.substr(0,1);var k="l";if(d.length>1){k=d.substr(1,1)}
switch(g){case"T":e.y-=j;break;case"B":e.y+=c.offsetHeight;break;case"C":e.y+=(c.offsetHeight-j)/2;break;case"t":e.y+=c.offsetHeight-j;break;case"b":break}
switch(k){case"L":e.x-=f;break;case"R":e.x+=c.offsetWidth;break;case"C":e.x+=(c.offsetWidth-f)/2;break;case"l":e.x+=c.offsetWidth-f;break;case"r":break}
e.width=f;e.height=j+40;a.monthsCombo.style.display="none";b(e);a.showAt(e.x,e.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(a){this.dateFormat=a};Calendar.prototype.setTtDateFormat=function(a){this.ttDateFormat=a};Calendar.prototype.parseDate=function(b,a){if(!a){a=this.dateFormat}
this.setDate(Date.parseDate(b,a))};Calendar.prototype.hideShowCovered=function(){if(!Calendar.is_ie&&!Calendar.is_opera){return}
function b(p){var k=p.style.visibility;if(!k){if(document.defaultView&&typeof(document.defaultView.getComputedStyle)=="function"){if(!Calendar.is_khtml){k=document.defaultView.getComputedStyle(p,"").getPropertyValue("visibility")}else{k=""}}else{if(p.currentStyle){k=p.currentStyle.visibility}else{k=""}}}
return k}
var t=new Array("applet","iframe","select");var c=this.element;var a=Calendar.getAbsolutePos(c);var f=a.x;var d=c.offsetWidth+f;var s=a.y;var r=c.offsetHeight+s;for(var j=t.length;j>0;){var g=document.getElementsByTagName(t[--j]);var e=null;for(var m=g.length;m>0;){e=g[--m];a=Calendar.getAbsolutePos(e);var q=a.x;var o=e.offsetWidth+q;var n=a.y;var l=e.offsetHeight+n;if(this.hidden||(q>d)||(o<f)||(n>r)||(l<s)){if(!e.__msh_save_visibility){e.__msh_save_visibility=b(e)}
e.style.visibility=e.__msh_save_visibility}else{if(!e.__msh_save_visibility){e.__msh_save_visibility=b(e)}
e.style.visibility="hidden"}}}};Calendar.prototype._displayWeekdays=function(){var b=this.firstDayOfWeek;var a=this.firstdayname;var d=Calendar._TT.WEEKEND;for(var c=0;c<7;++c){a.className="day name";var e=(c+b)%7;if(c){a.ttip="";a.navtype=100;a.calendar=this;a.fdow=e;Calendar._add_evs(a)}
if(d.indexOf(e.toString())!=-1){Calendar.addClass(a,"weekend");if(c==6){Calendar.addClass(a,"dom")}}
a.innerHTML=Calendar._SDN[(c+b)%7];a=a.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(n,c){var o=new Date();var p=0;var e=-1;var l=0;var r=n.split(/\W+/);var q=c.match(/%./g);var k=0,g=0;var s=0;var f=0;for(k=0;k<r.length;++k){if(!r[k]){continue}
switch(q[k]){case"%d":case"%e":l=parseInt(r[k],10);break;case"%m":e=parseInt(r[k],10)-1;break;case"%Y":case"%y":p=parseInt(r[k],10);(p<100)&&(p+=(p>29)?1900:2000);break;case"%b":case"%B":for(g=0;g<12;++g){if(Calendar._MN[g].substr(0,r[k].length).toLowerCase()==r[k].toLowerCase()){e=g;break}}
break;case"%H":case"%I":case"%k":case"%l":s=parseInt(r[k],10);break;case"%P":case"%p":if(/pm/i.test(r[k])&&s<12){s+=12}else{if(/am/i.test(r[k])&&s>=12){s-=12}}
break;case"%M":f=parseInt(r[k],10);break}}
if(isNaN(p)){p=o.getFullYear()}
if(isNaN(e)){e=o.getMonth()}
if(isNaN(l)){l=o.getDate()}
if(isNaN(s)){s=o.getHours()}
if(isNaN(f)){f=o.getMinutes()}
if(p!=0&&e!=-1&&l!=0){return new Date(p,e,l,s,f,0)}
p=0;e=-1;l=0;for(k=0;k<r.length;++k){if(r[k].search(/[a-zA-Z]+/)!=-1){var u=-1;for(g=0;g<12;++g){if(Calendar._MN[g].substr(0,r[k].length).toLowerCase()==r[k].toLowerCase()){u=g;break}}
if(u!=-1){if(e!=-1){l=e+1}
e=u}}else{if(parseInt(r[k],10)<=12&&e==-1){e=r[k]-1}else{if(parseInt(r[k],10)>31&&p==0){p=parseInt(r[k],10);(p<100)&&(p+=(p>29)?1900:2000)}else{if(l==0){l=r[k]}}}}}
if(p==0){p=o.getFullYear()}
if(e!=-1&&l!=0){return new Date(p,e,l,s,f,0)}
return o};Date.prototype.getMonthDays=function(b){var a=this.getFullYear();if(typeof b=="undefined"){b=this.getMonth()}
if(((0==(a%4))&&((0!=(a%100))||(0==(a%400))))&&b==1){return 29}else{return Date._MD[b]}};Date.prototype.getDayOfYear=function(){var a=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);var c=new Date(this.getFullYear(),0,0,0,0,0);var b=a-c;return Math.floor(b/Date.DAY)};Date.prototype.getWeekNumber=function(){var c=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);var b=c.getDay();c.setDate(c.getDate()-(b+6)%7+3);var a=c.valueOf();c.setMonth(0);c.setDate(4);return Math.round((a-c.valueOf())/(7*86400000))+1};Date.prototype.equalsTo=function(a){return((this.getFullYear()==a.getFullYear())&&(this.getMonth()==a.getMonth())&&(this.getDate()==a.getDate())&&(this.getHours()==a.getHours())&&(this.getMinutes()==a.getMinutes()))};Date.prototype.setDateOnly=function(a){var b=new Date(a);this.setDate(1);this.setFullYear(b.getFullYear());this.setMonth(b.getMonth());this.setDate(b.getDate())};Date.prototype.print=function(n){var b=this.getMonth();var l=this.getDate();var o=this.getFullYear();var q=this.getWeekNumber();var r=this.getDay();var x={};var t=this.getHours();var c=(t>=12);var j=(c)?(t-12):t;var v=this.getDayOfYear();if(j==0){j=12}
var e=this.getMinutes();var k=this.getSeconds();x["%a"]=Calendar._SDN[r];x["%A"]=Calendar._DN[r];x["%b"]=Calendar._SMN[b];x["%B"]=Calendar._MN[b];x["%C"]=1+Math.floor(o/100);x["%d"]=(l<10)?("0"+l):l;x["%e"]=l;x["%H"]=(t<10)?("0"+t):t;x["%I"]=(j<10)?("0"+j):j;x["%j"]=(v<100)?((v<10)?("00"+v):("0"+v)):v;x["%k"]=t;x["%l"]=j;x["%m"]=(b<9)?("0"+(1+b)):(1+b);x["%M"]=(e<10)?("0"+e):e;x["%n"]="\n";x["%p"]=c?"PM":"AM";x["%P"]=c?"pm":"am";x["%s"]=Math.floor(this.getTime()/1000);x["%S"]=(k<10)?("0"+k):k;x["%t"]="\t";x["%U"]=x["%W"]=x["%V"]=(q<10)?("0"+q):q;x["%u"]=r+1;x["%w"]=r;x["%y"]=(""+o).substr(2,2);x["%Y"]=o;x["%%"]="%";var u=/%./g;if(!Calendar.is_ie5&&!Calendar.is_khtml){n=n.replace(u,function(a){return x[a]});return n}
var p=n.match(u);for(var g=0;g<p.length;g++){var f=x[p[g]];if(f){u=new RegExp(p[g],"g");n=n.replace(u,f)}}
return n};Date.prototype.__msh_oldSetFullYear=Date.prototype.setFullYear;Date.prototype.setFullYear=function(b){var a=new Date(this);a.__msh_oldSetFullYear(b);if(a.getMonth()!=this.getMonth()){this.setDate(28)}
this.__msh_oldSetFullYear(b)};window._dynarch_popupCalendar=null;Calendar.setup=function(g){function f(j,k){if(typeof g[j]=="undefined"){g[j]=k}}
f("inputField",null);f("displayArea",null);f("button",null);f("eventName","click");f("ifFormat","%Y/%m/%d");f("daFormat","%Y/%m/%d");f("singleClick",true);f("disableFunc",null);f("dateStatusFunc",g.disableFunc);f("dateTooltipFunc",null);f("dateText",null);f("firstDay",null);f("align","Br");f("range",[0,2999]);f("weekNumbers",false);f("flat",null);f("flatCallback",null);f("onSelect",null);f("onClose",null);f("onUpdate",null);f("date",null);f("showsTime",false);f("timeFormat","24");f("electric",true);f("step",2);f("position",null);f("cache",false);f("showOthers",false);f("multiple",null);var c=["inputField","displayArea","button"];for(var b in c){if(typeof g[c[b]]=="string"){g[c[b]]=document.getElementById(g[c[b]])}}
if(!(g.flat||g.multiple||g.inputField||g.displayArea||g.button)){alert("Calendar.setup:\n  Nothing to setup (no fields found).  Please check your code");return false}
function a(k){var j=k.params;var l=(k.dateClicked||j.electric);if(l&&j.inputField){j.inputField.value=k.date.print(j.ifFormat);if(typeof j.inputField.onchange=="function"){j.inputField.onchange()}}
if(l&&j.displayArea){j.displayArea.innerHTML=k.date.print(j.daFormat)}
if(l&&typeof j.onUpdate=="function"){j.onUpdate(k)}
if(l&&j.flat){if(typeof j.flatCallback=="function"){j.flatCallback(k)}}
if(l&&j.singleClick&&k.dateClicked){k.callCloseHandler()}}
if(g.flat!=null){if(typeof g.flat=="string"){g.flat=document.getElementById(g.flat)}
if(!g.flat){alert("Calendar.setup:\n  Flat specified but can't find parent.");return false}
var e=new Calendar(g.firstDay,g.date,g.onSelect||a);e.setDateToolTipHandler(g.dateTooltipFunc);e.showsOtherMonths=g.showOthers;e.showsTime=g.showsTime;e.time24=(g.timeFormat=="24");e.params=g;e.weekNumbers=g.weekNumbers;e.setRange(g.range[0],g.range[1]);e.setDateStatusHandler(g.dateStatusFunc);e.getDateText=g.dateText;if(g.ifFormat){e.setDateFormat(g.ifFormat)}
if(g.inputField&&typeof g.inputField.value=="string"){e.parseDate(g.inputField.value)}
e.create(g.flat);e.show();return false}
var d=g.button||g.displayArea||g.inputField;d["on"+g.eventName]=function(){var j=g.inputField||g.displayArea;var l=g.inputField?g.ifFormat:g.daFormat;var p=false;var n=window.calendar;if(j){g.date=Date.parseDate(j.value||j.innerHTML,l)}
if(!(n&&g.cache)){window.calendar=n=new Calendar(g.firstDay,g.date,g.onSelect||a,g.onClose||function(q){q.hide()});n.setDateToolTipHandler(g.dateTooltipFunc);n.showsTime=g.showsTime;n.time24=(g.timeFormat=="24");n.weekNumbers=g.weekNumbers;p=true}else{if(g.date){n.setDate(g.date)}
n.hide()}
if(g.multiple){n.multiple={};for(var k=g.multiple.length;--k>=0;){var o=g.multiple[k];var m=o.print("%Y%m%d");n.multiple[m]=o}}
n.showsOtherMonths=g.showOthers;n.yearStep=g.step;n.setRange(g.range[0],g.range[1]);n.params=g;n.setDateStatusHandler(g.dateStatusFunc);n.getDateText=g.dateText;n.setDateFormat(l);if(p){n.create()}
n.refresh();if(!g.position){n.showAtElement(g.button||g.displayArea||g.inputField,g.align)}else{n.showAt(g.position[0],g.position[1])}
return false};return e};Calendar._DN=new Array("Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado","Domingo");Calendar._SDN=new Array("Dom","Lun","Mar","Mié","Jue","Vie","Sáb","Dom");Calendar._FD=1;Calendar._MN=new Array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");Calendar._SMN=new Array("Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic");Calendar._TT={};Calendar._TT.INFO="Acerca del calendario";Calendar._TT.ABOUT="Selector DHTML de Fecha/Hora\n(c) dynarch.com 2002-2005 / Author: Mihai Bazon\nPara conseguir la última versión visite: http://www.dynarch.com/projects/calendar/\nDistribuido bajo licencia GNU LGPL. Visite http://gnu.org/licenses/lgpl.html para más detalles.\n\nSelecci�n de fecha:\n- Use los botones \xab, \xbb para seleccionar el a�o\n- Use los botones "+String.fromCharCode(8249)+", "+String.fromCharCode(8250)+" para seleccionar el mes\n- Mantenga pulsado el rat�n en cualquiera de estos botones para una selecci�n r�pida.";Calendar._TT.ABOUT_TIME="\n\nSelección de hora:\n- Pulse en cualquiera de las partes de la hora para incrementarla\n- o pulse las mayúsculas mientras hace clic para decrementarla\n- o haga clic y arrastre el ratón para una selección más rápida.";Calendar._TT.PREV_YEAR="Año anterior (mantener para menú)";Calendar._TT.PREV_MONTH="Mes anterior (mantener para menú)";Calendar._TT.GO_TODAY="Ir a hoy";Calendar._TT.NEXT_MONTH="Mes siguiente (mantener para men�)";Calendar._TT.NEXT_YEAR="A�o siguiente (mantener para men�)";Calendar._TT.SEL_DATE="Seleccionar fecha";Calendar._TT.DRAG_TO_MOVE="Arrastrar para mover";Calendar._TT.PART_TODAY=" (hoy)";Calendar._TT.DAY_FIRST="Hacer %s primer d�a de la semana";Calendar._TT.WEEKEND="0,6";Calendar._TT.CLOSE="Cerrar";Calendar._TT.TODAY="Hoy";Calendar._TT.TIME_PART="(May�scula-)Clic o arrastre para cambiar valor";Calendar._TT.DEF_DATE_FORMAT="%d/%m/%Y";Calendar._TT.TT_DATE_FORMAT="%A, %e de %B de %Y";Calendar._TT.WK="sem";Calendar._TT.TIME="Hora:";
