var Behaviour={list:new Array,register:function(_1){
Behaviour.list.push(_1);
},start:function(){
Behaviour.addLoadEvent(function(){
Behaviour.apply();
});
},apply:function(){
for(h=0;sheet=Behaviour.list[h];h++){
for(selector in sheet){
list=document.getElementsBySelector(selector);
if(!list){
continue;
}
for(i=0;element=list[i];i++){
sheet[selector](element);
}
}
}
},addLoadEvent:function(_2){
var _3=window.onload;
if(typeof window.onload!="function"){
window.onload=_2;
}else{
window.onload=function(){
_3();
_2();
};
}
}};
Behaviour.start();
function getAllChildren(e){
return e.all?e.all:e.getElementsByTagName("*");
}
document.getElementsBySelector=function(_5){
if(!document.getElementsByTagName){
return new Array();
}
var _6=_5.split(" ");
var _7=new Array(document);
for(var i=0;i<_6.length;i++){
token=_6[i].replace(/^\s+/,"").replace(/\s+$/,"");
if(token.indexOf("#")>-1){
var _9=token.split("#");
var _a=_9[0];
var id=_9[1];
var _c=document.getElementById(id);
if(_a&&_c.nodeName.toLowerCase()!=_a){
return new Array();
}
_7=new Array(_c);
continue;
}
if(token.indexOf(".")>-1){
var _9=token.split(".");
var _a=_9[0];
var _d=_9[1];
if(!_a){
_a="*";
}
var _e=new Array;
var _f=0;
for(var h=0;h<_7.length;h++){
var _11;
if(_a=="*"){
_11=getAllChildren(_7[h]);
}else{
_11=_7[h].getElementsByTagName(_a);
}
for(var j=0;j<_11.length;j++){
_e[_f++]=_11[j];
}
}
_7=new Array;
var _13=0;
for(var k=0;k<_e.length;k++){
if(_e[k].className&&_e[k].className.match(new RegExp("\\b"+_d+"\\b"))){
_7[_13++]=_e[k];
}
}
continue;
}
if(token.match(/^(\w*)\[(\w+)([=~\|\^\$\*]?)=?"?([^\]"]*)"?\]$/)){
var _a=RegExp.$1;
var _15=RegExp.$2;
var _16=RegExp.$3;
var _17=RegExp.$4;
if(!_a){
_a="*";
}
var _e=new Array;
var _f=0;
for(var h=0;h<_7.length;h++){
var _11;
if(_a=="*"){
_11=getAllChildren(_7[h]);
}else{
_11=_7[h].getElementsByTagName(_a);
}
for(var j=0;j<_11.length;j++){
_e[_f++]=_11[j];
}
}
_7=new Array;
var _13=0;
var _18;
switch(_16){
case "=":
_18=function(e){
return (e.getAttribute(_15)==_17);
};
break;
case "~":
_18=function(e){
return (e.getAttribute(_15).match(new RegExp("\\b"+_17+"\\b")));
};
break;
case "|":
_18=function(e){
return (e.getAttribute(_15).match(new RegExp("^"+_17+"-?")));
};
break;
case "^":
_18=function(e){
return (e.getAttribute(_15).indexOf(_17)==0);
};
break;
case "$":
_18=function(e){
return (e.getAttribute(_15).lastIndexOf(_17)==e.getAttribute(_15).length-_17.length);
};
break;
case "*":
_18=function(e){
return (e.getAttribute(_15).indexOf(_17)>-1);
};
break;
default:
_18=function(e){
return e.getAttribute(_15);
};
}
_7=new Array;
var _13=0;
for(var k=0;k<_e.length;k++){
if(_18(_e[k])){
_7[_13++]=_e[k];
}
}
continue;
}
if(!_7[0]){
return;
}
_a=token;
var _e=new Array;
var _f=0;
for(var h=0;h<_7.length;h++){
var _11=_7[h].getElementsByTagName(_a);
for(var j=0;j<_11.length;j++){
_e[_f++]=_11[j];
}
}
_7=_e;
}
return _7;
};

var posiciones={"search-custom":"0px 0px","search-vacation":"left bottom","custom":"left bottom","search-vacation-s2":"left top"};
function controlador_slp(el){
el.onclick=cambiar_solapa;
el.style.cursor="pointer";
if(el.className.match(/seleccionado/)){
el.onclick();
}
}
Behaviour.register({"#btn-search-custom":controlador_slp,"#btn-search-vacation":controlador_slp,"#btn-custom":controlador_slp,"#btn-vacation":controlador_slp});
function registerSnowTabBehaviours(){
registerSnowSearchFormBhv($("snow-search-form"));
registerSnowServicesRadioBhv($("snow-search-type-service"));
registerHotelSnowServicesRadioBhv($("snow-search-type-full"));
registerAddSnowRootLinkBhv($("add_snow_room"));
registerRoomsSelectBhv($$("#snow-hotel div.hotel_hab select"));
setupSnowCalendars();
}
function cambiar_solapa(){
var _2=this.parentNode.parentNode.parentNode;
var _3=_2.getElementsByTagName("fieldset");
var _4=null;
for(var i=0;i<_3.length;i++){
if(_3[i].id==this.rel){
_3[i].style.display="block";
_4=_3[i];
}else{
_3[i].style.display="none";
}
}
var a=this.parentNode.parentNode.getElementsByTagName("A");
for(i=0;i<a.length;i++){
a[i].className=a[i].className.replace(/seleccionado/,"");
}
this.className+="seleccionado";
this.parentNode.parentNode.style.backgroundPosition=posiciones[this.rel];
if(typeof (_4.cargada)=="undefined"&&_4.getAttribute("source")){
var _7={"asyncronous":true,"onComplete":function(){
installSelectOriginBhv($("select-origin"));
installSelectDestinationBhv($("select-destination"));
installSearchFormBhv($("vacation-search-form"));
}};
new Ajax.Updater(_4,_4.getAttribute("source"),_7);
}
return false;
}
function showAlternateSearchForm(){
new Ajax.Updater("home-search","./?Action=SkiSearch",{"evalScripts":true});
}

String.prototype.toQueryParamsNemo=function(){
var _1={};
var _2=this.split("&");
var _3=null;
var _4=null;
var _5=null;
for(i=0;i<_2.length;i++){
_3=_2[i].split("=");
_4=decodeURIComponent(_3[0]);
_5=decodeURIComponent(_3[1]);
if(typeof (_1[_4])=="undefined"){
_1[_4]=_5;
}else{
if(_1[_4].constructor==Array){
_1[_4].push(_5);
}else{
_1[_4]=[_5,_1[_4]];
}
}
}
return _1;
};
function objectToQueryString(_6){
var _7=[];
var en=encodeURIComponent;
for(i in _6){
if(!_6.hasOwnProperty(i)){
continue;
}
elm=_6[i];
if(elm.constructor==Array){
for(e=0;e<elm.length;e++){
_7.push(en(i)+"="+en(elm[e]));
}
}else{
_7.push(en(i)+"="+en(_6[i]));
}
}
return _7.join("&");
}

