window.addEvent('domready',function(){if($('sForm')){searchCal=new Calendar({date_fromY:{date_fromY:'Y',date_fromM:'m',date_fromD:'d'},date_toY:{date_toY:'Y',date_toM:'m',date_toD:'d'}},{"onHideStart":function(){checkDate();},pad:1,offset:1,navigation:2,direction:.1});}
if($('mForm')){availCal=new Calendar({date_fromY_m:{date_fromY_m:'Y',date_fromM_m:'m',date_fromD_m:'d'}},{offset:1,navigation:2,direction:.1});}
if($('trans_search')){filterCal=new Calendar({Fdate_fromY:{Fdate_fromY:'Y',Fdate_fromM:'m',Fdate_fromD:'d'},Fdate_toY:{Fdate_toY:'Y',Fdate_toM:'m',Fdate_toD:'d'}},{pad:1,offset:1,navigation:2});}
var tipMe=new Tips($$('.helpLink','.tipMe'),{showDelay:0,initialize:function(){this.fx=new Fx.Style(this.toolTip,'opacity',{duration:100,wait:false}).set(0);},onShow:function(toolTip){this.fx.start(1);},onHide:function(toolTip){this.fx.start(0);}});});function calToolTips(){$$('.cal-tip').each(function(tip,i){tip.remove();});var calAjaxTip=new MooTips($$('.calbody a'),{className:'cal',loadingText:'Loading Details...',showDelay:400,evalAlways:true,maxTitleChars:200,showOnClick:false,showOnMouseEnter:true});}
function togglePanel(target,show){var panel=$(target);var btn=$(target+"Btn");var opn=$(target+"Open")?$(target+"Open"):false;var cls=$(target+"Close")?$(target+"Close"):false;if(show){var startHeight=panel.getSize()['size']['y'];var height=panel.getSize()['scrollSize']['y'];var bStartPos=0;var bPos=panel.getSize()['scrollSize']['y'];var hrefSplit=btn.href.split('true');btn.href=hrefSplit[0]+'false'+hrefSplit[1];btn.title=(btn.title.indexOf(' - Open')!=-1)?btn.title.substr(0,btn.title.indexOf(' - Open'))+' - Close':btn.title+' - Close';if(opn&&cls)
{opn.setStyle('display','none');cls.setStyle('display','inline');}}else{var startHeight=panel.getSize()['size']['y'];var height=0;var bStartPos=panel.getSize()['size']['y'];var bPos=0;var hrefSplit=btn.href.split('false');btn.href=hrefSplit[0]+'true'+hrefSplit[1];btn.title=(btn.title.indexOf(' - Close')!=-1)?btn.title.substr(0,btn.title.indexOf(' - Close'))+' - Open':btn.title+' - Open';if(opn&&cls)
{cls.setStyle('display','none');opn.setStyle('display','inline');}}
var changeHeight=new Fx.Style(panel,'height',{wait:false,duration:400,transition:Fx.Transitions.Cubic.easeOut});changeHeight.start(startHeight,height).chain(function(){});if(target=='sDatePanel'){btn.innerHTML=(btn.innerHTML.indexOf('Search your specific dates')!=-1)?btn.innerHTML.substr(0,btn.innerHTML.indexOf('Search your specific dates'))+'OR browse any dates':btn.innerHTML.substr(0,btn.innerHTML.indexOf('OR browse any dates'))+'Search your specific dates';var adjust=parseInt(height-startHeight);if($('homePanel')){adjustPanel('hSearchP',adjust);}
else
{adjustPanel('searchPanel',adjust);}}}
function adjustPanel(target,adjust){var panel=$(target);var startHeight=panel.getSize()['size']['y'];var height=startHeight+parseInt(adjust);var changeHeight=new Fx.Style(panel,'height',{wait:false,duration:400,transition:Fx.Transitions.Cubic.easeOut});changeHeight.start(startHeight,height);}
function showHousePanel(btnId,id){var animTime=1500;var btn=$(btnId);var kwickBtns=$$('.hButton');var hP=$(id);var kwicks=$$('.hPanel');var goAhead=true;kwicks.each(function(kwick,i){if(kwick.id==hP.id){if(kwick.getSize()['size']['y']>0&&kwick.style.opacity==1){goAhead=false;}}});if(goAhead){var hPfx=new Fx.Styles(hP,{wait:false,duration:animTime,transition:Fx.Transitions.Cubic.easeOut});kwicks.each(function(kwick,i){kwick.setStyle('opacity',0);kwick.setStyle('height','0');kwick.setStyle('z-index',0);});kwickBtns.each(function(kwickBtn,i){kwickBtn.className=(kwickBtn.className.indexOf('current')!=-1)?kwickBtn.className.substr(0,kwickBtn.className.indexOf('current')):kwickBtn.className;});hP.setStyle('opacity',1);hP.setStyle('z-index',4);hPfx.start({'height':[hP.getSize()['size']['y'],hP.getSize()['scrollSize']['y']]});btn.className=(btn.className.indexOf('current')!=-1)?btn.className.substr(0,btn.className.indexOf('current')):btn.className+' current';}}
function closeHousePanel(){var kwickBtns=$$('.hButton');var kwicks=$$('.hPanel');kwicks.each(function(kwick,i){kwick.setStyle('opacity',0);kwick.setStyle('height','0');kwick.setStyle('z-index',0);});kwickBtns.each(function(kwickBtn,i){kwickBtn.className=(kwickBtn.className.indexOf('current')!=-1)?kwickBtn.className.substr(0,kwickBtn.className.indexOf('current')):kwickBtn.className;});}
function clearCbs(){var cbs=$$('.cbs');for(var i=0;i<cbs.length;i++){cbs[i].checked=false;$('c'+i).className='fadeYelBk';}
$$('#cbsForm .ul').each(function(h,i){h.innerHTML=h.title='View selected property details';});$$('.blockList .cover').each(function(cov){cov.setStyle('display','');});$$('#list .covAv').each(function(cov){cov.setStyle('display','none');});return false;}
function submitCbs(){var cbs=$$('.cbs');var pid='';for(var i=0;i<cbs.length;i++){if(cbs[i].checked){pid+=pid?',':'';pid+=cbs[i].value;}}
if(pid){$('cbsForm').action+=pid;$('cbsForm').submit();}else
return false;}
function selCb(r,f){if(f)$('s'+r).checked=$('s'+r).checked?false:true;var rowSel=$('s'+r).checked;$('c'+r).className=rowSel?'GreenBk':'fadeYelBk';var cbs=$$('.cbs');var pid='';for(var i=0;i<cbs.length;i++){if(cbs[i].checked){pid+=pid?',':'';pid+=cbs[i].value;}}
if(pid){$$('#cbsForm .ul').each(function(h,i){h.innerHTML=h.title='View selected property details';});}else{$$('#cbsForm .ul').each(function(h,i){h.innerHTML=h.title='Group properties together';});}
var covs=$$('#list .covAv');if(covs&&covs.length){var av=true;}else{var propLoc=$('c'+r).getParent().getParent('ul').id;}
if(propLoc)
var covs=$$('#'+propLoc+' .cover');var show=av?'none':'';var hide=av?'':'none';if(covs&&covs.length){covs.each(function(cov){var pids=pid.split(',');var dArr=cov.id.split('d');var dps=dArr.slice(2);var coverHide='';pids.each(function(p){if(dps.inArray(p)){if(rowSel){cov.setStyle('display',hide);}
coverHide=true;}});if((!coverHide&&!rowSel)||(!pid||!pids.length)){cov.setStyle('display',show);var d=dArr[1];if($('s'+d).checked)
selCb(d,1);}});}}
Array.prototype.inArray=function(value){var i;for(i=0;i<this.length;i++){if(this[i]===value){return true;}}
return false;};function showImage(n,i){var imgWidth=500;var animTime=700;var btn=$(n+'b_'+i);var kwickBtns=$$('#viewerIndexLinks'+n+' a');var thumb=$(n+'t_'+i);var kwickThumbs=$$('#thumbPanel'+n+' a');var hP=$('viewerImgPanel'+n);var hPfx=new Fx.Styles(hP,{wait:false,duration:animTime,transition:Fx.Transitions.Cubic.easeInOut});kwickBtns.each(function(kwickBtn,i){kwickBtn.className=(kwickBtn.className.indexOf('current')!=-1)?kwickBtn.className.substr(0,kwickBtn.className.indexOf('current')):kwickBtn.className;});kwickThumbs.each(function(kwickT,i){kwickT.className=(kwickT.className.indexOf('current')!=-1)?kwickT.className.substr(0,kwickT.className.indexOf('current')):kwickT.className;kwickT.setStyle('opacity',.7);});hPfx.start({'left':[hP.getStyle('left').toInt(),(((i-1)*imgWidth)*-1)]});btn.className=(btn.className.indexOf('current')!=-1)?btn.className.substr(0,btn.className.indexOf('current')):btn.className+' current';thumb.className=(thumb.className.indexOf('current')!=-1)?thumb.className.substr(0,thumb.className.indexOf('current')):thumb.className+' current';thumb.setStyle('opacity',1);if(hP.getSize().size.x!=i*imgWidth){$('nextLink'+n).setProperty('href','javascript:showImage('+n+','+(i+1)+')');$('next'+n).setStyle('display','block');}else{$('next'+n).setStyle('display','none');}
if(i!=1){$('prevLink'+n).setProperty('href','javascript:showImage('+n+','+(i-1)+')');$('prev'+n).setStyle('display','block');}else{$('prev'+n).setStyle('display','none');}}
function showEditRow(i,show){if($("view"+i)&&$("edit"+i)){if(show){$$(".rowEdit").each(function(row){row.setStyle('display','none');});$$(".rowView").each(function(row){row.setStyle('display','');});$("view"+i).setStyle('display','none');$("edit"+i).setStyle('display','');var inps=$('editForm'+i).elements;for(j=0;j<inps.length;j++){var inp=inps[j];if((inp.id.indexOf('default_')==-1)&&$("default_"+inp.id)){inp.value=$("default_"+inp.id).value;}}}
else
{$("view"+i).setStyle('display','');$("edit"+i).setStyle('display','none');var inps=$('editForm'+i).elements;for(j=0;j<inps.length;j++){var inp=inps[j];if((inp.id.indexOf('default_')==-1)&&$("default_"+inp.id)){inp.value=$("default_"+inp.id).value;}}}}}
function roundNumber(num,dec){var result=Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);return result;}
function displayNotes(el,id){$$('.payment').each(function(note){note.setStyle('display','none');});$(id+el.value).setStyle('display','block');if(el.value==1){$('cc').setStyle('display','');var cc=roundNumber(($('amount').value*(2/100)),2);var amount=roundNumber($('amount').value,2);var amount=cc+amount;$('total_amount').innerHTML="$"+amount;}
else{$('cc').setStyle('display','none');$('total_amount').innerHTML="$"+$('amount').value;}
$$(".method").each(function(row){row.value=el.value;});}
function confirmation(url,message){var c1=confirm(message);if(c1){window.location=url;}}
function unselect(id){$$('#'+id+' option').each(function(option){option.selected=false;});}
function killValue(id){$(id).value='';return true;}
var MONTH_NAMES=new Array('January','February','March','April','May','June','July','August','September','October','November','December','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');var DAY_NAMES=new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sun','Mon','Tue','Wed','Thu','Fri','Sat');function LZ(x){return(x<0||x>9?"":"0")+x;}
function isDate(val,format){var date=getDateFromFormat(val,format);if(date==0){return false;}
return true;}
function compareDates(date1,dateformat1,date2,dateformat2){var d1=getDateFromFormat(date1,dateformat1);var d2=getDateFromFormat(date2,dateformat2);if(d1==0||d2==0){return-1;}
else if(d1>d2){return 1;}
return 0;}
function valToggle(id){$(id).value=!eval($(id).value)?'true':'false';}
function checkDate(){var currentDate=new Date();var day=currentDate.getDate()-1;var month=currentDate.getMonth()+1;var year=currentDate.getFullYear();var selfY=$('date_fromY');var selfM=$('date_fromM');var selfD=$('date_fromD');var fY=selfY.options[selfY.selectedIndex].value;var fM=selfM.options[selfM.selectedIndex].value;var fD=selfD.options[selfD.selectedIndex].value;var seltY=$('date_toY');var seltM=$('date_toM');var seltD=$('date_toD');var tY=seltY.options[seltY.selectedIndex].value;var tM=seltM.options[seltM.selectedIndex].value;var tD=seltD.options[seltD.selectedIndex].value;var warned=0;if(compareDates(fY+"-"+fM+"-"+fD,"yyyy-M-d",year+"-"+month+"-"+day,"yyyy-M-d")==0){for(var i=0;i<selfD.length;i++){if(selfD.options[i].value==day){selfD.options[i].selected=true;}
else
{selfD.options[i].selected=false;}}
for(var i=0;i<selfM.length;i++){if(selfM.options[i].value==month){selfM.options[i].selected=true;}
else
{selfM.options[i].selected=false;}}
warned=1;alert("Search dates must be in the future. \nPlease select the dates again, thank you.");}
if(compareDates(tY+"-"+tM+"-"+tD,"yyyy-M-d",year+"-"+month+"-"+day,"yyyy-M-d")==0){for(var i=0;i<seltD.length;i++){if(seltD.options[i].value==day+1){seltD.options[i].selected=true;}
else
{seltD.options[i].selected=false;}}
for(var i=0;i<seltM.length;i++){if(seltM.options[i].value==month){seltM.options[i].selected=true;}
else
{seltM.options[i].selected=false;}}
if(!warned){warned=1;alert("Search dates must be in the future. \nPlease select the dates again, thank you.");}}
searchCal.calendars.each(function(cal,i){searchCal.changed(cal);});// Feedback
if(warned){
	//Stop spinner
	$('searchLdr').style.display='none';
	return false;
}
else{
	return true;
}}
function getDateDiff(d1,d2){var one_day=1000*60*60*24;var one_week=one_day*7;var one_year=one_week*52;return Math.ceil((d2.getTime()-d1.getTime())/(one_year));}
function formatDate(date,format){format=format+"";var result="";var i_format=0;var c="";var token="";var y=date.getYear()+"";var M=date.getMonth()+1;var d=date.getDate();var E=date.getDay();var H=date.getHours();var m=date.getMinutes();var s=date.getSeconds();var yyyy,yy,MMM,MM,dd,hh,h,mm,ss,ampm,HH,H,KK,K,kk,k;var value=new Object();if(y.length<4){y=""+(y-0+1900);}
value["y"]=""+y;value["yyyy"]=y;value["yy"]=y.substring(2,4);value["M"]=M;value["MM"]=LZ(M);value["MMM"]=MONTH_NAMES[M-1];value["NNN"]=MONTH_NAMES[M+11];value["d"]=d;value["dd"]=LZ(d);value["E"]=DAY_NAMES[E+7];value["EE"]=DAY_NAMES[E];value["H"]=H;value["HH"]=LZ(H);if(H==0){value["h"]=12;}
else if(H>12){value["h"]=H-12;}
else{value["h"]=H;}
value["hh"]=LZ(value["h"]);if(H>11){value["K"]=H-12;}else{value["K"]=H;}
value["k"]=H+1;value["KK"]=LZ(value["K"]);value["kk"]=LZ(value["k"]);if(H>11){value["a"]="PM";}
else{value["a"]="AM";}
value["m"]=m;value["mm"]=LZ(m);value["s"]=s;value["ss"]=LZ(s);while(i_format<format.length){c=format.charAt(i_format);token="";while((format.charAt(i_format)==c)&&(i_format<format.length)){token+=format.charAt(i_format++);}
if(value[token]!=null){result=result+value[token];}
else{result=result+token;}}
return result;}
function _isInteger(val){var digits="1234567890";for(var i=0;i<val.length;i++){if(digits.indexOf(val.charAt(i))==-1){return false;}}
return true;}
function _getInt(str,i,minlength,maxlength){for(var x=maxlength;x>=minlength;x--){var token=str.substring(i,i+x);if(token.length<minlength){return null;}
if(_isInteger(token)){return token;}}
return null;}
function getDateFromFormat(val,format){val=val+"";format=format+"";var i_val=0;var i_format=0;var c="";var token="";var token2="";var x,y;var now=new Date();var year=now.getYear();var month=now.getMonth()+1;var date=1;var hh=now.getHours();var mm=now.getMinutes();var ss=now.getSeconds();var ampm="";while(i_format<format.length){c=format.charAt(i_format);token="";while((format.charAt(i_format)==c)&&(i_format<format.length)){token+=format.charAt(i_format++);}
if(token=="yyyy"||token=="yy"||token=="y"){if(token=="yyyy"){x=4;y=4;}
if(token=="yy"){x=2;y=2;}
if(token=="y"){x=2;y=4;}
year=_getInt(val,i_val,x,y);if(year==null){return 0;}
i_val+=year.length;if(year.length==2){if(year>70){year=1900+(year-0);}
else{year=2000+(year-0);}}}
else if(token=="MMM"||token=="NNN"){month=0;for(var i=0;i<MONTH_NAMES.length;i++){var month_name=MONTH_NAMES[i];if(val.substring(i_val,i_val+month_name.length).toLowerCase()==month_name.toLowerCase()){if(token=="MMM"||(token=="NNN"&&i>11)){month=i+1;if(month>12){month-=12;}
i_val+=month_name.length;break;}}}
if((month<1)||(month>12)){return 0;}}
else if(token=="EE"||token=="E"){for(var i=0;i<DAY_NAMES.length;i++){var day_name=DAY_NAMES[i];if(val.substring(i_val,i_val+day_name.length).toLowerCase()==day_name.toLowerCase()){i_val+=day_name.length;break;}}}
else if(token=="MM"||token=="M"){month=_getInt(val,i_val,token.length,2);if(month==null||(month<1)||(month>12)){return 0;}
i_val+=month.length;}
else if(token=="dd"||token=="d"){date=_getInt(val,i_val,token.length,2);if(date==null||(date<1)||(date>31)){return 0;}
i_val+=date.length;}
else if(token=="hh"||token=="h"){hh=_getInt(val,i_val,token.length,2);if(hh==null||(hh<1)||(hh>12)){return 0;}
i_val+=hh.length;}
else if(token=="HH"||token=="H"){hh=_getInt(val,i_val,token.length,2);if(hh==null||(hh<0)||(hh>23)){return 0;}
i_val+=hh.length;}
else if(token=="KK"||token=="K"){hh=_getInt(val,i_val,token.length,2);if(hh==null||(hh<0)||(hh>11)){return 0;}
i_val+=hh.length;}
else if(token=="kk"||token=="k"){hh=_getInt(val,i_val,token.length,2);if(hh==null||(hh<1)||(hh>24)){return 0;}
i_val+=hh.length;hh--;}
else if(token=="mm"||token=="m"){mm=_getInt(val,i_val,token.length,2);if(mm==null||(mm<0)||(mm>59)){return 0;}
i_val+=mm.length;}
else if(token=="ss"||token=="s"){ss=_getInt(val,i_val,token.length,2);if(ss==null||(ss<0)||(ss>59)){return 0;}
i_val+=ss.length;}
else if(token=="a"){if(val.substring(i_val,i_val+2).toLowerCase()=="am"){ampm="AM";}
else if(val.substring(i_val,i_val+2).toLowerCase()=="pm"){ampm="PM";}
else{return 0;}
i_val+=2;}
else{if(val.substring(i_val,i_val+token.length)!=token){return 0;}
else{i_val+=token.length;}}}
if(i_val!=val.length){return 0;}
if(month==2){if(((year%4==0)&&(year%100!=0))||(year%400==0)){if(date>29){return 0;}}
else{if(date>28){return 0;}}}
if((month==4)||(month==6)||(month==9)||(month==11)){if(date>30){return 0;}}
if(hh<12&&ampm=="PM"){hh=hh-0+12;}
else if(hh>11&&ampm=="AM"){hh-=12;}
var newdate=new Date(year,month-1,date,hh,mm,ss);return newdate.getTime();}
function parseDate(val){var preferEuro=(arguments.length==2)?arguments[1]:false;generalFormats=new Array('y-M-d','MMM d, y','MMM d,y','y-MMM-d','d-MMM-y','MMM d');monthFirst=new Array('M/d/y','M-d-y','M.d.y','MMM-d','M/d','M-d');dateFirst=new Array('d/M/y','d-M-y','d.M.y','d-MMM','d/M','d-M');var checkList=new Array('generalFormats',preferEuro?'dateFirst':'monthFirst',preferEuro?'monthFirst':'dateFirst');var d=null;for(var i=0;i<checkList.length;i++){var l=window[checkList[i]];for(var j=0;j<l.length;j++){d=getDateFromFormat(val,l[j]);if(d!=0){return new Date(d);}}}
return null;}
Array.prototype.has=function(v,i){for(var j=0;j<this.length;j++){if(this[j]==v)return(!i?true:j);}
return false;};function formReq(formId,reqFields){var fieldRequired=reqFields;var labs=$$('#'+formId+' label');labs.each(function(lab,i){if(fieldRequired.has(lab.htmlFor)){lab.innerHTML+='<span class="req"> *</span>';}});}
function matchPair(myObj,myTarget,ret){var obj=myObj.id?myObj:$(myObj);var target=myTarget.id?myTarget:$(myTarget);var labs=$$('label');var errMsg='';var alertMsg='';if(obj.value!=''&&obj.value==target.value){obj.className=(obj.className.indexOf('err')!=-1)?obj.className.substr(0,obj.className.indexOf('err')):obj.className;errMsg="Confirmation matches";}else{obj.className=(obj.className.indexOf('err')!=-1)?obj.className.substr(0,obj.className.indexOf('err'))+' err':obj.className+' err';errMsg+="Confirmation must match";alertMsg=" - Password and confirm password must match.\n";}
labs.each(function(lab,i){if(lab.htmlFor==obj.id){lab.innerHTML=errMsg;}});if(ret){return alertMsg;}}
function numOnly(el,strict){el.value=strict?el.value.replace(/[^0-9]/g,""):el.value.replace(/[^0-9\s\+\-\(\)]+$/,"");}
function charOnly(el,strict){el.value=strict?el.value.replace(/[\W_]/,""):el.value.replace(/[^0-9a-zA-Z\s\-]/g,"");}
function checkPassword(strng){var error="";var illegalChars=/[\W_]/;if((strng.length<6)||(strng.length>10)){error+=" - Password should be 6-10 characters with letters and numbers.\n";}
else if(illegalChars.test(strng)){error+=" - Password contains illegal characters.\n";}
return error;}
function checkEmail(strng){var error="";var emailFilter=/^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})$/;if(!(emailFilter.test(strng))){error=" - Enter a valid email address.\n";}
else{var illegalChars=/[\(\)\<\>\,\;\:\\\"\[\]]/;if(strng.match(illegalChars)){error=" - Email address contains illegal characters.\n";}}
return error;}
function formCheck(formobj,reqFields,reqTexts){var fieldRequired=reqFields;var fieldDescription=reqTexts;var alertMsg="Please complete the following:\n";var l_Msg=alertMsg.length;var pairToMatch=new Array();for(var i=0;i<fieldRequired.length;i++){var obj=formobj.elements[fieldRequired[i]];if(obj){switch(obj.type){case"select-one":if(obj.selectedIndex==-1||obj.options[obj.selectedIndex].text==""){alertMsg+=" - "+fieldDescription[i]+" required.\n";obj.className+=' err';}
break;case"select-multiple":if(obj.selectedIndex==-1){alertMsg+=" - "+fieldDescription[i]+" required.\n";obj.className+=' err';}
break;case"text":case"textarea":if(obj.value==""||obj.value==null){alertMsg+=" - "+fieldDescription[i]+" required.\n";obj.className+=' err';}
if(obj.id.toLowerCase().indexOf('password')!=-1){checkPassword(obj.value);if(errPass.length>0){alertMsg+=errPass;}}
if(obj.id.toLowerCase().indexOf('email')!=-1){var errEmail=checkEmail(obj.value);if(errEmail.length>0){alertMsg+=errEmail;}}
break;case"password":if(obj.value==""||obj.value==null){alertMsg+=" - "+fieldDescription[i]+" required.\n";obj.className+=' err';}
if(pairToMatch.length==0){if(obj.id.toLowerCase().indexOf('password')!=-1){var errPass=checkPassword(obj.value);if(errPass.length>0){alertMsg+=errPass;obj.className+=' err';}}}
if(pairToMatch.length<2){pairToMatch.push(obj.id);}
if(pairToMatch.length==2){alertMsg+=matchPair(pairToMatch[1],pairToMatch[0],true);}
break;case"checkbox":if(obj.value==""||obj.value==null){alertMsg+=" - "+fieldDescription[i]+" required.\n";obj.className+=' err';}
break;default:if(obj.type!=undefined){var blnchecked=false;for(var j=0;j<obj.length;j++){if(obj[j].checked){blnchecked=true;}}
if(!blnchecked){alertMsg+=" - "+fieldDescription[i]+" required.\n";}}}}}
if(alertMsg.length==l_Msg){return true;}else{alert(alertMsg);return false;}}
var Calendar=new Class({options:{blocked:[],classes:[],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],direction:0,draggable:true,months:["January","February","March","April","May","June","July","August","September","October","November","December"],navigation:1,offset:0,onHideStart:Class.empty,onHideComplete:Class.empty,onShowStart:Class.empty,onShowComplete:Class.empty,pad:1,tweak:{x:0,y:0}},initialize:function(F,B){if(!F){return false}this.setOptions(B);var D=["calendar","prev","next","month","year","today","invalid","valid","inactive","active","hover","hilite"];var A=D.map(function(J,I){if(this.options.classes[I]){if(this.options.classes[I].length){J=this.options.classes[I]}}return J},this);this.classes=A.associate(D);this.calendar=new Element("div",{styles:{left:"-1000px",opacity:0,position:"absolute",top:"-1000px",zIndex:1000000}}).addClass(this.classes.calendar).injectInside(document.body);if(window.ie6){this.iframe=new Element("iframe",{styles:{left:"-1000px",position:"absolute",top:"-1000px",zIndex:999}}).injectInside(document.body);this.iframe.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)"}this.fx=this.calendar.effect("opacity",{onStart:function(){if(this.calendar.getStyle("opacity")==0){if(window.ie6){this.iframe.setStyle("display","block")}this.calendar.setStyle("display","block");this.fireEvent("onShowStart",this.element)}else{this.fireEvent("onHideStart",this.element)}}.bind(this),onComplete:function(){if(this.calendar.getStyle("opacity")==0){this.calendar.setStyle("display","none");if(window.ie6){this.iframe.setStyle("display","none")}this.fireEvent("onHideComplete",this.element)}else{this.fireEvent("onShowComplete",this.element)}}.bind(this)});if(window.Drag&&this.options.draggable){this.drag=new Drag.Move(this.calendar,{onDrag:function(){if(window.ie6){this.iframe.setStyles({left:this.calendar.style.left,top:this.calendar.style.top})}}.bind(this)})}this.calendars=[];var H=0;var G=new Date();G.setDate(G.getDate()+this.options.direction.toInt());for(var C in F){var E={button:new Element("button",{type:"button"}),el:$(C),els:[],id:H++,month:G.getMonth(),visible:false,year:G.getFullYear()};if(!this.element(C,F[C],E)){continue}E.el.addClass(this.classes.calendar);E.button.addClass(this.classes.calendar).addEvent("click",function(I){this.toggle(I)}.pass(E,this)).injectAfter(E.el);E.val=this.read(E);$extend(E,this.bounds(E));$extend(E,this.values(E));this.rebuild(E);this.calendars.push(E)}},blocked:function(C){var A=[];var D=new Date(C.year,C.month,1).getDay();var B=new Date(C.year,C.month+1,0).getDate();this.options.blocked.each(function(I){var G=I.split(" ");for(var J=0;J<=3;J++){if(!G[J]){G[J]=(J==3)?"":"*"}G[J]=G[J].contains(",")?G[J].split(","):new Array(G[J]);var K=G[J].length-1;for(var H=K;H>=0;H--){if(G[J][H].contains("-")){var L=G[J][H].split("-");for(var F=L[0];F<=L[1];F++){if(!G[J].contains(F)){G[J].push(F+"")}}G[J].splice(H,1)}}}if(G[2].contains(C.year+"")||G[2].contains("*")){if(G[1].contains(C.month+1+"")||G[1].contains("*")){G[0].each(function(M){if(M>0){A.push(M.toInt())}});if(G[3]){for(var J=0;J<B;J++){var E=(J+D)%7;if(G[3].contains(E+"")){A.push(J+1)}}}}}},this);return A},bounds:function(C){var D=new Date(1000,0,1);var A=new Date(2999,11,31);var B=new Date().getDate()+this.options.direction.toInt();if(this.options.direction>0){D=new Date();D.setDate(B+this.options.pad*C.id)}if(this.options.direction<0){A=new Date();A.setDate(B-this.options.pad*(this.calendars.length-C.id-1))}C.els.each(function(F){if(F.getTag()=="select"){if(F.format.test("(y|Y)")){var E=[];F.getChildren().each(function(J){var I=this.unformat(J.value,F.format);if(!E.contains(I[0])){E.push(I[0])}},this);E.sort(this.sort);if(E[0]>D.getFullYear()){d=new Date(E[0],D.getMonth()+1,0);if(D.getDate()>d.getDate()){D.setDate(d.getDate())}D.setYear(E[0])}if(E.getLast()<A.getFullYear()){d=new Date(E.getLast(),A.getMonth()+1,0);if(A.getDate()>d.getDate()){A.setDate(d.getDate())}A.setYear(E.getLast())}}if(F.format.test("(F|m|M|n)")){var G=[];var H=[];F.getChildren().each(function(J){var I=this.unformat(J.value,F.format);if($type(I[0])!="number"||I[0]==E[0]){if(!G.contains(I[1])){G.push(I[1])}}if($type(I[0])!="number"||I[0]==E.getLast()){if(!H.contains(I[1])){H.push(I[1])}}},this);G.sort(this.sort);H.sort(this.sort);if(G[0]>D.getMonth()){d=new Date(D.getFullYear(),G[0]+1,0);if(D.getDate()>d.getDate()){D.setDate(d.getDate())}D.setMonth(G[0])}if(H.getLast()<A.getMonth()){d=new Date(D.getFullYear(),H.getLast()+1,0);if(A.getDate()>d.getDate()){A.setDate(d.getDate())}A.setMonth(H.getLast())}}}},this);return{start:D,end:A}},caption:function(G){var A={prev:{month:true,year:true},next:{month:true,year:true}};if(G.year==G.start.getFullYear()){A.prev.year=false;if(G.month==G.start.getMonth()&&this.options.navigation==1){A.prev.month=false}}if(G.year==G.end.getFullYear()){A.next.year=false;if(G.month==G.end.getMonth()&&this.options.navigation==1){A.next.month=false}}if($type(G.months)=="array"){if(G.months.length==1&&this.options.navigation==2){A.prev.month=A.next.month=false}}var B=new Element("caption");var E=new Element("a").addClass(this.classes.prev).appendText("\x3c");var D=new Element("a").addClass(this.classes.next).appendText("\x3e");if(this.options.navigation==2){var F=new Element("span").addClass(this.classes.month).injectInside(B);if(A.prev.month){E.clone().addEvent("click",function(H){this.navigate(H,"m",-1)}.pass(G,this)).injectInside(F)}F.adopt(new Element("span").appendText(this.options.months[G.month]));if(A.next.month){D.clone().addEvent("click",function(H){this.navigate(H,"m",1)}.pass(G,this)).injectInside(F)}var C=new Element("span").addClass(this.classes.year).injectInside(B);if(A.prev.year){E.clone().addEvent("click",function(H){this.navigate(H,"y",-1)}.pass(G,this)).injectInside(C)}C.adopt(new Element("span").appendText(G.year));if(A.next.year){D.clone().addEvent("click",function(H){this.navigate(H,"y",1)}.pass(G,this)).injectInside(C)}}else{if(A.prev.month&&this.options.navigation){E.clone().addEvent("click",function(H){this.navigate(H,"m",-1)}.pass(G,this)).injectInside(B)}B.adopt(new Element("span").addClass(this.classes.month).appendText(this.options.months[G.month]));B.adopt(new Element("span").addClass(this.classes.year).appendText(G.year));if(A.next.month&&this.options.navigation){D.clone().addEvent("click",function(H){this.navigate(H,"m",1)}.pass(G,this)).injectInside(B)}}return B},changed:function(A){A.val=this.read(A);$extend(A,this.values(A));this.rebuild(A);if(!A.val){return}if(A.val.getDate()<A.days[0]){A.val.setDate(A.days[0])}if(A.val.getDate()>A.days.getLast()){A.val.setDate(A.days.getLast())}A.els.each(function(B){B.value=this.format(A.val,B.format)},this);this.check(A);this.calendars.each(function(B){if(B.visible){this.display(B)}},this)},check:function(A){this.calendars.each(function(D,B){if(D.val){var E=false;if(B<A.id){var C=new Date(Date.parse(A.val));C.setDate(C.getDate()-(this.options.pad*(A.id-B)));if(C<D.val){E=true}}if(B>A.id){var C=new Date(Date.parse(A.val));C.setDate(C.getDate()+(this.options.pad*(B-A.id)));if(C>D.val){E=true}}if(E){if(D.start>C){C=D.start}if(D.end<C){C=D.end}D.month=C.getMonth();D.year=C.getFullYear();$extend(D,this.values(D));D.val=D.days.contains(C.getDate())?C:null;this.write(D);if(D.visible){this.display(D)}}}else{D.month=A.month;D.year=A.year}},this)},clicked:function(C,A,B){B.val=(this.value(B)==A)?null:new Date(B.year,B.month,A);this.write(B);if(!B.val){B.val=this.read(B)}if(B.val){this.check(B);this.toggle(B)}else{C.addClass(this.classes.valid);C.removeClass(this.classes.active)}},display:function(J){this.calendar.empty();this.calendar.className=this.classes.calendar+" "+this.options.months[J.month].toLowerCase();var K=new Element("div").injectInside(this.calendar);var R=new Element("table").injectInside(K).adopt(this.caption(J));var Q=new Element("thead").injectInside(R);var B=new Element("tr").injectInside(Q);for(var P=0;P<=6;P++){var E=this.options.days[(P+this.options.offset)%7];B.adopt(new Element("th",{title:E}).appendText(E.substr(0,1)))}var A=new Element("tbody").injectInside(R);var B=new Element("tr").injectInside(A);var T=new Date(J.year,J.month,1);var D=((T.getDay()-this.options.offset)+7)%7;var I=new Date(J.year,J.month+1,0).getDate();var L=new Date(J.year,J.month,0).getDate();var F=this.value(J);var N=J.days;var M=[];var G=[];this.calendars.each(function(X,W){if(X!=J&&X.val){if(J.year==X.val.getFullYear()&&J.month==X.val.getMonth()){M.push(X.val.getDate())}if(J.val){for(var V=1;V<=I;V++){T.setDate(V);if((W<J.id&&T>X.val&&T<J.val)||(W>J.id&&T>J.val&&T<X.val)){if(!G.contains(V)){G.push(V)}}}}}},this);var T=new Date();var S=new Date(T.getFullYear(),T.getMonth(),T.getDate()).getTime();for(var P=1;P<43;P++){if((P-1)%7==0){B=new Element("tr").injectInside(A)}var H=new Element("td").injectInside(B);var O=P-D;var U=new Date(J.year,J.month,O);var C="";if(O===F){C=this.classes.active}else{if(M.contains(O)){C=this.classes.inactive}else{if(N.contains(O)){C=this.classes.valid}else{if(O>=1&&O<=I){C=this.classes.invalid}}}}if(U.getTime()==S){C=C+" "+this.classes.today}if(G.contains(O)){C=C+" "+this.classes.hilite}H.addClass(C);if(N.contains(O)){H.setProperty("title",this.format(U,"D M jS Y"));H.addEvents({click:function(X,V,W){this.clicked(X,V,W)}.pass([H,O,J],this),mouseover:function(W,V){W.addClass(V)}.pass([H,this.classes.hover]),mouseout:function(W,V){W.removeClass(V)}.pass([H,this.classes.hover])})}if(O<1){O=L+O}else{if(O>I){O=O-I}}H.appendText(O)}},element:function(B,C,D){if($type(C)=="object"){for(var A in C){if(!this.element(A,C[A],D)){return false}}return true}B=$(B);if(!B){return false}B.format=C;if(B.getTag()=="select"){B.addEvent("change",function(E){this.changed(E)}.pass(D,this))}else{B.readOnly=true;B.addEvent("focus",function(E){this.toggle(E)}.pass(D,this))}D.els.push(B);return true},format:function(C,K){var I="";if(C){var E=C.getDate();var L=C.getDay();var D=this.options.days[L];var B=C.getMonth()+1;var H=this.options.months[B-1];var J=C.getFullYear()+"";for(var F=0,G=K.length;F<G;F++){var A=K.charAt(F);switch(A){case"y":J=J.substr(2);case"Y":I+=J;break;case"m":if(B<10){B="0"+B}case"n":I+=B;break;case"M":H=H.substr(0,3);case"F":I+=H;break;case"d":if(E<10){E="0"+E}case"j":I+=E;break;case"D":D=D.substr(0,3);case"l":I+=D;break;case"N":L+=1;case"w":I+=L;break;case"S":if(E%10==1&&E!="11"){I+="st"}else{if(E%10==2&&E!="12"){I+="nd"}else{if(E%10==3&&E!="13"){I+="rd"}else{I+="th"}}}break;default:I+=A}}}return I},navigate:function(C,B,D){switch(B){case"m":if($type(C.months)=="array"){var A=C.months.indexOf(C.month)+D;if(A<0||A==C.months.length){if(this.options.navigation==1){this.navigate(C,"y",D)}A=(A<0)?C.months.length-1:0}C.month=C.months[A]}else{var A=C.month+D;if(A<0||A==12){if(this.options.navigation==1){this.navigate(C,"y",D)}A=(A<0)?11:0}C.month=A}break;case"y":if($type(C.years)=="array"){var A=C.years.indexOf(C.year)+D;C.year=C.years[A]}else{C.year+=D}break}$extend(C,this.values(C));if($type(C.months)=="array"){var A=C.months.indexOf(C.month);if(A<0){C.month=C.months[0]}}this.display(C)},read:function(C){var A=[null,null,null];C.els.each(function(F){var E=this.unformat(F.value,F.format);E.each(function(H,G){if($type(H)=="number"){A[G]=H}})},this);if($type(A[0])=="number"){C.year=A[0]}if($type(A[1])=="number"){C.month=A[1]}var D=null;if(A.every(function(E){return $type(E)=="number"})){var B=new Date(A[0],A[1]+1,0).getDate();if(A[2]>B){A[2]=B}D=new Date(A[0],A[1],A[2])}return(C.val==D)?null:D},rebuild:function(A){A.els.each(function(B){if(B.getTag()=="select"&&B.format.test("^(d|j)$")){var C=this.value(A);if(!C){C=B.value.toInt()}B.empty();A.days.each(function(D){var E=new Element("option",{selected:(C==D),value:((B.format=="d"&&D<10)?"0"+D:D)}).appendText(D).injectInside(B)},this)}},this)},sort:function(B,A){return B-A},toggle:function(C){document.removeEvent("mousedown",this.fn);if(C.visible){C.visible=false;C.button.removeClass(this.classes.active);this.fx.start(1,0)}else{this.fn=function(I,H){var I=new Event(I);var G=I.target;var F=false;while(G!=document.body&&G.nodeType==1){if(G==this.calendar){F=true}this.calendars.each(function(J){if(J.button==G||J.els.contains(G)){F=true}});if(F){I.stop();return false}else{G=G.parentNode}}this.toggle(H)}.create({"arguments":C,bind:this,event:true});document.addEvent("mousedown",this.fn);this.calendars.each(function(F){if(F==C){F.visible=true;F.button.addClass(this.classes.active)}else{F.visible=false;F.button.removeClass(this.classes.active)}},this);var B=window.getSize().scrollSize;var E=C.button.getCoordinates();var A=E.right+this.options.tweak.x;var D=E.top+this.options.tweak.y;if(!this.calendar.coord){this.calendar.coord=this.calendar.getCoordinates()}if(A+this.calendar.coord.width>B.x){A-=(A+this.calendar.coord.width-B.x)}if(D+this.calendar.coord.height>B.y){D-=(D+this.calendar.coord.height-B.y)}this.calendar.setStyles({left:A+"px",top:D+"px"});if(window.ie6){this.iframe.setStyles({height:this.calendar.coord.height+"px",left:A+"px",top:D+"px",width:this.calendar.coord.width+"px"})}this.display(C);this.fx.start(0,1)}},unformat:function(B,G){G=G.escapeRegExp();var I={d:"([0-9]{2})",j:"([0-9]{1,2})",D:"("+this.options.days.map(function(J){return J.substr(0,3)}).join("|")+")",l:"("+this.options.days.join("|")+")",S:"(st|nd|rd|th)",F:"("+this.options.months.join("|")+")",m:"([0-9]{2})",M:"("+this.options.months.map(function(J){return J.substr(0,3)}).join("|")+")",n:"([0-9]{1,2})",Y:"([0-9]{4})",y:"([0-9]{2})"};var E=[];var F="";for(var C=0;C<G.length;C++){var H=G.charAt(C);if(I[H]){E.push(H);F+=I[H]}else{F+=H}}var D=B.match("^"+F+"$");var A=new Array(3);if(D){D=D.slice(1);E.each(function(K,J){J=D[J];switch(K){case"y":J="19"+J;case"Y":A[0]=J.toInt();break;case"F":J=J.substr(0,3);case"M":J=this.options.months.map(function(L){return L.substr(0,3)}).indexOf(J)+1;case"m":case"n":A[1]=J.toInt()-1;break;case"d":case"j":A[2]=J.toInt();break}},this)}return A},value:function(B){var A=null;if(B.val){if(B.year==B.val.getFullYear()&&B.month==B.val.getMonth()){A=B.val.getDate()}}return A},values:function(F){var D,A,H;F.els.each(function(I){if(I.getTag()=="select"){if(I.format.test("(y|Y)")){D=[];I.getChildren().each(function(K){var J=this.unformat(K.value,I.format);if(!D.contains(J[0])){D.push(J[0])}},this);D.sort(this.sort)}if(I.format.test("(F|m|M|n)")){A=[];I.getChildren().each(function(K){var J=this.unformat(K.value,I.format);if($type(J[0])!="number"||J[0]==F.year){if(!A.contains(J[1])){A.push(J[1])}}},this);A.sort(this.sort)}if(I.format.test("(d|j)")&&!I.format.test("^(d|j)$")){H=[];I.getChildren().each(function(K){var J=this.unformat(K.value,I.format);if(J[0]==F.year&&J[1]==F.month){if(!H.contains(J[2])){H.push(J[2])}}},this)}}},this);var G=1;var E=new Date(F.year,F.month+1,0).getDate();if(F.year==F.start.getFullYear()){if(A==null&&this.options.navigation==2){A=[];for(var C=0;C<12;C++){if(C>=F.start.getMonth()){A.push(C)}}}if(F.month==F.start.getMonth()){G=F.start.getDate()}}if(F.year==F.end.getFullYear()){if(A==null&&this.options.navigation==2){A=[];for(var C=0;C<12;C++){if(C<=F.end.getMonth()){A.push(C)}}}if(F.month==F.end.getMonth()){E=F.end.getDate()}}var B=this.blocked(F);if($type(H)=="array"){H=H.filter(function(I){if(I>=G&&I<=E&&!B.contains(I)){return I}})}else{H=[];for(var C=G;C<=E;C++){if(!B.contains(C)){H.push(C)}}}H.sort(this.sort);return{days:H,months:A,years:D}},write:function(A){this.rebuild(A);A.els.each(function(B){B.value=this.format(A.val,B.format)},this)}});Calendar.implement(new Events,new Options);function sack(file){this.xmlhttp=null;this.resetData=function(){this.method="POST";this.queryStringSeparator="?";this.argumentSeparator="&";this.URLString="";this.encodeURIString=true;this.execute=false;this.element=null;this.elementObj=null;this.requestFile=file;this.vars=new Object();this.responseStatus=new Array(2);};this.resetFunctions=function(){this.onLoading=function(){};this.onLoaded=function(){};this.onInteractive=function(){};this.onCompletion=function(){};this.onError=function(){};this.onFail=function(){};};this.reset=function(){this.resetFunctions();this.resetData();};this.createAJAX=function(){try{this.xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");}catch(e1){try{this.xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}catch(e2){this.xmlhttp=null;}}
if(!this.xmlhttp){if(typeof XMLHttpRequest!="undefined"){this.xmlhttp=new XMLHttpRequest();}else{this.failed=true;}}};this.setVar=function(name,value){this.vars[name]=Array(value,false);};this.encVar=function(name,value,returnvars){if(true==returnvars){return Array(encodeURIComponent(name),encodeURIComponent(value));}else{this.vars[encodeURIComponent(name)]=Array(encodeURIComponent(value),true);}};this.processURLString=function(string,encode){encoded=encodeURIComponent(this.argumentSeparator);regexp=new RegExp(this.argumentSeparator+"|"+encoded);varArray=string.split(regexp);for(i=0;i<varArray.length;i++){urlVars=varArray[i].split("=");if(true==encode){this.encVar(urlVars[0],urlVars[1]);}else{this.setVar(urlVars[0],urlVars[1]);}}};this.createURLString=function(urlstring){if(this.encodeURIString&&this.URLString.length){this.processURLString(this.URLString,true);}
if(urlstring){if(this.URLString.length){this.URLString+=this.argumentSeparator+urlstring;}else{this.URLString=urlstring;}}
this.setVar("rndval",new Date().getTime());urlstringtemp=new Array();for(key in this.vars){if(false==this.vars[key][1]&&true==this.encodeURIString){encoded=this.encVar(key,this.vars[key][0],true);delete this.vars[key];this.vars[encoded[0]]=Array(encoded[1],true);key=encoded[0];}
urlstringtemp[urlstringtemp.length]=key+"="+this.vars[key][0];}
if(urlstring){this.URLString+=this.argumentSeparator+urlstringtemp.join(this.argumentSeparator);}else{this.URLString+=urlstringtemp.join(this.argumentSeparator);}};this.runResponse=function(){eval(this.response);};this.runAJAX=function(urlstring){if(this.failed){this.onFail();}else{this.createURLString(urlstring);if(this.element){this.elementObj=document.getElementById(this.element);}
if(this.xmlhttp){var self=this;if(this.method=="GET"){totalurlstring=this.requestFile+this.queryStringSeparator+this.URLString;this.xmlhttp.open(this.method,totalurlstring,true);}else{this.xmlhttp.open(this.method,this.requestFile,true);try{this.xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}catch(e){}}
this.xmlhttp.onreadystatechange=function(){switch(self.xmlhttp.readyState){case 1:self.onLoading();break;case 2:self.onLoaded();break;case 3:self.onInteractive();break;case 4:self.response=self.xmlhttp.responseText;self.responseXML=self.xmlhttp.responseXML;self.responseStatus[0]=self.xmlhttp.status;self.responseStatus[1]=self.xmlhttp.statusText;if(self.execute){self.runResponse();}
if(self.elementObj){elemNodeName=self.elementObj.nodeName;elemNodeName.toLowerCase();if(elemNodeName=="input"||elemNodeName=="select"||elemNodeName=="option"||elemNodeName=="textarea"){self.elementObj.value=self.response;}else{self.elementObj.innerHTML=self.response;}}
if(self.responseStatus[0]=="200"){self.onCompletion();}else{self.onError();}
self.URLString="";break;}};this.xmlhttp.send(this.URLString);}}};this.reset();this.createAJAX();}
var MooTips=new Class({options:{onShow:function(tip){tip.setStyle('visibility','visible');},onHide:function(tip){tip.setStyle('visibility','hidden');},showOnClick:false,showOnMouseEnter:true,maxTitleChars:30,showDelay:100,hideDelay:100,className:'tool',offsets:{'x':16,'y':16},fixed:false,loadingText:'Loading...',errTitle:'Error...',errText:'There was a problem retrieving the contents of this tooltip.',evalAlways:false},initialize:function(elements,options){this.setOptions(options);this.toolTip=new Element('div',{'class':this.options.className+'-tip','styles':{'position':'absolute','top':'0','left':'0','visibility':'hidden'},'events':{'mouseenter':function(event){this.setProperty('state','mouseenter');},'mouseleave':function(event){this.setProperty('state','mouseleave');this.pather.end(event);}}}).inject(document.body);this.toolTip.pather=this;this.wrapper=new Element('div').inject(this.toolTip);$$(elements).each(this.buildEvents,this);$$(elements).each(this.build,this);if(this.options.initialize)this.options.initialize.call(this);},buildEvents:function(el){if(this.options.showOnClick){el.addEvent('click',function(event){this.start(el);if(!this.options.fixed)this.locate(event);else this.position(el);}.bindWithEvent(this));}
if(this.options.showOnMouseEnter){el.addEvent('mouseenter',function(event){this.start(el);if(!this.options.fixed)this.locate(event);else this.position(el);}.bind(this));}
if(!this.options.fixed)el.addEvent('mousemove',this.locate.bindWithEvent(this));var end=this.end.bind(this);el.addEvent('mouseleave',end);el.addEvent('trash',end);},build:function(el){el.$tmp.myTitle=(el.href&&el.getTag()=='a')?el.href.replace('http://',''):(el.rel||false);if(el.title){if(el.title.test('^DOM:','i')){el.title=$(el.title.split(':')[1].trim()).innerHTML;}else if(el.title.test('^AJAX:','i')){el.title=this.options.loadingText+'::'+el.title;}else if(el.title.test('^EVAL:','i')){el.title=this.options.loadingText+'::'+el.title;}
var dual=el.title.split('::');if(dual.length>1){el.$tmp.myTitle=dual[0].trim();el.$tmp.myText=dual[1].trim();}else{el.$tmp.myTitle=false;el.$tmp.myText=el.title;}
el.removeAttribute('title');}else{el.$tmp.myText=false;}
if(el.$tmp.myTitle&&el.$tmp.myTitle.length>this.options.maxTitleChars)el.$tmp.myTitle=el.$tmp.myTitle.substr(0,this.options.maxTitleChars-1)+"É";},start:function(el){this.wrapper.empty();if(el.$tmp.myText&&el.$tmp.myText.test('^AJAX:','i')){if(this.options.evalAlways){el.$tmp.myEvalAlwaysText=el.$tmp.myText;}
this.ajax=new Ajax(el.$tmp.myText.replace(/AJAX:/i,''),{onComplete:function(responseText,responseXML){el.title=responseText;this.build(el);this.start(el);}.bind(this),onFailure:function(){el.title=this.options.errTitle+'::'+this.options.errText;this.build(el);this.start(el);}.bind(this),method:'get'}).request();el.$tmp.myText='<div class="'+this.options.className+'-loading"> </div>';}else if(el.$tmp.myText&&el.$tmp.myText.test('^EVAL:','i')){var tmp;if(this.options.evalAlways){el.$tmp.myEvalAlwaysText=el.$tmp.myText;}
try{eval('tmp = '+el.$tmp.myText.replace(/EVAL:/i,'')+';');var dual=tmp.split('::');if(dual.length>1){el.$tmp.myTitle=dual[0].trim();el.$tmp.myText=dual[1].trim();}else{el.$tmp.myTitle=false;el.$tmp.myText=tmp;}}catch(err){el.$tmp.myTitle=this.options.errTitle;el.$tmp.myText=this.options.errText+'<br />--------<br />'+err.description;}}
if(el.$tmp.myTitle){this.title=new Element('span').inject(new Element('div',{'class':this.options.className+'-title'}).inject(this.wrapper)).setHTML(el.$tmp.myTitle);}
if(el.$tmp.myText){this.text=new Element('span').inject(new Element('div',{'class':this.options.className+'-text'}).inject(this.wrapper)).setHTML(el.$tmp.myText);if((this.options.evalAlways)&&(el.$tmp.myEvalAlwaysText)){el.$tmp.myText=el.$tmp.myEvalAlwaysText;}}
$clear(this.timer);this.toolTip.setProperty('state','mouseleave');this.timer=this.show.delay(this.options.showDelay,this);},end:function(event){$clear(this.timer);this.timer=this.hide.delay(this.options.hideDelay,this);},position:function(element){var pos=element.getPosition();this.toolTip.setStyles({'left':pos.x+this.options.offsets.x,'top':pos.y+this.options.offsets.y});},locate:function(event){var win={'x':window.getWidth(),'y':window.getHeight()};var scroll={'x':window.getScrollLeft(),'y':window.getScrollTop()};var tip={'x':this.toolTip.offsetWidth,'y':this.toolTip.offsetHeight};var prop={'x':'left','y':'top'};for(var z in prop){var pos=event.page[z]+this.options.offsets[z];if((pos+tip[z]-scroll[z])>win[z])pos=event.page[z]-this.options.offsets[z]-tip[z];this.toolTip.setStyle(prop[z],pos);};},show:function(){if(this.options.timeout)this.timer=this.hide.delay(this.options.timeout,this);this.fireEvent('onShow',[this.toolTip]);},hide:function(){if((this.toolTip.getProperty('state')=='mouseleave')||(!this.options.fixed))
this.fireEvent('onHide',[this.toolTip]);}});MooTips.implement(new Events,new Options);