if(window.Control==undefined){Control={}}Control.DatePicker=Class.create();Control.DatePicker.activePicker=null;Control.DatePicker.prototype={initialize:function(d,b){this.element=$(d);this.i18n=new Control.DatePicker.i18n(b&&b.locale?b.locale:"en_US");b=this.i18n.inheritOptions(b);b=Object.extend({datePicker:true,timePicker:false},b||{});this.handlers={onClick:b.onClick,onHover:b.onHover,onSelect:b.onSelect};
this.options=Object.extend(b||{},{onClick:this.pickerClicked.bind(this),onHover:this.dateHover.bind(this),onSelect:this.datePicked.bind(this)});if(this.options.timePicker&&this.options.datePicker){this.options.currentFormat=this.options.dateTimeFormat}else{if(this.options.timePicker){this.options.currentFormat=this.options.timeFormat}else{this.options.currentFormat=this.options.dateFormat}}this.options.date=DateFormat.parseFormat(this.element.value,this.options.currentFormat);
this.datepicker=null;this.originalValue=null;this.hideTimeout=null;if(this.options.icon){var a=new Element("div",{});this.element.parentNode.replaceChild(a,this.element);a.appendChild(this.element);this.icon=new Element("img",{src:this.options.icon,title:this.tr("Open calendar"),className:"inputExtension"});var e=this.options.padding;if(!e){e=3;Event.observe(this.icon,"load",function(){e=parseInt(this.element.offsetHeight-this.icon.offsetHeight)/2;
var f=(this.element.offsetParent.offsetWidth-(this.element.offsetLeft+this.element.offsetWidth)+e)+"px";Element.setStyle(this.icon,{right:f,top:e+"px"})}.bind(this))}var c=(this.element.offsetParent.offsetWidth-(this.element.offsetLeft+this.element.offsetWidth)+e)+"px";Element.setStyle(this.icon,{position:"absolute",right:c,top:e+"px"});$$(".calendarIcon").each(function(f){f.observe("click",this.togglePicker.bindAsEventListener(this))
}.bind(this))}Event.observe(this.element,"click",this.togglePicker.bindAsEventListener(this));this.hidePickerListener=this.delayedHide.bindAsEventListener(this);Event.observe(this.element,"keydown",this.keyHandler.bindAsEventListener(this));Event.observe(document,"keydown",this.docKeyHandler.bindAsEventListener(this));this.pickerActive=false},tr:function(a){return this.i18n.tr(a)},delayedHide:function(a){this.hideTimeout=setTimeout(this.hide.bind(this),100)
},pickerClicked:function(){if(this.hideTimeout){clearTimeout(this.hideTimeout);this.hideTimeout=null}if(this.handlers.onClick){this.handlers.onClick()}},datePicked:function(a){this.element.value=DateFormat.format(a,this.options.currentFormat);this.element.focus();this.hide();if(this.handlers.onSelect){this.handlers.onSelect(a)}if(this.element.onchange){this.element.onchange()}},dateHover:function(a){if(this.hideTimeout){clearTimeout(this.hideTimeout);
this.hideTimeout=null}if(this.pickerActive){this.element.value=DateFormat.format(a,this.options.currentFormat);if(this.handlers.onHover){this.handlers.onHover(a)}}},togglePicker:function(a){if(this.pickerActive){this.element.value=this.originalValue;this.hide()}else{this.show()}Event.stop(a);return false},docKeyHandler:function(a){if(a.keyCode==Event.KEY_ESC){if(this.pickerActive){this.element.value=this.originalValue;
this.hide()}}},keyHandler:function(a){switch(a.keyCode){case Event.KEY_ESC:if(this.pickerActive){this.element.value=this.originalValue}case Event.KEY_TAB:this.hide();return;case Event.KEY_DOWN:if(!this.pickerActive){this.show();Event.stop(a)}}if(this.pickerActive){return false}},hide:function(){if(this.pickerActive&&!this.element.disabled){this.datepicker.releaseKeys();Element.remove(this.datepicker.element);
Event.stopObserving(document,"click",this.hidePickerListener,true);this.pickerActive=false;Control.DatePicker.activePicker=null}},show:function(){if(!this.pickerActive){if(Control.DatePicker.activePicker){Control.DatePicker.activePicker.hide()}this.element.focus();if(!this.datepicker){this.datepicker=new Control.DatePickerPanel(this.options)}this.originalValue=this.element.value;var c=Position.positionedOffset(this.element);
var b=Element.getDimensions(this.element);var a=/MSIE/.test(navigator.userAgent)?(c[1]+b.height)+"px":(c[1]+b.height-1)+"px";this.datepicker.element.style.top=a;this.datepicker.element.style.left=c[0]+"px";this.datepicker.element.style.zIndex="99";this.datepicker.selectDate(DateFormat.parseFormat(this.element.value,this.options.currentFormat));this.datepicker.captureKeys();this.element.parentNode.appendChild(this.datepicker.element);
Event.observe(document,"click",this.hidePickerListener,true);this.pickerActive=true;Control.DatePicker.activePicker=this;this.pickerClicked()}}};Control.DatePicker.i18n=Class.create();Object.extend(Control.DatePicker.i18n,{baseLocales:{us:{dateTimeFormat:"MM-dd-yyyy HH:mm",dateFormat:"MM-dd-yyyy",firstWeekDay:0,weekend:[0,6],timeFormat:"HH:mm"},eu:{dateTimeFormat:"dd-MM-yyyy HH:mm",dateFormat:"dd-MM-yyyy",firstWeekDay:1,weekend:[0,6],timeFormat:"HH:mm"},iso8601:{dateTimeFormat:"yyyy-MM-dd HH:mm",dateFormat:"yyyy-MM-dd",firstWeekDay:1,weekend:[0,6],timeFormat:"HH:mm"}},createLocale:function(a,b){return Object.extend(Object.clone(Control.DatePicker.i18n.baseLocales[a]),{language:b})
}});Control.DatePicker.i18n.prototype={initialize:function(b){var c=b.charAt(2)=="_"?b.substring(0,2):b;var a=(Control.DatePicker.Locale[b]||Control.DatePicker.Locale[c]);this.opts=Object.clone(a||{});var d=a?Control.DatePicker.Language[a.language]:null;if(d){Object.extend(this.opts,d)}},opts:null,inheritOptions:function(a){if(!this.opts){this.setLocale("en_US")}return Object.extend(this.opts,a||{})
},tr:function(a){return this.opts&&this.opts.strings?this.opts.strings[a]||a:a}};Control.DatePicker.Locale={};with(Control.DatePicker){Locale.es=i18n.createLocale("eu","es");Locale.en=i18n.createLocale("us","en");Locale.en_GB=i18n.createLocale("eu","en");Locale.en_AU=Locale.en_GB;Locale.de=i18n.createLocale("eu","de");Locale.es_iso8601=i18n.createLocale("iso8601","es");Locale.en_iso8601=i18n.createLocale("iso8601","en");
Locale.de_iso8601=i18n.createLocale("iso8601","de")}Control.DatePicker.Language={es:{months:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Augosto","Septiembre","Octubre","Novimbre","Diciembre"],days:["Do","Lu","Ma","Mi","Ju","Vi","Sa"],strings:{Now:"Ahora",Today:"Hoy",Time:"Hora","Exact minutes":"Minuto exacto","Select Date and Time":"Selecciona Dia y Hora","Select Time":"Selecciona Hora","Open calendar":"Abre calendario"}},de:{months:["Januar","Februar","MÃ¤rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],days:["So","Mo","Di","Mi","Do","Fr","Sa"],strings:{Now:"Jetzt",Today:"Heute",Time:"Zeit","Exact minutes":"Exakte minuten","Select Date and Time":"Zeit und Datum AuswÃ¤hlen","Select Time":"Zeit AuswÃ¤hlen","Open calendar":"Kalender Ã¶ffnen"}}};
Control.DatePickerPanel=Class.create();Object.extend(Control.DatePickerPanel.prototype,{initialize:function(options){this.i18n=new Control.DatePicker.i18n(options&&options.locale?options.locale:"en_US");options=this.i18n.inheritOptions(options);this.options=Object.extend({className:"datepickerControl",closeOnToday:true,selectToday:true,showOnFocus:false,datePicker:true,timePicker:false,use24hrs:false,firstWeekDay:0,weekend:[0,6],months:["January","February","March","April","May","June","July","August","September","October","November","December"],days:["Su","Mo","Tu","We","Th","Fr","Sa"],startToday:false},options||{});
with(this.options){if(isNaN(firstWeekDay*1)){firstWeekDay=0}else{firstWeekDay=firstWeekDay%7}}this.keysCaptured=false;this.calendarCont=null;this.currentDate=this.options.date?this.options.date:new Date();this.dayOfWeek=0;this.minInterval=5;this.selectedDay=null;this.selectedHour=null;this.selectedMinute=null;this.selectedAmPm=null;this.currentDays=[];this.hourCells=[];this.minuteCells=[];this.otherMinutes=null;
this.amCell=null;this.pmCell=null;this.element=this.createPicker();this.selectDate(this.currentDate)},createPicker:function(){var a=document.createElement("div");a.style.position="absolute";a.className=this.options.className;this.calendarCont=this.drawCalendar(a,this.currentDate);Event.observe(a,"click",this.clickHandler.bindAsEventListener(this));Event.observe(a,"dblclick",this.dblClickHandler.bindAsEventListener(this));
this.documentKeyListener=this.keyHandler.bindAsEventListener(this);if(this.options.captureKeys){this.captureKeys()}return a},tr:function(a){return this.i18n.tr(a)},captureKeys:function(){Event.observe(document,"keydown",this.documentKeyListener,true);this.keysCaptured=true},releaseKeys:function(){Event.stopObserving(document,"keydown",this.documentKeyListener,true);this.keysCaptured=false},setDate:function(a){if(a){while(this.element.firstChild){this.element.removeChild(this.element.firstChild)
}this.calendarCont=this.drawCalendar(this.element,a)}},drawCalendar:function(a,d){var l=a;if(!this.options.datePicker){var n=document.createElement("table");n.cellSpacing=0;n.cellPadding=0;n.border=0}else{var n=this.createCalendar(d)}var m=this.options.use24hrs?6:7;if(this.options.timePicker){var e;if(this.options.timePickerAdjacent&&this.options.datePicker){var q=0;var b=document.createElement("table");
b.cellSpacing=0;b.cellPadding=0;b.border=0;row=b.insertRow(0);cell=row.insertCell(0);cell.vAlign="top";cell.appendChild(n);l=cell;cell=row.insertCell(1);cell.style.width="5px";cell=row.insertCell(2);cell.vAlign="top";e=document.createElement("table");e.className="timetable";e.cellSpacing=0;e.cellPadding=0;e.border=0;cell.appendChild(e);a.appendChild(b);row=e.insertRow(q++);row.className="monthLabel";
cell=row.insertCell(0);cell.colSpan=m;cell.innerHTML=this.tr("Time");row=e.insertRow(q++);cell=row.insertCell(0);cell.colSpan=m;cell.style.height="1px"}else{a.appendChild(n);e=n;var q=n.rows.length;if(this.options.datePicker){row=e.insertRow(q++);cell=row.insertCell(0);cell.colSpan=m;var p=document.createElement("hr");Element.setStyle(p,{color:"gray",backgroundColor:"gray",height:"1px",border:"0",marginTop:"3px",marginBottom:"3px",padding:"0"});
cell.appendChild(p)}}var k=this.options.use24hrs?4:2;for(var g=0;g<k;++g){row=e.insertRow(q++);for(var h=0;h<6;++h){cell=row.insertCell(h);cell.className="hour";cell.width="14%";cell.innerHTML=(g*6)+h+(this.options.use24hrs?0:1);cell.onclick=this.hourClickedListener((g*6)+h+(this.options.use24hrs?0:1));this.hourCells[(g*6)+h]=cell}if(!this.options.use24hrs){cell=row.insertCell(h);cell.className="ampm";
cell.width="14%";if(g){cell.innerHTML=this.tr("PM");cell.onclick=this.pmClickedListener();this.pmCell=cell}else{cell.innerHTML=this.tr("AM");cell.onclick=this.amClickedListener();this.amCell=cell}}}row=e.insertRow(q++);cell=row.insertCell(0);cell.colSpan=6;var p=document.createElement("hr");Element.setStyle(p,{color:"#CCCCCC",backgroundColor:"#CCCCCC",height:"1px",border:"0",marginTop:"2px",marginBottom:"2px",padding:"0"});
cell.appendChild(p);cell=row.insertCell(1);for(var g=0;g<(10/this.minInterval);++g){row=e.insertRow(q++);for(var h=0;h<6;++h){cell=row.insertCell(h);cell.className="minute";cell.width="14%";var o=((g*6+h)*this.minInterval);if(o<10){o="0"+o}cell.innerHTML=":"+o;cell.onclick=this.minuteClickedListener(o);this.minuteCells[(g*6)+h]=cell}if(!this.options.use24hrs){cell=row.insertCell(h);cell.width="14%"
}}row=e.insertRow(q++);cell=row.insertCell(0);cell.style.textAlign="right";cell.colSpan=5;cell.innerHTML="<i>"+this.tr("Exact minutes")+":</i>";cell=row.insertCell(1);cell.className="otherminute";var f=document.createElement("input");f.type="text";f.maxLength=2;f.style.width="2em";var c=null;f.onkeyup=function(i){if(!isNaN(f.value)){this.currentDate.setMinutes(f.value);this.dateChanged(this.currentDate)
}}.bindAsEventListener(this);f.onkeydown=function(i){if(i.keyCode==Event.KEY_RETURN){if(this.options.onSelect){this.options.onSelect(this.currentDate)}}}.bindAsEventListener(this);f.onfocus=this.releaseKeys.bindAsEventListener(this);f.onblur=this.captureKeys.bindAsEventListener(this);this.otherMinutes=f;cell.appendChild(f);if(!this.options.use24hrs){cell=row.insertCell(2)}row=e.insertRow(q++);cell=row.insertCell(0);
cell.colSpan=m;p=document.createElement("hr");Element.setStyle(p,{color:"gray",backgroundColor:"gray",height:"1px",border:"0",marginTop:"3px",marginBottom:"3px",padding:"0"});cell.appendChild(p);row=e.insertRow(q++);cell=row.insertCell(0);cell.colSpan=m;selectButton=document.createElement("input");selectButton.type="button";selectButton.className="timeselect";if(this.options.datePicker){selectButton.value=this.tr("Select Date and Time")
}else{selectButton.value=this.tr("Select Time")}selectButton.onclick=function(i){this.options.onSelect&&this.options.onSelect(this.currentDate)}.bindAsEventListener(this);cell.appendChild(selectButton)}else{l.appendChild(n)}return l},createCalendar:function(d){this.currentDate=d;this.currentDays=[];var l=new Date();var b=new Date(d.getFullYear()-1,d.getMonth(),1);var a=new Date(d.getFullYear(),d.getMonth()-1,1);
var h=new Date(d.getFullYear(),d.getMonth()+1,1);var n=new Date(d.getFullYear()+1,d.getMonth(),1);var q;var o;var p=0;var k=document.createElement("table");k.className="datetable";k.cellSpacing=0;k.cellPadding=0;k.border=0;q=k.insertRow(p++);q.className="monthLabel";o=q.insertCell(0);o.colSpan=7;o.innerHTML=this.monthName(d.getMonth())+" "+d.getFullYear();q=k.insertRow(p++);q.className="navigation";
o=q.insertCell(0);o.className="navbutton";o.title=this.monthName(b.getMonth())+" "+b.getFullYear();o.onclick=this.movePreviousYearListener();o.innerHTML="&lt;&lt;";o=q.insertCell(1);o.className="navbutton";o.title=this.monthName(a.getMonth())+" "+a.getFullYear();o.onclick=this.movePreviousMonthListener();o.innerHTML="&lt;";o=q.insertCell(2);o.colSpan=3;o.className="navbutton";o.title=l.getDate()+" "+this.monthName(l.getMonth())+" "+l.getFullYear();
o.onclick=this.dateClickedListener(l,true);if(this.options.timePicker){o.innerHTML=this.tr("Now")}else{o.innerHTML=this.tr("Today")}o=q.insertCell(3);o.className="navbutton";o.title=this.monthName(h.getMonth())+" "+h.getFullYear();o.onclick=this.moveNextMonthListener();o.innerHTML="&gt;";o=q.insertCell(4);o.className="navbutton";o.title=this.monthName(n.getMonth())+" "+n.getFullYear();o.onclick=this.moveNextYearListener();
o.innerHTML="&gt;&gt;";q=k.insertRow(p++);q.className="dayLabel";for(var g=0;g<7;++g){o=q.insertCell(g);o.width="14%";o.innerHTML=this.dayName((this.options.firstWeekDay+g)%7)}q=null;var c=new Date(d.getFullYear(),d.getMonth(),1);var m=c.getDay();var f=0;if(m!=this.options.firstWeekDay){q=k.insertRow(p++);q.className="calendarRow";c.setDate(c.getDate()-((m-this.options.firstWeekDay+7)%7));m=c.getDay();
while(c.getMonth()!=d.getMonth()){o=q.insertCell(q.cells.length);if(!this.options.startToday){this.assignDayClasses(o,"dayothermonth",c);o.innerHTML=c.getDate();o.onclick=this.dateClickedListener(c)}else{o.innerHTML=c.getDate();this.assignDayClasses(o,"disabled",c)}c.setDate(c.getDate()+1);m=c.getDay()}}l=new Date();while(c.getMonth()==d.getMonth()){if(m==this.options.firstWeekDay){q=k.insertRow(p++);
q.className="calendarRow"}o=q.insertCell(q.cells.length);if(this.options.startToday){if(c.getDate()>=l.getDate()){this.assignDayClasses(o,"day",c);o.innerHTML=c.getDate();o.onclick=this.dateClickedListener(c)}else{o.innerHTML=c.getDate();this.assignDayClasses(o,"disabled",c)}}else{this.assignDayClasses(o,"day",c);o.innerHTML=c.getDate();o.onclick=this.dateClickedListener(c)}this.currentDays[c.getDate()]=o;
c.setDate(c.getDate()+1);m=c.getDay()}if(m!=this.options.firstWeekDay){do{o=q.insertCell(q.cells.length);this.assignDayClasses(o,"dayothermonth",c);o.innerHTML=c.getDate();var e=new Date(c.getTime());o.onclick=this.dateClickedListener(c);c.setDate(c.getDate()+1);m=c.getDay()}while(c.getDay()!=this.options.firstWeekDay)}return k},movePreviousMonthListener:function(){return function(a){var b=new Date(this.currentDate.getFullYear(),this.currentDate.getMonth()-1,this.currentDate.getDate(),this.currentDate.getHours(),this.currentDate.getMinutes());
if(b.getMonth()!=(this.currentDate.getMonth()+11)%12){b.setDate(0)}this.selectDate(b)}.bindAsEventListener(this)},moveNextMonthListener:function(){return function(b){var a=new Date(this.currentDate.getFullYear(),this.currentDate.getMonth()+1,this.currentDate.getDate(),this.currentDate.getHours(),this.currentDate.getMinutes());if(a.getMonth()!=(this.currentDate.getMonth()+1)%12){a.setDate(0)}this.selectDate(a)
}.bindAsEventListener(this)},moveNextYearListener:function(){return function(a){var b=new Date(this.currentDate.getFullYear()+1,this.currentDate.getMonth(),this.currentDate.getDate(),this.currentDate.getHours(),this.currentDate.getMinutes());if(b.getMonth()!=this.currentDate.getMonth()){b.setDate(0)}this.selectDate(b)}.bindAsEventListener(this)},movePreviousYearListener:function(){return function(b){var a=new Date(this.currentDate.getFullYear()-1,this.currentDate.getMonth(),this.currentDate.getDate(),this.currentDate.getHours(),this.currentDate.getMinutes());
if(a.getMonth()!=this.currentDate.getMonth()){a.setDate(0)}this.selectDate(a)}.bindAsEventListener(this)},dateClickedListener:function(a,b){var c=new Date(a.getTime());return function(d){if(!b){c.setHours(this.currentDate.getHours());c.setMinutes(this.currentDate.getMinutes())}this.dateClicked(c)}.bindAsEventListener(this)},hourClickedListener:function(a){return function(b){this.hourClicked(a)}.bindAsEventListener(this)
},minuteClickedListener:function(a){return function(b){this.currentDate.setMinutes(a);this.dateClicked(this.currentDate)}.bindAsEventListener(this)},amClickedListener:function(){return function(a){if(this.selectedAmPm==this.pmCell){this.currentDate.setHours(this.currentDate.getHours()-12);this.dateClicked(this.currentDate)}}.bindAsEventListener(this)},pmClickedListener:function(){return function(a){if(this.selectedAmPm==this.amCell){this.currentDate.setHours(this.currentDate.getHours()+12);
this.dateClicked(this.currentDate)}}.bindAsEventListener(this)},assignDayClasses:function(a,d,c){var b=new Date();Element.addClassName(a,d);if(c.getFullYear()==b.getFullYear()&&c.getMonth()==b.getMonth()&&c.getDate()==b.getDate()){Element.addClassName(a,"today")}if(this.options.weekend.include(c.getDay())){Element.addClassName(a,"weekend")}},monthName:function(a){return this.options.months[a]},dayName:function(a){return this.options.days[a]
},dblClickHandler:function(a){if(this.options.onSelect){this.options.onSelect(this.currentDate)}Event.stop(a)},clickHandler:function(a){if(this.options.onClick){this.options.onClick()}Event.stop(a)},hoverHandler:function(a){if(this.options.onHover){this.options.onHover(date)}},keyHandler:function(c){var d=0;switch(c.keyCode){case Event.KEY_RETURN:if(this.options.onSelect){this.options.onSelect(this.currentDate)
}break;case Event.KEY_LEFT:d=-1;break;case Event.KEY_UP:d=-7;break;case Event.KEY_RIGHT:d=1;break;case Event.KEY_DOWN:d=7;break;case 33:var b=new Date(this.currentDate.getFullYear(),this.currentDate.getMonth()-1,this.currentDate.getDate());d=-this.getDaysOfMonth(b);break;case 34:d=this.getDaysOfMonth(this.currentDate);break;case 13:this.dateClicked(this.currentDate);break;default:return}if(d!=0){var a=new Date(this.currentDate.getFullYear(),this.currentDate.getMonth(),this.currentDate.getDate()+d);
a.setHours(this.currentDate.getHours());a.setMinutes(this.currentDate.getMinutes());this.selectDate(a)}Event.stop(c);return false},getDaysOfMonth:function(a){var b=new Date(a.getFullYear(),a.getMonth()+1,0);return b.getDate()},getNextMonth:function(c,b,a){if(p_Month==11){return[0,b+1]}else{return[c+1,b]}},getPrevMonth:function(c,b,a){if(p_Month==0){return[11,b-1]}else{return[c-1,b]}},dateClicked:function(a){if(a){if(!this.options.timePicker&&this.options.onSelect){this.options.onSelect(a)
}this.selectDate(a)}},dateChanged:function(a){if(a){if((!this.options.timePicker||!this.options.datePicker)&&this.options.onHover){this.options.onHover(a)}this.selectDate(a)}},hourClicked:function(a){if(!this.options.use24hrs){if(a==12){if(this.selectedAmPm==this.amCell){a=0}}else{if(this.selectedAmPm==this.pmCell){a+=12}}}this.currentDate.setHours(a);this.dateClicked(this.currentDate)},selectDate:function(b){if(b){if(this.options.datePicker){if(b.getMonth()!=this.currentDate.getMonth()||b.getFullYear()!=this.currentDate.getFullYear()){this.setDate(b)
}else{this.currentDate=b}if(b.getDate()<this.currentDays.length){if(this.selectedDay){Element.removeClassName(this.selectedDay,"current")}this.selectedDay=this.currentDays[b.getDate()];Element.addClassName(this.selectedDay,"current")}}if(this.options.timePicker){var a=b.getHours();if(this.selectedHour){Element.removeClassName(this.selectedHour,"current")}if(this.options.use24hrs){this.selectedHour=this.hourCells[a]
}else{this.selectedHour=this.hourCells[a%12?(a%12)-1:11]}Element.addClassName(this.selectedHour,"current");if(this.selectedAmPm){Element.removeClassName(this.selectedAmPm,"current")}this.selectedAmPm=(a<12?this.amCell:this.pmCell);Element.addClassName(this.selectedAmPm,"current");var c=b.getMinutes();if(this.selectedMinute){Element.removeClassName(this.selectedMinute,"current")}Element.removeClassName(this.otherMinutes,"current");
if(c%(this.minInterval)==0){if(c<1||c>59){this.otherMinutes.value=""}this.selectedMinute=this.minuteCells[c/this.minInterval];Element.addClassName(this.selectedMinute,"current")}else{this.otherMinutes.value=c;Element.addClassName(this.otherMinutes,"current")}}if(this.options.onHover){this.options.onHover(b)}}}});DateFormat=Class.create();Object.extend(DateFormat,{MONTH_NAMES:["January","February","March","April","May","June","July","August","September","October","November","December","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],DAY_NAMES:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sun","Mon","Tue","Wed","Thu","Fri","Sat"],LZ:function(a){return(a<0||a>9?"":"0")+a
},compareDates:function(e,f,c,d){var b=DateFormat.parseFormat(e,f);var a=DateFormat.parseFormat(c,d);if(b==0||a==0){return -1}else{if(b>a){return 1}}return 0},format:function(I,D){D=D+"";var l="";var v=0;var G="";var f="";var j=I.getYear()+"";var g=I.getMonth()+1;var F=I.getDate();var o=I.getDay();var n=I.getHours();var x=I.getMinutes();var q=I.getSeconds();var t,u,b,r,J,e,C,B,z,p,N,n,L,i,a,A;var w=new Object();
if(j.length<4){j=""+(j-0+1900)}w.y=""+j;w.yyyy=j;w.yy=j.substring(2,4);w.M=g;w.MM=DateFormat.LZ(g);w.MMM=DateFormat.MONTH_NAMES[g-1];w.NNN=DateFormat.MONTH_NAMES[g+11];w.d=F;w.dd=DateFormat.LZ(F);w.E=DateFormat.DAY_NAMES[o+7];w.EE=DateFormat.DAY_NAMES[o];w.H=n;w.HH=DateFormat.LZ(n);if(n==0){w.h=12}else{if(n>12){w.h=n-12}else{w.h=n}}w.hh=DateFormat.LZ(w.h);if(n>11){w.K=n-12}else{w.K=n}w.k=n+1;w.KK=DateFormat.LZ(w.K);
w.kk=DateFormat.LZ(w.k);if(n>11){w.a="PM"}else{w.a="AM"}w.m=x;w.mm=DateFormat.LZ(x);w.s=q;w.ss=DateFormat.LZ(q);while(v<D.length){G=D.charAt(v);f="";while((D.charAt(v)==G)&&(v<D.length)){f+=D.charAt(v++)}if(w[f]!=null){l+=w[f]}else{l+=f}}return l},_isInteger:function(c){var b="1234567890";for(var a=0;a<c.length;a++){if(b.indexOf(c.charAt(a))==-1){return false}}return true},_getInt:function(f,d,e,c){for(var a=c;
a>=e;a--){var b=f.substring(d,d+a);if(b.length<e){return null}if(DateFormat._isInteger(b)){return b}}return null},parseFormat:function(w,p){w=w+"";p=p+"";var v=0;var l=0;var r="";var f="";var u="";var h,g;var b=new Date();var j=b.getYear();var t=b.getMonth()+1;var s=1;var d=b.getHours();var q=b.getMinutes();var n=b.getSeconds();var k="";while(l<p.length){r=p.charAt(l);f="";while((p.charAt(l)==r)&&(l<p.length)){f+=p.charAt(l++)
}if(f=="yyyy"||f=="yy"||f=="y"){if(f=="yyyy"){h=4}g=4;if(f=="yy"){h=2}g=2;if(f=="y"){h=2}g=4;j=DateFormat._getInt(w,v,h,g);if(j==null){return 0}v+=j.length;if(j.length==2){if(j>70){j=1900+(j-0)}else{j=2000+(j-0)}}}else{if(f=="MMM"||f=="NNN"){t=0;for(var o=0;o<DateFormat.MONTH_NAMES.length;o++){var e=DateFormat.MONTH_NAMES[o];if(w.substring(v,v+e.length).toLowerCase()==e.toLowerCase()){if(f=="MMM"||(f=="NNN"&&o>11)){t=o+1;
if(t>12){t-=12}v+=e.length;break}}}if((t<1)||(t>12)){return 0}}else{if(f=="EE"||f=="E"){for(var o=0;o<DateFormat.DAY_NAMES.length;o++){var m=DateFormat.DAY_NAMES[o];if(w.substring(v,v+m.length).toLowerCase()==m.toLowerCase()){v+=m.length;break}}}else{if(f=="MM"||f=="M"){t=DateFormat._getInt(w,v,f.length,2);if(t==null||(t<1)||(t>12)){return 0}v+=t.length}else{if(f=="dd"||f=="d"){s=DateFormat._getInt(w,v,f.length,2);
if(s==null||(s<1)||(s>31)){return 0}v+=s.length}else{if(f=="hh"||f=="h"){d=DateFormat._getInt(w,v,f.length,2);if(d==null||(d<1)||(d>12)){return 0}v+=d.length}else{if(f=="HH"||f=="H"){d=DateFormat._getInt(w,v,f.length,2);if(d==null||(d<0)||(d>23)){return 0}v+=d.length}else{if(f=="KK"||f=="K"){d=DateFormat._getInt(w,v,f.length,2);if(d==null||(d<0)||(d>11)){return 0}v+=d.length}else{if(f=="kk"||f=="k"){d=DateFormat._getInt(w,v,f.length,2);
if(d==null||(d<1)||(d>24)){return 0}v+=d.length;d--}else{if(f=="mm"||f=="m"){q=DateFormat._getInt(w,v,f.length,2);if(q==null||(q<0)||(q>59)){return 0}v+=q.length}else{if(f=="ss"||f=="s"){n=DateFormat._getInt(w,v,f.length,2);if(n==null||(n<0)||(n>59)){return 0}v+=n.length}else{if(f=="a"){if(w.substring(v,v+2).toLowerCase()=="am"){k="AM"}else{if(w.substring(v,v+2).toLowerCase()=="pm"){k="PM"}else{return 0
}}v+=2}else{if(w.substring(v,v+f.length)!=f){return 0}else{v+=f.length}}}}}}}}}}}}}}if(v!=w.length){return 0}if(t==2){if(((j%4==0)&&(j%100!=0))||(j%400==0)){if(s>29){return 0}}else{if(s>28){return 0}}}if((t==4)||(t==6)||(t==9)||(t==11)){if(s>30){return 0}}if(d<12&&k=="PM"){d=d-0+12}else{if(d>11&&k=="AM"){d-=12}}var a=new Date(j,t-1,s,d,q,n);return a},parse:function(b,m){if(m){return DateFormat.parseFormat(b,m)
}else{var h=(arguments.length==2)?arguments[1]:false;var n=new Array("y-M-d","MMM d, y","MMM d,y","y-MMM-d","d-MMM-y","MMM d");var c=new Array("M/d/y","M-d-y","M.d.y","MMM-d","M/d","M-d");var o=new Array("d/M/y","d-M-y","d.M.y","d-MMM","d/M","d-M");var a=[n,h?o:c,h?c:o];var k=null;for(var g=0;g<a.length;g++){var e=a[g];for(var f=0;f<e.length;f++){k=DateFormat.parseFormat(b,e[f]);if(k!=0){return new Date(k)
}}}return null}}});DateFormat.prototype={initialize:function(a){this.format=a},parse:function(a){return DateFormat.parseFormat(a,this.format)},format:function(a){return DateFormat.format(a,this.format)}};Date.prototype.format=function(a){return DateFormat.format(this,a)};document.observe("dom:loaded",initializeShows);function initializeShows(){var a={"#removePicture":removePicture,".privateShow":privateShowOverlayer,".cancelPrivateShow":privateShowCancel,".startShowBtn":starShowOverlayer,".startShowLnk":starShowOverlayer,"a.addFavorite":addFavorite,"a#recommend":function(){Effect.toggle($("underContainer"),"BLIND",{duration:0.5})
},"#report":showAbuse,".verifyLink a":function(){Validation.get("validate-show-url").test($("url_frag").value)},"#commentShow":function(){Validation.get("not-only-space").test($("commentShow").value,false)}};document.delegate("click",a);if($("createShow")){handleCreateShow()}$("createShow").observe("submit",function(b){if($("unavailable").visible()||$("notOnlySpace").visible()){b.stop()}});Validation.add("validate-show-url","",checkUrl);
Validation.add("not-only-space","Completati campul descriere",checkEmptyField)}function checkEmptyField(a){return(a.replace(/^\s+|\s+$/g,"").length>0)?true:false}function privateShowOverlayer(a){$("privateShowForm").show();Dialog.Confirm.show("privateShowForm",{modal:true,top:50,width:500,height:200,onSuccess:function(){window.location.href=$("privateShowSendMessage").readAttribute("href")},onFailure:function(){$("v1").checked="checked";
$("privateShowForm").hide()}})}function privateShowCancel(){$("v1").checked="checked";Dialog.Confirm.deny();$("privateShowForm").hide()}function changeRepeat(a){if(a.element().value=="daily"){$("except").show()}else{$("except").hide()}}function handleCreateShow(){$("url_frag").style.width=($("url_frag").up().getWidth()-$("url_frag").previous().getWidth()-15)+"px";new Validation("createShow",{useTitles:true});
var a=new Autocompleter.Advanced("tags",$("interests").innerHTML.evalJSON(),{style:"border: 1px solid #DADADA;",fullSearch:true,frequency:0.3});a.addTokenizers([188,59]);new Control.DatePicker("start",{icon:"http://static.videomax.ro/modules/default/img/icons/calendar.v0.png",timePicker:true,timePickerAdjacent:true,use24hrs:true,startToday:true});$("repeat_interval").observe("change",changeRepeat);
if($$("ul.autocomplete")[0]){$$("ul.autocomplete")[0].writeAttribute("title",$("tagTooltip").innerHTML)}sweetTitles.tipElements=["input","select","textarea","ul","label"];sweetTitles.init()}function removePicture(){$("uploadcontrol").toggle();$("defpicture").toggle();$("picture").toggle()}function starShowOverlayer(a){if(!$("formSettings")._submitIsObserved){$("formSettings")._submitIsObserved=true;
$("formSettings").observe("submit",function(b){b.stop();Dialog.Confirm.accept()})}a.stop();Dialog.Confirm.show("settings",{modal:true,top:50,width:700,height:500,onSuccess:function(){var b=new Validation("formSettings",{useTitles:true});var e=b.validate();if(!e){return false}var d=a.findElement(".showContainer").identify().split("_")[1];var c=$("formSettings").serialize(true);c.showid=d;$$("#settings #broadcastShowId")[0].setAttribute("value",d);
if(!c.recordName){return false}new Ajax.Request("/show/index/settings.ajax",{asynchronous:false,parameters:c,onSuccess:function(){window.location.href="http://"+location.hostname+"/show/broadcast?"+$("formSettings").serialize()}})}})}function addFavorite(d,c){if(c){var b=$(d)}else{var b=Event.element(d)}var a=b.readAttribute("rel").split("_");new Ajax.Request("/contacts/followers/add.ajax",{method:"get",parameters:{user:a[0],show:a[1]},onSuccess:function(e){if(e.responseText=="OK"){$("favorites").remove();
alert($("favoriteAddMessage").innerHTML)}}})}function showAbuse(c,b){if(b){var a=$(c)}else{var a=Event.findElement(c)}params=a.readAttribute("rel").replace(/^\s+|\s+$/g,"").split(",");showAbuseForm(params[0],params[1],params[2],params[3])}function checkUrl(a){$("available").hide();$("unavailable").hide();if(a.length==0){return false}var b=false;new Ajax.Request("/show/index/check-url.ajax",{asynchronous:false,parameters:{id:$("showid").value,url_frag:a},onComplete:function(d){var c;
c=d.getHeader("Videomax-App-Json-Detailed");c=c.evalJSON();b=c.valid?true:false;if(c.valid){if(c.available){$("available").show()}else{$("unavailable").show()}}}});return b}String.prototype.parseColor=function(){var a="#";if(this.slice(0,4)=="rgb("){var c=this.slice(4,this.length-1).split(",");var b=0;do{a+=parseInt(c[b]).toColorPart()}while(++b<3)}else{if(this.slice(0,1)=="#"){if(this.length==4){for(var b=1;
b<4;b++){a+=(this.charAt(b)+this.charAt(b)).toLowerCase()}}if(this.length==7){a=this.toLowerCase()}}}return(a.length==7?a:(arguments[0]||this))};Element.collectTextNodes=function(a){return $A($(a).childNodes).collect(function(b){return(b.nodeType==3?b.nodeValue:(b.hasChildNodes()?Element.collectTextNodes(b):""))}).flatten().join("")};Element.collectTextNodesIgnoreClass=function(a,b){return $A($(a).childNodes).collect(function(c){return(c.nodeType==3?c.nodeValue:((c.hasChildNodes()&&!Element.hasClassName(c,b))?Element.collectTextNodesIgnoreClass(c,b):""))
}).flatten().join("")};Element.setContentZoom=function(a,b){a=$(a);a.setStyle({fontSize:(b/100)+"em"});if(Prototype.Browser.WebKit){window.scrollBy(0,0)}return a};Element.getInlineOpacity=function(a){return $(a).style.opacity||""};Element.forceRerendering=function(a){try{a=$(a);var c=document.createTextNode(" ");a.appendChild(c);a.removeChild(c)}catch(b){}};var Effect={_elementDoesNotExistError:{name:"ElementDoesNotExistError",message:"The specified DOM element does not exist, but is required for this effect to operate"},Transitions:{linear:Prototype.K,sinoidal:function(a){return(-Math.cos(a*Math.PI)/2)+0.5
},reverse:function(a){return 1-a},flicker:function(a){var a=((-Math.cos(a*Math.PI)/4)+0.75)+Math.random()/4;return a>1?1:a},wobble:function(a){return(-Math.cos(a*Math.PI*(9*a))/2)+0.5},pulse:function(b,a){a=a||5;return(((b%(1/a))*a).round()==0?((b*a*2)-(b*a*2).floor()):1-((b*a*2)-(b*a*2).floor()))},spring:function(a){return 1-(Math.cos(a*4.5*Math.PI)*Math.exp(-a*6))},none:function(a){return 0},full:function(a){return 1
}},DefaultOptions:{duration:1,fps:100,sync:false,from:0,to:1,delay:0,queue:"parallel"},tagifyText:function(a){var b="position:relative";if(Prototype.Browser.IE){b+=";zoom:1"}a=$(a);$A(a.childNodes).each(function(c){if(c.nodeType==3){c.nodeValue.toArray().each(function(d){a.insertBefore(new Element("span",{style:b}).update(d==" "?String.fromCharCode(160):d),c)});Element.remove(c)}})},multiple:function(b,c){var e;
if(((typeof b=="object")||Object.isFunction(b))&&(b.length)){e=b}else{e=$(b).childNodes}var a=Object.extend({speed:0.1,delay:0},arguments[2]||{});var d=a.delay;$A(e).each(function(g,f){new c(g,Object.extend(a,{delay:f*a.speed+d}))})},PAIRS:{slide:["SlideDown","SlideUp"],blind:["BlindDown","BlindUp"],appear:["Appear","Fade"]},toggle:function(b,c){b=$(b);c=(c||"appear").toLowerCase();var a=Object.extend({queue:{position:"end",scope:(b.id||"global"),limit:1}},arguments[2]||{});
Effect[b.visible()?Effect.PAIRS[c][1]:Effect.PAIRS[c][0]](b,a)}};Effect.DefaultOptions.transition=Effect.Transitions.sinoidal;Effect.ScopedQueue=Class.create(Enumerable,{initialize:function(){this.effects=[];this.interval=null},_each:function(a){this.effects._each(a)},add:function(b){var c=new Date().getTime();var a=Object.isString(b.options.queue)?b.options.queue:b.options.queue.position;switch(a){case"front":this.effects.findAll(function(d){return d.state=="idle"
}).each(function(d){d.startOn+=b.finishOn;d.finishOn+=b.finishOn});break;case"with-last":c=this.effects.pluck("startOn").max()||c;break;case"end":c=this.effects.pluck("finishOn").max()||c;break}b.startOn+=c;b.finishOn+=c;if(!b.options.queue.limit||(this.effects.length<b.options.queue.limit)){this.effects.push(b)}if(!this.interval){this.interval=setInterval(this.loop.bind(this),15)}},remove:function(a){this.effects=this.effects.reject(function(b){return b==a
});if(this.effects.length==0){clearInterval(this.interval);this.interval=null}},loop:function(){var c=new Date().getTime();for(var b=0,a=this.effects.length;b<a;b++){this.effects[b]&&this.effects[b].loop(c)}}});Effect.Queues={instances:$H(),get:function(a){if(!Object.isString(a)){return a}return this.instances.get(a)||this.instances.set(a,new Effect.ScopedQueue())}};Effect.Queue=Effect.Queues.get("global");
Effect.Base=Class.create({position:null,start:function(options){function codeForEvent(options,eventName){return((options[eventName+"Internal"]?"this.options."+eventName+"Internal(this);":"")+(options[eventName]?"this.options."+eventName+"(this);":""))}if(options&&options.transition===false){options.transition=Effect.Transitions.linear}this.options=Object.extend(Object.extend({},Effect.DefaultOptions),options||{});
this.currentFrame=0;this.state="idle";this.startOn=this.options.delay*1000;this.finishOn=this.startOn+(this.options.duration*1000);this.fromToDelta=this.options.to-this.options.from;this.totalTime=this.finishOn-this.startOn;this.totalFrames=this.options.fps*this.options.duration;eval('this.render = function(pos){ if (this.state=="idle"){this.state="running";'+codeForEvent(this.options,"beforeSetup")+(this.setup?"this.setup();":"")+codeForEvent(this.options,"afterSetup")+'};if (this.state=="running"){pos=this.options.transition(pos)*'+this.fromToDelta+"+"+this.options.from+";this.position=pos;"+codeForEvent(this.options,"beforeUpdate")+(this.update?"this.update(pos);":"")+codeForEvent(this.options,"afterUpdate")+"}}");
this.event("beforeStart");if(!this.options.sync){Effect.Queues.get(Object.isString(this.options.queue)?"global":this.options.queue.scope).add(this)}},loop:function(c){if(c>=this.startOn){if(c>=this.finishOn){this.render(1);this.cancel();this.event("beforeFinish");if(this.finish){this.finish()}this.event("afterFinish");return}var b=(c-this.startOn)/this.totalTime,a=(b*this.totalFrames).round();if(a>this.currentFrame){this.render(b);
this.currentFrame=a}}},cancel:function(){if(!this.options.sync){Effect.Queues.get(Object.isString(this.options.queue)?"global":this.options.queue.scope).remove(this)}this.state="finished"},event:function(a){if(this.options[a+"Internal"]){this.options[a+"Internal"](this)}if(this.options[a]){this.options[a](this)}},inspect:function(){var a=$H();for(property in this){if(!Object.isFunction(this[property])){a.set(property,this[property])
}}return"#<Effect:"+a.inspect()+",options:"+$H(this.options).inspect()+">"}});Effect.Parallel=Class.create(Effect.Base,{initialize:function(a){this.effects=a||[];this.start(arguments[1])},update:function(a){this.effects.invoke("render",a)},finish:function(a){this.effects.each(function(b){b.render(1);b.cancel();b.event("beforeFinish");if(b.finish){b.finish(a)}b.event("afterFinish")})}});Effect.Tween=Class.create(Effect.Base,{initialize:function(c,f,e){c=Object.isString(c)?$(c):c;
var b=$A(arguments),d=b.last(),a=b.length==5?b[3]:null;this.method=Object.isFunction(d)?d.bind(c):Object.isFunction(c[d])?c[d].bind(c):function(g){c[d]=g};this.start(Object.extend({from:f,to:e},a||{}))},update:function(a){this.method(a)}});Effect.Event=Class.create(Effect.Base,{initialize:function(){this.start(Object.extend({duration:0},arguments[0]||{}))},update:Prototype.emptyFunction});Effect.Opacity=Class.create(Effect.Base,{initialize:function(b){this.element=$(b);
if(!this.element){throw (Effect._elementDoesNotExistError)}if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout)){this.element.setStyle({zoom:1})}var a=Object.extend({from:this.element.getOpacity()||0,to:1},arguments[1]||{});this.start(a)},update:function(a){this.element.setOpacity(a)}});Effect.Move=Class.create(Effect.Base,{initialize:function(b){this.element=$(b);if(!this.element){throw (Effect._elementDoesNotExistError)
}var a=Object.extend({x:0,y:0,mode:"relative"},arguments[1]||{});this.start(a)},setup:function(){this.element.makePositioned();this.originalLeft=parseFloat(this.element.getStyle("left")||"0");this.originalTop=parseFloat(this.element.getStyle("top")||"0");if(this.options.mode=="absolute"){this.options.x=this.options.x-this.originalLeft;this.options.y=this.options.y-this.originalTop}},update:function(a){this.element.setStyle({left:(this.options.x*a+this.originalLeft).round()+"px",top:(this.options.y*a+this.originalTop).round()+"px"})
}});Effect.MoveBy=function(b,a,c){return new Effect.Move(b,Object.extend({x:c,y:a},arguments[3]||{}))};Effect.Scale=Class.create(Effect.Base,{initialize:function(b,c){this.element=$(b);if(!this.element){throw (Effect._elementDoesNotExistError)}var a=Object.extend({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:"box",scaleFrom:100,scaleTo:c},arguments[2]||{});this.start(a)
},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=this.element.getStyle("position");this.originalStyle={};["top","left","width","height","fontSize"].each(function(b){this.originalStyle[b]=this.element.style[b]}.bind(this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var a=this.element.getStyle("font-size")||"100%";
["em","px","%","pt"].each(function(b){if(a.indexOf(b)>0){this.fontSize=parseFloat(a);this.fontSizeType=b}}.bind(this));this.factor=(this.options.scaleTo-this.options.scaleFrom)/100;this.dims=null;if(this.options.scaleMode=="box"){this.dims=[this.element.offsetHeight,this.element.offsetWidth]}if(/^content/.test(this.options.scaleMode)){this.dims=[this.element.scrollHeight,this.element.scrollWidth]}if(!this.dims){this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth]
}},update:function(a){var b=(this.options.scaleFrom/100)+(this.factor*a);if(this.options.scaleContent&&this.fontSize){this.element.setStyle({fontSize:this.fontSize*b+this.fontSizeType})}this.setDimensions(this.dims[0]*b,this.dims[1]*b)},finish:function(a){if(this.restoreAfterFinish){this.element.setStyle(this.originalStyle)}},setDimensions:function(a,e){var f={};if(this.options.scaleX){f.width=e.round()+"px"
}if(this.options.scaleY){f.height=a.round()+"px"}if(this.options.scaleFromCenter){var c=(a-this.dims[0])/2;var b=(e-this.dims[1])/2;if(this.elementPositioning=="absolute"){if(this.options.scaleY){f.top=this.originalTop-c+"px"}if(this.options.scaleX){f.left=this.originalLeft-b+"px"}}else{if(this.options.scaleY){f.top=-c+"px"}if(this.options.scaleX){f.left=-b+"px"}}}this.element.setStyle(f)}});Effect.Highlight=Class.create(Effect.Base,{initialize:function(b){this.element=$(b);
if(!this.element){throw (Effect._elementDoesNotExistError)}var a=Object.extend({startcolor:"#ffff99"},arguments[1]||{});this.start(a)},setup:function(){if(this.element.getStyle("display")=="none"){this.cancel();return}this.oldStyle={};if(!this.options.keepBackgroundImage){this.oldStyle.backgroundImage=this.element.getStyle("background-image");this.element.setStyle({backgroundImage:"none"})}if(!this.options.endcolor){this.options.endcolor=this.element.getStyle("background-color").parseColor("#ffffff")
}if(!this.options.restorecolor){this.options.restorecolor=this.element.getStyle("background-color")}this._base=$R(0,2).map(function(a){return parseInt(this.options.startcolor.slice(a*2+1,a*2+3),16)}.bind(this));this._delta=$R(0,2).map(function(a){return parseInt(this.options.endcolor.slice(a*2+1,a*2+3),16)-this._base[a]}.bind(this))},update:function(a){this.element.setStyle({backgroundColor:$R(0,2).inject("#",function(b,c,d){return b+((this._base[d]+(this._delta[d]*a)).round().toColorPart())
}.bind(this))})},finish:function(){this.element.setStyle(Object.extend(this.oldStyle,{backgroundColor:this.options.restorecolor}))}});Effect.ScrollTo=function(d){var c=arguments[1]||{},b=document.viewport.getScrollOffsets(),e=$(d).cumulativeOffset(),a=(window.height||document.body.scrollHeight)-document.viewport.getHeight();if(c.offset){e[1]+=c.offset}return new Effect.Tween(null,b.top,e[1]>a?a:e[1],c,function(f){scrollTo(b.left,f.round())
})};Effect.Fade=function(c){c=$(c);var a=c.getInlineOpacity();var b=Object.extend({from:c.getOpacity()||1,to:0,afterFinishInternal:function(d){if(d.options.to!=0){return}d.element.hide().setStyle({opacity:a})}},arguments[1]||{});return new Effect.Opacity(c,b)};Effect.Appear=function(b){b=$(b);var a=Object.extend({from:(b.getStyle("display")=="none"?0:b.getOpacity()||0),to:1,afterFinishInternal:function(c){c.element.forceRerendering()
},beforeSetup:function(c){c.element.setOpacity(c.options.from).show()}},arguments[1]||{});return new Effect.Opacity(b,a)};Effect.Puff=function(b){b=$(b);var a={opacity:b.getInlineOpacity(),position:b.getStyle("position"),top:b.style.top,left:b.style.left,width:b.style.width,height:b.style.height};return new Effect.Parallel([new Effect.Scale(b,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true}),new Effect.Opacity(b,{sync:true,to:0})],Object.extend({duration:1,beforeSetupInternal:function(c){Position.absolutize(c.effects[0].element)
},afterFinishInternal:function(c){c.effects[0].element.hide().setStyle(a)}},arguments[1]||{}))};Effect.BlindUp=function(a){a=$(a);a.makeClipping();return new Effect.Scale(a,0,Object.extend({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(b){b.element.hide().undoClipping()}},arguments[1]||{}))};Effect.BlindDown=function(b){b=$(b);var a=b.getDimensions();return new Effect.Scale(b,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:a.height,originalWidth:a.width},restoreAfterFinish:true,afterSetup:function(c){c.element.makeClipping().setStyle({height:"0px"}).show()
},afterFinishInternal:function(c){c.element.undoClipping()}},arguments[1]||{}))};Effect.SwitchOff=function(b){b=$(b);var a=b.getInlineOpacity();return new Effect.Appear(b,Object.extend({duration:0.4,from:0,transition:Effect.Transitions.flicker,afterFinishInternal:function(c){new Effect.Scale(c.element,1,{duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetup:function(d){d.element.makePositioned().makeClipping()
},afterFinishInternal:function(d){d.element.hide().undoClipping().undoPositioned().setStyle({opacity:a})}})}},arguments[1]||{}))};Effect.DropOut=function(b){b=$(b);var a={top:b.getStyle("top"),left:b.getStyle("left"),opacity:b.getInlineOpacity()};return new Effect.Parallel([new Effect.Move(b,{x:0,y:100,sync:true}),new Effect.Opacity(b,{sync:true,to:0})],Object.extend({duration:0.5,beforeSetup:function(c){c.effects[0].element.makePositioned()
},afterFinishInternal:function(c){c.effects[0].element.hide().undoPositioned().setStyle(a)}},arguments[1]||{}))};Effect.Shake=function(d){d=$(d);var b=Object.extend({distance:20,duration:0.5},arguments[1]||{});var e=parseFloat(b.distance);var c=parseFloat(b.duration)/10;var a={top:d.getStyle("top"),left:d.getStyle("left")};return new Effect.Move(d,{x:e,y:0,duration:c,afterFinishInternal:function(f){new Effect.Move(f.element,{x:-e*2,y:0,duration:c*2,afterFinishInternal:function(g){new Effect.Move(g.element,{x:e*2,y:0,duration:c*2,afterFinishInternal:function(h){new Effect.Move(h.element,{x:-e*2,y:0,duration:c*2,afterFinishInternal:function(i){new Effect.Move(i.element,{x:e*2,y:0,duration:c*2,afterFinishInternal:function(j){new Effect.Move(j.element,{x:-e,y:0,duration:c,afterFinishInternal:function(k){k.element.undoPositioned().setStyle(a)
}})}})}})}})}})}})};Effect.SlideDown=function(c){c=$(c).cleanWhitespace();var a=c.down().getStyle("bottom");var b=c.getDimensions();return new Effect.Scale(c,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:window.opera?0:1,scaleMode:{originalHeight:b.height,originalWidth:b.width},restoreAfterFinish:true,afterSetup:function(d){d.element.makePositioned();d.element.down().makePositioned();
if(window.opera){d.element.setStyle({top:""})}d.element.makeClipping().setStyle({height:"0px"}).show()},afterUpdateInternal:function(d){d.element.down().setStyle({bottom:(d.dims[0]-d.element.clientHeight)+"px"})},afterFinishInternal:function(d){d.element.undoClipping().undoPositioned();d.element.down().undoPositioned().setStyle({bottom:a})}},arguments[1]||{}))};Effect.SlideUp=function(c){c=$(c).cleanWhitespace();
var a=c.down().getStyle("bottom");var b=c.getDimensions();return new Effect.Scale(c,window.opera?0:1,Object.extend({scaleContent:false,scaleX:false,scaleMode:"box",scaleFrom:100,scaleMode:{originalHeight:b.height,originalWidth:b.width},restoreAfterFinish:true,afterSetup:function(d){d.element.makePositioned();d.element.down().makePositioned();if(window.opera){d.element.setStyle({top:""})}d.element.makeClipping().show()
},afterUpdateInternal:function(d){d.element.down().setStyle({bottom:(d.dims[0]-d.element.clientHeight)+"px"})},afterFinishInternal:function(d){d.element.hide().undoClipping().undoPositioned();d.element.down().undoPositioned().setStyle({bottom:a})}},arguments[1]||{}))};Effect.Squish=function(a){return new Effect.Scale(a,window.opera?1:0,{restoreAfterFinish:true,beforeSetup:function(b){b.element.makeClipping()
},afterFinishInternal:function(b){b.element.hide().undoClipping()}})};Effect.Grow=function(c){c=$(c);var b=Object.extend({direction:"center",moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.full},arguments[1]||{});var a={top:c.style.top,left:c.style.left,height:c.style.height,width:c.style.width,opacity:c.getInlineOpacity()};
var g=c.getDimensions();var h,f;var e,d;switch(b.direction){case"top-left":h=f=e=d=0;break;case"top-right":h=g.width;f=d=0;e=-g.width;break;case"bottom-left":h=e=0;f=g.height;d=-g.height;break;case"bottom-right":h=g.width;f=g.height;e=-g.width;d=-g.height;break;case"center":h=g.width/2;f=g.height/2;e=-g.width/2;d=-g.height/2;break}return new Effect.Move(c,{x:h,y:f,duration:0.01,beforeSetup:function(i){i.element.hide().makeClipping().makePositioned()
},afterFinishInternal:function(i){new Effect.Parallel([new Effect.Opacity(i.element,{sync:true,to:1,from:0,transition:b.opacityTransition}),new Effect.Move(i.element,{x:e,y:d,sync:true,transition:b.moveTransition}),new Effect.Scale(i.element,100,{scaleMode:{originalHeight:g.height,originalWidth:g.width},sync:true,scaleFrom:window.opera?1:0,transition:b.scaleTransition,restoreAfterFinish:true})],Object.extend({beforeSetup:function(j){j.effects[0].element.setStyle({height:"0px"}).show()
},afterFinishInternal:function(j){j.effects[0].element.undoClipping().undoPositioned().setStyle(a)}},b))}})};Effect.Shrink=function(c){c=$(c);var b=Object.extend({direction:"center",moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.none},arguments[1]||{});var a={top:c.style.top,left:c.style.left,height:c.style.height,width:c.style.width,opacity:c.getInlineOpacity()};
var f=c.getDimensions();var e,d;switch(b.direction){case"top-left":e=d=0;break;case"top-right":e=f.width;d=0;break;case"bottom-left":e=0;d=f.height;break;case"bottom-right":e=f.width;d=f.height;break;case"center":e=f.width/2;d=f.height/2;break}return new Effect.Parallel([new Effect.Opacity(c,{sync:true,to:0,from:1,transition:b.opacityTransition}),new Effect.Scale(c,window.opera?1:0,{sync:true,transition:b.scaleTransition,restoreAfterFinish:true}),new Effect.Move(c,{x:e,y:d,sync:true,transition:b.moveTransition})],Object.extend({beforeStartInternal:function(g){g.effects[0].element.makePositioned().makeClipping()
},afterFinishInternal:function(g){g.effects[0].element.hide().undoClipping().undoPositioned().setStyle(a)}},b))};Effect.Pulsate=function(c){c=$(c);var b=arguments[1]||{};var a=c.getInlineOpacity();var e=b.transition||Effect.Transitions.sinoidal;var d=function(f){return e(1-Effect.Transitions.pulse(f,b.pulses))};d.bind(e);return new Effect.Opacity(c,Object.extend(Object.extend({duration:2,from:0,afterFinishInternal:function(f){f.element.setStyle({opacity:a})
}},b),{transition:d}))};Effect.Fold=function(b){b=$(b);var a={top:b.style.top,left:b.style.left,width:b.style.width,height:b.style.height};b.makeClipping();return new Effect.Scale(b,5,Object.extend({scaleContent:false,scaleX:false,afterFinishInternal:function(c){new Effect.Scale(b,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(d){d.element.hide().undoClipping().setStyle(a)}})}},arguments[1]||{}))
};Effect.Morph=Class.create(Effect.Base,{initialize:function(c){this.element=$(c);if(!this.element){throw (Effect._elementDoesNotExistError)}var a=Object.extend({style:{}},arguments[1]||{});if(!Object.isString(a.style)){this.style=$H(a.style)}else{if(a.style.include(":")){this.style=a.style.parseStyle()}else{this.element.addClassName(a.style);this.style=$H(this.element.getStyles());this.element.removeClassName(a.style);
var b=this.element.getStyles();this.style=this.style.reject(function(d){return d.value==b[d.key]});a.afterFinishInternal=function(d){d.element.addClassName(d.options.style);d.transforms.each(function(e){d.element.style[e.style]=""})}}}this.start(a)},setup:function(){function a(b){if(!b||["rgba(0, 0, 0, 0)","transparent"].include(b)){b="#ffffff"}b=b.parseColor();return $R(0,2).map(function(c){return parseInt(b.slice(c*2+1,c*2+3),16)
})}this.transforms=this.style.map(function(g){var f=g[0],e=g[1],d=null;if(e.parseColor("#zzzzzz")!="#zzzzzz"){e=e.parseColor();d="color"}else{if(f=="opacity"){e=parseFloat(e);if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout)){this.element.setStyle({zoom:1})}}else{if(Element.CSS_LENGTH.test(e)){var c=e.match(/^([\+\-]?[0-9\.]+)(.*)$/);e=parseFloat(c[1]);d=(c.length==3)?c[2]:null}}}var b=this.element.getStyle(f);
return{style:f.camelize(),originalValue:d=="color"?a(b):parseFloat(b||0),targetValue:d=="color"?a(e):e,unit:d}}.bind(this)).reject(function(b){return((b.originalValue==b.targetValue)||(b.unit!="color"&&(isNaN(b.originalValue)||isNaN(b.targetValue))))})},update:function(a){var d={},b,c=this.transforms.length;while(c--){d[(b=this.transforms[c]).style]=b.unit=="color"?"#"+(Math.round(b.originalValue[0]+(b.targetValue[0]-b.originalValue[0])*a)).toColorPart()+(Math.round(b.originalValue[1]+(b.targetValue[1]-b.originalValue[1])*a)).toColorPart()+(Math.round(b.originalValue[2]+(b.targetValue[2]-b.originalValue[2])*a)).toColorPart():(b.originalValue+(b.targetValue-b.originalValue)*a).toFixed(3)+(b.unit===null?"":b.unit)
}this.element.setStyle(d,true)}});Effect.Transform=Class.create({initialize:function(a){this.tracks=[];this.options=arguments[1]||{};this.addTracks(a)},addTracks:function(a){a.each(function(b){b=$H(b);var c=b.values().first();this.tracks.push($H({ids:b.keys().first(),effect:Effect.Morph,options:{style:c}}))}.bind(this));return this},play:function(){return new Effect.Parallel(this.tracks.map(function(a){var d=a.get("ids"),c=a.get("effect"),b=a.get("options");
var e=[$(d)||$$(d)].flatten();return e.map(function(f){return new c(f,Object.extend({sync:true},b))})}).flatten(),this.options)}});Element.CSS_PROPERTIES=$w("backgroundColor backgroundPosition borderBottomColor borderBottomStyle borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth borderRightColor borderRightStyle borderRightWidth borderSpacing borderTopColor borderTopStyle borderTopWidth bottom clip color fontSize fontWeight height left letterSpacing lineHeight marginBottom marginLeft marginRight marginTop markerOffset maxHeight maxWidth minHeight minWidth opacity outlineColor outlineOffset outlineWidth paddingBottom paddingLeft paddingRight paddingTop right textIndent top width wordSpacing zIndex");
Element.CSS_LENGTH=/^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;String.__parseStyleElement=document.createElement("div");String.prototype.parseStyle=function(){var b,a=$H();if(Prototype.Browser.WebKit){b=new Element("div",{style:this}).style}else{String.__parseStyleElement.innerHTML='<div style="'+this+'"></div>';b=String.__parseStyleElement.childNodes[0].style}Element.CSS_PROPERTIES.each(function(c){if(b[c]){a.set(c,b[c])
}});if(Prototype.Browser.IE&&this.include("opacity")){a.set("opacity",this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1])}return a};if(document.defaultView&&document.defaultView.getComputedStyle){Element.getStyles=function(b){var a=document.defaultView.getComputedStyle($(b),null);return Element.CSS_PROPERTIES.inject({},function(c,d){c[d]=a[d];return c})}}else{Element.getStyles=function(b){b=$(b);var a=b.currentStyle,c;
c=Element.CSS_PROPERTIES.inject({},function(d,e){d[e]=a[e];return d});if(!c.opacity){c.opacity=b.getOpacity()}return c}}Effect.Methods={morph:function(a,b){a=$(a);new Effect.Morph(a,Object.extend({style:b},arguments[2]||{}));return a},visualEffect:function(c,e,b){c=$(c);var d=e.dasherize().camelize(),a=d.charAt(0).toUpperCase()+d.substring(1);new Effect[a](c,b);return c},highlight:function(b,a){b=$(b);
new Effect.Highlight(b,a);return b}};$w("fade appear grow shrink fold blindUp blindDown slideUp slideDown pulsate shake puff squish switchOff dropOut").each(function(a){Effect.Methods[a]=function(c,b){c=$(c);Effect[a.charAt(0).toUpperCase()+a.substring(1)](c,b);return c}});$w("getInlineOpacity forceRerendering setContentZoom collectTextNodes collectTextNodesIgnoreClass getStyles").each(function(a){Effect.Methods[a]=Element[a]
});Element.addMethods(Effect.Methods);if(typeof Effect=="undefined"){throw ("controls.js requires including script.aculo.us' effects.js library")}var Autocompleter={};Autocompleter.Base=Class.create({baseInitialize:function(b,c,a){b=$(b);this.element=b;this.update=$(c);this.hasFocus=false;this.changed=false;this.active=false;this.index=0;this.entryCount=0;this.oldElementValue=this.element.value;if(this.setOptions){this.setOptions(a)
}else{this.options=a||{}}this.options.paramName=this.options.paramName||this.element.name;this.options.tokens=this.options.tokens||[];this.options.frequency=this.options.frequency||0.4;this.options.minChars=this.options.minChars||1;this.options.onShow=this.options.onShow||function(d,e){if(!e.style.position||e.style.position=="absolute"){e.style.position="absolute";Position.clone(d,e,{setHeight:false,offsetTop:d.offsetHeight})
}$(e).show()};this.options.onHide=this.options.onHide||function(d,e){$(e).hide()};if(typeof(this.options.tokens)=="string"){this.options.tokens=new Array(this.options.tokens)}if(!this.options.tokens.include("\n")){this.options.tokens.push("\n")}this.observer=null;this.element.setAttribute("autocomplete","off");Element.hide(this.update);Event.observe(this.element,"blur",this.onBlur.bindAsEventListener(this));
Event.observe(this.element,"keydown",this.onKeyPress.bindAsEventListener(this))},show:function(){if(Element.getStyle(this.update,"display")=="none"){this.options.onShow(this.element,this.update)}if(!this.iefix&&(Prototype.Browser.IE)&&(Element.getStyle(this.update,"position")=="absolute")){new Insertion.After(this.update,'<iframe id="'+this.update.id+'_iefix" style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" src="javascript:false;" frameborder="0" scrolling="no"></iframe>');
this.iefix=$(this.update.id+"_iefix")}if(this.iefix){setTimeout(this.fixIEOverlapping.bind(this),50)}},fixIEOverlapping:function(){Position.clone(this.update,this.iefix,{setTop:(!this.update.style.height)});this.iefix.style.zIndex=1;this.update.style.zIndex=2;Element.show(this.iefix)},hide:function(){this.stopIndicator();if(Element.getStyle(this.update,"display")!="none"){this.options.onHide(this.element,this.update)
}if(this.iefix){Element.hide(this.iefix)}},startIndicator:function(){if(this.options.indicator){Element.show(this.options.indicator)}},stopIndicator:function(){if(this.options.indicator){Element.hide(this.options.indicator)}},onKeyPress:function(a){if(this.active){switch(a.keyCode){case Event.KEY_TAB:case Event.KEY_RETURN:this.selectEntry();Event.stop(a);case Event.KEY_ESC:this.hide();this.active=false;
Event.stop(a);return;case Event.KEY_LEFT:case Event.KEY_RIGHT:return;case Event.KEY_UP:this.markPrevious();this.render();Event.stop(a);return;case Event.KEY_DOWN:this.markNext();this.render();Event.stop(a);return}}else{if(a.keyCode==Event.KEY_TAB||a.keyCode==Event.KEY_RETURN||(Prototype.Browser.WebKit>0&&a.keyCode==0)){return}}this.changed=true;this.hasFocus=true;if(this.observer){clearTimeout(this.observer)
}this.observer=setTimeout(this.onObserverEvent.bind(this),this.options.frequency*1000)},activate:function(){this.changed=false;this.hasFocus=true;this.getUpdatedChoices()},onHover:function(b){var a=Event.findElement(b,"LI");if(this.index!=a.autocompleteIndex){this.index=a.autocompleteIndex;this.render()}Event.stop(b)},onClick:function(b){var a=Event.findElement(b,"LI");this.index=a.autocompleteIndex;
this.selectEntry();this.hide()},onBlur:function(a){setTimeout(this.hide.bind(this),250);this.hasFocus=false;this.active=false},render:function(){if(this.entryCount>0){for(var a=0;a<this.entryCount;a++){this.index==a?Element.addClassName(this.getEntry(a),"selected"):Element.removeClassName(this.getEntry(a),"selected")}if(this.hasFocus){this.show();this.active=true}}else{this.active=false;this.hide()
}},markPrevious:function(){if(this.index>0){this.index--}else{this.index=this.entryCount-1}this.getEntry(this.index).scrollIntoView(true)},markNext:function(){if(this.index<this.entryCount-1){this.index++}else{this.index=0}this.getEntry(this.index).scrollIntoView(false)},getEntry:function(a){return this.update.firstChild.childNodes[a]},getCurrentEntry:function(){return this.getEntry(this.index)},selectEntry:function(){this.active=false;
this.updateElement(this.getCurrentEntry())},updateElement:function(f){if(this.options.updateElement){this.options.updateElement(f);return}var d="";if(this.options.select){var a=$(f).select("."+this.options.select)||[];if(a.length>0){d=Element.collectTextNodes(a[0],this.options.select)}}else{d=Element.collectTextNodesIgnoreClass(f,"informal")}var c=this.getTokenBounds();if(c[0]!=-1){var e=this.element.value.substr(0,c[0]);
var b=this.element.value.substr(c[0]).match(/^\s+/);if(b){e+=b[0]}this.element.value=e+d+this.element.value.substr(c[1])}else{this.element.value=d}this.oldElementValue=this.element.value;this.element.focus();if(this.options.afterUpdateElement){this.options.afterUpdateElement(this.element,f)}},updateChoices:function(c){if(!this.changed&&this.hasFocus){this.update.innerHTML=c;Element.cleanWhitespace(this.update);
Element.cleanWhitespace(this.update.down());if(this.update.firstChild&&this.update.down().childNodes){this.entryCount=this.update.down().childNodes.length;for(var a=0;a<this.entryCount;a++){var b=this.getEntry(a);b.autocompleteIndex=a;this.addObservers(b)}}else{this.entryCount=0}this.stopIndicator();this.index=0;if(this.entryCount==1&&this.options.autoSelect){this.selectEntry();this.hide()}else{this.render()
}}},addObservers:function(a){Event.observe(a,"mouseover",this.onHover.bindAsEventListener(this));Event.observe(a,"click",this.onClick.bindAsEventListener(this))},onObserverEvent:function(){this.changed=false;this.tokenBounds=null;if(this.getToken().length>=this.options.minChars){this.getUpdatedChoices()}else{this.active=false;this.hide()}this.oldElementValue=this.element.value},getToken:function(){var a=this.getTokenBounds();
return this.element.value.substring(a[0],a[1]).strip()},getTokenBounds:function(){if(null!=this.tokenBounds){return this.tokenBounds}var e=this.element.value;if(e.strip().empty()){return[-1,0]}var f=arguments.callee.getFirstDifferencePos(e,this.oldElementValue);var h=(f==this.oldElementValue.length?1:0);var d=-1,c=e.length;var g;for(var b=0,a=this.options.tokens.length;b<a;++b){g=e.lastIndexOf(this.options.tokens[b],f+h-1);
if(g>d){d=g}g=e.indexOf(this.options.tokens[b],f+h);if(-1!=g&&g<c){c=g}}return(this.tokenBounds=[d+1,c])}});Autocompleter.Base.prototype.getTokenBounds.getFirstDifferencePos=function(c,a){var d=Math.min(c.length,a.length);for(var b=0;b<d;++b){if(c[b]!=a[b]){return b}}return d};Ajax.Autocompleter=Class.create(Autocompleter.Base,{initialize:function(c,d,b,a){this.baseInitialize(c,d,a);this.options.asynchronous=true;
this.options.onComplete=this.onComplete.bind(this);this.options.defaultParams=this.options.parameters||null;this.url=b},getUpdatedChoices:function(){this.startIndicator();var a=encodeURIComponent(this.options.paramName)+"="+encodeURIComponent(this.getToken());this.options.parameters=this.options.callback?this.options.callback(this.element,a):a;if(this.options.defaultParams){this.options.parameters+="&"+this.options.defaultParams
}new Ajax.Request(this.url,this.options)},onComplete:function(a){this.updateChoices(a.responseText)}});Autocompleter.Local=Class.create(Autocompleter.Base,{initialize:function(b,d,c,a){this.baseInitialize(b,d,a);this.options.array=c},getUpdatedChoices:function(){this.updateChoices(this.options.selector(this))},setOptions:function(a){this.options=Object.extend({choices:10,partialSearch:true,partialChars:2,ignoreCase:true,fullSearch:false,selector:function(b){var d=[];
var c=[];var h=b.getToken();var g=0;for(var e=0;e<b.options.array.length&&d.length<b.options.choices;e++){var f=b.options.array[e];var j=b.options.ignoreCase?f.toLowerCase().indexOf(h.toLowerCase()):f.indexOf(h);while(j!=-1){if(j==0&&f.length!=h.length){d.push("<li><strong>"+f.substr(0,h.length)+"</strong>"+f.substr(h.length)+"</li>");break}else{if(h.length>=b.options.partialChars&&b.options.partialSearch&&j!=-1){if(b.options.fullSearch||/\s/.test(f.substr(j-1,1))){c.push("<li>"+f.substr(0,j)+"<strong>"+f.substr(j,h.length)+"</strong>"+f.substr(j+h.length)+"</li>");
break}}}j=b.options.ignoreCase?f.toLowerCase().indexOf(h.toLowerCase(),j+1):f.indexOf(h,j+1)}}if(c.length){d=d.concat(c.slice(0,b.options.choices-d.length))}return"<ul>"+d.join("")+"</ul>"}},a||{})}});Field.scrollFreeActivate=function(a){setTimeout(function(){Field.activate(a)},1)};Ajax.InPlaceEditor=Class.create({initialize:function(c,b,a){this.url=b;this.element=c=$(c);this.prepareOptions();this._controls={};
arguments.callee.dealWithDeprecatedOptions(a);Object.extend(this.options,a||{});if(!this.options.formId&&this.element.id){this.options.formId=this.element.id+"-inplaceeditor";if($(this.options.formId)){this.options.formId=""}}if(this.options.externalControl){this.options.externalControl=$(this.options.externalControl)}if(!this.options.externalControl){this.options.externalControlOnly=false}this._originalBackground=this.element.getStyle("background-color")||"transparent";
this.element.title=this.options.clickToEditText;this._boundCancelHandler=this.handleFormCancellation.bind(this);this._boundComplete=(this.options.onComplete||Prototype.emptyFunction).bind(this);this._boundFailureHandler=this.handleAJAXFailure.bind(this);this._boundSubmitHandler=this.handleFormSubmission.bind(this);this._boundWrapperHandler=this.wrapUp.bind(this);this.registerListeners()},checkForEscapeOrReturn:function(a){if(!this._editing||a.ctrlKey||a.altKey||a.shiftKey){return
}if(Event.KEY_ESC==a.keyCode){this.handleFormCancellation(a)}else{if(Event.KEY_RETURN==a.keyCode){this.handleFormSubmission(a)}}},createControl:function(g,c,b){var e=this.options[g+"Control"];var f=this.options[g+"Text"];if("button"==e){var a=document.createElement("input");a.type="submit";a.value=f;a.className="editor_"+g+"_button";if("cancel"==g){a.onclick=this._boundCancelHandler}this._form.appendChild(a);
this._controls[g]=a}else{if("link"==e){var d=document.createElement("a");d.href="#";d.appendChild(document.createTextNode(f));d.onclick="cancel"==g?this._boundCancelHandler:this._boundSubmitHandler;d.className="editor_"+g+"_link";if(b){d.className+=" "+b}this._form.appendChild(d);this._controls[g]=d}}},createEditField:function(){var c=(this.options.loadTextURL?this.options.loadingText:this.getText());
var b;if(1>=this.options.rows&&!/\r|\n/.test(this.getText())){b=document.createElement("input");b.type="text";var a=this.options.size||this.options.cols||0;if(0<a){b.size=a}}else{b=document.createElement("textarea");b.rows=(1>=this.options.rows?this.options.autoRows:this.options.rows);b.cols=this.options.cols||40}b.name=this.options.paramName;b.value=c;b.className="editor_field";if(this.options.submitOnBlur){b.onblur=this._boundSubmitHandler
}this._controls.editor=b;if(this.options.loadTextURL){this.loadExternalText()}this._form.appendChild(this._controls.editor)},createForm:function(){var b=this;function a(d,e){var c=b.options["text"+d+"Controls"];if(!c||e===false){return}b._form.appendChild(document.createTextNode(c))}this._form=$(document.createElement("form"));this._form.id=this.options.formId;this._form.addClassName(this.options.formClassName);
this._form.onsubmit=this._boundSubmitHandler;this.createEditField();if("textarea"==this._controls.editor.tagName.toLowerCase()){this._form.appendChild(document.createElement("br"))}if(this.options.onFormCustomization){this.options.onFormCustomization(this,this._form)}a("Before",this.options.okControl||this.options.cancelControl);this.createControl("ok",this._boundSubmitHandler);a("Between",this.options.okControl&&this.options.cancelControl);
this.createControl("cancel",this._boundCancelHandler,"editor_cancel");a("After",this.options.okControl||this.options.cancelControl)},destroy:function(){if(this._oldInnerHTML){this.element.innerHTML=this._oldInnerHTML}this.leaveEditMode();this.unregisterListeners()},enterEditMode:function(a){if(this._saving||this._editing){return}this._editing=true;this.triggerCallback("onEnterEditMode");if(this.options.externalControl){this.options.externalControl.hide()
}this.element.hide();this.createForm();this.element.parentNode.insertBefore(this._form,this.element);if(!this.options.loadTextURL){this.postProcessEditField()}if(a){Event.stop(a)}},enterHover:function(a){if(this.options.hoverClassName){this.element.addClassName(this.options.hoverClassName)}if(this._saving){return}this.triggerCallback("onEnterHover")},getText:function(){return this.element.innerHTML
},handleAJAXFailure:function(a){this.triggerCallback("onFailure",a);if(this._oldInnerHTML){this.element.innerHTML=this._oldInnerHTML;this._oldInnerHTML=null}},handleFormCancellation:function(a){this.wrapUp();if(a){Event.stop(a)}},handleFormSubmission:function(d){var b=this._form;var c=$F(this._controls.editor);this.prepareSubmission();var f=this.options.callback(b,c)||"";if(Object.isString(f)){f=f.toQueryParams()
}f.editorId=this.element.id;if(this.options.htmlResponse){var a=Object.extend({evalScripts:true},this.options.ajaxOptions);Object.extend(a,{parameters:f,onComplete:this._boundWrapperHandler,onFailure:this._boundFailureHandler});new Ajax.Updater({success:this.element},this.url,a)}else{var a=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(a,{parameters:f,onComplete:this._boundWrapperHandler,onFailure:this._boundFailureHandler});
new Ajax.Request(this.url,a)}if(d){Event.stop(d)}},leaveEditMode:function(){this.element.removeClassName(this.options.savingClassName);this.removeForm();this.leaveHover();this.element.style.backgroundColor=this._originalBackground;this.element.show();if(this.options.externalControl){this.options.externalControl.show()}this._saving=false;this._editing=false;this._oldInnerHTML=null;this.triggerCallback("onLeaveEditMode")
},leaveHover:function(a){if(this.options.hoverClassName){this.element.removeClassName(this.options.hoverClassName)}if(this._saving){return}this.triggerCallback("onLeaveHover")},loadExternalText:function(){this._form.addClassName(this.options.loadingClassName);this._controls.editor.disabled=true;var a=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(a,{parameters:"editorId="+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(c){this._form.removeClassName(this.options.loadingClassName);
var b=c.responseText;if(this.options.stripLoadedTextTags){b=b.stripTags()}this._controls.editor.value=b;this._controls.editor.disabled=false;this.postProcessEditField()}.bind(this),onFailure:this._boundFailureHandler});new Ajax.Request(this.options.loadTextURL,a)},postProcessEditField:function(){var a=this.options.fieldPostCreation;if(a){$(this._controls.editor)["focus"==a?"focus":"activate"]()}},prepareOptions:function(){this.options=Object.clone(Ajax.InPlaceEditor.DefaultOptions);
Object.extend(this.options,Ajax.InPlaceEditor.DefaultCallbacks);[this._extraDefaultOptions].flatten().compact().each(function(a){Object.extend(this.options,a)}.bind(this))},prepareSubmission:function(){this._saving=true;this.removeForm();this.leaveHover();this.showSaving()},registerListeners:function(){this._listeners={};var a;$H(Ajax.InPlaceEditor.Listeners).each(function(b){a=this[b.value].bind(this);
this._listeners[b.key]=a;if(!this.options.externalControlOnly){this.element.observe(b.key,a)}if(this.options.externalControl){this.options.externalControl.observe(b.key,a)}}.bind(this))},removeForm:function(){if(!this._form){return}this._form.remove();this._form=null;this._controls={}},showSaving:function(){this._oldInnerHTML=this.element.innerHTML;this.element.innerHTML=this.options.savingText;this.element.addClassName(this.options.savingClassName);
this.element.style.backgroundColor=this._originalBackground;this.element.show()},triggerCallback:function(b,a){if("function"==typeof this.options[b]){this.options[b](this,a)}},unregisterListeners:function(){$H(this._listeners).each(function(a){if(!this.options.externalControlOnly){this.element.stopObserving(a.key,a.value)}if(this.options.externalControl){this.options.externalControl.stopObserving(a.key,a.value)
}}.bind(this))},wrapUp:function(a){this.leaveEditMode();this._boundComplete(a,this.element)}});Object.extend(Ajax.InPlaceEditor.prototype,{dispose:Ajax.InPlaceEditor.prototype.destroy});Ajax.InPlaceCollectionEditor=Class.create(Ajax.InPlaceEditor,{initialize:function($super,c,b,a){this._extraDefaultOptions=Ajax.InPlaceCollectionEditor.DefaultOptions;$super(c,b,a)},createEditField:function(){var a=document.createElement("select");
a.name=this.options.paramName;a.size=1;this._controls.editor=a;this._collection=this.options.collection||[];if(this.options.loadCollectionURL){this.loadCollection()}else{this.checkForExternalText()}this._form.appendChild(this._controls.editor)},loadCollection:function(){this._form.addClassName(this.options.loadingClassName);this.showLoadingText(this.options.loadingCollectionText);var options=Object.extend({method:"get"},this.options.ajaxOptions);
Object.extend(options,{parameters:"editorId="+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(transport){var js=transport.responseText.strip();if(!/^\[.*\]$/.test(js)){throw"Server returned an invalid collection representation."}this._collection=eval(js);this.checkForExternalText()}.bind(this),onFailure:this.onFailure});new Ajax.Request(this.options.loadCollectionURL,options)
},showLoadingText:function(b){this._controls.editor.disabled=true;var a=this._controls.editor.firstChild;if(!a){a=document.createElement("option");a.value="";this._controls.editor.appendChild(a);a.selected=true}a.update((b||"").stripScripts().stripTags())},checkForExternalText:function(){this._text=this.getText();if(this.options.loadTextURL){this.loadExternalText()}else{this.buildOptionList()}},loadExternalText:function(){this.showLoadingText(this.options.loadingText);
var a=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(a,{parameters:"editorId="+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(b){this._text=b.responseText.strip();this.buildOptionList()}.bind(this),onFailure:this.onFailure});new Ajax.Request(this.options.loadTextURL,a)},buildOptionList:function(){this._form.removeClassName(this.options.loadingClassName);
this._collection=this._collection.map(function(d){return 2===d.length?d:[d,d].flatten()});var b=("value" in this.options)?this.options.value:this._text;var a=this._collection.any(function(d){return d[0]==b}.bind(this));this._controls.editor.update("");var c;this._collection.each(function(e,d){c=document.createElement("option");c.value=e[0];c.selected=a?e[0]==b:0==d;c.appendChild(document.createTextNode(e[1]));
this._controls.editor.appendChild(c)}.bind(this));this._controls.editor.disabled=false;Field.scrollFreeActivate(this._controls.editor)}});Ajax.InPlaceEditor.prototype.initialize.dealWithDeprecatedOptions=function(a){if(!a){return}function b(c,d){if(c in a||d===undefined){return}a[c]=d}b("cancelControl",(a.cancelLink?"link":(a.cancelButton?"button":a.cancelLink==a.cancelButton==false?false:undefined)));
b("okControl",(a.okLink?"link":(a.okButton?"button":a.okLink==a.okButton==false?false:undefined)));b("highlightColor",a.highlightcolor);b("highlightEndColor",a.highlightendcolor)};Object.extend(Ajax.InPlaceEditor,{DefaultOptions:{ajaxOptions:{},autoRows:3,cancelControl:"link",cancelText:"cancel",clickToEditText:"Click to edit",externalControl:null,externalControlOnly:false,fieldPostCreation:"activate",formClassName:"inplaceeditor-form",formId:null,highlightColor:"#ffff99",highlightEndColor:"#ffffff",hoverClassName:"",htmlResponse:true,loadingClassName:"inplaceeditor-loading",loadingText:"Loading...",okControl:"button",okText:"ok",paramName:"value",rows:1,savingClassName:"inplaceeditor-saving",savingText:"Saving...",size:0,stripLoadedTextTags:false,submitOnBlur:false,textAfterControls:"",textBeforeControls:"",textBetweenControls:""},DefaultCallbacks:{callback:function(a){return Form.serialize(a)
},onComplete:function(b,a){new Effect.Highlight(a,{startcolor:this.options.highlightColor,keepBackgroundImage:true})},onEnterEditMode:null,onEnterHover:function(a){a.element.style.backgroundColor=a.options.highlightColor;if(a._effect){a._effect.cancel()}},onFailure:function(b,a){alert("Error communication with the server: "+b.responseText.stripTags())},onFormCustomization:null,onLeaveEditMode:null,onLeaveHover:function(a){a._effect=new Effect.Highlight(a.element,{startcolor:a.options.highlightColor,endcolor:a.options.highlightEndColor,restorecolor:a._originalBackground,keepBackgroundImage:true})
}},Listeners:{click:"enterEditMode",keydown:"checkForEscapeOrReturn",mouseover:"enterHover",mouseout:"leaveHover"}});Ajax.InPlaceCollectionEditor.DefaultOptions={loadingCollectionText:"Loading options..."};Form.Element.DelayedObserver=Class.create({initialize:function(b,a,c){this.delay=a||0.5;this.element=$(b);this.callback=c;this.timer=null;this.lastValue=$F(this.element);Event.observe(this.element,"keyup",this.delayedListener.bindAsEventListener(this))
},delayedListener:function(a){if(this.lastValue==$F(this.element)){return}if(this.timer){clearTimeout(this.timer)}this.timer=setTimeout(this.onTimerEvent.bind(this),this.delay*1000);this.lastValue=$F(this.element)},onTimerEvent:function(){this.timer=null;this.callback(this.element,$F(this.element))}});Autocompleter.Advanced=new Class.create(Autocompleter.Local,{initialize:function(b,d,a,c){d=d||[];
a=a||[];this.entriesCount=0;this.replacedInput=$(b);this.tokenizers=[Event.KEY_RETURN,Event.KEY_TAB];this.inputWidth=a.inputWidth||20;this.style=a.style||"border: 1px solid; margin: 0; padding 0;";this.maxEntries=a.maxEntries||false;this.inputName=a.inputName||this.replacedInput.name;this.inputName+=this.maxEntries==1?"":"[]";this.replacedInput.name="replaced_"+this.replacedInput.name;this.listHeight=100;
this.createDummyInput();c=c||this.createAutocompleteList();this.baseInitialize(b,c,a);this.options.onShow=this.onShow.bind(this);if(!Object.isArray(d)){newArray=[];$H(d).each(function(e){if(this.options.searchField&&typeof(e.value)=="object"){newArray.push(e.value[this.options.searchField])}else{newArray.push(e.value)}}.bind(this));d=newArray}this.options.array=d},addTokenizers:function(a){if(Object.isString(a)||Object.isNumber(a)){a=[parseInt(a)]
}if(!Object.isArray(a)){throw ("Parameter must be either integer, string or array containing ascii key codes!")}this.tokenizers=this.tokenizers.concat(a)},isEmpty:function(){if(!this.entriesCount){return true}return false},createAutocompleteList:function(){var a=new Element("div",{"class":"autocomplete",style:"display:none; overflow: auto; height: "+this.listHeight+"px"});if(!a.className){a.className="autocomplete"
}var b=a.identify();this.replacedInput.insert({after:a});return b},createDummyInput:function(){var b=new Element("ul",{"class":"autocomplete"});if(!b.className){b.className="autocomplete"}this.replacedInput.insert({after:b});var c=this.getExactDimensions(this.replacedInput);b.setStyle(this.style);b.style.width=c.width+"px";b.style.height=c.height+"px";var a=new Element("li",{"class":"input-item"}).insert(this.replacedInput);
if(!a.className){a.className="input-item"}this.replacedInput.style.width=this.inputWidth+"px";this.replacedInput.style.border="0 none";b.update(a);if(this.replacedInput.value){this.addInitialEntries(this.replacedInput.value)}this.dummyInput=b;this.dummyInput.observe("click",this.removeEntry.bind(this))},getExactDimensions:function(a){var b=a.getDimensions();if(!b.width){b.width=200}if(!b.height){b.height=20
}b.width-=parseInt(a.getStyle("borderLeftWidth"));b.width-=parseInt(a.getStyle("borderRightWidth"));b.height-=parseInt(a.getStyle("borderTopWidth"));b.height-=parseInt(a.getStyle("borderBottomWidth"));return b},addInitialEntries:function(a,b){b=b||",";if(!Object.isArray(a)){a=a.split(b)}a.each(function(c){this.addEntry(c)}.bind(this))},addEntry:function(f){if(f){this.replacedInput.value=f}if(this.replacedInput.value.length==0){return false
}if(this.maxEntries!==false&&this.entriesCount==this.maxEntries){this.removeLastEntry()}var e=this.replacedInput.value;var d=new Element("span",{href:"javascript://","class":"removebutton"}).update("x");if(!d.className){d.className="removebutton"}var c=new Element("a",{href:"javascript://"}).insert(d).insert(new Element("input",{type:"hidden",name:this.inputName,value:e,"class":"hidden"})).insert(e);
var b=new Element("li",{"class":"item"}).update(c);if(!b.className){b.className="item"}this.replacedInput.up().insert({before:b});this.replacedInput.value="";this.replacedInput.style.width=this.inputWidth+"px";this.entriesCount++;return true},removeEntry:function(b){this.replacedInput.show();this.replacedInput.focus();var a=Event.findElement(b,"li.item");if(!Object.isUndefined(a)){a.remove();this.entriesCount--;
this.doNotHideInput=true}},removeLastEntry:function(){if(!this.entriesCount){return}this.dummyInput.select("li.item").last().remove();this.entriesCount--},onShow:function(a,c){c.clonePosition(this.dummyInput,{setHeight:false,offsetTop:this.dummyInput.getHeight()});var b=this.getExactDimensions(this.dummyInput);c.style.width=b.width+"px";$(c).show()},onKeyPress:function($super,a){$super(a);if(!this.active){if(this.replacedInput.value.length){if(this.tokenizers.indexOf(a.keyCode)!=-1){this.addEntry();
a.stop();return}}else{if(a.keyCode==Event.KEY_BACKSPACE&&this.entriesCount>0){this.removeLastEntry();return}}}var c=7;var b=this.replacedInput.getWidth();if((b-this.inputWidth)/this.replacedInput.value.length<c){this.replacedInput.style.width=(b+c)+"px"}},markPrevious:function($super){if(this.index>0){this.index--}else{this.index=this.entryCount-1}if(!this.itemHeight){this.itemHeight=this.getEntry(this.index).getHeight()
}this.update.scrollTop=(this.index+1)*this.itemHeight-100},markNext:function($super){if(this.index<this.entryCount-1){this.index++}else{this.index=0}if(!this.itemHeight){this.itemHeight=this.getEntry(this.index).getHeight()}this.update.scrollTop=(this.index+1)*this.itemHeight-100},onBlur:function($super,a){$super(a);this.onDelayedBlur.bind(this).delay(0.5)},onDelayedBlur:function(){if(this.replacedInput.value.length>0){this.addEntry(this.replacedInput.value);
this.replacedInput.value=""}if(this.entriesCount&&!this.doNotHideInput){this.replacedInput.hide()}if(this.doNotHideInput){this.doNotHideInput=false}}});var Validator=Class.create();Validator.prototype={initialize:function(c,b,d,a){if(typeof d=="function"){this.options=$H(a);this._test=d}else{this.options=$H(d);this._test=function(){return true}}this.error=b||"Validation failed.";this.className=c},test:function(a,b){return(this._test(a,b)&&this.options.all(function(c){return Validator.methods[c.key]?Validator.methods[c.key](a,b,c.value):true
}))}};Validator.methods={pattern:function(a,c,b){return Validation.get("IsEmpty").test(a)||b.test(a)},minLength:function(a,c,b){return a.length>=b},maxLength:function(a,c,b){return a.length<=b},min:function(a,c,b){return a>=parseFloat(b)},max:function(a,c,b){return a<=parseFloat(b)},notOneOf:function(a,c,b){return $A(b).all(function(d){return a!=d})},oneOf:function(a,c,b){return $A(b).any(function(d){return a==d
})},is:function(a,c,b){return a==b},isNot:function(a,c,b){return a!=b},equalToField:function(a,c,b){return a==$F(b)},notEqualToField:function(a,c,b){return a!=$F(b)},include:function(a,c,b){return $A(b).all(function(d){return Validation.get(d).test(a,c)})}};var Validation=Class.create();Validation.prototype={initialize:function(c,a){this.options=Object.extend({onSubmit:true,stopOnFirst:false,immediate:false,focusOnError:true,useTitles:false,onFormValidate:function(e,f){},onElementValidate:function(e,f){}},a||{});
this.form=$(c);if(this.options.onSubmit){Event.observe(this.form,"submit",this.onSubmit.bind(this),false)}if(this.options.immediate){var b=this.options.useTitles;var d=this.options.onElementValidate;Form.getElements(this.form).each(function(e){Event.observe(e,"blur",function(f){Validation.validate(Event.element(f),{useTitle:b,onElementValidate:d})})})}},onSubmit:function(a){if(!this.validate()){Event.stop(a)
}},validate:function(){var a=false;var b=this.options.useTitles;var c=this.options.onElementValidate;if(this.options.stopOnFirst){a=Form.getElements(this.form).all(function(d){return Validation.validate(d,{useTitle:b,onElementValidate:c})})}else{a=Form.getElements(this.form).collect(function(d){return Validation.validate(d,{useTitle:b,onElementValidate:c})}).all()}if(!a&&this.options.focusOnError){Form.getElements(this.form).findAll(function(d){return $(d).hasClassName("validation-failed")
}).first().focus()}this.options.onFormValidate(a,this.form);return a},reset:function(){Form.getElements(this.form).each(Validation.reset)}};Object.extend(Validation,{validate:function(c,a){a=Object.extend({useTitle:false,onElementValidate:function(d,e){}},a||{});c=$(c);var b=c.classNames();return result=b.all(function(d){var e=Validation.test(d,c,a.useTitle);a.onElementValidate(e,c);return e})},test:function(b,h,i){var j=Validation.get(b);
var a="__advice"+b.camelize();try{if(Validation.isVisible(h)&&!j.test($F(h),h)){if(!h[a]){var d=Validation.getAdvice(b,h);if(d==null){var f=i?((h&&h.title)?h.title:(h.readAttribute("tip")?h.readAttribute("tip"):j.error)):j.error;d='<span class="validation-advice" id="advice-'+b+"-"+Validation.getElmID(h)+'" style="display:none">'+f+"</span>";switch(h.type.toLowerCase()){case"checkbox":case"radio":var c=h.parentNode;
if(c){new Insertion.Bottom(c,d)}else{new Insertion.After(h,d)}break;default:new Insertion.After(h,d)}d=Validation.getAdvice(b,h)}if(typeof Effect=="undefined"){d.style.display="block"}else{new Effect.Appear(d,{duration:1})}}h[a]=true;h.removeClassName("validation-passed");h.up().addClassName("error");h.addClassName("validation-failed");return false}else{var d=Validation.getAdvice(b,h);if(d!=null){d.hide()
}h[a]="";h.up().removeClassName("error");h.removeClassName("validation-failed");h.addClassName("validation-passed");return true}}catch(g){throw (g)}},isVisible:function(a){while(a.tagName!="BODY"){if(!$(a).visible()){return false}a=a.parentNode}return true},getAdvice:function(a,b){return $("advice-"+a+"-"+Validation.getElmID(b))||$("advice-"+Validation.getElmID(b))},getElmID:function(a){return a.id?a.id:a.name
},reset:function(b){b=$(b);var a=b.classNames();a.each(function(d){var e="__advice"+d.camelize();if(b[e]){var c=Validation.getAdvice(d,b);c.hide();b[e]=""}b.up().removeClassName("error");b.removeClassName("validation-failed");b.removeClassName("validation-passed")})},add:function(d,c,e,b){var a={};a[d]=new Validator(d,c,e,b);Object.extend(Validation.methods,a)},addAllThese:function(a){var b={};$A(a).each(function(c){b[c[0]]=new Validator(c[0],c[1],c[2],(c.length>3?c[3]:{}))
});Object.extend(Validation.methods,b)},get:function(a){return Validation.methods[a]?Validation.methods[a]:Validation.methods._LikeNoIDIEverSaw_},methods:{_LikeNoIDIEverSaw_:new Validator("_LikeNoIDIEverSaw_","",{})}});Validation.add("IsEmpty","",function(a){return((a==null)||(a.length==0))});Validation.addAllThese([["required","This is a required field.",function(a){return !Validation.get("IsEmpty").test(a)
}],["validate-number","Please enter a valid number in this field.",function(a){return Validation.get("IsEmpty").test(a)||(!isNaN(a)&&!/^\s+$/.test(a))}],["validate-digits","Please use numbers only in this field. please avoid spaces or other characters such as dots or commas.",function(a){return Validation.get("IsEmpty").test(a)||!/[^\d]/.test(a)}],["validate-alpha","Please use letters only (a-z) in this field.",function(a){return Validation.get("IsEmpty").test(a)||/^[a-zA-Z]+$/.test(a)
}],["validate-alphanum","Please use only letters (a-z) or numbers (0-9) only in this field. No spaces or other characters are allowed.",function(a){return Validation.get("IsEmpty").test(a)||!/\W/.test(a)}],["validate-date","Please enter a valid date.",function(a){var b=new Date(a);return Validation.get("IsEmpty").test(a)||!isNaN(b)}],["validate-email","Please enter a valid email address. For example fred@domain.com .",function(a){return Validation.get("IsEmpty").test(a)||/\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(a)
}],["validate-url","Please enter a valid URL.",function(a){return Validation.get("IsEmpty").test(a)||/^(http|https|ftp):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i.test(a)}],["validate-date-au","Please use this date format: dd/mm/yyyy. For example 17/03/2006 for the 17th of March, 2006.",function(a){if(Validation.get("IsEmpty").test(a)){return true}var b=/^(\d{2})\/(\d{2})\/(\d{4})$/;
if(!b.test(a)){return false}var c=new Date(a.replace(b,"$2/$1/$3"));return(parseInt(RegExp.$2,10)==(1+c.getMonth()))&&(parseInt(RegExp.$1,10)==c.getDate())&&(parseInt(RegExp.$3,10)==c.getFullYear())}],["validate-currency-dollar","Please enter a valid $ amount. For example $100.00 .",function(a){return Validation.get("IsEmpty").test(a)||/^\$?\-?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}\d*(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$/.test(a)
}],["validate-selection","Please make a selection",function(a,b){return b.options?b.selectedIndex>0:!Validation.get("IsEmpty").test(a)}],["validate-one-required","Please select one of the above options.",function(a,d){var c=d.parentNode;var b=c.getElementsByTagName("INPUT");return $A(b).any(function(e){return $F(e)})}],["validate-future-date","Please use a future date.",function(c){var d=c.gsub("-","/");
var b=new Date(d);var a=new Date();if(b.getTime()<a.getTime()){return false}return true}]]);var Paginators={paginators:new Hash(),group:new Hash(),add:function(b,a){this.paginators.set(b,a);if(Object.isUndefined(this.group.get(b))){this.group.set(b,[a])}else{this.group.get(b).push(a)}return a},get:function(a){a=a||"default";return this.paginators.get(a)},getGroup:function(a){a=a||"default";return this.group.get(a)
}};var Paginator=Class.create({sliderMinWidth:20,STYLE_THIN:1,STYLE_MODERN:2,initialize:function(b,c,a){this.group=b||"default";Paginators.add(this.group,this);this.uniqueId=this.group+c;this.handler=a;this.handler.parameters=$H(this.handler.parameters);this.handler.parameters.unset("host");this.handler.parameters.unset("uri");this.handler.parameters.unset("module");this.handler.parameters.unset("controller");
this.currentPage=this.handler.config.currentPage;this.page=null;this.totalPages=this.handler.config.totalPages;this.style=this.STYLE_MODERN;this.navigationBar=$("navigationBar_"+this.uniqueId);this.slider=$("slider_"+this.uniqueId);this.leftArrow=$("left_"+this.uniqueId);this.rightArrow=$("right_"+this.uniqueId);this.pageNumber=$("pageNumber_"+this.uniqueId);this.goTo=$("goTo_"+this.uniqueId);this.refreshPagination=false;
this.loading=false;this.mouseXPos=0;this.clickXPos=0;this.startPos=0;if(this.totalPages>1){document.observe("dom:loaded",function(){this._calculateWidths(true);this.visible=true}.bind(this))}else{this._hide()}},_calculateWidths:function(){this.barWidth=this.navigationBar.getWidth()-(this.style==this.STYLE_THIN?6:0);this.sliderWidth=this.barWidth/this.totalPages;if(this.sliderWidth<this.sliderMinWidth){this.sliderWidth=this.sliderMinWidth;
this.stepWidth=(this.barWidth-this.sliderWidth)/this.totalPages}else{this.stepWidth=this.sliderWidth}this.slider.style.width=this.sliderWidth+"px";this._moveSlider("init",this.currentPage)},addListeners:function(a){if(!a){this.bClickOnBar=this._clickOnBar.bindAsEventListener(this);this.bMoveLeft=this._moveLeft.bindAsEventListener(this);this.bMoveRight=this._moveRight.bindAsEventListener(this);this.bGoToPage=this._goToPage.bindAsEventListener(this);
this.bMouseDown=this._mouseDown.bindAsEventListener(this)}Event.observe(this.navigationBar.identify(),"mousedown",this.bClickOnBar);Event.observe(this.leftArrow.identify(),"click",this.bMoveLeft);Event.observe(this.rightArrow.identify(),"click",this.bMoveRight);Event.observe("lnk_"+this.goTo.identify(),"click",this.bGoToPage);Event.observe(this.slider.identify(),"mousedown",this.bMouseDown)},_findPos:function(a){var b=curtop=0;
if(a.offsetParent){b=a.offsetLeft;curtop=a.offsetTop;while(a=a.offsetParent){b+=a.offsetLeft;curtop+=a.offsetTop}}return[b,curtop]},_getXOffset:function(){var b=this._findPos(this.navigationBar);var a=this.mouseXPos-b[0];if(a<0){a=0}if(a>=this.barWidth){a=this.barWidth}return a},_getTargetPage:function(b){switch(b){case"click":var c=this._getXOffset();var d={page:Math.ceil(this.totalPages*(c/this.barWidth)),xOffset:c};
if(d.page>this.currentPage){d.page=this.currentPage+1}if(d.page<this.currentPage){d.page=this.currentPage-1}return d;break;default:var a;if((a=this.startPos+(this.mouseXPos-this.clickXPos))<=this.barWidth&&a>=(this.style==this.STYLE_THIN?16:18)){a=(a<(this.barWidth/2)?a-(this.style==this.STYLE_THIN?8:9):a+(this.style==this.STYLE_THIN?8:9));return{page:Math.ceil(this.totalPages*((a-(this.style==this.STYLE_THIN?8:9))/this.barWidth))}
}else{if(a<(this.style==this.STYLE_THIN?16:18)){return{page:1}}return{page:this.totalPages}}break}},updateCaption:function(a){this.page=a;$(this.pageNumber).update(a+"/"+this.totalPages)},_moveSlider:function(b,d){var c=(d?{page:parseInt(d)}:this._getTargetPage(b,d));if(!c.page){return null}else{if(b=="click"||d){if(Object.isUndefined(this.stepWidth)){return}this.slider.style.left=((this.style==this.STYLE_THIN?16:18)+(c.page-1)*parseInt(this.stepWidth))+"px"
}else{var a;var e=(this.mouseXPos-this.clickXPos);if((a=this.startPos+e)>(this.style==this.STYLE_THIN?16:18)&&a<(this.barWidth-this.sliderWidth+(this.style==this.STYLE_THIN?16:18))){this.slider.style.left=a+"px"}}}this.currentPage=d;this.updateCaption(c.page)},_clickOnBar:function(a){this.mouseXPos=Event.pointerX(a);this._moveSlider("click");this.go()},_mouseDown:function(a){Event.stop(a);this.clickXPos=Event.pointerX(a);
this.startPos=parseInt(this.slider.style.left);this.bMouseMove=this._mouseMove.bindAsEventListener(this);this.bMouseUp=this._mouseUp.bindAsEventListener(this);Event.observe(document.body,"mousemove",this.bMouseMove);Event.observe(document.body,"mouseup",this.bMouseUp)},_mouseMove:function(a){this.mouseXPos=Event.pointerX(a);this._moveSlider()},_mouseUp:function(a){Event.stopObserving(document.body,"mousemove",this.mouseMoveBinded);
if(!this.page){return}Event.stopObserving(document.body,"mousemove",this.bMouseMove);Event.stopObserving(document.body,"mouseup",this.bMouseUp);this.slider.style.left=(this.style==this.STYLE_THIN?16:18)+(this.page-1)*this.stepWidth+"px";this.go()},_moveLeft:function(a){if(this.currentPage==1){Event.stop(a);return}var b=this.currentPage;this.slider.style.left=(this.style==this.STYLE_THIN?16:18)+(b-2)*this.stepWidth+"px";
this.updateCaption(--b);this.go(b)},_moveRight:function(a){if(this.currentPage==this.totalPages){Event.stop(a);return}var b=this.currentPage;this.slider.style.left=(this.style==this.STYLE_THIN?16:18)+b*this.stepWidth+"px";this.updateCaption(++b);this.go(b)},_updateFriends:function(a){$A(Paginators.getGroup(this.group)).each(function(b){b._moveSlider("goTo",a)})},_hide:function(){$("paginationContainer_"+this.uniqueId).hide();
this.visible=false},_show:function(){if(this.visible==false){$("paginationContainer_"+this.uniqueId).show();this.visible=true}},_rewind:function(a){if(parseInt(a.totalPages)<2){this._hide()}else{this._show();this.totalPages=a.totalPages;this.currentPage=(a.currentPage?a.currentPage:1);this._calculateWidths();this._moveSlider("rewind",(a.currentPage?a.currentPage:1))}},_garbageCollector:function(){Event.stopObserving(this.navigationBar.identify(),"mousedown",this.bClickOnBar);
Event.stopObserving(this.leftArrow.identify(),"click",this.bMoveLeft);Event.stopObserving(this.rightArrow.identify(),"click",this.bMoveRight);Event.stopObserving("lnk_"+this.goTo.identify(),"click",this.bGoToPage);Event.stopObserving(this.slider.identify(),"mousedown",this.bMouseDown)},_goToPage:function(){var a=parseInt(this.goTo.value);if((0<a)&&(a<=this.totalPages)){this._moveSlider("goTo",a);this.go(a)
}else{this.goTo.select()}},go:function(page){if(this.loading){return}this.loading=true;if(!page){page=this.page}this.handler.parameters.unset("isRemove",true);if(this.isRemove){this.handler.parameters.set("isRemove",true);this.isRemove=false}this.handler.parameters.unset("refreshPagination");if(this.refreshPagination){this.handler.parameters.unset("cacheId");this.handler.parameters.set("refreshPagination",this.group)
}this.handler.parameters.set("page",page);this.handler.parameters.set("paginator",this.group);var createHandler=eval(this.handler.onCreate)||Prototype.emptyFunction;var failureHandler=eval(this.handler.onFailure)||Prototype.emptyFunction;createHandler(this);var ajaxParameters={method:"get",parameters:this.handler.parameters,onSuccess:function(tr){var successHandler=!(Object.isFunction(this.handler.onSuccess))?eval(this.handler.onSuccess)||Prototype.emptyFunction:this.handler.onSuccess;
var response=null;try{response=tr.responseText.evalJSON()}catch(ex){window.console.error(ex)}this.loading=false;try{successHandler(tr,response);this._handleUpdate(response)}catch(ex){window.console.log(ex)}}.bind(this),onFailure:function(tr){this.loading=false;failureHandler(tr)}};if(!Object.isUndefined(this.handler.parameters.get("overlayer"))){ajaxParameters.overlayer={id:this.handler.parameters.get("overlayer")}
}else{if(this.handler.update){ajaxParameters.overlayer={id:this.handler.update}}}if(this.handler.message){ajaxParameters.message=this.handler.message}new Ajax.Request(this.handler.url,ajaxParameters);this.currentPage=page;this._updateFriends(page)},_handleUpdate:function(a){if(this.handler.update){if(this.handler.parameters.get("isRemove")){$(this.removeHtmlElement).remove();$(this.handler.update).insert({bottom:a.results})
}else{$(this.handler.update).update(a.results)}}if(this.refreshPagination){Paginators.getGroup(this.group).each(function(b){b._rewind(a.handler.config);b.setParameters(a.handler.parameters)});this.refreshPagination=false}},refresh:function(a){this.refreshPagination=true;if(!Object.isUndefined(a)){if(!Object.isHash(a)){throw ("'newParameters' must be a Hash object!")}this.setParameters(a);this.currentPage=0;
var b=a.get("page");if(Object.isUndefined(b)){this.go(1)}else{this.go(b)}}else{this.go(this.currentPage)}},remove:function(a,b){this.isRemove=true;this.refreshPagination=true;this.removeHtmlElement=a;this.addParameters(b);this.go(this.getCurrentPage())},getHandler:function(){return this.handler},setHandler:function(a){this.handler=a},setParameters:function(a){this.handler.parameters=$H(a)},addParameters:function(a){this.handler.parameters=this.handler.parameters.merge(a)
},getParameters:function(){return this.handler.parameters},getCurrentPage:function(){return this.currentPage}});Object.extend(Event,(function(){var a={};return{delegate:function(d,c){if(arguments[3]){var g={};g[arguments[2]]=arguments[3]}else{var g=Object.extend({},arguments[2])}var e=$(d),f=c,h=e.identify?e.identify():"document";if(!a[h]){a[h]={"$observer":function(n){var m=n.element();if(a[h][n.type]){for(var l=0,k=a[h][n.type].length;
l<k;l++){for(var j in a[h][n.type][l]){if(a[h][n.type][l][j][1].match(m)){a[h][n.type][l][j][0](n)}}}}}}}if(!a[h][f]){a[h][f]=[];e.observe(f,a[h]["$observer"])}for(var b in g){g[b]=[g[b],new Selector(b)]}a[h][f].push(g);return e},stopDelegating:function(f,h){if(f===undefined){for(var b in a){Event.stopDelegating(b=="$document"?document:b)}a={};return true}if(Object.isString(arguments[2])){var l={};
l[arguments[2]]=true}else{if(arguments[2]){var l=arguments[2]}else{var l=false}}var d=$(f),k=h,b=d.identify?d.identify():"$document";if(a[b]){if(k&&a[b][k]){for(var g=0,j=a[b][k].length;g<j;g++){if(l){for(var e in l){delete a[b][k][g][e]}}if(!l||$H(a[b][k][g]).size()==0){d.stopObserving(k,a[b]["$observer"]);a[b][k][g]="r"}}a[b][k]=a[b][k].without("r")}else{for(var c in a[b]){if(c!="$observer"){d.stopObserving(c,a[b]["$observer"])
}}delete a[b]}}return d}}})());Element.addMethods({delegate:Event.delegate,stopDelegating:Event.stopDelegating});document.delegate=Event.delegate.curry(document);document.stopDelegating=Event.stopDelegating.curry(document);Event.observe(window,"unload",Event.stopDelegating);Array.prototype.inArray=function(b){var a;for(a=0;a<this.length;a++){if(this[a]===b){return true}}return false};function addEvent(c,b,a){if(c.addEventListener){c.addEventListener(b,a,false);
EventCache.add(c,b,a)}else{if(c.attachEvent){c["e"+b+a]=a;c[b+a]=function(){c["e"+b+a](window.event)};c.attachEvent("on"+b,c[b+a]);EventCache.add(c,b,a)}else{c["on"+b]=c["e"+b+a]}}}var EventCache=function(){var a=[];return{listEvents:a,add:function(b,d,c){a.push(arguments)},flush:function(){var b,c;for(b=a.length-1;b>=0;b=b-1){c=a[b];if(c[0].removeEventListener){c[0].removeEventListener(c[1],c[2],c[3])
}if(c[1].substring(0,2)!="on"){c[1]="on"+c[1]}if(c[0].detachEvent){c[0].detachEvent(c[1],c[2])}c[0][c[1]]=null}}}}();addEvent(window,"unload",EventCache.flush);var sweetTitles={xCord:0,yCord:0,tipElements:["a","abbr","acronym","input","select"],skipElements:["option"],obj:Object,tip:Object,active:0,init:function(){if(!document.getElementById||!document.createElement||!document.getElementsByTagName){return
}var d,c;this.tip=document.createElement("div");this.tip.id="toolTip";document.getElementsByTagName("body")[0].appendChild(this.tip);this.tip.style.top="0";this.tip.style.visibility="hidden";var a=this.tipElements.length;var b=this.skipElements.length;for(d=0;d<a;d++){var f=document.getElementsByTagName(this.tipElements[d]);var e=f.length;for(c=0;c<e;c++){title=f[c].title;if(f[c].id!="submitter"&&title){addEvent(f[c],"mouseover",this.tipOver);
addEvent(f[c],"mouseout",this.tipOut);f[c].setAttribute("tip",title);f[c].removeAttribute("title")}}}for(d=0;d<b;d++){f=document.getElementsByTagName(this.skipElements[d]);e=f.length;for(c=0;c<e;c++){addEvent(f[c],"mouseover",function(g){g.stop()})}}},updateXY:function(a){if(document.captureEvents){sweetTitles.xCord=a.pageX;sweetTitles.yCord=a.pageY}else{if(window.event.clientX){sweetTitles.xCord=window.event.clientX+document.documentElement.scrollLeft;
sweetTitles.yCord=window.event.clientY+document.documentElement.scrollTop}}},tipOut:function(){if(window.tID){clearTimeout(tID)}if(window.opacityID){clearTimeout(opacityID)}sweetTitles.tip.style.visibility="hidden"},checkNode:function(){var a=this.obj;if(this.tipElements.inArray(a.nodeName.toLowerCase())){return a}else{return a.parentNode}},tipOver:function(a){sweetTitles.obj=this;tID=window.setTimeout("sweetTitles.tipShow()",500);
sweetTitles.updateXY(a)},tipShow:function(){var f=Number(this.xCord);var d=Number(this.yCord);var g=parseInt(d+15);var c=parseInt(f+10);var b=this.checkNode();var e="";var a="";if(b.nodeName.toLowerCase()=="a"){if(b.href.indexOf("javascript://")==-1){e=(b.href.length>35?b.href.toString().substring(0,35)+"...":b.href)}var a=(b.accessKey?" <span>["+b.accessKey+"]</span> ":"")}else{if(b.firstChild){e=b.firstChild.nodeValue
}}this.tip.innerHTML="<p>"+b.getAttribute("tip");if(parseInt(document.documentElement.clientWidth+document.documentElement.scrollLeft)<parseInt(this.tip.offsetWidth+c)){this.tip.style.left=parseInt(c-(this.tip.offsetWidth+10))+"px"}else{this.tip.style.left=c+"px"}if(parseInt(document.documentElement.clientHeight+document.documentElement.scrollTop)<parseInt(this.tip.offsetHeight+g)){this.tip.style.top=parseInt(g-(this.tip.offsetHeight+10))+"px"
}else{this.tip.style.top=g+"px"}this.tip.style.visibility="visible";this.tip.style.opacity=".4";this.tipFade(10)},tipFade:function(b){var c=parseInt(b);var a=parseInt(c+10);if(a<80){this.tip.style.opacity="."+a;this.tip.style.filter="alpha(opacity:"+a+")";opacityID=window.setTimeout("sweetTitles.tipFade('"+a+"')",20)}else{this.tip.style.opacity=".80";this.tip.style.filter="alpha(opacity:80)"}}};