var Prototype={Version:"1.5.0_rc0",ScriptFragment:"(?:<script.*?>)((\n|\r|.)*?)(?:</script>)",emptyFunction:function(){
},K:function(x){
return x;
}};
var Class={create:function(){
return function(){
this.initialize.apply(this,arguments);
};
}};
var Abstract=new Object();
Object.extend=function(_2,_3){
for(var _4 in _3){
_2[_4]=_3[_4];
}
return _2;
};
Object.inspect=function(_5){
try{
if(_5==undefined){
return "undefined";
}
if(_5==null){
return "null";
}
return _5.inspect?_5.inspect():_5.toString();
}
catch(e){
if(e instanceof RangeError){
return "...";
}
throw e;
}
};
Function.prototype.bind=function(){
var _6=this,args=$A(arguments),object=args.shift();
return function(){
return _6.apply(object,args.concat($A(arguments)));
};
};
Function.prototype.bindAsEventListener=function(_7){
var _8=this;
return function(_9){
return _8.call(_7,_9||window.event);
};
};
Object.extend(Number.prototype,{toColorPart:function(){
var _a=this.toString(16);
if(this<16){
return "0"+_a;
}
return _a;
},succ:function(){
return this+1;
},times:function(_b){
$R(0,this,true).each(_b);
return this;
}});
var Try={these:function(){
var _c;
for(var i=0;i<arguments.length;i++){
var _e=arguments[i];
try{
_c=_e();
break;
}
catch(e){
}
}
return _c;
}};
var PeriodicalExecuter=Class.create();
PeriodicalExecuter.prototype={initialize:function(_f,_10){
this.callback=_f;
this.frequency=_10;
this.currentlyExecuting=false;
this.registerCallback();
},registerCallback:function(){
setInterval(this.onTimerEvent.bind(this),this.frequency*1000);
},onTimerEvent:function(){
if(!this.currentlyExecuting){
try{
this.currentlyExecuting=true;
this.callback();
}
finally{
this.currentlyExecuting=false;
}
}
}};
Object.extend(String.prototype,{gsub:function(_11,_12){
var _13="",source=this,match;
_12=arguments.callee.prepareReplacement(_12);
while(source.length>0){
if(match=source.match(_11)){
_13+=source.slice(0,match.index);
_13+=(_12(match)||"").toString();
source=source.slice(match.index+match[0].length);
}else{
_13+=source,source="";
}
}
return _13;
},sub:function(_14,_15,_16){
_15=this.gsub.prepareReplacement(_15);
_16=_16===undefined?1:_16;
return this.gsub(_14,function(_17){
if(--_16<0){
return _17[0];
}
return _15(_17);
});
},scan:function(_18,_19){
this.gsub(_18,_19);
return this;
},truncate:function(_1a,_1b){
_1a=_1a||30;
_1b=_1b===undefined?"...":_1b;
return this.length>_1a?this.slice(0,_1a-_1b.length)+_1b:this;
},strip:function(){
return this.replace(/^\s+/,"").replace(/\s+$/,"");
},stripTags:function(){
return this.replace(/<\/?[^>]+>/gi,"");
},stripScripts:function(){
return this.replace(new RegExp(Prototype.ScriptFragment,"img"),"");
},extractScripts:function(){
var _1c=new RegExp(Prototype.ScriptFragment,"img");
var _1d=new RegExp(Prototype.ScriptFragment,"im");
return (this.match(_1c)||[]).map(function(_1e){
return (_1e.match(_1d)||["",""])[1];
});
},evalScripts:function(){
return this.extractScripts().map(function(_1f){
return eval(_1f);
});
},escapeHTML:function(){
var div=document.createElement("div");
var _21=document.createTextNode(this);
div.appendChild(_21);
return div.innerHTML;
},unescapeHTML:function(){
var div=document.createElement("div");
div.innerHTML=this.stripTags();
return div.childNodes[0]?div.childNodes[0].nodeValue:"";
},toQueryParams:function(){
var _23=this.match(/^\??(.*)$/)[1].split("&");
return _23.inject({},function(_24,_25){
var _26=_25.split("=");
_24[_26[0]]=_26[1];
return _24;
});
},toArray:function(){
return this.split("");
},camelize:function(){
var _27=this.split("-");
if(_27.length==1){
return _27[0];
}
var _28=this.indexOf("-")==0?_27[0].charAt(0).toUpperCase()+_27[0].substring(1):_27[0];
for(var i=1,len=_27.length;i<len;i++){
var s=_27[i];
_28+=s.charAt(0).toUpperCase()+s.substring(1);
}
return _28;
},inspect:function(){
return "'"+this.replace(/\\/g,"\\\\").replace(/'/g,"\\'")+"'";
}});
String.prototype.gsub.prepareReplacement=function(_2b){
if(typeof _2b=="function"){
return _2b;
}
var _2c=new Template(_2b);
return function(_2d){
return _2c.evaluate(_2d);
};
};
String.prototype.parseQuery=String.prototype.toQueryParams;
var Template=Class.create();
Template.Pattern=/(^|.|\r|\n)(#\{(.*?)\})/;
Template.prototype={initialize:function(_2e,_2f){
this.template=_2e.toString();
this.pattern=_2f||Template.Pattern;
},evaluate:function(_30){
return this.template.gsub(this.pattern,function(_31){
var _32=_31[1];
if(_32=="\\"){
return _31[2];
}
return _32+(_30[_31[3]]||"").toString();
});
}};
var $break=new Object();
var $continue=new Object();
var Enumerable={each:function(_33){
var _34=0;
try{
this._each(function(_35){
try{
_33(_35,_34++);
}
catch(e){
if(e!=$continue){
throw e;
}
}
});
}
catch(e){
if(e!=$break){
throw e;
}
}
},all:function(_36){
var _37=true;
this.each(function(_38,_39){
_37=_37&&!!(_36||Prototype.K)(_38,_39);
if(!_37){
throw $break;
}
});
return _37;
},any:function(_3a){
var _3b=true;
this.each(function(_3c,_3d){
if(_3b=!!(_3a||Prototype.K)(_3c,_3d)){
throw $break;
}
});
return _3b;
},collect:function(_3e){
var _3f=[];
this.each(function(_40,_41){
_3f.push(_3e(_40,_41));
});
return _3f;
},detect:function(_42){
var _43;
this.each(function(_44,_45){
if(_42(_44,_45)){
_43=_44;
throw $break;
}
});
return _43;
},findAll:function(_46){
var _47=[];
this.each(function(_48,_49){
if(_46(_48,_49)){
_47.push(_48);
}
});
return _47;
},grep:function(_4a,_4b){
var _4c=[];
this.each(function(_4d,_4e){
var _4f=_4d.toString();
if(_4f.match(_4a)){
_4c.push((_4b||Prototype.K)(_4d,_4e));
}
});
return _4c;
},include:function(_50){
var _51=false;
this.each(function(_52){
if(_52==_50){
_51=true;
throw $break;
}
});
return _51;
},inject:function(_53,_54){
this.each(function(_55,_56){
_53=_54(_53,_55,_56);
});
return _53;
},invoke:function(_57){
var _58=$A(arguments).slice(1);
return this.collect(function(_59){
return _59[_57].apply(_59,_58);
});
},max:function(_5a){
var _5b;
this.each(function(_5c,_5d){
_5c=(_5a||Prototype.K)(_5c,_5d);
if(_5b==undefined||_5c>=_5b){
_5b=_5c;
}
});
return _5b;
},min:function(_5e){
var _5f;
this.each(function(_60,_61){
_60=(_5e||Prototype.K)(_60,_61);
if(_5f==undefined||_60<_5f){
_5f=_60;
}
});
return _5f;
},partition:function(_62){
var _63=[],falses=[];
this.each(function(_64,_65){
((_62||Prototype.K)(_64,_65)?_63:falses).push(_64);
});
return [_63,falses];
},pluck:function(_66){
var _67=[];
this.each(function(_68,_69){
_67.push(_68[_66]);
});
return _67;
},reject:function(_6a){
var _6b=[];
this.each(function(_6c,_6d){
if(!_6a(_6c,_6d)){
_6b.push(_6c);
}
});
return _6b;
},sortBy:function(_6e){
return this.collect(function(_6f,_70){
return {value:_6f,criteria:_6e(_6f,_70)};
}).sort(function(_71,_72){
var a=_71.criteria,b=_72.criteria;
return a<b?-1:a>b?1:0;
}).pluck("value");
},toArray:function(){
return this.collect(Prototype.K);
},zip:function(){
var _74=Prototype.K,args=$A(arguments);
if(typeof args.last()=="function"){
_74=args.pop();
}
var _75=[this].concat(args).map($A);
return this.map(function(_76,_77){
return _74(_75.pluck(_77));
});
},inspect:function(){
return "#<Enumerable:"+this.toArray().inspect()+">";
}};
Object.extend(Enumerable,{map:Enumerable.collect,find:Enumerable.detect,select:Enumerable.findAll,member:Enumerable.include,entries:Enumerable.toArray});
var $A=Array.from=function(_78){
if(!_78){
return [];
}
if(_78.toArray){
return _78.toArray();
}else{
var _79=[];
for(var i=0;i<_78.length;i++){
_79.push(_78[i]);
}
return _79;
}
};
Object.extend(Array.prototype,Enumerable);
if(!Array.prototype._reverse){
Array.prototype._reverse=Array.prototype.reverse;
}
Object.extend(Array.prototype,{_each:function(_7b){
for(var i=0;i<this.length;i++){
_7b(this[i]);
}
},clear:function(){
this.length=0;
return this;
},first:function(){
return this[0];
},last:function(){
return this[this.length-1];
},compact:function(){
return this.select(function(_7d){
return _7d!=undefined||_7d!=null;
});
},flatten:function(){
return this.inject([],function(_7e,_7f){
return _7e.concat(_7f&&_7f.constructor==Array?_7f.flatten():[_7f]);
});
},without:function(){
var _80=$A(arguments);
return this.select(function(_81){
return !_80.include(_81);
});
},indexOf:function(_82){
for(var i=0;i<this.length;i++){
if(this[i]==_82){
return i;
}
}
return -1;
},reverse:function(_84){
return (_84!==false?this:this.toArray())._reverse();
},inspect:function(){
return "["+this.map(Object.inspect).join(", ")+"]";
}});
var Hash={_each:function(_85){
for(var key in this){
var _87=this[key];
if(typeof _87=="function"){
continue;
}
var _88=[key,_87];
_88.key=key;
_88.value=_87;
_85(_88);
}
},keys:function(){
return this.pluck("key");
},values:function(){
return this.pluck("value");
},merge:function(_89){
return $H(_89).inject($H(this),function(_8a,_8b){
_8a[_8b.key]=_8b.value;
return _8a;
});
},toQueryString:function(){
return this.map(function(_8c){
return _8c.map(encodeURIComponent).join("=");
}).join("&");
},inspect:function(){
return "#<Hash:{"+this.map(function(_8d){
return _8d.map(Object.inspect).join(": ");
}).join(", ")+"}>";
}};
function $H(_8e){
var _8f=Object.extend({},_8e||{});
Object.extend(_8f,Enumerable);
Object.extend(_8f,Hash);
return _8f;
}
ObjectRange=Class.create();
Object.extend(ObjectRange.prototype,Enumerable);
Object.extend(ObjectRange.prototype,{initialize:function(_90,end,_92){
this.start=_90;
this.end=end;
this.exclusive=_92;
},_each:function(_93){
var _94=this.start;
do{
_93(_94);
_94=_94.succ();
}while(this.include(_94));
},include:function(_95){
if(_95<this.start){
return false;
}
if(this.exclusive){
return _95<this.end;
}
return _95<=this.end;
}});
var $R=function(_96,end,_98){
return new ObjectRange(_96,end,_98);
};
var Ajax={getTransport:function(){
return Try.these(function(){
return new XMLHttpRequest();
},function(){
return new ActiveXObject("Msxml2.XMLHTTP");
},function(){
return new ActiveXObject("Microsoft.XMLHTTP");
})||false;
},activeRequestCount:0};
Ajax.Responders={responders:[],_each:function(_99){
this.responders._each(_99);
},register:function(_9a){
if(!this.include(_9a)){
this.responders.push(_9a);
}
},unregister:function(_9b){
this.responders=this.responders.without(_9b);
},dispatch:function(_9c,_9d,_9e,_9f){
this.each(function(_a0){
if(_a0[_9c]&&typeof _a0[_9c]=="function"){
try{
_a0[_9c].apply(_a0,[_9d,_9e,_9f]);
}
catch(e){
}
}
});
}};
Object.extend(Ajax.Responders,Enumerable);
Ajax.Responders.register({onCreate:function(){
Ajax.activeRequestCount++;
},onComplete:function(){
Ajax.activeRequestCount--;
}});
Ajax.Base=function(){
};
Ajax.Base.prototype={setOptions:function(_a1){
this.options={method:"post",asynchronous:true,contentType:"application/x-www-form-urlencoded",parameters:""};
Object.extend(this.options,_a1||{});
},responseIsSuccess:function(){
return this.transport.status==undefined||this.transport.status==0||(this.transport.status>=200&&this.transport.status<300);
},responseIsFailure:function(){
return !this.responseIsSuccess();
}};
Ajax.Request=Class.create();
Ajax.Request.Events=["Uninitialized","Loading","Loaded","Interactive","Complete"];
Ajax.Request.prototype=Object.extend(new Ajax.Base(),{initialize:function(url,_a3,_a4){
this.transport=Ajax.getTransport();
this.reference=_a4;
this.setOptions(_a3);
this.request(url);
},request:function(url){
var _a6=this.options.parameters||"";
if(_a6.length>0){
_a6+="&_=";
}
try{
this.url=url;
if(this.options.method=="get"&&_a6.length>0){
this.url+=(this.url.match(/\?/)?"&":"?")+_a6;
}
Ajax.Responders.dispatch("onCreate",this,this.transport);
this.transport.open(this.options.method,this.url,this.options.asynchronous);
if(this.options.asynchronous){
this.transport.onreadystatechange=this.onStateChange.bind(this);
setTimeout((function(){
this.respondToReadyState(1);
}).bind(this),10);
}
this.setRequestHeaders();
var _a7=this.options.postBody?this.options.postBody:_a6;
this.transport.send(this.options.method=="post"?_a7:null);
}
catch(e){
this.dispatchException(e);
}
},setRequestHeaders:function(){
var _a8=["X-Requested-With","XMLHttpRequest","X-Prototype-Version",Prototype.Version,"Accept","text/javascript, text/html, application/xml, text/xml, */*"];
if(this.options.method=="post"){
_a8.push("Content-type",this.options.contentType);
if(this.transport.overrideMimeType){
_a8.push("Connection","close");
}
}
if(this.options.requestHeaders){
_a8.push.apply(_a8,this.options.requestHeaders);
}
for(var i=0;i<_a8.length;i+=2){
this.transport.setRequestHeader(_a8[i],_a8[i+1]);
}
},onStateChange:function(){
var _aa=this.transport.readyState;
if(_aa!=1){
this.respondToReadyState(this.transport.readyState);
}
},header:function(_ab){
try{
return this.transport.getResponseHeader(_ab);
}
catch(e){
}
},evalJSON:function(){
try{
return eval("("+this.header("X-JSON")+")");
}
catch(e){
}
},evalResponse:function(){
try{
return eval(this.transport.responseText);
}
catch(e){
this.dispatchException(e);
}
},respondToReadyState:function(_ac){
var _ad=Ajax.Request.Events[_ac];
var _ae=this.transport,json=this.evalJSON();
if(_ad=="Complete"){
try{
(this.options["on"+this.transport.status]||this.options["on"+(this.responseIsSuccess()?"Success":"Failure")]||Prototype.emptyFunction)(_ae,json);
}
catch(e){
this.dispatchException(e);
}
if((this.header("Content-type")||"").match(/^text\/javascript/i)){
this.evalResponse();
}
}
try{
(this.options["on"+_ad]||Prototype.emptyFunction)(_ae,json,this);
Ajax.Responders.dispatch("on"+_ad,this,_ae,json);
}
catch(e){
this.dispatchException(e);
}
if(_ad=="Complete"){
this.transport.onreadystatechange=Prototype.emptyFunction;
}
},dispatchException:function(_af){
(this.options.onException||Prototype.emptyFunction)(this,_af);
Ajax.Responders.dispatch("onException",this,_af);
}});
Ajax.Updater=Class.create();
Object.extend(Object.extend(Ajax.Updater.prototype,Ajax.Request.prototype),{initialize:function(_b0,url,_b2){
this.containers={success:_b0.success?$(_b0.success):$(_b0),failure:_b0.failure?$(_b0.failure):(_b0.success?null:$(_b0))};
this.transport=Ajax.getTransport();
this.setOptions(_b2);
var _b3=this.options.onComplete||Prototype.emptyFunction;
this.options.onComplete=(function(_b4,_b5){
this.updateContent();
_b3(_b4,_b5);
}).bind(this);
this.request(url);
},updateContent:function(){
var _b6=this.responseIsSuccess()?this.containers.success:this.containers.failure;
var _b7=this.transport.responseText;
if(!this.options.evalScripts){
_b7=_b7.stripScripts();
}
if(_b6){
if(this.options.insertion){
new this.options.insertion(_b6,_b7);
}else{
Element.update(_b6,_b7);
}
}
if(this.responseIsSuccess()){
if(this.onComplete){
setTimeout(this.onComplete.bind(this),10);
}
}
}});
Ajax.PeriodicalUpdater=Class.create();
Ajax.PeriodicalUpdater.prototype=Object.extend(new Ajax.Base(),{initialize:function(_b8,url,_ba){
this.setOptions(_ba);
this.onComplete=this.options.onComplete;
this.frequency=(this.options.frequency||2);
this.decay=(this.options.decay||1);
this.updater={};
this.container=_b8;
this.url=url;
this.start();
},start:function(){
this.options.onComplete=this.updateComplete.bind(this);
this.onTimerEvent();
},stop:function(){
this.updater.onComplete=undefined;
clearTimeout(this.timer);
(this.onComplete||Prototype.emptyFunction).apply(this,arguments);
},updateComplete:function(_bb){
if(this.options.decay){
this.decay=(_bb.responseText==this.lastText?this.decay*this.options.decay:1);
this.lastText=_bb.responseText;
}
this.timer=setTimeout(this.onTimerEvent.bind(this),this.decay*this.frequency*1000);
},onTimerEvent:function(){
this.updater=new Ajax.Updater(this.container,this.url,this.options);
}});
function $(){
var _bc=[],element;
for(var i=0;i<arguments.length;i++){
element=arguments[i];
if(typeof element=="string"){
element=document.getElementById(element);
}
_bc.push(Element.extend(element));
}
return _bc.length<2?_bc[0]:_bc;
}
document.getElementsByClassName=function(_be,_bf){
var _c0=($(_bf)||document.body).getElementsByTagName("*");
return $A(_c0).inject([],function(_c1,_c2){
if(_c2.className.match(new RegExp("(^|\\s)"+_be+"(\\s|$)"))){
_c1.push(Element.extend(_c2));
}
return _c1;
});
};
if(!window.Element){
var Element=new Object();
}
Element.extend=function(_c3){
if(!_c3){
return;
}
if(_nativeExtensions){
return _c3;
}
if(!_c3._extended&&_c3.tagName&&_c3!=window){
var _c4=Element.Methods,cache=Element.extend.cache;
for(property in _c4){
var _c5=_c4[property];
if(typeof _c5=="function"){
_c3[property]=cache.findOrStore(_c5);
}
}
}
_c3._extended=true;
return _c3;
};
Element.extend.cache={findOrStore:function(_c6){
return this[_c6]=this[_c6]||function(){
return _c6.apply(null,[this].concat($A(arguments)));
};
}};
Element.Methods={visible:function(_c7){
return $(_c7).style.display!="none";
},toggle:function(){
for(var i=0;i<arguments.length;i++){
var _c9=$(arguments[i]);
Element[Element.visible(_c9)?"hide":"show"](_c9);
}
},hide:function(){
for(var i=0;i<arguments.length;i++){
var _cb=$(arguments[i]);
_cb.style.display="none";
}
},show:function(){
for(var i=0;i<arguments.length;i++){
var _cd=$(arguments[i]);
_cd.style.display="";
}
},remove:function(_ce){
_ce=$(_ce);
_ce.parentNode.removeChild(_ce);
},update:function(_cf,_d0){
$(_cf).innerHTML=_d0.stripScripts();
setTimeout(function(){
_d0.evalScripts();
},10);
},replace:function(_d1,_d2){
_d1=$(_d1);
if(_d1.outerHTML){
_d1.outerHTML=_d2.stripScripts();
}else{
var _d3=_d1.ownerDocument.createRange();
_d3.selectNodeContents(_d1);
_d1.parentNode.replaceChild(_d3.createContextualFragment(_d2.stripScripts()),_d1);
}
setTimeout(function(){
_d2.evalScripts();
},10);
},getHeight:function(_d4){
_d4=$(_d4);
return _d4.offsetHeight;
},classNames:function(_d5){
return new Element.ClassNames(_d5);
},hasClassName:function(_d6,_d7){
if(!(_d6=$(_d6))){
return;
}
return Element.classNames(_d6).include(_d7);
},addClassName:function(_d8,_d9){
if(!(_d8=$(_d8))){
return;
}
return Element.classNames(_d8).add(_d9);
},removeClassName:function(_da,_db){
if(!(_da=$(_da))){
return;
}
return Element.classNames(_da).remove(_db);
},cleanWhitespace:function(_dc){
_dc=$(_dc);
for(var i=0;i<_dc.childNodes.length;i++){
var _de=_dc.childNodes[i];
if(_de.nodeType==3&&!/\S/.test(_de.nodeValue)){
Element.remove(_de);
}
}
},empty:function(_df){
return $(_df).innerHTML.match(/^\s*$/);
},childOf:function(_e0,_e1){
_e0=$(_e0),_e1=$(_e1);
while(_e0=_e0.parentNode){
if(_e0==_e1){
return true;
}
}
return false;
},scrollTo:function(_e2){
_e2=$(_e2);
var x=_e2.x?_e2.x:_e2.offsetLeft,y=_e2.y?_e2.y:_e2.offsetTop;
window.scrollTo(x,y);
},getStyle:function(_e4,_e5){
_e4=$(_e4);
var _e6=_e4.style[_e5.camelize()];
if(!_e6){
if(document.defaultView&&document.defaultView.getComputedStyle){
var css=document.defaultView.getComputedStyle(_e4,null);
_e6=css?css.getPropertyValue(_e5):null;
}else{
if(_e4.currentStyle){
_e6=_e4.currentStyle[_e5.camelize()];
}
}
}
if(window.opera&&["left","top","right","bottom"].include(_e5)){
if(Element.getStyle(_e4,"position")=="static"){
_e6="auto";
}
}
return _e6=="auto"?null:_e6;
},setStyle:function(_e8,_e9){
_e8=$(_e8);
for(var _ea in _e9){
_e8.style[_ea.camelize()]=_e9[_ea];
}
},getDimensions:function(_eb){
_eb=$(_eb);
if(Element.getStyle(_eb,"display")!="none"){
return {width:_eb.offsetWidth,height:_eb.offsetHeight};
}
var els=_eb.style;
var _ed=els.visibility;
var _ee=els.position;
els.visibility="hidden";
els.position="absolute";
els.display="";
var _ef=_eb.clientWidth;
var _f0=_eb.clientHeight;
els.display="none";
els.position=_ee;
els.visibility=_ed;
return {width:_ef,height:_f0};
},makePositioned:function(_f1){
_f1=$(_f1);
var pos=Element.getStyle(_f1,"position");
if(pos=="static"||!pos){
_f1._madePositioned=true;
_f1.style.position="relative";
if(window.opera){
_f1.style.top=0;
_f1.style.left=0;
}
}
},undoPositioned:function(_f3){
_f3=$(_f3);
if(_f3._madePositioned){
_f3._madePositioned=undefined;
_f3.style.position=_f3.style.top=_f3.style.left=_f3.style.bottom=_f3.style.right="";
}
},makeClipping:function(_f4){
_f4=$(_f4);
if(_f4._overflow){
return;
}
_f4._overflow=_f4.style.overflow;
if((Element.getStyle(_f4,"overflow")||"visible")!="hidden"){
_f4.style.overflow="hidden";
}
},undoClipping:function(_f5){
_f5=$(_f5);
if(_f5._overflow){
return;
}
_f5.style.overflow=_f5._overflow;
_f5._overflow=undefined;
}};
Object.extend(Element,Element.Methods);
var _nativeExtensions=false;
if(!HTMLElement&&/Konqueror|Safari|KHTML/.test(navigator.userAgent)){
var HTMLElement={};
HTMLElement.prototype=document.createElement("div").__proto__;
}
Element.addMethods=function(_f6){
Object.extend(Element.Methods,_f6||{});
if(typeof HTMLElement!="undefined"){
var _f6=Element.Methods,cache=Element.extend.cache;
for(property in _f6){
var _f7=_f6[property];
if(typeof _f7=="function"){
HTMLElement.prototype[property]=cache.findOrStore(_f7);
}
}
_nativeExtensions=true;
}
};
Element.addMethods();
var Toggle=new Object();
Toggle.display=Element.toggle;
Abstract.Insertion=function(_f8){
this.adjacency=_f8;
};
Abstract.Insertion.prototype={initialize:function(_f9,_fa){
this.element=$(_f9);
this.content=_fa.stripScripts();
if(this.adjacency&&this.element.insertAdjacentHTML){
try{
this.element.insertAdjacentHTML(this.adjacency,this.content);
}
catch(e){
var _fb=this.element.tagName.toLowerCase();
if(_fb=="tbody"||_fb=="tr"){
this.insertContent(this.contentFromAnonymousTable());
}else{
throw e;
}
}
}else{
this.range=this.element.ownerDocument.createRange();
if(this.initializeRange){
this.initializeRange();
}
this.insertContent([this.range.createContextualFragment(this.content)]);
}
setTimeout(function(){
_fa.evalScripts();
},10);
},contentFromAnonymousTable:function(){
var div=document.createElement("div");
div.innerHTML="<table><tbody>"+this.content+"</tbody></table>";
return $A(div.childNodes[0].childNodes[0].childNodes);
}};
var Insertion=new Object();
Insertion.Before=Class.create();
Insertion.Before.prototype=Object.extend(new Abstract.Insertion("beforeBegin"),{initializeRange:function(){
this.range.setStartBefore(this.element);
},insertContent:function(_fd){
_fd.each((function(_fe){
this.element.parentNode.insertBefore(_fe,this.element);
}).bind(this));
}});
Insertion.Top=Class.create();
Insertion.Top.prototype=Object.extend(new Abstract.Insertion("afterBegin"),{initializeRange:function(){
this.range.selectNodeContents(this.element);
this.range.collapse(true);
},insertContent:function(_ff){
_ff.reverse(false).each((function(_100){
this.element.insertBefore(_100,this.element.firstChild);
}).bind(this));
}});
Insertion.Bottom=Class.create();
Insertion.Bottom.prototype=Object.extend(new Abstract.Insertion("beforeEnd"),{initializeRange:function(){
this.range.selectNodeContents(this.element);
this.range.collapse(this.element);
},insertContent:function(_101){
_101.each((function(_102){
this.element.appendChild(_102);
}).bind(this));
}});
Insertion.After=Class.create();
Insertion.After.prototype=Object.extend(new Abstract.Insertion("afterEnd"),{initializeRange:function(){
this.range.setStartAfter(this.element);
},insertContent:function(_103){
_103.each((function(_104){
this.element.parentNode.insertBefore(_104,this.element.nextSibling);
}).bind(this));
}});
Element.ClassNames=Class.create();
Element.ClassNames.prototype={initialize:function(_105){
this.element=$(_105);
if(typeof (this.element.className)!="string"){
this.element.className="";
}
},_each:function(_106){
this.element.className.split(/\s+/).select(function(name){
return name.length>0;
})._each(_106);
},set:function(_108){
this.element.className=_108;
},add:function(_109){
if(this.include(_109)){
return;
}
this.set(this.toArray().concat(_109).join(" "));
},remove:function(_10a){
if(!this.include(_10a)){
return;
}
this.set(this.select(function(_10b){
return _10b!=_10a;
}).join(" "));
},toString:function(){
return this.toArray().join(" ");
}};
Object.extend(Element.ClassNames.prototype,Enumerable);
var Selector=Class.create();
Selector.prototype={initialize:function(_10c){
this.params={classNames:[]};
this.expression=_10c.toString().strip();
this.parseExpression();
this.compileMatcher();
},parseExpression:function(){
function abort(_10d){
throw "Parse error in selector: "+_10d;
}
if(this.expression==""){
abort("empty expression");
}
var _10e=this.params,expr=this.expression,match,modifier,clause,rest;
while(match=expr.match(/^(.*)\[([a-z0-9_:-]+?)(?:([~\|!]?=)(?:"([^"]*)"|([^\]\s]*)))?\]$/i)){
_10e.attributes=_10e.attributes||[];
_10e.attributes.push({name:match[2],operator:match[3],value:match[4]||match[5]||""});
expr=match[1];
}
if(expr=="*"){
return this.params.wildcard=true;
}
while(match=expr.match(/^([^a-z0-9_-])?([a-z0-9_-]+)(.*)/i)){
modifier=match[1],clause=match[2],rest=match[3];
switch(modifier){
case "#":
_10e.id=clause;
break;
case ".":
_10e.classNames.push(clause);
break;
case "":
case undefined:
_10e.tagName=clause.toUpperCase();
break;
default:
abort(expr.inspect());
}
expr=rest;
}
if(expr.length>0){
abort(expr.inspect());
}
},buildMatchExpression:function(){
var _10f=this.params,conditions=[],clause;
if(_10f.wildcard){
conditions.push("true");
}
if(clause=_10f.id){
conditions.push("element.id == "+clause.inspect());
}
if(clause=_10f.tagName){
conditions.push("element.tagName.toUpperCase() == "+clause.inspect());
}
if((clause=_10f.classNames).length>0){
for(var i=0;i<clause.length;i++){
conditions.push("Element.hasClassName(element, "+clause[i].inspect()+")");
}
}
if(clause=_10f.attributes){
clause.each(function(_111){
var _112="element.getAttribute("+_111.name.inspect()+")";
var _113=function(_114){
return _112+" && "+_112+".split("+_114.inspect()+")";
};
switch(_111.operator){
case "=":
conditions.push(_112+" == "+_111.value.inspect());
break;
case "~=":
conditions.push(_113(" ")+".include("+_111.value.inspect()+")");
break;
case "|=":
conditions.push(_113("-")+".first().toUpperCase() == "+_111.value.toUpperCase().inspect());
break;
case "!=":
conditions.push(_112+" != "+_111.value.inspect());
break;
case "":
case undefined:
conditions.push(_112+" != null");
break;
default:
throw "Unknown operator "+_111.operator+" in selector";
}
});
}
return conditions.join(" && ");
},compileMatcher:function(){
this.match=new Function("element","if (!element.tagName) return false;       return "+this.buildMatchExpression());
},findElements:function(_115){
var _116;
if(_116=$(this.params.id)){
if(this.match(_116)){
if(!_115||Element.childOf(_116,_115)){
return [_116];
}
}
}
_115=(_115||document).getElementsByTagName(this.params.tagName||"*");
var _117=[];
for(var i=0;i<_115.length;i++){
if(this.match(_116=_115[i])){
_117.push(Element.extend(_116));
}
}
return _117;
},toString:function(){
return this.expression;
}};
function $$(){
return $A(arguments).map(function(_119){
return _119.strip().split(/\s+/).inject([null],function(_11a,expr){
var _11c=new Selector(expr);
return _11a.map(_11c.findElements.bind(_11c)).flatten();
});
}).flatten();
}
var Field={clear:function(){
for(var i=0;i<arguments.length;i++){
$(arguments[i]).value="";
}
},focus:function(_11e){
$(_11e).focus();
},present:function(){
for(var i=0;i<arguments.length;i++){
if($(arguments[i]).value==""){
return false;
}
}
return true;
},select:function(_120){
$(_120).select();
},activate:function(_121){
_121=$(_121);
_121.focus();
if(_121.select){
_121.select();
}
}};
var Form={serialize:function(form){
var _123=Form.getElements($(form));
var _124=new Array();
for(var i=0;i<_123.length;i++){
var _126=Form.Element.serialize(_123[i]);
if(_126){
_124.push(_126);
}
}
return _124.join("&");
},getElements:function(form){
form=$(form);
var _128=new Array();
for(var _129 in Form.Element.Serializers){
var _12a=form.getElementsByTagName(_129);
for(var j=0;j<_12a.length;j++){
_128.push(_12a[j]);
}
}
return _128;
},getInputs:function(form,_12d,name){
form=$(form);
var _12f=form.getElementsByTagName("input");
if(!_12d&&!name){
return _12f;
}
var _130=new Array();
for(var i=0;i<_12f.length;i++){
var _132=_12f[i];
if((_12d&&_132.type!=_12d)||(name&&_132.name!=name)){
continue;
}
_130.push(_132);
}
return _130;
},disable:function(form){
var _134=Form.getElements(form);
for(var i=0;i<_134.length;i++){
var _136=_134[i];
_136.blur();
_136.disabled="true";
}
},enable:function(form){
var _138=Form.getElements(form);
for(var i=0;i<_138.length;i++){
var _13a=_138[i];
_13a.disabled="";
}
},findFirstElement:function(form){
return Form.getElements(form).find(function(_13c){
return _13c.type!="hidden"&&!_13c.disabled&&["input","select","textarea"].include(_13c.tagName.toLowerCase());
});
},focusFirstElement:function(form){
Field.activate(Form.findFirstElement(form));
},reset:function(form){
$(form).reset();
}};
Form.Element={serialize:function(_13f){
_13f=$(_13f);
var _140=_13f.tagName.toLowerCase();
var _141=Form.Element.Serializers[_140](_13f);
if(_141){
var key=encodeURIComponent(_141[0]);
if(key.length==0){
return;
}
if(_141[1].constructor!=Array){
_141[1]=[_141[1]];
}
return _141[1].map(function(_143){
return key+"="+encodeURIComponent(_143);
}).join("&");
}
},getValue:function(_144){
_144=$(_144);
var _145=_144.tagName.toLowerCase();
var _146=Form.Element.Serializers[_145](_144);
if(_146){
return _146[1];
}
}};
Form.Element.Serializers={input:function(_147){
switch(_147.type.toLowerCase()){
case "submit":
case "hidden":
case "password":
case "text":
return Form.Element.Serializers.textarea(_147);
case "checkbox":
case "radio":
return Form.Element.Serializers.inputSelector(_147);
}
return false;
},inputSelector:function(_148){
if(_148.checked){
return [_148.name,_148.value];
}
},textarea:function(_149){
return [_149.name,_149.value];
},select:function(_14a){
return Form.Element.Serializers[_14a.type=="select-one"?"selectOne":"selectMany"](_14a);
},selectOne:function(_14b){
var _14c="",opt,index=_14b.selectedIndex;
if(index>=0){
opt=_14b.options[index];
_14c=opt.value||opt.text;
}
return [_14b.name,_14c];
},selectMany:function(_14d){
var _14e=[];
for(var i=0;i<_14d.length;i++){
var opt=_14d.options[i];
if(opt.selected){
_14e.push(opt.value||opt.text);
}
}
return [_14d.name,_14e];
}};
var $F=Form.Element.getValue;
Abstract.TimedObserver=function(){
};
Abstract.TimedObserver.prototype={initialize:function(_151,_152,_153){
this.frequency=_152;
this.element=$(_151);
this.callback=_153;
this.lastValue=this.getValue();
this.registerCallback();
},registerCallback:function(){
setInterval(this.onTimerEvent.bind(this),this.frequency*1000);
},onTimerEvent:function(){
var _154=this.getValue();
if(this.lastValue!=_154){
this.callback(this.element,_154);
this.lastValue=_154;
}
}};
Form.Element.Observer=Class.create();
Form.Element.Observer.prototype=Object.extend(new Abstract.TimedObserver(),{getValue:function(){
return Form.Element.getValue(this.element);
}});
Form.Observer=Class.create();
Form.Observer.prototype=Object.extend(new Abstract.TimedObserver(),{getValue:function(){
return Form.serialize(this.element);
}});
Abstract.EventObserver=function(){
};
Abstract.EventObserver.prototype={initialize:function(_155,_156){
this.element=$(_155);
this.callback=_156;
this.lastValue=this.getValue();
if(this.element.tagName.toLowerCase()=="form"){
this.registerFormCallbacks();
}else{
this.registerCallback(this.element);
}
},onElementEvent:function(){
var _157=this.getValue();
if(this.lastValue!=_157){
this.callback(this.element,_157);
this.lastValue=_157;
}
},registerFormCallbacks:function(){
var _158=Form.getElements(this.element);
for(var i=0;i<_158.length;i++){
this.registerCallback(_158[i]);
}
},registerCallback:function(_15a){
if(_15a.type){
switch(_15a.type.toLowerCase()){
case "checkbox":
case "radio":
Event.observe(_15a,"click",this.onElementEvent.bind(this));
break;
case "password":
case "text":
case "textarea":
case "select-one":
case "select-multiple":
Event.observe(_15a,"change",this.onElementEvent.bind(this));
break;
}
}
}};
Form.Element.EventObserver=Class.create();
Form.Element.EventObserver.prototype=Object.extend(new Abstract.EventObserver(),{getValue:function(){
return Form.Element.getValue(this.element);
}});
Form.EventObserver=Class.create();
Form.EventObserver.prototype=Object.extend(new Abstract.EventObserver(),{getValue:function(){
return Form.serialize(this.element);
}});
if(!window.Event){
var Event=new Object();
}
Object.extend(Event,{KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,element:function(_15b){
return _15b.target||_15b.srcElement;
},isLeftClick:function(_15c){
return (((_15c.which)&&(_15c.which==1))||((_15c.button)&&(_15c.button==1)));
},pointerX:function(_15d){
return _15d.pageX||(_15d.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft));
},pointerY:function(_15e){
return _15e.pageY||(_15e.clientY+(document.documentElement.scrollTop||document.body.scrollTop));
},stop:function(_15f){
if(_15f.preventDefault){
_15f.preventDefault();
_15f.stopPropagation();
}else{
_15f.returnValue=false;
_15f.cancelBubble=true;
}
},findElement:function(_160,_161){
var _162=Event.element(_160);
while(_162.parentNode&&(!_162.tagName||(_162.tagName.toUpperCase()!=_161.toUpperCase()))){
_162=_162.parentNode;
}
return _162;
},observers:false,_observeAndCache:function(_163,name,_165,_166){
if(!this.observers){
this.observers=[];
}
if(_163.addEventListener){
this.observers.push([_163,name,_165,_166]);
_163.addEventListener(name,_165,_166);
}else{
if(_163.attachEvent){
this.observers.push([_163,name,_165,_166]);
_163.attachEvent("on"+name,_165);
}
}
},unloadCache:function(){
if(!Event.observers){
return;
}
for(var i=0;i<Event.observers.length;i++){
Event.stopObserving.apply(this,Event.observers[i]);
Event.observers[i][0]=null;
}
Event.observers=false;
},observe:function(_168,name,_16a,_16b){
var _168=$(_168);
_16b=_16b||false;
if(name=="keypress"&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||_168.attachEvent)){
name="keydown";
}
this._observeAndCache(_168,name,_16a,_16b);
},stopObserving:function(_16c,name,_16e,_16f){
var _16c=$(_16c);
_16f=_16f||false;
if(name=="keypress"&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||_16c.detachEvent)){
name="keydown";
}
if(_16c.removeEventListener){
_16c.removeEventListener(name,_16e,_16f);
}else{
if(_16c.detachEvent){
_16c.detachEvent("on"+name,_16e);
}
}
}});
if(navigator.appVersion.match(/\bMSIE\b/)){
Event.observe(window,"unload",Event.unloadCache,false);
}
var Position={includeScrollOffsets:false,prepare:function(){
this.deltaX=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;
this.deltaY=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;
},realOffset:function(_170){
var _171=0,valueL=0;
do{
_171+=_170.scrollTop||0;
valueL+=_170.scrollLeft||0;
_170=_170.parentNode;
}while(_170);
return [valueL,_171];
},cumulativeOffset:function(_172){
var _173=0,valueL=0;
do{
_173+=_172.offsetTop||0;
valueL+=_172.offsetLeft||0;
_172=_172.offsetParent;
}while(_172);
return [valueL,_173];
},positionedOffset:function(_174){
var _175=0,valueL=0;
do{
_175+=_174.offsetTop||0;
valueL+=_174.offsetLeft||0;
_174=_174.offsetParent;
if(_174){
p=Element.getStyle(_174,"position");
if(p=="relative"||p=="absolute"){
break;
}
}
}while(_174);
return [valueL,_175];
},offsetParent:function(_176){
if(_176.offsetParent){
return _176.offsetParent;
}
if(_176==document.body){
return _176;
}
while((_176=_176.parentNode)&&_176!=document.body){
if(Element.getStyle(_176,"position")!="static"){
return _176;
}
}
return document.body;
},within:function(_177,x,y){
if(this.includeScrollOffsets){
return this.withinIncludingScrolloffsets(_177,x,y);
}
this.xcomp=x;
this.ycomp=y;
this.offset=this.cumulativeOffset(_177);
return (y>=this.offset[1]&&y<this.offset[1]+_177.offsetHeight&&x>=this.offset[0]&&x<this.offset[0]+_177.offsetWidth);
},withinIncludingScrolloffsets:function(_17a,x,y){
var _17d=this.realOffset(_17a);
this.xcomp=x+_17d[0]-this.deltaX;
this.ycomp=y+_17d[1]-this.deltaY;
this.offset=this.cumulativeOffset(_17a);
return (this.ycomp>=this.offset[1]&&this.ycomp<this.offset[1]+_17a.offsetHeight&&this.xcomp>=this.offset[0]&&this.xcomp<this.offset[0]+_17a.offsetWidth);
},overlap:function(mode,_17f){
if(!mode){
return 0;
}
if(mode=="vertical"){
return ((this.offset[1]+_17f.offsetHeight)-this.ycomp)/_17f.offsetHeight;
}
if(mode=="horizontal"){
return ((this.offset[0]+_17f.offsetWidth)-this.xcomp)/_17f.offsetWidth;
}
},clone:function(_180,_181){
_180=$(_180);
_181=$(_181);
_181.style.position="absolute";
var _182=this.cumulativeOffset(_180);
_181.style.top=_182[1]+"px";
_181.style.left=_182[0]+"px";
_181.style.width=_180.offsetWidth+"px";
_181.style.height=_180.offsetHeight+"px";
},page:function(_183){
var _184=0,valueL=0;
var _185=_183;
do{
_184+=_185.offsetTop||0;
valueL+=_185.offsetLeft||0;
if(_185.offsetParent==document.body){
if(Element.getStyle(_185,"position")=="absolute"){
break;
}
}
}while(_185=_185.offsetParent);
_185=_183;
do{
_184-=_185.scrollTop||0;
valueL-=_185.scrollLeft||0;
}while(_185=_185.parentNode);
return [valueL,_184];
},clone:function(_186,_187){
var _188=Object.extend({setLeft:true,setTop:true,setWidth:true,setHeight:true,offsetTop:0,offsetLeft:0},arguments[2]||{});
_186=$(_186);
var p=Position.page(_186);
_187=$(_187);
var _18a=[0,0];
var _18b=null;
if(Element.getStyle(_187,"position")=="absolute"){
_18b=Position.offsetParent(_187);
_18a=Position.page(_18b);
}
if(_18b==document.body){
_18a[0]-=document.body.offsetLeft;
_18a[1]-=document.body.offsetTop;
}
if(_188.setLeft){
_187.style.left=(p[0]-_18a[0]+_188.offsetLeft)+"px";
}
if(_188.setTop){
_187.style.top=(p[1]-_18a[1]+_188.offsetTop)+"px";
}
if(_188.setWidth){
_187.style.width=_186.offsetWidth+"px";
}
if(_188.setHeight){
_187.style.height=_186.offsetHeight+"px";
}
},absolutize:function(_18c){
_18c=$(_18c);
if(_18c.style.position=="absolute"){
return;
}
Position.prepare();
var _18d=Position.positionedOffset(_18c);
var top=_18d[1];
var left=_18d[0];
var _190=_18c.clientWidth;
var _191=_18c.clientHeight;
_18c._originalLeft=left-parseFloat(_18c.style.left||0);
_18c._originalTop=top-parseFloat(_18c.style.top||0);
_18c._originalWidth=_18c.style.width;
_18c._originalHeight=_18c.style.height;
_18c.style.position="absolute";
_18c.style.top=top+"px";
_18c.style.left=left+"px";
_18c.style.width=_190+"px";
_18c.style.height=_191+"px";
},relativize:function(_192){
_192=$(_192);
if(_192.style.position=="relative"){
return;
}
Position.prepare();
_192.style.position="relative";
var top=parseFloat(_192.style.top||0)-(_192._originalTop||0);
var left=parseFloat(_192.style.left||0)-(_192._originalLeft||0);
_192.style.top=top+"px";
_192.style.left=left+"px";
_192.style.height=_192._originalHeight;
_192.style.width=_192._originalWidth;
}};
if(/Konqueror|Safari|KHTML/.test(navigator.userAgent)){
Position.cumulativeOffset=function(_195){
var _196=0,valueL=0;
do{
_196+=_195.offsetTop||0;
valueL+=_195.offsetLeft||0;
if(_195.offsetParent==document.body){
if(Element.getStyle(_195,"position")=="absolute"){
break;
}
}
_195=_195.offsetParent;
}while(_195);
return [valueL,_196];
};
}

var Autocompleter={};
Autocompleter.Base=function(){
};
Autocompleter.Base.prototype={baseInitialize:function(_1,_2,_3){
this.element=$(_1);
this.update=$(_2);
this.hasFocus=false;
this.changed=false;
this.active=false;
this.index=0;
this.entryCount=0;
if(this.setOptions){
this.setOptions(_3);
}else{
this.options=_3||{};
}
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(_4,_5){
if(!_5.style.position||_5.style.position=="absolute"){
_5.style.position="absolute";
Position.clone(_4,_5,{setHeight:false,offsetTop:_4.offsetHeight});
}
Effect.Appear(_5,{duration:0.15});
};
this.options.onHide=this.options.onHide||function(_6,_7){
new Effect.Fade(_7,{duration:0.15});
};
if(typeof (this.options.tokens)=="string"){
this.options.tokens=new Array(this.options.tokens);
}
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,"keypress",this.onKeyPress.bindAsEventListener(this));
},show:function(){
if(Element.getStyle(this.update,"display")=="none"){
this.options.onShow(this.element,this.update);
}
if(!this.iefix&&(navigator.appVersion.indexOf("MSIE")>0)&&(navigator.userAgent.indexOf("Opera")<0)&&(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);
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(_8){
if(this.active){
switch(_8.keyCode){
case Event.KEY_TAB:
case Event.KEY_RETURN:
this.selectEntry();
Event.stop(_8);
case Event.KEY_ESC:
this.hide();
this.active=false;
Event.stop(_8);
return;
case Event.KEY_LEFT:
case Event.KEY_RIGHT:
return;
case Event.KEY_UP:
this.markPrevious();
this.render();
if(navigator.appVersion.indexOf("AppleWebKit")>0){
Event.stop(_8);
}
return;
case Event.KEY_DOWN:
this.markNext();
this.render();
if(navigator.appVersion.indexOf("AppleWebKit")>0){
Event.stop(_8);
}
return;
}
}else{
if(_8.keyCode==Event.KEY_TAB||_8.keyCode==Event.KEY_RETURN||(navigator.appVersion.indexOf("AppleWebKit")>0&&_8.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(_9){
var _a=Event.findElement(_9,"LI");
if(this.index!=_a.autocompleteIndex){
this.index=_a.autocompleteIndex;
this.render();
}
Event.stop(_9);
},onClick:function(_b){
var _c=Event.findElement(_b,"LI");
this.index=_c.autocompleteIndex;
this.selectEntry();
this.hide();
},onBlur:function(_d){
setTimeout(this.hide.bind(this),250);
this.hasFocus=false;
this.active=false;
},render:function(){
if(this.entryCount>0){
for(var i=0;i<this.entryCount;i++){
this.index==i?Element.addClassName(this.getEntry(i),"selected"):Element.removeClassName(this.getEntry(i),"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;
}
},markNext:function(){
if(this.index<this.entryCount-1){
this.index++;
}else{
this.index=0;
}
},getEntry:function(_f){
return this.update.firstChild.childNodes[_f];
},getCurrentEntry:function(){
return this.getEntry(this.index);
},selectEntry:function(){
this.active=false;
this.element._newValue=true;
this.updateElement(this.getCurrentEntry());
},updateElement:function(_10){
if(this.options.updateElement){
this.options.updateElement(_10);
return;
}
var _11="";
if(this.options.select){
var _12=document.getElementsByClassName(this.options.select,_10)||[];
if(_12.length>0){
_11=Element.collectTextNodes(_12[0],this.options.select);
}
}else{
_11=Element.collectTextNodesIgnoreClass(_10,"informal");
}
var _13=this.findLastToken();
if(_13!=-1){
var _14=this.element.value.substr(0,_13+1);
var _15=this.element.value.substr(_13+1).match(/^\s+/);
if(_15){
_14+=_15[0];
}
this.element.value=_14+_11;
}else{
this.element.value=_11;
}
this.element.focus();
if(this.options.afterUpdateElement){
this.options.afterUpdateElement(this.element,_10);
}
},updateChoices:function(_16){
if(!this.changed&&this.hasFocus){
this.update.innerHTML=_16;
Element.cleanWhitespace(this.update);
Element.cleanWhitespace(this.update.firstChild);
if(this.update.firstChild&&this.update.firstChild.childNodes){
this.entryCount=this.update.firstChild.childNodes.length;
for(var i=0;i<this.entryCount;i++){
var _18=this.getEntry(i);
_18.autocompleteIndex=i;
this.addObservers(_18);
}
}else{
this.entryCount=0;
}
this.stopIndicator();
this.index=0;
this.render();
}
},addObservers:function(_19){
Event.observe(_19,"mouseover",this.onHover.bindAsEventListener(this));
Event.observe(_19,"click",this.onClick.bindAsEventListener(this));
},onObserverEvent:function(){
this.changed=false;
if(this.getToken().length>=this.options.minChars){
this.startIndicator();
this.getUpdatedChoices();
}else{
this.active=false;
this.hide();
}
},getToken:function(){
var _1a=this.findLastToken();
if(_1a!=-1){
var ret=this.element.value.substr(_1a+1).replace(/^\s+/,"").replace(/\s+$/,"");
}else{
var ret=this.element.value;
}
return /\n/.test(ret)?"":ret;
},findLastToken:function(){
var _1c=-1;
for(var i=0;i<this.options.tokens.length;i++){
var _1e=this.element.value.lastIndexOf(this.options.tokens[i]);
if(_1e>_1c){
_1c=_1e;
}
}
return _1c;
}};
Ajax.Autocompleter=Class.create();
Object.extend(Object.extend(Ajax.Autocompleter.prototype,Autocompleter.Base.prototype),{initialize:function(_1f,_20,url,_22){
this.baseInitialize(_1f,_20,_22);
this.options.asynchronous=true;
this.options.onComplete=this.onComplete.bind(this);
this.options.defaultParams=this.options.parameters||null;
this.url=url;
},getUpdatedChoices:function(){
entry=encodeURIComponent(this.options.paramName)+"="+encodeURIComponent(this.getToken());
this.options.parameters=this.options.callback?this.options.callback(this.element,entry):entry;
if(this.options.defaultParams){
this.options.parameters+="&"+this.options.defaultParams;
}
new Ajax.Request(this.url,this.options);
},onComplete:function(_23){
this.updateChoices(_23.responseText);
}});
Autocompleter.Local=Class.create();
Autocompleter.Local.prototype=Object.extend(new Autocompleter.Base(),{initialize:function(_24,_25,_26,_27){
this.baseInitialize(_24,_25,_27);
this.options.array=_26;
},getUpdatedChoices:function(){
this.updateChoices(this.options.selector(this));
},setOptions:function(_28){
this.options=Object.extend({choices:10,partialSearch:true,partialChars:2,ignoreCase:true,fullSearch:false,selector:function(_29){
var ret=[];
var _2b=[];
var _2c=_29.getToken();
var _2d=0;
for(var i=0;i<_29.options.array.length&&ret.length<_29.options.choices;i++){
var _2f=_29.options.array[i];
var _30=_29.options.ignoreCase?_2f.toLowerCase().indexOf(_2c.toLowerCase()):_2f.indexOf(_2c);
while(_30!=-1){
if(_30==0&&_2f.length!=_2c.length){
ret.push("<li><strong>"+_2f.substr(0,_2c.length)+"</strong>"+_2f.substr(_2c.length)+"</li>");
break;
}else{
if(_2c.length>=_29.options.partialChars&&_29.options.partialSearch&&_30!=-1){
if(_29.options.fullSearch||/\s/.test(_2f.substr(_30-1,1))){
_2b.push("<li>"+_2f.substr(0,_30)+"<strong>"+_2f.substr(_30,_2c.length)+"</strong>"+_2f.substr(_30+_2c.length)+"</li>");
break;
}
}
}
_30=_29.options.ignoreCase?_2f.toLowerCase().indexOf(_2c.toLowerCase(),_30+1):_2f.indexOf(_2c,_30+1);
}
}
if(_2b.length){
ret=ret.concat(_2b.slice(0,_29.options.choices-ret.length));
}
return "<ul>"+ret.join("")+"</ul>";
}},_28||{});
}});
Form.Element.DelayedObserver=Class.create();
Form.Element.DelayedObserver.prototype={initialize:function(_31,_32,_33){
this.delay=_32||0.5;
this.element=$(_31);
this.callback=_33;
this.timer=null;
this.lastValue=$F(this.element);
Event.observe(this.element,"keyup",this.delayedListener.bindAsEventListener(this));
},delayedListener:function(_34){
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));
}};

String.prototype.parseColor=function(){
var _1="#";
if(this.slice(0,4)=="rgb("){
var _2=this.slice(4,this.length-1).split(",");
var i=0;
do{
_1+=parseInt(_2[i]).toColorPart();
}while(++i<3);
}else{
if(this.slice(0,1)=="#"){
if(this.length==4){
for(var i=1;i<4;i++){
_1+=(this.charAt(i)+this.charAt(i)).toLowerCase();
}
}
if(this.length==7){
_1=this.toLowerCase();
}
}
}
return (_1.length==7?_1:(arguments[0]||this));
};
Element.collectTextNodes=function(_4){
return $A($(_4).childNodes).collect(function(_5){
return (_5.nodeType==3?_5.nodeValue:(_5.hasChildNodes()?Element.collectTextNodes(_5):""));
}).flatten().join("");
};
Element.collectTextNodesIgnoreClass=function(_6,_7){
return $A($(_6).childNodes).collect(function(_8){
return (_8.nodeType==3?_8.nodeValue:((_8.hasChildNodes()&&!Element.hasClassName(_8,_7))?Element.collectTextNodesIgnoreClass(_8,_7):""));
}).flatten().join("");
};
Element.setContentZoom=function(_9,_a){
_9=$(_9);
Element.setStyle(_9,{fontSize:(_a/100)+"em"});
if(navigator.appVersion.indexOf("AppleWebKit")>0){
window.scrollBy(0,0);
}
};
Element.getOpacity=function(_b){
var _c;
if(_c=Element.getStyle(_b,"opacity")){
return parseFloat(_c);
}
if(_c=(Element.getStyle(_b,"filter")||"").match(/alpha\(opacity=(.*)\)/)){
if(_c[1]){
return parseFloat(_c[1])/100;
}
}
return 1;
};
Element.setOpacity=function(_d,_e){
_d=$(_d);
if(_e==1){
Element.setStyle(_d,{opacity:(/Gecko/.test(navigator.userAgent)&&!/Konqueror|Safari|KHTML/.test(navigator.userAgent))?0.999999:null});
if(/MSIE/.test(navigator.userAgent)){
Element.setStyle(_d,{filter:Element.getStyle(_d,"filter").replace(/alpha\([^\)]*\)/gi,"")});
}
}else{
if(_e<0.00001){
_e=0;
}
Element.setStyle(_d,{opacity:_e});
if(/MSIE/.test(navigator.userAgent)){
Element.setStyle(_d,{filter:Element.getStyle(_d,"filter").replace(/alpha\([^\)]*\)/gi,"")+"alpha(opacity="+_e*100+")"});
}
}
};
Element.getInlineOpacity=function(_f){
return $(_f).style.opacity||"";
};
Element.childrenWithClassName=function(_10,_11,_12){
var _13=new RegExp("(^|\\s)"+_11+"(\\s|$)");
var _14=$A($(_10).getElementsByTagName("*"))[_12?"detect":"select"](function(c){
return (c.className&&c.className.match(_13));
});
if(!_14){
_14=[];
}
return _14;
};
Element.forceRerendering=function(_16){
try{
_16=$(_16);
var n=document.createTextNode(" ");
_16.appendChild(n);
_16.removeChild(n);
}
catch(e){
}
};
Array.prototype.call=function(){
var _18=arguments;
this.each(function(f){
f.apply(this,_18);
});
};
var Effect={tagifyText:function(_1a){
var _1b="position:relative";
if(/MSIE/.test(navigator.userAgent)){
_1b+=";zoom:1";
}
_1a=$(_1a);
$A(_1a.childNodes).each(function(_1c){
if(_1c.nodeType==3){
_1c.nodeValue.toArray().each(function(_1d){
_1a.insertBefore(Builder.node("span",{style:_1b},_1d==" "?String.fromCharCode(160):_1d),_1c);
});
Element.remove(_1c);
}
});
},multiple:function(_1e,_1f){
var _20;
if(((typeof _1e=="object")||(typeof _1e=="function"))&&(_1e.length)){
_20=_1e;
}else{
_20=$(_1e).childNodes;
}
var _21=Object.extend({speed:0.1,delay:0},arguments[2]||{});
var _22=_21.delay;
$A(_20).each(function(_23,_24){
new _1f(_23,Object.extend(_21,{delay:_24*_21.speed+_22}));
});
},PAIRS:{"slide":["SlideDown","SlideUp"],"blind":["BlindDown","BlindUp"],"appear":["Appear","Fade"]},toggle:function(_25,_26){
_25=$(_25);
_26=(_26||"appear").toLowerCase();
var _27=Object.extend({queue:{position:"end",scope:(_25.id||"global"),limit:1}},arguments[2]||{});
Effect[_25.visible()?Effect.PAIRS[_26][1]:Effect.PAIRS[_26][0]](_25,_27);
}};
var Effect2=Effect;
Effect.Transitions={};
Effect.Transitions.linear=function(pos){
return pos;
};
Effect.Transitions.sinoidal=function(pos){
return (-Math.cos(pos*Math.PI)/2)+0.5;
};
Effect.Transitions.reverse=function(pos){
return 1-pos;
};
Effect.Transitions.flicker=function(pos){
return ((-Math.cos(pos*Math.PI)/4)+0.75)+Math.random()/4;
};
Effect.Transitions.wobble=function(pos){
return (-Math.cos(pos*Math.PI*(9*pos))/2)+0.5;
};
Effect.Transitions.pulse=function(pos){
return (Math.floor(pos*10)%2==0?(pos*10-Math.floor(pos*10)):1-(pos*10-Math.floor(pos*10)));
};
Effect.Transitions.none=function(pos){
return 0;
};
Effect.Transitions.full=function(pos){
return 1;
};
Effect.ScopedQueue=Class.create();
Object.extend(Object.extend(Effect.ScopedQueue.prototype,Enumerable),{initialize:function(){
this.effects=[];
this.interval=null;
},_each:function(_30){
this.effects._each(_30);
},add:function(_31){
var _32=new Date().getTime();
var _33=(typeof _31.options.queue=="string")?_31.options.queue:_31.options.queue.position;
switch(_33){
case "front":
this.effects.findAll(function(e){
return e.state=="idle";
}).each(function(e){
e.startOn+=_31.finishOn;
e.finishOn+=_31.finishOn;
});
break;
case "end":
_32=this.effects.pluck("finishOn").max()||_32;
break;
}
_31.startOn+=_32;
_31.finishOn+=_32;
if(!_31.options.queue.limit||(this.effects.length<_31.options.queue.limit)){
this.effects.push(_31);
}
if(!this.interval){
this.interval=setInterval(this.loop.bind(this),40);
}
},remove:function(_36){
this.effects=this.effects.reject(function(e){
return e==_36;
});
if(this.effects.length==0){
clearInterval(this.interval);
this.interval=null;
}
},loop:function(){
var _38=new Date().getTime();
this.effects.invoke("loop",_38);
}});
Effect.Queues={instances:$H(),get:function(_39){
if(typeof _39!="string"){
return _39;
}
if(!this.instances[_39]){
this.instances[_39]=new Effect.ScopedQueue();
}
return this.instances[_39];
}};
Effect.Queue=Effect.Queues.get("global");
Effect.DefaultOptions={transition:Effect.Transitions.sinoidal,duration:1,fps:25,sync:false,from:0,to:1,delay:0,queue:"parallel"};
Effect.Base=function(){
};
Effect.Base.prototype={position:null,start:function(_3a){
this.options=Object.extend(Object.extend({},Effect.DefaultOptions),_3a||{});
this.currentFrame=0;
this.state="idle";
this.startOn=this.options.delay*1000;
this.finishOn=this.startOn+(this.options.duration*1000);
this.event("beforeStart");
if(!this.options.sync){
Effect.Queues.get(typeof this.options.queue=="string"?"global":this.options.queue.scope).add(this);
}
},loop:function(_3b){
if(_3b>=this.startOn){
if(_3b>=this.finishOn){
this.render(1);
this.cancel();
this.event("beforeFinish");
if(this.finish){
this.finish();
}
this.event("afterFinish");
return;
}
var pos=(_3b-this.startOn)/(this.finishOn-this.startOn);
var _3d=Math.round(pos*this.options.fps*this.options.duration);
if(_3d>this.currentFrame){
this.render(pos);
this.currentFrame=_3d;
}
}
},render:function(pos){
if(this.state=="idle"){
this.state="running";
this.event("beforeSetup");
if(this.setup){
this.setup();
}
this.event("afterSetup");
}
if(this.state=="running"){
if(this.options.transition){
pos=this.options.transition(pos);
}
pos*=(this.options.to-this.options.from);
pos+=this.options.from;
this.position=pos;
this.event("beforeUpdate");
if(this.update){
this.update(pos);
}
this.event("afterUpdate");
}
},cancel:function(){
if(!this.options.sync){
Effect.Queues.get(typeof this.options.queue=="string"?"global":this.options.queue.scope).remove(this);
}
this.state="finished";
},event:function(_3f){
if(this.options[_3f+"Internal"]){
this.options[_3f+"Internal"](this);
}
if(this.options[_3f]){
this.options[_3f](this);
}
},inspect:function(){
return "#<Effect:"+$H(this).inspect()+",options:"+$H(this.options).inspect()+">";
}};
Effect.Parallel=Class.create();
Object.extend(Object.extend(Effect.Parallel.prototype,Effect.Base.prototype),{initialize:function(_40){
this.effects=_40||[];
this.start(arguments[1]);
},update:function(_41){
this.effects.invoke("render",_41);
},finish:function(_42){
this.effects.each(function(_43){
_43.render(1);
_43.cancel();
_43.event("beforeFinish");
if(_43.finish){
_43.finish(_42);
}
_43.event("afterFinish");
});
}});
Effect.Opacity=Class.create();
Object.extend(Object.extend(Effect.Opacity.prototype,Effect.Base.prototype),{initialize:function(_44){
this.element=$(_44);
if(/MSIE/.test(navigator.userAgent)&&(!this.element.hasLayout)){
this.element.setStyle({zoom:1});
}
var _45=Object.extend({from:this.element.getOpacity()||0,to:1},arguments[1]||{});
this.start(_45);
},update:function(_46){
this.element.setOpacity(_46);
}});
Effect.Move=Class.create();
Object.extend(Object.extend(Effect.Move.prototype,Effect.Base.prototype),{initialize:function(_47){
this.element=$(_47);
var _48=Object.extend({x:0,y:0,mode:"relative"},arguments[1]||{});
this.start(_48);
},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(_49){
this.element.setStyle({left:this.options.x*_49+this.originalLeft+"px",top:this.options.y*_49+this.originalTop+"px"});
}});
Effect.MoveBy=function(_4a,_4b,_4c){
return new Effect.Move(_4a,Object.extend({x:_4c,y:_4b},arguments[3]||{}));
};
Effect.Scale=Class.create();
Object.extend(Object.extend(Effect.Scale.prototype,Effect.Base.prototype),{initialize:function(_4d,_4e){
this.element=$(_4d);
var _4f=Object.extend({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:"box",scaleFrom:100,scaleTo:_4e},arguments[2]||{});
this.start(_4f);
},setup:function(){
this.restoreAfterFinish=this.options.restoreAfterFinish||false;
this.elementPositioning=this.element.getStyle("position");
this.originalStyle={};
["top","left","width","height","fontSize"].each(function(k){
this.originalStyle[k]=this.element.style[k];
}.bind(this));
this.originalTop=this.element.offsetTop;
this.originalLeft=this.element.offsetLeft;
var _51=this.element.getStyle("font-size")||"100%";
["em","px","%"].each(function(_52){
if(_51.indexOf(_52)>0){
this.fontSize=parseFloat(_51);
this.fontSizeType=_52;
}
}.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(_53){
var _54=(this.options.scaleFrom/100)+(this.factor*_53);
if(this.options.scaleContent&&this.fontSize){
this.element.setStyle({fontSize:this.fontSize*_54+this.fontSizeType});
}
this.setDimensions(this.dims[0]*_54,this.dims[1]*_54);
},finish:function(_55){
if(this.restoreAfterFinish){
this.element.setStyle(this.originalStyle);
}
},setDimensions:function(_56,_57){
var d={};
if(this.options.scaleX){
d.width=_57+"px";
}
if(this.options.scaleY){
d.height=_56+"px";
}
if(this.options.scaleFromCenter){
var _59=(_56-this.dims[0])/2;
var _5a=(_57-this.dims[1])/2;
if(this.elementPositioning=="absolute"){
if(this.options.scaleY){
d.top=this.originalTop-_59+"px";
}
if(this.options.scaleX){
d.left=this.originalLeft-_5a+"px";
}
}else{
if(this.options.scaleY){
d.top=-_59+"px";
}
if(this.options.scaleX){
d.left=-_5a+"px";
}
}
}
this.element.setStyle(d);
}});
Effect.Highlight=Class.create();
Object.extend(Object.extend(Effect.Highlight.prototype,Effect.Base.prototype),{initialize:function(_5b){
this.element=$(_5b);
var _5c=Object.extend({startcolor:"#ffff99"},arguments[1]||{});
this.start(_5c);
},setup:function(){
if(this.element.getStyle("display")=="none"){
this.cancel();
return;
}
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(i){
return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16);
}.bind(this));
this._delta=$R(0,2).map(function(i){
return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i];
}.bind(this));
},update:function(_5f){
this.element.setStyle({backgroundColor:$R(0,2).inject("#",function(m,v,i){
return m+(Math.round(this._base[i]+(this._delta[i]*_5f)).toColorPart());
}.bind(this))});
},finish:function(){
this.element.setStyle(Object.extend(this.oldStyle,{backgroundColor:this.options.restorecolor}));
}});
Effect.ScrollTo=Class.create();
Object.extend(Object.extend(Effect.ScrollTo.prototype,Effect.Base.prototype),{initialize:function(_63){
this.element=$(_63);
this.start(arguments[1]||{});
},setup:function(){
Position.prepare();
var _64=Position.cumulativeOffset(this.element);
if(this.options.offset){
_64[1]+=this.options.offset;
}
var max=window.innerHeight?window.height-window.innerHeight:document.body.scrollHeight-(document.documentElement.clientHeight?document.documentElement.clientHeight:document.body.clientHeight);
this.scrollStart=Position.deltaY;
this.delta=(_64[1]>max?max:_64[1])-this.scrollStart;
},update:function(_66){
Position.prepare();
window.scrollTo(Position.deltaX,this.scrollStart+(_66*this.delta));
}});
Effect.Fade=function(_67){
_67=$(_67);
var _68=_67.getInlineOpacity();
var _69=Object.extend({from:_67.getOpacity()||1,to:0,afterFinishInternal:function(_6a){
if(_6a.options.to!=0){
return;
}
_6a.element.hide();
_6a.element.setStyle({opacity:_68});
}},arguments[1]||{});
return new Effect.Opacity(_67,_69);
};
Effect.Appear=function(_6b){
_6b=$(_6b);
var _6c=Object.extend({from:(_6b.getStyle("display")=="none"?0:_6b.getOpacity()||0),to:1,afterFinishInternal:function(_6d){
_6d.element.forceRerendering();
},beforeSetup:function(_6e){
_6e.element.setOpacity(_6e.options.from);
_6e.element.show();
}},arguments[1]||{});
return new Effect.Opacity(_6b,_6c);
};
Effect.Puff=function(_6f){
_6f=$(_6f);
var _70={opacity:_6f.getInlineOpacity(),position:_6f.getStyle("position")};
return new Effect.Parallel([new Effect.Scale(_6f,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true}),new Effect.Opacity(_6f,{sync:true,to:0})],Object.extend({duration:1,beforeSetupInternal:function(_71){
_71.effects[0].element.setStyle({position:"absolute"});
},afterFinishInternal:function(_72){
_72.effects[0].element.hide();
_72.effects[0].element.setStyle(_70);
}},arguments[1]||{}));
};
Effect.BlindUp=function(_73){
_73=$(_73);
_73.makeClipping();
return new Effect.Scale(_73,0,Object.extend({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(_74){
_74.element.hide();
_74.element.undoClipping();
}},arguments[1]||{}));
};
Effect.BlindDown=function(_75){
_75=$(_75);
var _76=_75.getDimensions();
return new Effect.Scale(_75,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:_76.height,originalWidth:_76.width},restoreAfterFinish:true,afterSetup:function(_77){
_77.element.makeClipping();
_77.element.setStyle({height:"0px"});
_77.element.show();
},afterFinishInternal:function(_78){
_78.element.undoClipping();
}},arguments[1]||{}));
};
Effect.SwitchOff=function(_79){
_79=$(_79);
var _7a=_79.getInlineOpacity();
return new Effect.Appear(_79,{duration:0.4,from:0,transition:Effect.Transitions.flicker,afterFinishInternal:function(_7b){
new Effect.Scale(_7b.element,1,{duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetup:function(_7c){
_7c.element.makePositioned();
_7c.element.makeClipping();
},afterFinishInternal:function(_7d){
_7d.element.hide();
_7d.element.undoClipping();
_7d.element.undoPositioned();
_7d.element.setStyle({opacity:_7a});
}});
}});
};
Effect.DropOut=function(_7e){
_7e=$(_7e);
var _7f={top:_7e.getStyle("top"),left:_7e.getStyle("left"),opacity:_7e.getInlineOpacity()};
return new Effect.Parallel([new Effect.Move(_7e,{x:0,y:100,sync:true}),new Effect.Opacity(_7e,{sync:true,to:0})],Object.extend({duration:0.5,beforeSetup:function(_80){
_80.effects[0].element.makePositioned();
},afterFinishInternal:function(_81){
_81.effects[0].element.hide();
_81.effects[0].element.undoPositioned();
_81.effects[0].element.setStyle(_7f);
}},arguments[1]||{}));
};
Effect.Shake=function(_82){
_82=$(_82);
var _83={top:_82.getStyle("top"),left:_82.getStyle("left")};
return new Effect.Move(_82,{x:20,y:0,duration:0.05,afterFinishInternal:function(_84){
new Effect.Move(_84.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(_85){
new Effect.Move(_85.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(_86){
new Effect.Move(_86.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(_87){
new Effect.Move(_87.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(_88){
new Effect.Move(_88.element,{x:-20,y:0,duration:0.05,afterFinishInternal:function(_89){
_89.element.undoPositioned();
_89.element.setStyle(_83);
}});
}});
}});
}});
}});
}});
};
Effect.SlideDown=function(_8a){
_8a=$(_8a);
_8a.cleanWhitespace();
var _8b=$(_8a.firstChild).getStyle("bottom");
var _8c=_8a.getDimensions();
return new Effect.Scale(_8a,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:window.opera?0:1,scaleMode:{originalHeight:_8c.height,originalWidth:_8c.width},restoreAfterFinish:true,afterSetup:function(_8d){
_8d.element.makePositioned();
_8d.element.firstChild.makePositioned();
if(window.opera){
_8d.element.setStyle({top:""});
}
_8d.element.makeClipping();
_8d.element.setStyle({height:"0px"});
_8d.element.show();
},afterUpdateInternal:function(_8e){
_8e.element.firstChild.setStyle({bottom:(_8e.dims[0]-_8e.element.clientHeight)+"px"});
},afterFinishInternal:function(_8f){
_8f.element.undoClipping();
if(/MSIE/.test(navigator.userAgent)){
_8f.element.undoPositioned();
_8f.element.firstChild.undoPositioned();
}else{
_8f.element.firstChild.undoPositioned();
_8f.element.undoPositioned();
}
_8f.element.firstChild.setStyle({bottom:_8b});
}},arguments[1]||{}));
};
Effect.SlideUp=function(_90){
_90=$(_90);
_90.cleanWhitespace();
var _91=$(_90.firstChild).getStyle("bottom");
return new Effect.Scale(_90,window.opera?0:1,Object.extend({scaleContent:false,scaleX:false,scaleMode:"box",scaleFrom:100,restoreAfterFinish:true,beforeStartInternal:function(_92){
_92.element.makePositioned();
_92.element.firstChild.makePositioned();
if(window.opera){
_92.element.setStyle({top:""});
}
_92.element.makeClipping();
_92.element.show();
},afterUpdateInternal:function(_93){
_93.element.firstChild.setStyle({bottom:(_93.dims[0]-_93.element.clientHeight)+"px"});
},afterFinishInternal:function(_94){
_94.element.hide();
_94.element.undoClipping();
_94.element.firstChild.undoPositioned();
_94.element.undoPositioned();
_94.element.setStyle({bottom:_91});
}},arguments[1]||{}));
};
Effect.Squish=function(_95){
return new Effect.Scale(_95,window.opera?1:0,{restoreAfterFinish:true,beforeSetup:function(_96){
_96.element.makeClipping(_96.element);
},afterFinishInternal:function(_97){
_97.element.hide(_97.element);
_97.element.undoClipping(_97.element);
}});
};
Effect.Grow=function(_98){
_98=$(_98);
var _99=Object.extend({direction:"center",moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.full},arguments[1]||{});
var _9a={top:_98.style.top,left:_98.style.left,height:_98.style.height,width:_98.style.width,opacity:_98.getInlineOpacity()};
var _9b=_98.getDimensions();
var _9c,initialMoveY;
var _9d,moveY;
switch(_99.direction){
case "top-left":
_9c=initialMoveY=_9d=moveY=0;
break;
case "top-right":
_9c=_9b.width;
initialMoveY=moveY=0;
_9d=-_9b.width;
break;
case "bottom-left":
_9c=_9d=0;
initialMoveY=_9b.height;
moveY=-_9b.height;
break;
case "bottom-right":
_9c=_9b.width;
initialMoveY=_9b.height;
_9d=-_9b.width;
moveY=-_9b.height;
break;
case "center":
_9c=_9b.width/2;
initialMoveY=_9b.height/2;
_9d=-_9b.width/2;
moveY=-_9b.height/2;
break;
}
return new Effect.Move(_98,{x:_9c,y:initialMoveY,duration:0.01,beforeSetup:function(_9e){
_9e.element.hide();
_9e.element.makeClipping();
_9e.element.makePositioned();
},afterFinishInternal:function(_9f){
new Effect.Parallel([new Effect.Opacity(_9f.element,{sync:true,to:1,from:0,transition:_99.opacityTransition}),new Effect.Move(_9f.element,{x:_9d,y:moveY,sync:true,transition:_99.moveTransition}),new Effect.Scale(_9f.element,100,{scaleMode:{originalHeight:_9b.height,originalWidth:_9b.width},sync:true,scaleFrom:window.opera?1:0,transition:_99.scaleTransition,restoreAfterFinish:true})],Object.extend({beforeSetup:function(_a0){
_a0.effects[0].element.setStyle({height:"0px"});
_a0.effects[0].element.show();
},afterFinishInternal:function(_a1){
_a1.effects[0].element.undoClipping();
_a1.effects[0].element.undoPositioned();
_a1.effects[0].element.setStyle(_9a);
}},_99));
}});
};
Effect.Shrink=function(_a2){
_a2=$(_a2);
var _a3=Object.extend({direction:"center",moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.none},arguments[1]||{});
var _a4={top:_a2.style.top,left:_a2.style.left,height:_a2.style.height,width:_a2.style.width,opacity:_a2.getInlineOpacity()};
var _a5=_a2.getDimensions();
var _a6,moveY;
switch(_a3.direction){
case "top-left":
_a6=moveY=0;
break;
case "top-right":
_a6=_a5.width;
moveY=0;
break;
case "bottom-left":
_a6=0;
moveY=_a5.height;
break;
case "bottom-right":
_a6=_a5.width;
moveY=_a5.height;
break;
case "center":
_a6=_a5.width/2;
moveY=_a5.height/2;
break;
}
return new Effect.Parallel([new Effect.Opacity(_a2,{sync:true,to:0,from:1,transition:_a3.opacityTransition}),new Effect.Scale(_a2,window.opera?1:0,{sync:true,transition:_a3.scaleTransition,restoreAfterFinish:true}),new Effect.Move(_a2,{x:_a6,y:moveY,sync:true,transition:_a3.moveTransition})],Object.extend({beforeStartInternal:function(_a7){
_a7.effects[0].element.makePositioned();
_a7.effects[0].element.makeClipping();
},afterFinishInternal:function(_a8){
_a8.effects[0].element.hide();
_a8.effects[0].element.undoClipping();
_a8.effects[0].element.undoPositioned();
_a8.effects[0].element.setStyle(_a4);
}},_a3));
};
Effect.Pulsate=function(_a9){
_a9=$(_a9);
var _aa=arguments[1]||{};
var _ab=_a9.getInlineOpacity();
var _ac=_aa.transition||Effect.Transitions.sinoidal;
var _ad=function(pos){
return _ac(1-Effect.Transitions.pulse(pos));
};
_ad.bind(_ac);
return new Effect.Opacity(_a9,Object.extend(Object.extend({duration:3,from:0,afterFinishInternal:function(_af){
_af.element.setStyle({opacity:_ab});
}},_aa),{transition:_ad}));
};
Effect.Fold=function(_b0){
_b0=$(_b0);
var _b1={top:_b0.style.top,left:_b0.style.left,width:_b0.style.width,height:_b0.style.height};
Element.makeClipping(_b0);
return new Effect.Scale(_b0,5,Object.extend({scaleContent:false,scaleX:false,afterFinishInternal:function(_b2){
new Effect.Scale(_b0,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(_b3){
_b3.element.hide();
_b3.element.undoClipping();
_b3.element.setStyle(_b1);
}});
}},arguments[1]||{}));
};
["setOpacity","getOpacity","getInlineOpacity","forceRerendering","setContentZoom","collectTextNodes","collectTextNodesIgnoreClass","childrenWithClassName"].each(function(f){
Element.Methods[f]=Element[f];
});
Element.Methods.visualEffect=function(_b5,_b6,_b7){
s=_b6.gsub(/_/,"-").camelize();
effect_class=s.charAt(0).toUpperCase()+s.substring(1);
new Effect[effect_class](_b5,_b7);
return $(_b5);
};
Element.addMethods();

var Util={};
Util.getQueryParameters=function(){
if(!isset(this._queryParameters)){
var _1=Util.getQueryString();
this._queryParameters=_1.toQueryParamsNemo();
}
return this._queryParameters;
};
Util.getQueryString=function(){
return location.href.replace(/^[^\?]+\?/,"");
};
Util.createCookie=function(_2,_3,_4){
if(_4){
var _5=new Date();
_5.setTime(_5.getTime()+(_4*24*60*60*1000));
var _6="; expires="+_5.toGMTString();
}else{
var _6="";
}
document.cookie=_2+"="+_3+_6+"; path=/";
};
Util.readCookie=function(_7){
var _8=_7+"=";
var ca=document.cookie.split(";");
for(var i=0;i<ca.length;i++){
var c=ca[i];
while(c.charAt(0)==" "){
c=c.substring(1,c.length);
}
if(c.indexOf(_8)==0){
return c.substring(_8.length,c.length);
}
}
return null;
};
Util.eraseCookie=function(_c){
Util.createCookie(_c,"",-1);
};
Behaviour.addLoadEvent(function(){
window.documentLoaded=true;
});
if(typeof (dump)!="function"){
dump=function(_d){
};
}
Util.safeEncode=function(_e){
return encode64(_e).replace(/=/g,"_");
};
Util.safeDecode=function(_f){
return decode64(_f.replace(/_/g,"=").replace(/#.*$/,""));
};
Util.CacheImage=function(url,_11,_12){
if(BASE_PATH==""){
BASE_PATH="/";
}
var _13=BASE_PATH+"?Action=ImageCache&url="+url;
if(_11!=null){
_13+="&width="+_11;
}
if(_12!=null){
_13+="&height="+_12;
}
return _13;
};
function isset(el){
return (typeof (el)!="undefined");
}
var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
function encode64(_15){
var _16="";
var _17,chr2,chr3;
var _18,enc2,enc3,enc4;
var i=0;
do{
_17=_15.charCodeAt(i++);
chr2=_15.charCodeAt(i++);
chr3=_15.charCodeAt(i++);
_18=_17>>2;
enc2=((_17&3)<<4)|(chr2>>4);
enc3=((chr2&15)<<2)|(chr3>>6);
enc4=chr3&63;
if(isNaN(chr2)){
enc3=enc4=64;
}else{
if(isNaN(chr3)){
enc4=64;
}
}
_16=_16+keyStr.charAt(_18)+keyStr.charAt(enc2)+keyStr.charAt(enc3)+keyStr.charAt(enc4);
}while(i<_15.length);
return _16;
}
function decode64(_1a){
var _1b="";
var _1c,chr2,chr3;
var _1d,enc2,enc3,enc4;
var i=0;
_1a=_1a.replace(/[^A-Za-z0-9\+\/\=]/g,"");
do{
_1d=keyStr.indexOf(_1a.charAt(i++));
enc2=keyStr.indexOf(_1a.charAt(i++));
enc3=keyStr.indexOf(_1a.charAt(i++));
enc4=keyStr.indexOf(_1a.charAt(i++));
_1c=(_1d<<2)|(enc2>>4);
chr2=((enc2&15)<<4)|(enc3>>2);
chr3=((enc3&3)<<6)|enc4;
_1b=_1b+String.fromCharCode(_1c);
if(enc3!=64){
_1b=_1b+String.fromCharCode(chr2);
}
if(enc4!=64){
_1b=_1b+String.fromCharCode(chr3);
}
}while(i<_1a.length);
return _1b;
}
function AnsiSQLDate(_1f){
this._ansiString=_1f;
try{
var _20=_1f.split(/ /);
var p=_20[0].split(/-/);
this._year=p[0];
this._month=p[1];
this._day=p[2];
if(typeof (_20[1])=="string"){
var _22=_20[1].split(/:/);
this._minutes=_22[1];
this._hours=_22[0];
}
}
catch(e){
_alert("no es una fecha valida");
}
}
AnsiSQLDate.prototype={getDateObj:function(){
var d=new Date(this._year,this._month-1,this._day);
return d;
},getYear:function(){
return this._year;
},getMonth:function(){
return this._month;
},getDay:function(){
return this._day;
},getTime:function(){
return this._hours+":"+this._minutes;
},getShortDate:function(){
var d=this.getDateObj();
return d.print("%d-%m-%y");
},toString:function(){
return this.getDay()+"/"+this.getMonth()+"/"+this.getYear();
},_year:0,_month:0,_day:0,_minutes:0};
String.prototype.setMaxLength=function(_25,_26){
var _27=this;
if(this.length>_25){
if(typeof (_26)!="undefined"&&_26){
_27="..."+this.substr(this.length-_25,this.length);
}else{
_27=this.substr(0,_25)+"...";
}
}
return _27;
};
var CompatibleEffect={_compatibleMode:navigator.userAgent.match(/linux/i),"BlindDown":function(el,_29){
if(this._compatibleMode){
Element.show(el);
}else{
Effect.BlindDown(el,_29);
}
},"BlindUp":function(el,_2b){
if(this._compatibleMode){
Element.hide(el);
}else{
Effect.BlindUp(el,_2b);
}
},"DropOut":function(el,_2d){
if(this._compatibleMode){
Element.hide(el);
}else{
Effect.DropOut(el,_2d);
}
},"toggle":function(el,_2f,_30){
if(this._compatibleMode){
Element.toggle(el);
}else{
Effect.toggle(el,_2f,_30);
}
}};
function getFieldValue(_31,_32){
value=(typeof (_32)=="undefined")?-1:_32;
if(_31.nodeName.toLowerCase()=="select"){
return _31.options[_31.selectedIndex].value;
}
switch(_31.type){
case "radio":
var _33="#"+_31.form.id+" input[name="+_31.name+"]";
var _34=document.getElementsBySelector(_33);
for(var k=0;k<_34.length;k++){
if(_34[k].checked){
return _34[k].value;
}
}
break;
case "checkbox":
return _31.checked;
break;
default:
return _31.value;
}
return value;
}
function _alert(str){
}
var dbg=false;
function trimAll(_37){
while(_37.substring(0,1)==" "){
_37=_37.substring(1,_37.length);
}
while(_37.substring(_37.length-1,_37.length)==" "){
_37=_37.substring(0,_37.length-1);
}
return _37;
}
function popUpDocumentView(URL){
day=new Date();
id=day.getTime();
eval("page"+id+" = window.open(URL, '"+id+"', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=320,height=240');");
}

Util.getCityName=function(_1){
if(typeof (citiesNames)!="undefined"&&isset(citiesNames[_1])){
return citiesNames[_1];
}else{
return "";
}
};
Util.extractCityName=function(_2){
return _2.replace(/[A-Z]{3}-/,"");
};
Util.extractCityCode=function(_3){
return _3.replace(/-.*/,"");
};
Util.getAbbreviatedAirportName=function(_4){
_4=_4.replace(/(aerop|aeropuerto|intl|internacional)(\. )*(de )*/ig,"");
return _4.setMaxLength(20,true);
};
Util.cleanCarModel=function(_5){
return _5.replace(/\(?o[ ]*similar\)?/i,"");
};
Util.addPlusSign=function(_6){
if(_6.toString().charAt(0)!="-"){
return "+"+_6.toString();
}else{
return _6.toString();
}
};
Util.getAirportName=function(_7){
if(isset(airportNames[_7])){
return airportNames[_7];
}else{
return "";
}
};
Util.getRawSearchParameters=function(){
var _8=Util.getQueryString().toQueryParamsNemo();
var _9="";
if(isset(_8["d"])){
return _8["d"];
}else{
if(typeof (searchParameters)!="undefined"&&isset(searchParameters)){
return searchParameters;
}else{
return "";
}
}
};
Util.getSearchParameters=function(){
var _a={};
var _b=Util.safeDecode(Util.getRawSearchParameters()).toQueryParamsNemo();
for(i in _b){
_a[unescape(i)]=_b[i];
}
return _a;
};
Util.calcDateDiff=function(_c,to){
return parseInt((to.getTime()-_c.getTime())/dayMilliseconds);
};
Util.processFlightSegment=function(_e){
_e.from=new AnsiSQLDate(_e.dateFrom);
_e.to=new AnsiSQLDate(_e.dateTo);
_e.daysDiff=Util.calcDateDiff(_e.from.getDateObj(),_e.to.getDateObj());
_e.dayChange=(_e.daysDiff!=0)?"<span class=\"rj\">+ "+_e.daysDiff+"d\xeda</span>":"";
_e.abbrCityNameTo=_e.cityTo.setMaxLength(17,true);
_e.abbrCityNameFrom=_e.cityFrom.setMaxLength(17,true);
if(_e.hourFrom.match(/[0-9]+:[0-9]+:[0-9]+/)){
_e.hourFrom=_e.hourFrom.replace(/\:00$/,"");
_e.hourTo=_e.hourTo.replace(/\:00$/,"");
}
return _e;
};
Util.formatPriceHTML=function(_f){
var _10=Util.formatPrice(_f).split(/\./);
return _10[0]+"<sup><span class=\"coma\">,</span>"+_10[1]+"</sup>";
};
Util.formatPrice=function(_11){
return parseFloat(_11).toFixed(2);
};
var dayMilliseconds=60*60*24*1000;
function disable_depart_date(d){
hoy.setHours(0);
hoy.setMinutes(0);
hoy.setSeconds(0);
hoy.setMilliseconds(0);
if(hoy.getDay()==5&&horaActual>=pepeCloseHour){
if((d.getTime()==hoy.getTime()+(dayMilliseconds*1))||(d.getTime()==hoy.getTime()+(dayMilliseconds*2))){
return "disabled";
}else{
if(hoy.getTime()>=d.getTime()){
return "disabled";
}
}
}else{
if(d.getDay()==0||d.getDay()==6){
if(hoy.getDay()==6){
if(hoy.getTime()==d.getTime()){
return "disabled";
}else{
if(hoy.getTime()-dayMilliseconds>=d.getTime()){
return "disabled";
}
}
if((hoy.getTime()+dayMilliseconds)==d.getTime()&&d.getDay()==0){
return "disabled";
}else{
if(hoy.getTime()-dayMilliseconds>=d.getTime()){
return "disabled";
}
}
}
if(hoy.getDay()==0&&hoy.getTime()==d.getTime()){
return "disabled";
}else{
if(hoy.getTime()-dayMilliseconds>=d.getTime()){
return "disabled";
}
}
}else{
if(hoy.getTime()-dayMilliseconds>=d.getTime()){
return "disabled";
}
}
}
}
function disable_return_date(d){
try{
var _14=Date.parseDate($F("fld_depart_date"),window.dateFormat);
return (_14.getTime()>d.getTime());
}
catch(e){
return false;
}
}
function disable_snow_return_date(d){
try{
var _16=Date.parseDate($F("snow_depart_date"),window.dateFormat);
return (_16.getTime()>d.getTime());
}
catch(e){
return false;
}
}
function depart_changed(cal){
if(typeof (cal)!="undefined"){
window.departField.cal=cal;
}
retDate=Date.parseDate(window.returnField.value,window.dateFormat);
depDate=Date.parseDate(window.departField.value,window.dateFormat);
if(depDate.getTime()>retDate.getTime()){
window.returnField.value=depDate.print(window.dateFormat);
}
return true;
}
function snow_depart_changed(cal){
if(typeof (cal)!="undefined"){
window.snowDepartField.cal=cal;
}
retDate=Date.parseDate(window.snowReturnField.value,window.dateFormat);
depDate=Date.parseDate(window.snowDepartField.value,window.dateFormat);
if(depDate.getTime()>retDate.getTime()){
window.snowReturnField.value=depDate.print(window.dateFormat);
}
return true;
}
function MM_openBrWindow(_19,_1a,_1b){
window.open(_19,_1a,_1b);
}

var hoy=new Date();
Behaviour.register({"input.fecha":function(el){
setTimeout("setupCalendar(\""+el.id+"\");",700);
}});
window.dateFormat="%d-%m-%Y";
function setupCalendar(el){
el=$(el);
var _3=[hoy.getFullYear(),hoy.getFullYear()+1];
this.setupObj={"inputField":el.id,"ifFormat":window.dateFormat,"showsTime":false,"button":el.id+"_trigger","range":_3,"showOthers":true,"weekNumbers":false};
var _4=el.getAttribute("validDatesFn");
var _5=el.getAttribute("onUpdate");
if(typeof (_4)=="string"&&_4.length){
eval("this.setupObj.dateStatusFunc = "+_4+";");
}
if(typeof (_5)=="string"&&_5.length){
eval("this.setupObj.onUpdate = "+_5+";");
}
el.cal=Calendar.setup(this.setupObj);
el.trigger=$(el.id+"_trigger");
}
function userToAnsiSQLDate(_6,el){
if(typeof (el)=="undefined"){
el=false;
}
try{
var _8=/([0-9]{1,2})[\/-]([0-9]{1,2})[\/-]([0-9]{4})/.exec(_6);
if(el){
Element.removeClassName(el,"dato_invalido");
}
return _8[3]+"-"+_8[2]+"-"+_8[1];
}
catch(e){
if(el){
Element.addClassName(el,"dato_invalido");
}
throw "Invalid date";
}
}

Calendar=function(_1,_2,_3,_4){
this.activeDiv=null;
this.currentDateEl=null;
this.getDateStatus=null;
this.getDateToolTip=null;
this.getDateText=null;
this.timeout=null;
this.onSelected=_3||null;
this.onClose=_4||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 _1=="number"?_1:Calendar._FD;
this.showsOtherMonths=false;
this.dateStr=_2;
this.ar_days=null;
this.showsTime=false;
this.time24=true;
this.yearStep=2;
this.hiliteToday=true;
this.multiple=null;
this.table=null;
this.element=null;
this.tbody=null;
this.firstdayname=null;
this.monthsCombo=null;
this.yearsCombo=null;
this.hilitedMonth=null;
this.activeMonth=null;
this.hilitedYear=null;
this.activeYear=null;
this.dateClicked=false;
if(typeof Calendar._SDN=="undefined"){
if(typeof Calendar._SDN_len=="undefined"){
Calendar._SDN_len=3;
}
var ar=new Array();
for(var i=8;i>0;){
ar[--i]=Calendar._DN[i].substr(0,Calendar._SDN_len);
}
Calendar._SDN=ar;
if(typeof Calendar._SMN_len=="undefined"){
Calendar._SMN_len=3;
}
ar=new Array();
for(var i=12;i>0;){
ar[--i]=Calendar._MN[i].substr(0,Calendar._SMN_len);
}
Calendar._SMN=ar;
}
};
Calendar._C=null;
Calendar.is_ie=(/msie/i.test(navigator.userAgent)&&!/opera/i.test(navigator.userAgent));
Calendar.is_ie5=(Calendar.is_ie&&/msie 5\.0/i.test(navigator.userAgent));
Calendar.is_opera=/opera/i.test(navigator.userAgent);
Calendar.is_khtml=/Konqueror|Safari|KHTML/i.test(navigator.userAgent);
Calendar.getAbsolutePos=function(el){
var SL=0,ST=0;
var _9=/^div$/i.test(el.tagName);
if(_9&&el.scrollLeft){
SL=el.scrollLeft;
}
if(_9&&el.scrollTop){
ST=el.scrollTop;
}
var r={x:el.offsetLeft-SL,y:el.offsetTop-ST};
if(el.offsetParent){
var _b=this.getAbsolutePos(el.offsetParent);
r.x+=_b.x;
r.y+=_b.y;
}
return r;
};
Calendar.isRelated=function(el,_d){
var _e=_d.relatedTarget;
if(!_e){
var _f=_d.type;
if(_f=="mouseover"){
_e=_d.fromElement;
}else{
if(_f=="mouseout"){
_e=_d.toElement;
}
}
}
while(_e){
if(_e==el){
return true;
}
_e=_e.parentNode;
}
return false;
};
Calendar.removeClass=function(el,_11){
if(!(el&&el.className)){
return;
}
var cls=el.className.split(" ");
var ar=new Array();
for(var i=cls.length;i>0;){
if(cls[--i]!=_11){
ar[ar.length]=cls[i];
}
}
el.className=ar.join(" ");
};
Calendar.addClass=function(el,_16){
Calendar.removeClass(el,_16);
el.className+=" "+_16;
};
Calendar.getElement=function(ev){
var f=Calendar.is_ie?window.event.srcElement:ev.currentTarget;
while(f.nodeType!=1||/^div$/i.test(f.tagName)){
f=f.parentNode;
}
return f;
};
Calendar.getTargetElement=function(ev){
var f=Calendar.is_ie?window.event.srcElement:ev.target;
while(f.nodeType!=1){
f=f.parentNode;
}
return f;
};
Calendar.stopEvent=function(ev){
ev||(ev=window.event);
if(Calendar.is_ie){
ev.cancelBubble=true;
ev.returnValue=false;
}else{
ev.preventDefault();
ev.stopPropagation();
}
return false;
};
Calendar.addEvent=function(el,_1d,_1e){
if(el.attachEvent){
el.attachEvent("on"+_1d,_1e);
}else{
if(el.addEventListener){
el.addEventListener(_1d,_1e,true);
}else{
el["on"+_1d]=_1e;
}
}
};
Calendar.removeEvent=function(el,_20,_21){
if(el.detachEvent){
el.detachEvent("on"+_20,_21);
}else{
if(el.removeEventListener){
el.removeEventListener(_20,_21,true);
}else{
el["on"+_20]=null;
}
}
};
Calendar.createElement=function(_22,_23){
var el=null;
if(document.createElementNS){
el=document.createElementNS("http://www.w3.org/1999/xhtml",_22);
}else{
el=document.createElement(_22);
}
if(typeof _23!="undefined"){
_23.appendChild(el);
}
return el;
};
Calendar._add_evs=function(el){
with(Calendar){
addEvent(el,"mouseover",dayMouseOver);
addEvent(el,"mousedown",dayMouseDown);
addEvent(el,"mouseout",dayMouseOut);
if(is_ie){
addEvent(el,"dblclick",dayMouseDblClick);
el.setAttribute("unselectable",true);
}
}
};
Calendar.findMonth=function(el){
if(typeof el.month!="undefined"){
return el;
}else{
if(typeof el.parentNode.month!="undefined"){
return el.parentNode;
}
}
return null;
};
Calendar.findYear=function(el){
if(typeof el.year!="undefined"){
return el;
}else{
if(typeof el.parentNode.year!="undefined"){
return el.parentNode;
}
}
return null;
};
Calendar.showMonthsCombo=function(){
var cal=Calendar._C;
if(!cal){
return false;
}
var cal=cal;
var cd=cal.activeDiv;
var mc=cal.monthsCombo;
if(cal.hilitedMonth){
Calendar.removeClass(cal.hilitedMonth,"hilite");
}
if(cal.activeMonth){
Calendar.removeClass(cal.activeMonth,"active");
}
var mon=cal.monthsCombo.getElementsByTagName("div")[cal.date.getMonth()];
Calendar.addClass(mon,"active");
cal.activeMonth=mon;
var s=mc.style;
s.display="block";
if(cd.navtype<0){
s.left=cd.offsetLeft+"px";
}else{
var mcw=mc.offsetWidth;
if(typeof mcw=="undefined"){
mcw=50;
}
s.left=(cd.offsetLeft+cd.offsetWidth-mcw)+"px";
}
s.top=(cd.offsetTop+cd.offsetHeight)+"px";
};
Calendar.showYearsCombo=function(fwd){
var cal=Calendar._C;
if(!cal){
return false;
}
var cal=cal;
var cd=cal.activeDiv;
var yc=cal.yearsCombo;
if(cal.hilitedYear){
Calendar.removeClass(cal.hilitedYear,"hilite");
}
if(cal.activeYear){
Calendar.removeClass(cal.activeYear,"active");
}
cal.activeYear=null;
var Y=cal.date.getFullYear()+(fwd?1:-1);
var yr=yc.firstChild;
var _34=false;
for(var i=12;i>0;--i){
if(Y>=cal.minYear&&Y<=cal.maxYear){
yr.innerHTML=Y;
yr.year=Y;
yr.style.display="block";
_34=true;
}else{
yr.style.display="none";
}
yr=yr.nextSibling;
Y+=fwd?cal.yearStep:-cal.yearStep;
}
if(_34){
var s=yc.style;
s.display="block";
if(cd.navtype<0){
s.left=cd.offsetLeft+"px";
}else{
var ycw=yc.offsetWidth;
if(typeof ycw=="undefined"){
ycw=50;
}
s.left=(cd.offsetLeft+cd.offsetWidth-ycw)+"px";
}
s.top=(cd.offsetTop+cd.offsetHeight)+"px";
}
};
Calendar.tableMouseUp=function(ev){
var cal=Calendar._C;
if(!cal){
return false;
}
if(cal.timeout){
clearTimeout(cal.timeout);
}
var el=cal.activeDiv;
if(!el){
return false;
}
var _3b=Calendar.getTargetElement(ev);
ev||(ev=window.event);
Calendar.removeClass(el,"active");
if(_3b==el||_3b.parentNode==el){
Calendar.cellClick(el,ev);
}
var mon=Calendar.findMonth(_3b);
var _3d=null;
if(mon){
_3d=new Date(cal.date);
if(mon.month!=_3d.getMonth()){
_3d.setMonth(mon.month);
cal.setDate(_3d);
cal.dateClicked=false;
cal.callHandler();
}
}else{
var _3e=Calendar.findYear(_3b);
if(_3e){
_3d=new Date(cal.date);
if(_3e.year!=_3d.getFullYear()){
_3d.setFullYear(_3e.year);
cal.setDate(_3d);
cal.dateClicked=false;
cal.callHandler();
}
}
}
with(Calendar){
removeEvent(document,"mouseup",tableMouseUp);
removeEvent(document,"mouseover",tableMouseOver);
removeEvent(document,"mousemove",tableMouseOver);
cal._hideCombos();
_C=null;
return stopEvent(ev);
}
};
Calendar.tableMouseOver=function(ev){
var cal=Calendar._C;
if(!cal){
return;
}
var el=cal.activeDiv;
var _42=Calendar.getTargetElement(ev);
if(_42==el||_42.parentNode==el){
Calendar.addClass(el,"hilite active");
Calendar.addClass(el.parentNode,"rowhilite");
}else{
if(typeof el.navtype=="undefined"||(el.navtype!=50&&(el.navtype==0||Math.abs(el.navtype)>2))){
Calendar.removeClass(el,"active");
}
Calendar.removeClass(el,"hilite");
Calendar.removeClass(el.parentNode,"rowhilite");
}
ev||(ev=window.event);
if(el.navtype==50&&_42!=el){
var pos=Calendar.getAbsolutePos(el);
var w=el.offsetWidth;
var x=ev.clientX;
var dx;
var _47=true;
if(x>pos.x+w){
dx=x-pos.x-w;
_47=false;
}else{
dx=pos.x-x;
}
if(dx<0){
dx=0;
}
var _48=el._range;
var _49=el._current;
var _4a=Math.floor(dx/10)%_48.length;
for(var i=_48.length;--i>=0;){
if(_48[i]==_49){
break;
}
}
while(_4a-->0){
if(_47){
if(--i<0){
i=_48.length-1;
}
}else{
if(++i>=_48.length){
i=0;
}
}
}
var _4c=_48[i];
el.innerHTML=_4c;
cal.onUpdateTime();
}
var mon=Calendar.findMonth(_42);
if(mon){
if(mon.month!=cal.date.getMonth()){
if(cal.hilitedMonth){
Calendar.removeClass(cal.hilitedMonth,"hilite");
}
Calendar.addClass(mon,"hilite");
cal.hilitedMonth=mon;
}else{
if(cal.hilitedMonth){
Calendar.removeClass(cal.hilitedMonth,"hilite");
}
}
}else{
if(cal.hilitedMonth){
Calendar.removeClass(cal.hilitedMonth,"hilite");
}
var _4e=Calendar.findYear(_42);
if(_4e){
if(_4e.year!=cal.date.getFullYear()){
if(cal.hilitedYear){
Calendar.removeClass(cal.hilitedYear,"hilite");
}
Calendar.addClass(_4e,"hilite");
cal.hilitedYear=_4e;
}else{
if(cal.hilitedYear){
Calendar.removeClass(cal.hilitedYear,"hilite");
}
}
}else{
if(cal.hilitedYear){
Calendar.removeClass(cal.hilitedYear,"hilite");
}
}
}
return Calendar.stopEvent(ev);
};
Calendar.tableMouseDown=function(ev){
if(Calendar.getTargetElement(ev)==Calendar.getElement(ev)){
return Calendar.stopEvent(ev);
}
};
Calendar.calDragIt=function(ev){
var cal=Calendar._C;
if(!(cal&&cal.dragging)){
return false;
}
var _52;
var _53;
if(Calendar.is_ie){
_53=window.event.clientY+document.body.scrollTop;
_52=window.event.clientX+document.body.scrollLeft;
}else{
_52=ev.pageX;
_53=ev.pageY;
}
cal.hideShowCovered();
var st=cal.element.style;
st.left=(_52-cal.xOffs)+"px";
st.top=(_53-cal.yOffs)+"px";
return Calendar.stopEvent(ev);
};
Calendar.calDragEnd=function(ev){
var cal=Calendar._C;
if(!cal){
return false;
}
cal.dragging=false;
with(Calendar){
removeEvent(document,"mousemove",calDragIt);
removeEvent(document,"mouseup",calDragEnd);
tableMouseUp(ev);
}
cal.hideShowCovered();
};
Calendar.dayMouseDown=function(ev){
var el=Calendar.getElement(ev);
if(el.disabled){
return false;
}
var cal=el.calendar;
cal.activeDiv=el;
Calendar._C=cal;
if(el.navtype!=300){
with(Calendar){
if(el.navtype==50){
el._current=el.innerHTML;
addEvent(document,"mousemove",tableMouseOver);
}else{
addEvent(document,Calendar.is_ie5?"mousemove":"mouseover",tableMouseOver);
}
addClass(el,"hilite active");
addEvent(document,"mouseup",tableMouseUp);
}
}else{
if(cal.isPopup){
cal._dragStart(ev);
}
}
if(el.navtype==-1||el.navtype==1){
if(cal.timeout){
clearTimeout(cal.timeout);
}
cal.timeout=setTimeout("Calendar.showMonthsCombo()",250);
}else{
if(el.navtype==-2||el.navtype==2){
if(cal.timeout){
clearTimeout(cal.timeout);
}
cal.timeout=setTimeout((el.navtype>0)?"Calendar.showYearsCombo(true)":"Calendar.showYearsCombo(false)",250);
}else{
cal.timeout=null;
}
}
return Calendar.stopEvent(ev);
};
Calendar.dayMouseDblClick=function(ev){
Calendar.cellClick(Calendar.getElement(ev),ev||window.event);
if(Calendar.is_ie){
document.selection.empty();
}
};
Calendar.dayMouseOver=function(ev){
var el=Calendar.getElement(ev);
if(Calendar.isRelated(el,ev)||Calendar._C||el.disabled){
return false;
}
if(el.ttip){
if(el.ttip.substr(0,1)=="_"){
el.ttip=el.caldate.print(el.calendar.ttDateFormat)+el.ttip.substr(1);
}
el.calendar.tooltips.innerHTML=el.ttip;
}
if(el.navtype!=300){
Calendar.addClass(el,"hilite");
if(el.caldate){
Calendar.addClass(el.parentNode,"rowhilite");
}
}
return Calendar.stopEvent(ev);
};
Calendar.dayMouseOut=function(ev){
with(Calendar){
var el=getElement(ev);
if(isRelated(el,ev)||_C||el.disabled){
return false;
}
removeClass(el,"hilite");
if(el.caldate){
removeClass(el.parentNode,"rowhilite");
}
if(el.calendar){
el.calendar.tooltips.innerHTML=_TT["SEL_DATE"];
}
return stopEvent(ev);
}
};
Calendar.cellClick=function(el,ev){
var cal=el.calendar;
var _62=false;
var _63=false;
var _64=null;
if(typeof el.navtype=="undefined"){
if(cal.currentDateEl){
Calendar.removeClass(cal.currentDateEl,"selected");
Calendar.addClass(el,"selected");
_62=(cal.currentDateEl==el);
if(!_62){
cal.currentDateEl=el;
}
}
cal.date.setDateOnly(el.caldate);
_64=cal.date;
var _65=!(cal.dateClicked=!el.otherMonth);
if(!_65&&!cal.currentDateEl){
cal._toggleMultipleDate(new Date(_64));
}else{
_63=!el.disabled;
}
if(_65){
cal._init(cal.firstDayOfWeek,_64);
}
}else{
if(el.navtype==200){
Calendar.removeClass(el,"hilite");
cal.callCloseHandler();
return;
}
_64=new Date(cal.date);
if(el.navtype==0){
_64.setDateOnly(new Date());
}
cal.dateClicked=false;
var _66=_64.getFullYear();
var mon=_64.getMonth();
function setMonth(m){
var day=_64.getDate();
var max=_64.getMonthDays(m);
if(day>max){
_64.setDate(max);
}
_64.setMonth(m);
}
switch(el.navtype){
case 400:
Calendar.removeClass(el,"hilite");
var _6b=Calendar._TT["ABOUT"];
if(typeof _6b!="undefined"){
_6b+=cal.showsTime?Calendar._TT["ABOUT_TIME"]:"";
}else{
_6b="Help and about box text is not translated into this language.\n"+"If you know this language and you feel generous please update\n"+"the corresponding file in \"lang\" subdir to match calendar-en.js\n"+"and send it back to <mihai_bazon@yahoo.com> to get it into the distribution  ;-)\n\n"+"Thank you!\n"+"http://dynarch.com/mishoo/calendar.epl\n";
}
alert(_6b);
return;
case -2:
if(_66>cal.minYear){
_64.setFullYear(_66-1);
}
break;
case -1:
if(mon>0){
setMonth(mon-1);
}else{
if(_66-->cal.minYear){
_64.setFullYear(_66);
setMonth(11);
}
}
break;
case 1:
if(mon<11){
setMonth(mon+1);
}else{
if(_66<cal.maxYear){
_64.setFullYear(_66+1);
setMonth(0);
}
}
break;
case 2:
if(_66<cal.maxYear){
_64.setFullYear(_66+1);
}
break;
case 100:
cal.setFirstDayOfWeek(el.fdow);
return;
case 50:
var _6c=el._range;
var _6d=el.innerHTML;
for(var i=_6c.length;--i>=0;){
if(_6c[i]==_6d){
break;
}
}
if(ev&&ev.shiftKey){
if(--i<0){
i=_6c.length-1;
}
}else{
if(++i>=_6c.length){
i=0;
}
}
var _6f=_6c[i];
el.innerHTML=_6f;
cal.onUpdateTime();
return;
case 0:
if((typeof cal.getDateStatus=="function")&&cal.getDateStatus(_64,_64.getFullYear(),_64.getMonth(),_64.getDate())){
return false;
}
break;
}
if(!_64.equalsTo(cal.date)){
cal.setDate(_64);
_63=true;
}else{
if(el.navtype==0){
_63=_62=true;
}
}
}
if(_63){
ev&&cal.callHandler();
}
if(_62){
Calendar.removeClass(el,"hilite");
ev&&cal.callCloseHandler();
}
};
Calendar.prototype.create=function(_70){
var _71=null;
if(!_70){
_71=document.getElementsByTagName("body")[0];
this.isPopup=true;
}else{
_71=_70;
this.isPopup=false;
}
this.date=this.dateStr?new Date(this.dateStr):new Date();
var _72=Calendar.createElement("table");
this.table=_72;
_72.cellSpacing=0;
_72.cellPadding=0;
_72.calendar=this;
Calendar.addEvent(_72,"mousedown",Calendar.tableMouseDown);
var div=Calendar.createElement("div");
this.element=div;
div.className="calendar";
if(this.isPopup){
div.style.position="absolute";
div.style.display="none";
}
div.appendChild(_72);
var _74=Calendar.createElement("thead",_72);
var _75=null;
var row=null;
var cal=this;
var hh=function(_79,cs,_7b){
_75=Calendar.createElement("td",row);
_75.colSpan=cs;
_75.className="button";
if(_7b!=0&&Math.abs(_7b)<=2){
_75.className+=" nav";
}
Calendar._add_evs(_75);
_75.calendar=cal;
_75.navtype=_7b;
_75.innerHTML="<div unselectable='on'>"+_79+"</div>";
return _75;
};
row=Calendar.createElement("tr",_74);
var _7c=6;
(this.isPopup)&&--_7c;
(this.weekNumbers)&&++_7c;
hh("?",1,400).ttip=Calendar._TT["INFO"];
this.title=hh("",_7c,300);
this.title.className="title";
if(this.isPopup){
this.title.ttip=Calendar._TT["DRAG_TO_MOVE"];
this.title.style.cursor="move";
hh("&#x00d7;",1,200).ttip=Calendar._TT["CLOSE"];
}
row=Calendar.createElement("tr",_74);
row.className="headrow";
this._nav_py=Calendar.createElement("td",row);
this._nav_py.ttip="";
this._nav_pm=hh("&#x2039;",1,-1);
this._nav_pm.ttip=Calendar._TT["PREV_MONTH"];
this._nav_now=hh(Calendar._TT["TODAY"],this.weekNumbers?4:3,0);
this._nav_now.ttip=Calendar._TT["GO_TODAY"];
this._nav_nm=hh("&#x203a;",1,1);
this._nav_nm.ttip=Calendar._TT["NEXT_MONTH"];
this._nav_ny=Calendar.createElement("td",row);
this._nav_ny.ttip="";
row=Calendar.createElement("tr",_74);
row.className="daynames";
if(this.weekNumbers){
_75=Calendar.createElement("td",row);
_75.className="name wn";
_75.innerHTML=Calendar._TT["WK"];
}
for(var i=7;i>0;--i){
_75=Calendar.createElement("td",row);
if(!i){
_75.navtype=100;
_75.calendar=this;
Calendar._add_evs(_75);
}
}
this.firstdayname=(this.weekNumbers)?row.firstChild.nextSibling:row.firstChild;
this._displayWeekdays();
var _7e=Calendar.createElement("tbody",_72);
this.tbody=_7e;
for(i=6;i>0;--i){
row=Calendar.createElement("tr",_7e);
if(this.weekNumbers){
_75=Calendar.createElement("td",row);
}
for(var j=7;j>0;--j){
_75=Calendar.createElement("td",row);
_75.calendar=this;
Calendar._add_evs(_75);
}
}
if(this.showsTime){
row=Calendar.createElement("tr",_7e);
row.className="time";
_75=Calendar.createElement("td",row);
_75.className="time";
_75.colSpan=2;
_75.innerHTML=Calendar._TT["TIME"]||"&nbsp;";
_75=Calendar.createElement("td",row);
_75.className="time";
_75.colSpan=this.weekNumbers?4:3;
(function(){
function makeTimePart(_80,_81,_82,_83){
var _84=Calendar.createElement("span",_75);
_84.className=_80;
_84.innerHTML=_81;
_84.calendar=cal;
_84.ttip=Calendar._TT["TIME_PART"];
_84.navtype=50;
_84._range=[];
if(typeof _82!="number"){
_84._range=_82;
}else{
for(var i=_82;i<=_83;++i){
var txt;
if(i<10&&_83>=10){
txt="0"+i;
}else{
txt=""+i;
}
_84._range[_84._range.length]=txt;
}
}
Calendar._add_evs(_84);
return _84;
}
var hrs=cal.date.getHours();
var _88=cal.date.getMinutes();
var t12=!cal.time24;
var pm=(hrs>12);
if(t12&&pm){
hrs-=12;
}
var H=makeTimePart("hour",hrs,t12?1:0,t12?12:23);
var _8c=Calendar.createElement("span",_75);
_8c.innerHTML=":";
_8c.className="colon";
var M=makeTimePart("minute",_88,0,59);
var AP=null;
_75=Calendar.createElement("td",row);
_75.className="time";
_75.colSpan=2;
if(t12){
AP=makeTimePart("ampm",pm?"pm":"am",["am","pm"]);
}else{
_75.innerHTML="&nbsp;";
}
cal.onSetTime=function(){
var pm,hrs=this.date.getHours(),_88=this.date.getMinutes();
if(t12){
pm=(hrs>=12);
if(pm){
hrs-=12;
}
if(hrs==0){
hrs=12;
}
AP.innerHTML=pm?"pm":"am";
}
H.innerHTML=(hrs<10)?("0"+hrs):hrs;
M.innerHTML=(_88<10)?("0"+_88):_88;
};
cal.onUpdateTime=function(){
var _90=this.date;
var h=parseInt(H.innerHTML,10);
if(t12){
if(/pm/i.test(AP.innerHTML)&&h<12){
h+=12;
}else{
if(/am/i.test(AP.innerHTML)&&h==12){
h=0;
}
}
}
var d=_90.getDate();
var m=_90.getMonth();
var y=_90.getFullYear();
_90.setHours(h);
_90.setMinutes(parseInt(M.innerHTML,10));
_90.setFullYear(y);
_90.setMonth(m);
_90.setDate(d);
this.dateClicked=false;
this.callHandler();
};
})();
}else{
this.onSetTime=this.onUpdateTime=function(){
};
}
var _95=Calendar.createElement("tfoot",_72);
row=Calendar.createElement("tr",_95);
row.className="footrow";
_75=hh(Calendar._TT["SEL_DATE"],this.weekNumbers?8:7,300);
_75.className="ttip";
if(this.isPopup){
_75.ttip=Calendar._TT["DRAG_TO_MOVE"];
_75.style.cursor="move";
}
this.tooltips=_75;
div=Calendar.createElement("div",this.element);
this.monthsCombo=div;
div.className="combo";
for(i=0;i<Calendar._MN.length;++i){
var mn=Calendar.createElement("div");
mn.className=Calendar.is_ie?"label-IEfix":"label";
mn.month=i;
mn.innerHTML=Calendar._SMN[i];
div.appendChild(mn);
}
div=Calendar.createElement("div",this.element);
this.yearsCombo=div;
div.className="combo";
for(i=12;i>0;--i){
var yr=Calendar.createElement("div");
yr.className=Calendar.is_ie?"label-IEfix":"label";
div.appendChild(yr);
}
this._init(this.firstDayOfWeek,this.date);
_71.appendChild(this.element);
};
Calendar._keyEvent=function(ev){
var cal=window._dynarch_popupCalendar;
if(!cal||cal.multiple){
return false;
}
(Calendar.is_ie)&&(ev=window.event);
var act=(Calendar.is_ie||ev.type=="keypress"),K=ev.keyCode;
if(ev.ctrlKey){
switch(K){
case 37:
act&&Calendar.cellClick(cal._nav_pm);
break;
case 38:
act&&Calendar.cellClick(cal._nav_py);
break;
case 39:
act&&Calendar.cellClick(cal._nav_nm);
break;
case 40:
act&&Calendar.cellClick(cal._nav_ny);
break;
default:
return false;
}
}else{
switch(K){
case 32:
Calendar.cellClick(cal._nav_now);
break;
case 27:
act&&cal.callCloseHandler();
break;
case 37:
case 38:
case 39:
case 40:
if(act){
var _9b,x,y,ne,el,step;
_9b=K==37||K==38;
step=(K==37||K==39)?1:7;
function setVars(){
el=cal.currentDateEl;
var p=el.pos;
x=p&15;
y=p>>4;
ne=cal.ar_days[y][x];
}
setVars();
function prevMonth(){
var _9d=new Date(cal.date);
_9d.setDate(_9d.getDate()-step);
cal.setDate(_9d);
}
function nextMonth(){
var _9e=new Date(cal.date);
_9e.setDate(_9e.getDate()+step);
cal.setDate(_9e);
}
while(1){
switch(K){
case 37:
if(--x>=0){
ne=cal.ar_days[y][x];
}else{
x=6;
K=38;
continue;
}
break;
case 38:
if(--y>=0){
ne=cal.ar_days[y][x];
}else{
prevMonth();
setVars();
}
break;
case 39:
if(++x<7){
ne=cal.ar_days[y][x];
}else{
x=0;
K=40;
continue;
}
break;
case 40:
if(++y<cal.ar_days.length){
ne=cal.ar_days[y][x];
}else{
nextMonth();
setVars();
}
break;
}
break;
}
if(ne){
if(!ne.disabled){
Calendar.cellClick(ne);
}else{
if(_9b){
prevMonth();
}else{
nextMonth();
}
}
}
}
break;
case 13:
if(act){
Calendar.cellClick(cal.currentDateEl,ev);
}
break;
default:
return false;
}
}
return Calendar.stopEvent(ev);
};
Calendar.prototype._init=function(_9f,_a0){
var _a1=new Date(),TY=_a1.getFullYear(),TM=_a1.getMonth(),TD=_a1.getDate();
this.table.style.visibility="hidden";
var _a2=_a0.getFullYear();
if(_a2<this.minYear){
_a2=this.minYear;
_a0.setFullYear(_a2);
}else{
if(_a2>this.maxYear){
_a2=this.maxYear;
_a0.setFullYear(_a2);
}
}
this.firstDayOfWeek=_9f;
this.date=new Date(_a0);
var _a3=_a0.getMonth();
var _a4=_a0.getDate();
var _a5=_a0.getMonthDays();
_a0.setDate(1);
var _a6=(_a0.getDay()-this.firstDayOfWeek)%7;
if(_a6<0){
_a6+=7;
}
_a0.setDate(-_a6);
_a0.setDate(_a0.getDate()+1);
var row=this.tbody.firstChild;
var MN=Calendar._SMN[_a3];
var _a9=this.ar_days=new Array();
var _aa=Calendar._TT["WEEKEND"];
var _ab=this.multiple?(this.datesCells={}):null;
for(var i=0;i<6;++i,row=row.nextSibling){
var _ad=row.firstChild;
if(this.weekNumbers){
_ad.className="day wn";
_ad.innerHTML=_a0.getWeekNumber();
_ad=_ad.nextSibling;
}
row.className="daysrow";
var _ae=false,iday,dpos=_a9[i]=[];
for(var j=0;j<7;++j,_ad=_ad.nextSibling,_a0.setDate(iday+1)){
iday=_a0.getDate();
var _b0=_a0.getDay();
_ad.className="day";
_ad.pos=i<<4|j;
dpos[j]=_ad;
var _b1=(_a0.getMonth()==_a3);
if(!_b1){
if(this.showsOtherMonths){
_ad.className+=" othermonth";
_ad.otherMonth=true;
}else{
_ad.className="emptycell";
_ad.innerHTML="&nbsp;";
_ad.disabled=true;
continue;
}
}else{
_ad.otherMonth=false;
_ae=true;
}
_ad.disabled=false;
_ad.innerHTML=this.getDateText?this.getDateText(_a0,iday):iday;
if(_ab){
_ab[_a0.print("%Y%m%d")]=_ad;
}
if(this.getDateStatus){
var _b2=this.getDateStatus(_a0,_a2,_a3,iday);
if(this.getDateToolTip){
var _b3=this.getDateToolTip(_a0,_a2,_a3,iday);
if(_b3){
_ad.title=_b3;
}
}
if(_b2===true){
_ad.className+=" disabled";
_ad.disabled=true;
}else{
if(/disabled/i.test(_b2)){
_ad.disabled=true;
}
_ad.className+=" "+_b2;
}
}
if(!_ad.disabled){
_ad.caldate=new Date(_a0);
_ad.ttip="_";
if(!this.multiple&&_b1&&iday==_a4&&this.hiliteToday){
_ad.className+=" selected";
this.currentDateEl=_ad;
}
if(_a0.getFullYear()==TY&&_a0.getMonth()==TM&&iday==TD){
_ad.className+=" today";
_ad.ttip+=Calendar._TT["PART_TODAY"];
}
if(_aa.indexOf(_b0.toString())!=-1){
_ad.className+=_ad.otherMonth?" oweekend":" weekend";
}
}
}
if(!(_ae||this.showsOtherMonths)){
row.className="emptyrow";
}
}
this.title.innerHTML=Calendar._MN[_a3]+", "+_a2;
this.onSetTime();
this.table.style.visibility="visible";
this._initMultipleDates();
};
Calendar.prototype._initMultipleDates=function(){
if(this.multiple){
for(var i in this.multiple){
var _b5=this.datesCells[i];
var d=this.multiple[i];
if(!d){
continue;
}
if(_b5){
_b5.className+=" selected";
}
}
}
};
Calendar.prototype._toggleMultipleDate=function(_b7){
if(this.multiple){
var ds=_b7.print("%Y%m%d");
var _b9=this.datesCells[ds];
if(_b9){
var d=this.multiple[ds];
if(!d){
Calendar.addClass(_b9,"selected");
this.multiple[ds]=_b7;
}else{
Calendar.removeClass(_b9,"selected");
delete this.multiple[ds];
}
}
}
};
Calendar.prototype.setDateToolTipHandler=function(_bb){
this.getDateToolTip=_bb;
};
Calendar.prototype.setDate=function(_bc){
if(!_bc.equalsTo(this.date)){
this._init(this.firstDayOfWeek,_bc);
}
};
Calendar.prototype.refresh=function(){
this._init(this.firstDayOfWeek,this.date);
};
Calendar.prototype.setFirstDayOfWeek=function(_bd){
this._init(_bd,this.date);
this._displayWeekdays();
};
Calendar.prototype.setDateStatusHandler=Calendar.prototype.setDisabledHandler=function(_be){
this.getDateStatus=_be;
};
Calendar.prototype.setRange=function(a,z){
this.minYear=a;
this.maxYear=z;
};
Calendar.prototype.callHandler=function(){
if(this.onSelected){
this.onSelected(this,this.date.print(this.dateFormat));
}
};
Calendar.prototype.callCloseHandler=function(){
if(this.onClose){
this.onClose(this);
}
this.hideShowCovered();
};
Calendar.prototype.destroy=function(){
var el=this.element.parentNode;
el.removeChild(this.element);
Calendar._C=null;
window._dynarch_popupCalendar=null;
};
Calendar.prototype.reparent=function(_c2){
var el=this.element;
el.parentNode.removeChild(el);
_c2.appendChild(el);
};
Calendar._checkCalendar=function(ev){
var _c5=window._dynarch_popupCalendar;
if(!_c5){
return false;
}
var el=Calendar.is_ie?Calendar.getElement(ev):Calendar.getTargetElement(ev);
for(;el!=null&&el!=_c5.element;el=el.parentNode){
}
if(el==null){
window._dynarch_popupCalendar.callCloseHandler();
return Calendar.stopEvent(ev);
}
};
Calendar.prototype.show=function(){
var _c7=this.table.getElementsByTagName("tr");
for(var i=_c7.length;i>0;){
var row=_c7[--i];
Calendar.removeClass(row,"rowhilite");
var _ca=row.getElementsByTagName("td");
for(var j=_ca.length;j>0;){
var _cc=_ca[--j];
Calendar.removeClass(_cc,"hilite");
Calendar.removeClass(_cc,"active");
}
}
this.element.style.display="block";
this.hidden=false;
if(this.isPopup){
window._dynarch_popupCalendar=this;
Calendar.addEvent(document,"keydown",Calendar._keyEvent);
Calendar.addEvent(document,"keypress",Calendar._keyEvent);
Calendar.addEvent(document,"mousedown",Calendar._checkCalendar);
}
this.hideShowCovered();
};
Calendar.prototype.hide=function(){
if(this.isPopup){
Calendar.removeEvent(document,"keydown",Calendar._keyEvent);
Calendar.removeEvent(document,"keypress",Calendar._keyEvent);
Calendar.removeEvent(document,"mousedown",Calendar._checkCalendar);
}
this.element.style.display="none";
this.hidden=true;
this.hideShowCovered();
};
Calendar.prototype.showAt=function(x,y){
var s=this.element.style;
s.left=x+"px";
s.top=y+"px";
this.show();
};
Calendar.prototype.showAtElement=function(el,_d1){
var _d2=this;
var p=Calendar.getAbsolutePos(el);
if(!_d1||typeof _d1!="string"){
this.showAt(p.x,p.y+el.offsetHeight);
return true;
}
function fixPosition(box){
if(box.x<0){
box.x=0;
}
if(box.y<0){
box.y=0;
}
var cp=document.createElement("div");
var s=cp.style;
s.position="absolute";
s.right=s.bottom=s.width=s.height="0px";
document.body.appendChild(cp);
var br=Calendar.getAbsolutePos(cp);
document.body.removeChild(cp);
if(Calendar.is_ie){
br.y+=document.body.scrollTop;
br.x+=document.body.scrollLeft;
}else{
br.y+=window.scrollY;
br.x+=window.scrollX;
}
var tmp=box.x+box.width-br.x;
if(tmp>0){
box.x-=tmp;
}
tmp=box.y+box.height-br.y;
if(tmp>0){
box.y-=tmp;
}
}
this.element.style.display="block";
Calendar.continuation_for_the_fucking_khtml_browser=function(){
var w=_d2.element.offsetWidth;
var h=_d2.element.offsetHeight;
_d2.element.style.display="none";
var _db=_d1.substr(0,1);
var _dc="l";
if(_d1.length>1){
_dc=_d1.substr(1,1);
}
switch(_db){
case "T":
p.y-=h;
break;
case "B":
p.y+=el.offsetHeight;
break;
case "C":
p.y+=(el.offsetHeight-h)/2;
break;
case "t":
p.y+=el.offsetHeight-h;
break;
case "b":
break;
}
switch(_dc){
case "L":
p.x-=w;
break;
case "R":
p.x+=el.offsetWidth;
break;
case "C":
p.x+=(el.offsetWidth-w)/2;
break;
case "l":
p.x+=el.offsetWidth-w;
break;
case "r":
break;
}
p.width=w;
p.height=h+40;
_d2.monthsCombo.style.display="none";
fixPosition(p);
_d2.showAt(p.x,p.y);
};
if(Calendar.is_khtml){
setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()",10);
}else{
Calendar.continuation_for_the_fucking_khtml_browser();
}
};
Calendar.prototype.setDateFormat=function(str){
this.dateFormat=str;
};
Calendar.prototype.setTtDateFormat=function(str){
this.ttDateFormat=str;
};
Calendar.prototype.parseDate=function(str,fmt){
if(!fmt){
fmt=this.dateFormat;
}
this.setDate(Date.parseDate(str,fmt));
};
Calendar.prototype.hideShowCovered=function(){
if(!Calendar.is_ie&&!Calendar.is_opera){
return;
}
function getVisib(obj){
var _e2=obj.style.visibility;
if(!_e2){
if(document.defaultView&&typeof (document.defaultView.getComputedStyle)=="function"){
if(!Calendar.is_khtml){
_e2=document.defaultView.getComputedStyle(obj,"").getPropertyValue("visibility");
}else{
_e2="";
}
}else{
if(obj.currentStyle){
_e2=obj.currentStyle.visibility;
}else{
_e2="";
}
}
}
return _e2;
}
var _e3=new Array("applet","iframe","select");
var el=this.element;
var p=Calendar.getAbsolutePos(el);
var EX1=p.x;
var EX2=el.offsetWidth+EX1;
var EY1=p.y;
var EY2=el.offsetHeight+EY1;
for(var k=_e3.length;k>0;){
var ar=document.getElementsByTagName(_e3[--k]);
var cc=null;
for(var i=ar.length;i>0;){
cc=ar[--i];
p=Calendar.getAbsolutePos(cc);
var CX1=p.x;
var CX2=cc.offsetWidth+CX1;
var CY1=p.y;
var CY2=cc.offsetHeight+CY1;
if(this.hidden||(CX1>EX2)||(CX2<EX1)||(CY1>EY2)||(CY2<EY1)){
if(!cc.__msh_save_visibility){
cc.__msh_save_visibility=getVisib(cc);
}
cc.style.visibility=cc.__msh_save_visibility;
}else{
if(!cc.__msh_save_visibility){
cc.__msh_save_visibility=getVisib(cc);
}
cc.style.visibility="hidden";
}
}
}
};
Calendar.prototype._displayWeekdays=function(){
var _f2=this.firstDayOfWeek;
var _f3=this.firstdayname;
var _f4=Calendar._TT["WEEKEND"];
for(var i=0;i<7;++i){
_f3.className="day name";
var _f6=(i+_f2)%7;
if(i){
_f3.ttip=Calendar._TT["DAY_FIRST"].replace("%s",Calendar._DN[_f6]);
_f3.navtype=100;
_f3.calendar=this;
_f3.fdow=_f6;
Calendar._add_evs(_f3);
}
if(_f4.indexOf(_f6.toString())!=-1){
Calendar.addClass(_f3,"weekend");
}
_f3.innerHTML=Calendar._SDN[(i+_f2)%7];
_f3=_f3.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 _f8;
var _f9;
if(Calendar.is_ie){
_f9=window.event.clientY+document.body.scrollTop;
_f8=window.event.clientX+document.body.scrollLeft;
}else{
_f9=ev.clientY+window.scrollY;
_f8=ev.clientX+window.scrollX;
}
var st=this.element.style;
this.xOffs=_f8-parseInt(st.left);
this.yOffs=_f9-parseInt(st.top);
with(Calendar){
addEvent(document,"mousemove",calDragIt);
addEvent(document,"mouseup",calDragEnd);
}
};
Date._MD=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
Date.SECOND=1000;
Date.MINUTE=60*Date.SECOND;
Date.HOUR=60*Date.MINUTE;
Date.DAY=24*Date.HOUR;
Date.WEEK=7*Date.DAY;
Date.parseDate=function(str,fmt){
var _fd=new Date();
var y=0;
var m=-1;
var d=0;
var a=str.split(/\W+/);
var b=fmt.match(/%./g);
var i=0,j=0;
var hr=0;
var min=0;
for(i=0;i<a.length;++i){
if(!a[i]){
continue;
}
switch(b[i]){
case "%d":
case "%e":
d=parseInt(a[i],10);
break;
case "%m":
m=parseInt(a[i],10)-1;
break;
case "%Y":
case "%y":
y=parseInt(a[i],10);
(y<100)&&(y+=(y>29)?1900:2000);
break;
case "%b":
case "%B":
for(j=0;j<12;++j){
if(Calendar._MN[j].substr(0,a[i].length).toLowerCase()==a[i].toLowerCase()){
m=j;
break;
}
}
break;
case "%H":
case "%I":
case "%k":
case "%l":
hr=parseInt(a[i],10);
break;
case "%P":
case "%p":
if(/pm/i.test(a[i])&&hr<12){
hr+=12;
}else{
if(/am/i.test(a[i])&&hr>=12){
hr-=12;
}
}
break;
case "%M":
min=parseInt(a[i],10);
break;
}
}
if(isNaN(y)){
y=_fd.getFullYear();
}
if(isNaN(m)){
m=_fd.getMonth();
}
if(isNaN(d)){
d=_fd.getDate();
}
if(isNaN(hr)){
hr=_fd.getHours();
}
if(isNaN(min)){
min=_fd.getMinutes();
}
if(y!=0&&m!=-1&&d!=0){
return new Date(y,m,d,hr,min,0);
}
y=0;
m=-1;
d=0;
for(i=0;i<a.length;++i){
if(a[i].search(/[a-zA-Z]+/)!=-1){
var t=-1;
for(j=0;j<12;++j){
if(Calendar._MN[j].substr(0,a[i].length).toLowerCase()==a[i].toLowerCase()){
t=j;
break;
}
}
if(t!=-1){
if(m!=-1){
d=m+1;
}
m=t;
}
}else{
if(parseInt(a[i],10)<=12&&m==-1){
m=a[i]-1;
}else{
if(parseInt(a[i],10)>31&&y==0){
y=parseInt(a[i],10);
(y<100)&&(y+=(y>29)?1900:2000);
}else{
if(d==0){
d=a[i];
}
}
}
}
}
if(y==0){
y=_fd.getFullYear();
}
if(m!=-1&&d!=0){
return new Date(y,m,d,hr,min,0);
}
return _fd;
};
Date.prototype.getMonthDays=function(_107){
var year=this.getFullYear();
if(typeof _107=="undefined"){
_107=this.getMonth();
}
if(((0==(year%4))&&((0!=(year%100))||(0==(year%400))))&&_107==1){
return 29;
}else{
return Date._MD[_107];
}
};
Date.prototype.getDayOfYear=function(){
var now=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);
var then=new Date(this.getFullYear(),0,0,0,0,0);
var time=now-then;
return Math.floor(time/Date.DAY);
};
Date.prototype.getWeekNumber=function(){
var d=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);
var DoW=d.getDay();
d.setDate(d.getDate()-(DoW+6)%7+3);
var ms=d.valueOf();
d.setMonth(0);
d.setDate(4);
return Math.round((ms-d.valueOf())/(7*86400000))+1;
};
Date.prototype.equalsTo=function(date){
return ((this.getFullYear()==date.getFullYear())&&(this.getMonth()==date.getMonth())&&(this.getDate()==date.getDate())&&(this.getHours()==date.getHours())&&(this.getMinutes()==date.getMinutes()));
};
Date.prototype.setDateOnly=function(date){
var tmp=new Date(date);
this.setDate(1);
this.setFullYear(tmp.getFullYear());
this.setMonth(tmp.getMonth());
this.setDate(tmp.getDate());
};
Date.prototype.print=function(str){
var m=this.getMonth();
var d=this.getDate();
var y=this.getFullYear();
var wn=this.getWeekNumber();
var w=this.getDay();
var s={};
var hr=this.getHours();
var pm=(hr>=12);
var ir=(pm)?(hr-12):hr;
var dy=this.getDayOfYear();
if(ir==0){
ir=12;
}
var min=this.getMinutes();
var sec=this.getSeconds();
s["%a"]=Calendar._SDN[w];
s["%A"]=Calendar._DN[w];
s["%b"]=Calendar._SMN[m];
s["%B"]=Calendar._MN[m];
s["%C"]=1+Math.floor(y/100);
s["%d"]=(d<10)?("0"+d):d;
s["%e"]=d;
s["%H"]=(hr<10)?("0"+hr):hr;
s["%I"]=(ir<10)?("0"+ir):ir;
s["%j"]=(dy<100)?((dy<10)?("00"+dy):("0"+dy)):dy;
s["%k"]=hr;
s["%l"]=ir;
s["%m"]=(m<9)?("0"+(1+m)):(1+m);
s["%M"]=(min<10)?("0"+min):min;
s["%n"]="\n";
s["%p"]=pm?"PM":"AM";
s["%P"]=pm?"pm":"am";
s["%s"]=Math.floor(this.getTime()/1000);
s["%S"]=(sec<10)?("0"+sec):sec;
s["%t"]="\t";
s["%U"]=s["%W"]=s["%V"]=(wn<10)?("0"+wn):wn;
s["%u"]=w+1;
s["%w"]=w;
s["%y"]=(""+y).substr(2,2);
s["%Y"]=y;
s["%%"]="%";
var re=/%./g;
if(!Calendar.is_ie5&&!Calendar.is_khtml){
return str.replace(re,function(par){
return s[par]||par;
});
}
var a=str.match(re);
for(var i=0;i<a.length;i++){
var tmp=s[a[i]];
if(tmp){
re=new RegExp(a[i],"g");
str=str.replace(re,tmp);
}
}
return str;
};
Date.prototype.__msh_oldSetFullYear=Date.prototype.setFullYear;
Date.prototype.setFullYear=function(y){
var d=new Date(this);
d.__msh_oldSetFullYear(y);
if(d.getMonth()!=this.getMonth()){
this.setDate(28);
}
this.__msh_oldSetFullYear(y);
};
window._dynarch_popupCalendar=null;

Calendar.setup=function(_1){
function param_default(_2,_3){
if(typeof _1[_2]=="undefined"){
_1[_2]=_3;
}
}
param_default("inputField",null);
param_default("displayArea",null);
param_default("button",null);
param_default("eventName","click");
param_default("ifFormat","%Y/%m/%d");
param_default("daFormat","%Y/%m/%d");
param_default("singleClick",true);
param_default("disableFunc",null);
param_default("dateStatusFunc",_1["disableFunc"]);
param_default("dateText",null);
param_default("firstDay",null);
param_default("align","Br");
param_default("range",[1900,2999]);
param_default("weekNumbers",true);
param_default("flat",null);
param_default("flatCallback",null);
param_default("onSelect",null);
param_default("onClose",null);
param_default("onUpdate",null);
param_default("date",null);
param_default("showsTime",false);
param_default("timeFormat","24");
param_default("electric",true);
param_default("step",2);
param_default("position",null);
param_default("cache",false);
param_default("showOthers",false);
param_default("multiple",null);
var _4=["inputField","displayArea","button"];
for(var i in _4){
if(typeof _1[_4[i]]=="string"){
_1[_4[i]]=document.getElementById(_1[_4[i]]);
}
}
if(!(_1.flat||_1.multiple||_1.inputField||_1.displayArea||_1.button)){
alert("Calendar.setup:\n  Nothing to setup (no fields found).  Please check your code");
return false;
}
function onSelect(_6){
var p=_6.params;
var _8=(_6.dateClicked||p.electric);
if(_8&&p.inputField){
p.inputField.value=_6.date.print(p.ifFormat);
if(typeof p.inputField.onchange=="function"){
p.inputField.onchange();
}
}
if(_8&&p.displayArea){
p.displayArea.innerHTML=_6.date.print(p.daFormat);
}
if(_8&&typeof p.onUpdate=="function"){
p.onUpdate(_6);
}
if(_8&&p.flat){
if(typeof p.flatCallback=="function"){
p.flatCallback(_6);
}
}
if(_8&&p.singleClick&&_6.dateClicked){
_6.callCloseHandler();
}
}
if(_1.flat!=null){
if(typeof _1.flat=="string"){
_1.flat=document.getElementById(_1.flat);
}
if(!_1.flat){
alert("Calendar.setup:\n  Flat specified but can't find parent.");
return false;
}
var _9=new Calendar(_1.firstDay,_1.date,_1.onSelect||onSelect);
_9.showsOtherMonths=_1.showOthers;
_9.showsTime=_1.showsTime;
_9.time24=(_1.timeFormat=="24");
_9.params=_1;
_9.weekNumbers=_1.weekNumbers;
_9.setRange(_1.range[0],_1.range[1]);
_9.setDateStatusHandler(_1.dateStatusFunc);
_9.getDateText=_1.dateText;
if(_1.ifFormat){
_9.setDateFormat(_1.ifFormat);
}
if(_1.inputField&&typeof _1.inputField.value=="string"){
_9.parseDate(_1.inputField.value);
}
_9.create(_1.flat);
_9.show();
return false;
}
var _a=_1.button||_1.displayArea||_1.inputField;
_a["on"+_1.eventName]=function(){
var _b=_1.inputField||_1.displayArea;
var _c=_1.inputField?_1.ifFormat:_1.daFormat;
var _d=false;
var _e=window.calendar;
if(_b){
_1.date=Date.parseDate(_b.value||_b.innerHTML,_c);
}
if(!(_e&&_1.cache)){
window.calendar=_e=new Calendar(_1.firstDay,_1.date,_1.onSelect||onSelect,_1.onClose||function(_f){
_f.hide();
});
_e.showsTime=_1.showsTime;
_e.time24=(_1.timeFormat=="24");
_e.weekNumbers=_1.weekNumbers;
_d=true;
}else{
if(_1.date){
_e.setDate(_1.date);
}
_e.hide();
}
if(_1.multiple){
_e.multiple={};
for(var i=_1.multiple.length;--i>=0;){
var d=_1.multiple[i];
var ds=d.print("%Y%m%d");
_e.multiple[ds]=d;
}
}
_e.showsOtherMonths=_1.showOthers;
_e.yearStep=_1.step;
_e.setRange(_1.range[0],_1.range[1]);
_e.params=_1;
_e.setDateStatusHandler(_1.dateStatusFunc);
_e.getDateText=_1.dateText;
_e.setDateFormat(_c);
if(_d){
_e.create();
}
_e.refresh();
if(!_1.position){
_e.showAtElement(_1.button||_1.displayArea||_1.inputField,_1.align);
}else{
_e.showAt(_1.position[0],_1.position[1]);
}
return false;
};
return _9;
};

Calendar._DN=new Array("Domingo","Segunda","Terca","Quarta","Quinta","Sexta","Sabado","Domingo");
Calendar._SDN=new Array("Dom","Seg","Ter","Qua","Qui","Sex","Sab","Dom");
Calendar._FD=0;
Calendar._MN=new Array("Janeiro","Fevereiro","Marco","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro");
Calendar._SMN=new Array("Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez");
Calendar._TT={};
Calendar._TT["INFO"]="Sobre o calendario";
Calendar._TT["ABOUT"]="DHTML Date/Time Selector\n"+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n"+"Ultima versao visite: http://www.dynarch.com/projects/calendar/\n"+"Distribuido sobre GNU LGPL.  Veja http://gnu.org/licenses/lgpl.html para detalhes."+"\n\n"+"Selecao de data:\n"+"- Use os botoes \xab, \xbb para selecionar o ano\n"+"- Use os botoes "+String.fromCharCode(8249)+", "+String.fromCharCode(8250)+" para selecionar o mes\n"+"- Segure o botao do mouse em qualquer um desses botoes para selecao rapida.";
Calendar._TT["ABOUT_TIME"]="\n\n"+"Selecao de hora:\n"+"- Clique em qualquer parte da hora para incrementar\n"+"- ou Shift-click para decrementar\n"+"- ou clique e segure para selecao rapida.";
Calendar._TT["PREV_YEAR"]="Ant. ano (segure para menu)";
Calendar._TT["PREV_MONTH"]="Ant. mes (segure para menu)";
Calendar._TT["GO_TODAY"]="Hoje";
Calendar._TT["NEXT_MONTH"]="Prox. mes (segure para menu)";
Calendar._TT["NEXT_YEAR"]="Prox. ano (segure para menu)";
Calendar._TT["SEL_DATE"]="Selecione a data";
Calendar._TT["DRAG_TO_MOVE"]="Arraste para mover";
Calendar._TT["PART_TODAY"]=" (hoje)";
Calendar._TT["DAY_FIRST"]="Mostre %s primeiro";
Calendar._TT["WEEKEND"]="0,6";
Calendar._TT["CLOSE"]="Fechar";
Calendar._TT["TODAY"]="Hoje";
Calendar._TT["TIME_PART"]="(Shift-)Click ou arraste para mudar valor";
Calendar._TT["DEF_DATE_FORMAT"]="%d/%m/%Y";
Calendar._TT["TT_DATE_FORMAT"]="%a, %e %b";
Calendar._TT["WK"]="sm";
Calendar._TT["TIME"]="Hora:";
Calendar._SMN_len=3;

Behaviour.register({"form":function(e){
if(!isset(window.dontInstallValidator)){
validator=new FormValidator(e);
}
}});
function FormValidator(f){
this.form=f;
this.form.validator=this;
this.messages={"empty":"Este campo n\xe3o est\xe1 preenchido","invalid":"Digite um valor v\xe1lido"};
this.validate=function(){
if(this.form.isOK===true){
return true;
}
var e=this.form.elements;
var _4=false;
var _5=false;
var _6="";
var _7=true;
var _8=false;
var _9=false;
this._clearErrorMessages();
for(var i=0;i<e.length;i++){
_4=e[i];
if(_4.readonly=="readonly"||_4.readonly==true||_4.disabled==true){
continue;
}
if(_4.nodeName.match(/select/i)){
_8=(_4.selectedIndex==-1);
}else{
_8=(!_4.value||!_4.value.length||_4.value==_4.getAttribute("title"));
}
if(_4.getAttribute("required")=="true"&&_8){
this._setEmpty(_4,true);
_7=false;
continue;
}
_6=_4.getAttribute("format");
if(typeof (_6)=="string"&&_6.length){
re=/([^:]+):?(.*)?/.exec(_6);
formatType=re[1];
format=re[2];
this.tmpFunction=null;
var _b="validate_"+formatType;
eval("this.tmpFunction = "+_b+";");
_9=false;
if(typeof (this.tmpFunction)=="function"){
_9=this.tmpFunction(format,_4.value,_4);
}else{
_alert(_b+" no es una funcion");
}
if(_8){
_9=true;
}
this._setValid(_4,_9);
if(!_9){
_7=false;
}
}
}
return _7;
};
this.form.onsubmit=function(){
return this.validator.validate();
};
this._setEmpty=function(_c,_d){
if(_d){
this._showErrorMessage(_c,"empty");
_c.className+=" empty";
}else{
_c.className=_c.className.replace(/[ ]*empty/,"");
}
};
this._setValid=function(_e,_f){
if(_f){
_e.className=_e.className.replace(/ invalid/,"");
}else{
this._showErrorMessage(_e,"invalid");
_e.className+=" invalid";
}
};
this._showErrorMessage=function(elm,_11){
var msg=document.createElement("span");
msg.innerHTML=(typeof (elm.title)=="string"&&elm.title.length)?elm.title:this.messages[_11];
msg.className="errorMessage";
var _13=(elm.esFecha)?elm.nextSibling.nextSibling:elm.nextSibling;
elm.parentNode.insertBefore(msg,_13);
};
this._clearErrorMessages=function(){
msgs=document.getElementsBySelector("span.errorMessage");
for(var i=0;i<msgs.length;i++){
msgs[i].parentNode.removeChild(msgs[i]);
}
};
}
function validate_number(_15,_16){
if(!_16.match(/[0-9]+/)){
return false;
}
var _17=_15.split("-");
_16=parseInt(_16);
if(_16<parseInt(_17[0])||_16>parseInt(_17[1])){
return false;
}
return true;
}
function validate_date(_18,_19,elm){
var _1b=/^\d{1,2}([\.\/-]+)\d{1,2}[\.\/-]+\d{2,4}$/;
var _1c=false;
if(!_1b.test(_19)){
return false;
}
var _1d=RegExp.$1;
var _1e=_19.split(/[\.\/-]+/)[1];
var _1f=_19.split(/[\.\/-]+/)[0];
var _20=_19.split(/[\.\/-]+/)[2];
if(_20.match(/^[0-1]{1}[0-9]{1}$/)){
_20="20"+_20;
}else{
if(_20.length==2){
_20="19"+_20;
}
}
var _21=new Date(_20,_1e-1,_1f);
if(!((_21.getMonth()+1!=_1e)||(_21.getDate()!=_1f)||(_21.getFullYear()!=_20))){
_1c=true;
}
var mes=(_21.getMonth()+1).toString();
if(mes.length==1){
mes="0"+mes;
}
var dia=_21.getDate().toString();
if(dia.length==1){
dia="0"+dia;
}
if(_1c&&typeof (elm)=="object"){
elm.value=dia+_1d+mes+_1d+_21.getFullYear();
}
return _1c;
}
function validate_regex(_24,_25){
try{
return _25.match(new RegExp(_24));
}
catch(e){
alert("ERROR: Expresion regular invalida "+_24);
return true;
}
}
function validate_greater_than(_26,_27,elm){
var t=/([^\+]+)([\+-\/\*])*([0-9]+)*/.exec(_26);
var _2a=document.getElementById(t[1]);
this.d1=$F(elm);
this.d2=$F(_2a);
this.operando=parseInt(t[3]);
if(this.operando>0){
var _2b="this.d2 "+t[2]+"= this.operando;";
try{
eval(_2b);
}
catch(e){
alert("error evaluando expresion \""+_2b+"\"");
return false;
}
}
var _2c=(this.d1>this.d2);
elm.form.validator._setValid(_2a,_2c);
return _2c;
}
function validate_checked(_2d,_2e,_2f){
return _2f.checked;
}
function validate_equal(_30,_31){
return (_31==$F(_30));
}
function validate_email(_32,_33){
var re=/^[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9_]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/;
return re.test(_33);
}
function validate_nif(_35,_36){
var _37=_36.match(/^X*([0-9]+)([A-Z]{1})/i);
if(_37==null){
return false;
}
var _38="TRWAGMYFPDXBNJZSQVHLCKE";
var _39=_38.charAt(parseInt(_37[1])%23);
return (_39.toLowerCase()==_37[2].toLowerCase());
}
function validate_cif(_3a,_3b){
var _3c=[0,2,4,6,8,1,3,5,7,9];
var _3d=0;
_3b=_3b.toUpperCase();
var _3e=_3b.substr(_3b.length-1);
if(_3e.match(/^[A-J]{1}$/i)){
var _3f={"J":0,"A":1,"B":2,"C":3,"D":4,"E":5,"F":6,"G":7,"H":8,"I":9};
if(typeof (_3f[_3e])=="undefined"){
return false;
}
_3e=_3f[_3e];
}
for(i=2;i<=6;i+=2){
_3d+=_3c[parseInt(_3b.substr(i-1,1))];
_3d+=parseInt(_3b.substr(i,1));
}
_3d+=_3c[parseInt(_3b.substr(7,1))];
_3d=(10-(_3d%10));
if(_3d==10){
_3d=0;
}
return (_3d==_3e);
}
function validate_cif_nif(_40,_41,_42){
if(_41.match(/[^a-z0-9]+/i)){
_42.value=_41.replace(/[^a-z0-9]+/i,"");
return false;
}
return (validate_cif(_40,_41)||validate_nif(_40,_41));
}

Behaviour.register({"textarea":setearTipoTexto,"input":function(el){
var _2=el.getAttribute("type");
switch(_2){
case "password":
case "text":
readonly=el.getAttribute("readonly");
if(readonly=="readonly"||readonly=="true"||readonly==true){
}else{
setearTipoTexto(el);
}
break;
case "button":
case "submit":
break;
case "checkbox":
break;
}
}});
function setearTipoTexto(el){
if(Element.hasClassName(el,"autoclear")){
autoclear(el);
}
Element.addClassName(el,"caja_texto");
var _4=function(ev){
Element.addClassName(Event.element(ev),"foco_caja");
};
var _6=function(ev){
Element.removeClassName(Event.element(ev),"foco_caja");
};
Event.observe(el,"focus",_4);
Event.observe(el,"blur",_6);
}
function autoclear(el){
Event.observe(el,"focus",function(ev){
var el=Event.element(ev);
if(el.value==el.getAttribute("title")){
el.value="";
}
});
Event.observe(el,"blur",function(ev){
var el=Event.element(ev);
if(el.value==""){
el.value=el.getAttribute("title");
}
});
if(el.value==""){
el.value=el.getAttribute("title");
}
}

function installSelectOriginBhv(_1){
_1.onchange=function(){
var _2=this.options[this.selectedIndex].value;
if(this.options[0].value=="-1"){
this.options[0]=null;
}
var _3=$("select-destination");
_3.options.length=0;
_3.options[0]=new Option("Cargando destinos...",0);
var _4=$H({"control":_3.id,"origin":_2}).toQueryString();
var _5=new Ajax.Request("./?Action=VacationAutocomplete",{"method":"post","parameters":_4});
};
}
function installSelectDestinationBhv(_6){
_6.onchange=function(){
var _7=this.options[this.selectedIndex].value;
var _8=$("select-origin");
var _9=$("select-month");
_9.options.length=0;
_9.options[0]=new Option("Cargando...",0);
var _a=$H({"control":_9.id,"origin":_8.options[_8.selectedIndex].value,"destination":_7}).toQueryString();
var _b=new Ajax.Request("./?Action=VacationAutocomplete",{"method":"post","parameters":_a});
};
}
function installSearchFormBhv(el){
el.onsubmit=function(){
var _d=false;
for(var i=0;i<this.elements.length;i++){
_d=this.elements[i];
if(_d.nodeName.toLowerCase()=="select"&&_d.options[_d.selectedIndex].value=="-1"){
alert(_d.title);
_d.focus();
return false;
}
}
var _f=Form.serialize(this);
Util.createCookie("newSearch","1");
location.href="./index.php?Action=VacationStep2&d="+Util.safeEncode(Form.serialize(this));
return false;
};
}
function registerVacationBehaviour(){
Behaviour.register({"#select-origin":installSelectOriginBhv,"#select-destination":installSelectDestinationBhv,"#vacation-search-form":installSearchFormBhv});
}
registerVacationBehaviour();
function fillSelect(_10,_11){
_10=$(_10);
_10.options.length=0;
for(i in _11){
if(!_11.hasOwnProperty(i)){
continue;
}
_10.options[_10.options.length]=new Option(_11[i],i);
}
if(typeof (_10.onchange)=="function"){
_10.onchange();
}
}

