if(document.getElementById("bookWithUs")){document.getElementById("bookWithUs").style.display = "none"};
if(document.getElementById("flashContent")){document.getElementById("flashContent").style.display = "none"};
if(document.getElementById("defaultMsg")){document.getElementById("defaultMsg").style.display = "none"};

YAHOO.util.Get=function(){var M={},L=0,Q=0,E=false,N=YAHOO.env.ua,R=YAHOO.lang;var J=function(V,S,W){var T=W||window,X=T.document,Y=X.createElement(V);for(var U in S){if(S[U]&&YAHOO.lang.hasOwnProperty(S,U)){Y.setAttribute(U,S[U]);}}return Y;};var H=function(S,T,V){var U=V||"utf-8";return J("link",{"id":"yui__dyn_"+(Q++),"type":"text/css","charset":U,"rel":"stylesheet","href":S},T);};var O=function(S,T,V){var U=V||"utf-8";return J("script",{"id":"yui__dyn_"+(Q++),"type":"text/javascript","charset":U,"src":S},T);};var A=function(S,T){return{tId:S.tId,win:S.win,data:S.data,nodes:S.nodes,msg:T,purge:function(){D(this.tId);}};};var B=function(S,V){var T=M[V],U=(R.isString(S))?T.win.document.getElementById(S):S;if(!U){P(V,"target node not found: "+S);}return U;};var P=function(V,U){var S=M[V];if(S.onFailure){var T=S.scope||S.win;S.onFailure.call(T,A(S,U));}};var C=function(V){var S=M[V];S.finished=true;if(S.aborted){var U="transaction "+V+" was aborted";P(V,U);return ;}if(S.onSuccess){var T=S.scope||S.win;S.onSuccess.call(T,A(S));}};var G=function(U,Y){var T=M[U];if(T.aborted){var W="transaction "+U+" was aborted";P(U,W);return ;}if(Y){T.url.shift();if(T.varName){T.varName.shift();}}else{T.url=(R.isString(T.url))?[T.url]:T.url;if(T.varName){T.varName=(R.isString(T.varName))?[T.varName]:T.varName;}}var b=T.win,a=b.document,Z=a.getElementsByTagName("head")[0],V;if(T.url.length===0){if(T.type==="script"&&N.webkit&&N.webkit<420&&!T.finalpass&&!T.varName){var X=O(null,T.win,T.charset);X.innerHTML='YAHOO.util.Get._finalize("'+U+'");';T.nodes.push(X);Z.appendChild(X);}else{C(U);}return ;}var S=T.url[0];if(T.type==="script"){V=O(S,b,T.charset);}else{V=H(S,b,T.charset);}F(T.type,V,U,S,b,T.url.length);T.nodes.push(V);if(T.insertBefore){var c=B(T.insertBefore,U);if(c){c.parentNode.insertBefore(V,c);}}else{Z.appendChild(V);}if((N.webkit||N.gecko)&&T.type==="css"){G(U,S);}};var K=function(){if(E){return ;}E=true;for(var S in M){var T=M[S];if(T.autopurge&&T.finished){D(T.tId);delete M[S];}}E=false;};var D=function(Z){var W=M[Z];if(W){var Y=W.nodes,S=Y.length,X=W.win.document,V=X.getElementsByTagName("head")[0];if(W.insertBefore){var U=B(W.insertBefore,Z);if(U){V=U.parentNode;}}for(var T=0;T<S;T=T+1){V.removeChild(Y[T]);}}W.nodes=[];};var I=function(T,S,U){var W="q"+(L++);U=U||{};if(L%YAHOO.util.Get.PURGE_THRESH===0){K();}M[W]=R.merge(U,{tId:W,type:T,url:S,finished:false,nodes:[]});var V=M[W];V.win=V.win||window;V.scope=V.scope||V.win;V.autopurge=("autopurge" in V)?V.autopurge:(T==="script")?true:false;R.later(0,V,G,W);return{tId:W};};var F=function(b,W,V,T,X,Y,a){var Z=a||G;if(N.ie){W.onreadystatechange=function(){var c=this.readyState;if("loaded"===c||"complete"===c){Z(V,T);}};}else{if(N.webkit){if(b==="script"){if(N.webkit>=420){W.addEventListener("load",function(){Z(V,T);});}else{var S=M[V];if(S.varName){var U=YAHOO.util.Get.POLL_FREQ;S.maxattempts=YAHOO.util.Get.TIMEOUT/U;S.attempts=0;S._cache=S.varName[0].split(".");S.timer=R.later(U,S,function(h){var e=this._cache,d=e.length,c=this.win,f;for(f=0;f<d;f=f+1){c=c[e[f]];if(!c){this.attempts++;if(this.attempts++>this.maxattempts){var g="Over retry limit, giving up";S.timer.cancel();P(V,g);}else{}return ;}}S.timer.cancel();Z(V,T);},null,true);}else{R.later(YAHOO.util.Get.POLL_FREQ,null,Z,[V,T]);}}}}else{W.onload=function(){Z(V,T);};}}};return{POLL_FREQ:10,PURGE_THRESH:20,TIMEOUT:2000,_finalize:function(S){R.later(0,null,C,S);},abort:function(T){var U=(R.isString(T))?T:T.tId;var S=M[U];if(S){S.aborted=true;}},script:function(S,T){return I("script",S,T);},css:function(S,T){return I("css",S,T);}};}();YAHOO.register("get",YAHOO.util.Get,{version:"2.5.1",build:"984"});
YAHOO.util.Connect={_msxml_progid:["Microsoft.XMLHTTP","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP"],_http_headers:{},_has_http_headers:false,_use_default_post_header:true,_default_post_header:"application/x-www-form-urlencoded; charset=UTF-8",_default_form_header:"application/x-www-form-urlencoded",_use_default_xhr_header:true,_default_xhr_header:"XMLHttpRequest",_has_default_headers:true,_default_headers:{},_isFormSubmit:false,_isFileUpload:false,_formNode:null,_sFormData:null,_poll:{},_timeOut:{},_polling_interval:50,_transaction_id:0,_submitElementValue:null,_hasSubmitListener:(function(){if(YAHOO.util.Event){YAHOO.util.Event.addListener(document,"click",function(B){var A=YAHOO.util.Event.getTarget(B);if(A.nodeName.toLowerCase()=="input"&&(A.type&&A.type.toLowerCase()=="submit")){YAHOO.util.Connect._submitElementValue=encodeURIComponent(A.name)+"="+encodeURIComponent(A.value);}});return true;}return false;})(),startEvent:new YAHOO.util.CustomEvent("start"),completeEvent:new YAHOO.util.CustomEvent("complete"),successEvent:new YAHOO.util.CustomEvent("success"),failureEvent:new YAHOO.util.CustomEvent("failure"),uploadEvent:new YAHOO.util.CustomEvent("upload"),abortEvent:new YAHOO.util.CustomEvent("abort"),_customEvents:{onStart:["startEvent","start"],onComplete:["completeEvent","complete"],onSuccess:["successEvent","success"],onFailure:["failureEvent","failure"],onUpload:["uploadEvent","upload"],onAbort:["abortEvent","abort"]},setProgId:function(A){this._msxml_progid.unshift(A);},setDefaultPostHeader:function(A){if(typeof A=="string"){this._default_post_header=A;}else{if(typeof A=="boolean"){this._use_default_post_header=A;}}},setDefaultXhrHeader:function(A){if(typeof A=="string"){this._default_xhr_header=A;}else{this._use_default_xhr_header=A;}},setPollingInterval:function(A){if(typeof A=="number"&&isFinite(A)){this._polling_interval=A;}},createXhrObject:function(E){var D,A;try{A=new XMLHttpRequest();D={conn:A,tId:E};}catch(C){for(var B=0;B<this._msxml_progid.length;++B){try{A=new ActiveXObject(this._msxml_progid[B]);D={conn:A,tId:E};break;}catch(C){}}}finally{return D;}},getConnectionObject:function(A){var C;var D=this._transaction_id;try{if(!A){C=this.createXhrObject(D);}else{C={};C.tId=D;C.isUpload=true;}if(C){this._transaction_id++;}}catch(B){}finally{return C;}},asyncRequest:function(F,C,E,A){var D=(this._isFileUpload)?this.getConnectionObject(true):this.getConnectionObject();var B=(E&&E.argument)?E.argument:null;if(!D){return null;}else{if(E&&E.customevents){this.initCustomEvents(D,E);}if(this._isFormSubmit){if(this._isFileUpload){this.uploadFile(D,E,C,A);return D;}if(F.toUpperCase()=="GET"){if(this._sFormData.length!==0){C+=((C.indexOf("?")==-1)?"?":"&")+this._sFormData;}}else{if(F.toUpperCase()=="POST"){A=A?this._sFormData+"&"+A:this._sFormData;}}}if(F.toUpperCase()=="GET"&&(E&&E.cache===false)){C+=((C.indexOf("?")==-1)?"?":"&")+"rnd="+new Date().valueOf().toString();}D.conn.open(F,C,true);if(this._use_default_xhr_header){if(!this._default_headers["X-Requested-With"]){this.initHeader("X-Requested-With",this._default_xhr_header,true);}}if((F.toUpperCase()=="POST"&&this._use_default_post_header)&&this._isFormSubmit===false){this.initHeader("Content-Type",this._default_post_header);}if(this._has_default_headers||this._has_http_headers){this.setHeader(D);}this.handleReadyState(D,E);D.conn.send(A||"");if(this._isFormSubmit===true){this.resetFormState();}this.startEvent.fire(D,B);if(D.startEvent){D.startEvent.fire(D,B);}return D;}},initCustomEvents:function(A,C){for(var B in C.customevents){if(this._customEvents[B][0]){A[this._customEvents[B][0]]=new YAHOO.util.CustomEvent(this._customEvents[B][1],(C.scope)?C.scope:null);A[this._customEvents[B][0]].subscribe(C.customevents[B]);}}},handleReadyState:function(C,D){var B=this;var A=(D&&D.argument)?D.argument:null;if(D&&D.timeout){this._timeOut[C.tId]=window.setTimeout(function(){B.abort(C,D,true);},D.timeout);}this._poll[C.tId]=window.setInterval(function(){if(C.conn&&C.conn.readyState===4){window.clearInterval(B._poll[C.tId]);delete B._poll[C.tId];if(D&&D.timeout){window.clearTimeout(B._timeOut[C.tId]);delete B._timeOut[C.tId];}B.completeEvent.fire(C,A);if(C.completeEvent){C.completeEvent.fire(C,A);}B.handleTransactionResponse(C,D);}},this._polling_interval);},handleTransactionResponse:function(F,G,A){var D,C;var B=(G&&G.argument)?G.argument:null;try{if(F.conn.status!==undefined&&F.conn.status!==0){D=F.conn.status;}else{D=13030;}}catch(E){D=13030;}if(D>=200&&D<300||D===1223){C=this.createResponseObject(F,B);if(G&&G.success){if(!G.scope){G.success(C);}else{G.success.apply(G.scope,[C]);}}this.successEvent.fire(C);if(F.successEvent){F.successEvent.fire(C);}}else{switch(D){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:C=this.createExceptionObject(F.tId,B,(A?A:false));if(G&&G.failure){if(!G.scope){G.failure(C);}else{G.failure.apply(G.scope,[C]);}}break;default:C=this.createResponseObject(F,B);if(G&&G.failure){if(!G.scope){G.failure(C);}else{G.failure.apply(G.scope,[C]);}}}this.failureEvent.fire(C);if(F.failureEvent){F.failureEvent.fire(C);}}this.releaseObject(F);C=null;},createResponseObject:function(A,G){var D={};var I={};try{var C=A.conn.getAllResponseHeaders();var F=C.split("\n");for(var E=0;E<F.length;E++){var B=F[E].indexOf(":");if(B!=-1){I[F[E].substring(0,B)]=F[E].substring(B+2);}}}catch(H){}D.tId=A.tId;D.status=(A.conn.status==1223)?204:A.conn.status;D.statusText=(A.conn.status==1223)?"No Content":A.conn.statusText;D.getResponseHeader=I;D.getAllResponseHeaders=C;D.responseText=A.conn.responseText;D.responseXML=A.conn.responseXML;if(G){D.argument=G;}return D;},createExceptionObject:function(H,D,A){var F=0;var G="communication failure";var C=-1;var B="transaction aborted";var E={};E.tId=H;if(A){E.status=C;E.statusText=B;}else{E.status=F;E.statusText=G;}if(D){E.argument=D;}return E;},initHeader:function(A,D,C){var B=(C)?this._default_headers:this._http_headers;B[A]=D;if(C){this._has_default_headers=true;}else{this._has_http_headers=true;
}},setHeader:function(A){if(this._has_default_headers){for(var B in this._default_headers){if(YAHOO.lang.hasOwnProperty(this._default_headers,B)){A.conn.setRequestHeader(B,this._default_headers[B]);}}}if(this._has_http_headers){for(var B in this._http_headers){if(YAHOO.lang.hasOwnProperty(this._http_headers,B)){A.conn.setRequestHeader(B,this._http_headers[B]);}}delete this._http_headers;this._http_headers={};this._has_http_headers=false;}},resetDefaultHeaders:function(){delete this._default_headers;this._default_headers={};this._has_default_headers=false;},setForm:function(K,E,B){this.resetFormState();var J;if(typeof K=="string"){J=(document.getElementById(K)||document.forms[K]);}else{if(typeof K=="object"){J=K;}else{return ;}}if(E){var F=this.createFrame((window.location.href.toLowerCase().indexOf("https")===0||B)?true:false);this._isFormSubmit=true;this._isFileUpload=true;this._formNode=J;return ;}var A,I,G,L;var H=false;for(var D=0;D<J.elements.length;D++){A=J.elements[D];L=A.disabled;I=A.name;G=A.value;if(!L&&I){switch(A.type){case"select-one":case"select-multiple":for(var C=0;C<A.options.length;C++){if(A.options[C].selected){if(window.ActiveXObject){this._sFormData+=encodeURIComponent(I)+"="+encodeURIComponent(A.options[C].attributes["value"].specified?A.options[C].value:A.options[C].text)+"&";}else{this._sFormData+=encodeURIComponent(I)+"="+encodeURIComponent(A.options[C].hasAttribute("value")?A.options[C].value:A.options[C].text)+"&";}}}break;case"radio":case"checkbox":if(A.checked){this._sFormData+=encodeURIComponent(I)+"="+encodeURIComponent(G)+"&";}break;case"file":case undefined:case"reset":case"button":break;case"submit":if(H===false){if(this._hasSubmitListener&&this._submitElementValue){this._sFormData+=this._submitElementValue+"&";}else{this._sFormData+=encodeURIComponent(I)+"="+encodeURIComponent(G)+"&";}H=true;}break;default:this._sFormData+=encodeURIComponent(I)+"="+encodeURIComponent(G)+"&";}}}this._isFormSubmit=true;this._sFormData=this._sFormData.substr(0,this._sFormData.length-1);this.initHeader("Content-Type",this._default_form_header);return this._sFormData;},resetFormState:function(){this._isFormSubmit=false;this._isFileUpload=false;this._formNode=null;this._sFormData="";},createFrame:function(A){var B="yuiIO"+this._transaction_id;var C;if(window.ActiveXObject){C=document.createElement("<iframe id=\""+B+"\" name=\""+B+"\" />");if(typeof A=="boolean"){C.src="javascript:false";}}else{C=document.createElement("iframe");C.id=B;C.name=B;}C.style.position="absolute";C.style.top="-1000px";C.style.left="-1000px";document.body.appendChild(C);},appendPostData:function(A){var D=[];var B=A.split("&");for(var C=0;C<B.length;C++){var E=B[C].indexOf("=");if(E!=-1){D[C]=document.createElement("input");D[C].type="hidden";D[C].name=B[C].substring(0,E);D[C].value=B[C].substring(E+1);this._formNode.appendChild(D[C]);}}return D;},uploadFile:function(D,M,E,C){var N=this;var H="yuiIO"+D.tId;var I="multipart/form-data";var K=document.getElementById(H);var J=(M&&M.argument)?M.argument:null;var B={action:this._formNode.getAttribute("action"),method:this._formNode.getAttribute("method"),target:this._formNode.getAttribute("target")};this._formNode.setAttribute("action",E);this._formNode.setAttribute("method","POST");this._formNode.setAttribute("target",H);if(this._formNode.encoding){this._formNode.setAttribute("encoding",I);}else{this._formNode.setAttribute("enctype",I);}if(C){var L=this.appendPostData(C);}this._formNode.submit();this.startEvent.fire(D,J);if(D.startEvent){D.startEvent.fire(D,J);}if(M&&M.timeout){this._timeOut[D.tId]=window.setTimeout(function(){N.abort(D,M,true);},M.timeout);}if(L&&L.length>0){for(var G=0;G<L.length;G++){this._formNode.removeChild(L[G]);}}for(var A in B){if(YAHOO.lang.hasOwnProperty(B,A)){if(B[A]){this._formNode.setAttribute(A,B[A]);}else{this._formNode.removeAttribute(A);}}}this.resetFormState();var F=function(){if(M&&M.timeout){window.clearTimeout(N._timeOut[D.tId]);delete N._timeOut[D.tId];}N.completeEvent.fire(D,J);if(D.completeEvent){D.completeEvent.fire(D,J);}var P={};P.tId=D.tId;P.argument=M.argument;try{P.responseText=K.contentWindow.document.body?K.contentWindow.document.body.innerHTML:K.contentWindow.document.documentElement.textContent;P.responseXML=K.contentWindow.document.XMLDocument?K.contentWindow.document.XMLDocument:K.contentWindow.document;}catch(O){}if(M&&M.upload){if(!M.scope){M.upload(P);}else{M.upload.apply(M.scope,[P]);}}N.uploadEvent.fire(P);if(D.uploadEvent){D.uploadEvent.fire(P);}YAHOO.util.Event.removeListener(K,"load",F);setTimeout(function(){document.body.removeChild(K);N.releaseObject(D);},100);};YAHOO.util.Event.addListener(K,"load",F);},abort:function(E,G,A){var D;var B=(G&&G.argument)?G.argument:null;if(E&&E.conn){if(this.isCallInProgress(E)){E.conn.abort();window.clearInterval(this._poll[E.tId]);delete this._poll[E.tId];if(A){window.clearTimeout(this._timeOut[E.tId]);delete this._timeOut[E.tId];}D=true;}}else{if(E&&E.isUpload===true){var C="yuiIO"+E.tId;var F=document.getElementById(C);if(F){YAHOO.util.Event.removeListener(F,"load");document.body.removeChild(F);if(A){window.clearTimeout(this._timeOut[E.tId]);delete this._timeOut[E.tId];}D=true;}}else{D=false;}}if(D===true){this.abortEvent.fire(E,B);if(E.abortEvent){E.abortEvent.fire(E,B);}this.handleTransactionResponse(E,G,true);}return D;},isCallInProgress:function(B){if(B&&B.conn){return B.conn.readyState!==4&&B.conn.readyState!==0;}else{if(B&&B.isUpload===true){var A="yuiIO"+B.tId;return document.getElementById(A)?true:false;}else{return false;}}},releaseObject:function(A){if(A&&A.conn){A.conn=null;A=null;}}};YAHOO.register("connection",YAHOO.util.Connect,{version:"2.5.1",build:"984"});

var resLoc = "EIR";

var Dom = YAHOO.util.Dom,
	Event = YAHOO.util.Event,
	Connect = YAHOO.util.Connect,
	Y = YAHOO;

YAHOO.namespace("util.helper");
var HA_utils = YAHOO.util;
if ( typeof HA == 'undefined' ) { var HA = {}; }
HA = {
	Dom: YAHOO.util.Dom,
	Event: YAHOO.util.Event,
	Connect: YAHOO.util.Connect,
	Helper: YAHOO.util.helper,
	Lang: YAHOO.util.Lang
};

YAHOO.util.helper.ripName = function(thisName){
	var strVars = location.search;
		strVars = unescape(strVars);
		strVars = strVars + "&";

	var regE = new RegExp( "[?&]" + thisName + "=([^&$]*)", "i" );

	strVars = regE.exec(strVars);
	if(strVars == null){return false;}
	
	return (typeof strVars[1] === "undefined" || strVars[1] === "undefined") ? false : strVars[1];
};

YAHOO.util.helper.setCookie = function() {
	if(arguments.length < 2) { return; }
	var n = arguments[0],
		v = arguments[1],
		d = 0,
		exp = '';

	if(arguments.length > 2) { d = parseInt(arguments[2]); }

	if(d > 0) {
		var now = new Date();
		then = now.getTime() + (d * 24 * 60 * 60 * 1000);
		now.setTime(then);
		exp = '; expires=' + now.toGMTString();
	}
	
	document.cookie = n + "=" + escape(String(v)) + exp + "; path=/; domain=";
} 

YAHOO.util.helper.readCookie = function(n) {
	var cookiecontent = "";
	if(document.cookie.length > 0) {
		var cookiename = n+ '=',
			cookiebegin = document.cookie.indexOf(cookiename),
			cookieend = 0;
		if(cookiebegin > -1) {
			cookiebegin += cookiename.length;
			cookieend = document.cookie.indexOf(";",cookiebegin);
			if(cookieend < cookiebegin) { cookieend = document.cookie.length; }
				cookiecontent = document.cookie.substring(cookiebegin,cookieend);
			}
		}
	return unescape(cookiecontent);
}

YAHOO.util.helper.loadPopup = function(sR, w, h){	
	var win2 = new Object();
		w=w||500;
		h=h||300;
	var winfeatures="left=150,top=200,width="+w+",height="+h+",scrollbars=yes,resizable=1,toolbar=0,location=0,menubar=0,status=1,directories=0";
	
    win2=window.open(sR,"HolidayAutos",winfeatures);
	return win2;
};

YAHOO.util.helper.formValue = {
	input: function(element) {
		switch (element.type.toLowerCase()) {
			case 'checkbox':
			case 'radio':
				return YAHOO.util.helper.formValue.inputSelector(element);
			default:
				return YAHOO.util.helper.formValue.textarea(element);
		}
	},
	inputSelector: function(element) { return element.checked ? element.value : null; },
	textarea: function(element) { return element.value; },
	select: function(element) { return this[element.type == 'select-one' ? 'selectOne' : 'selectMany'](element); },
	selectOne: function(element) {
		var index = element.selectedIndex;
		return index >= 0 ? this.optionValue(element.options[index]) : null;
	},
	selectMany: function(element) {
		var values, length = element.length;
		if (!length) return null;
		
		for (var i = 0, values = []; i < length; i++) {
			var opt = element.options[i];
			if (opt.selected) values.push(this.optionValue(opt));
		}
		return values;
	},
	optionValue: function(opt) {
		// extend element because hasAttribute may not be native
		return (opt.value)?opt.value : opt.text;
	}
};

YAHOO.util.helper.cache = {};
YAHOO.util.helper.tmpl = function tmpl(str, data){
	var fn = !/\W/.test(str) ? YAHOO.util.helper.cache[str] = YAHOO.util.helper.cache[str] || 
		YAHOO.util.helper.tmpl(document.getElementById(str).innerHTML) :
			new Function(
				"obj",
				"var p=[],print=function(){p.push.apply(p,arguments);};" +
				"with(obj){p.push('" + str
					.replace(/[\r\t\n]/g, " ")
					.split("<%").join("\t")
					.replace(/((^|%>)[^\t]*)'/g, "$1\r")
					.replace(/\t=(.*?)%>/g, "',$1,'")
					.split("\t").join("');")
					.split("%>").join("p.push('")
					.split("\r").join("\\'") 
					+ "');}return p.join('');"
			);

	return data ? fn( data ) : fn;
};

Function.prototype.method = function(name,fn) {
    this.prototype[name]=fn;
    return this;
};
if(!Array.prototype.map){ Array.method('forEach',function(fn,thisObj){var scope=thisObj||window;for(var i=0,j=this.length;i<j;++i){fn.call(scope,this[i],i,this);}}). method('every',function(fn,thisObj){var scope=thisObj||window;for(var i=0,j=this.length;i<j;++i){if(!fn.call(scope,this[i],i,this)){return false;}}return true;}). method('some',function(fn,thisObj){var scope=thisObj||window;for(var i=0,j=this.length;i<j;++i){if(fn.call(scope,this[i],i,this)){return true;}}return false;}). method('map',function(fn,thisObj){var scope=thisObj||window;var a=[];for(var i=0,j=this.length;i<j;++i){a.push(fn.call(scope,this[i],i,this));}return a;}). method('filter',function(fn,thisObj){var scope=thisObj||window;var a=[];for(var i=0,j=this.length;i<j;++i){if(!fn.call(scope,this[i],i,this)){continue;}a.push(this[i]);}return a;}). method('indexOf',function(el,start){var start=start||0;for(var i=start,j=this.length;i<j;++i){if(this[i]===el){return i;}}return-1;}). method('lastIndexOf',function(el,start){var start=start||this.length;if(start>=this.length){start=this.length;}if(start<0){start=this.length+start;}for(var i=start;i>=0;--i){if(this[i]===el){return i;}}return-1;}); }

(function() {
    // dandy shorthand mehtods
	isHTMLCollection = function(el){
		if (YAHOO.env.ua.ie && YAHOO.env.ua.ie < 8 || document.compatMode == "BackCompat") { return typeof el.item == 'function'; }
		else { return el instanceof HTMLCollection; }
		return false;
	};
	
	dGet = function(el, eltag, elnode){
		var strC = '';
		var arrEl;
		if (YAHOO.util.Lang.isUndefined(el)) { }
		else if (YAHOO.util.Lang.isString(el)) {
			//first character in string defines class search, id search or class
			strC = el.substr(0, 1);
			if (strC === "." || strC === "#") {
				el = el.substr(1);
				arrEl = (strC === ".") ? Dom.getElementsByClassName(el, eltag, elnode) : Dom.get(el);
			} else { arrEl = Dom.get(el); }
		}
            //switched typeof el.item == 'function' for el instanceof HTMLCollection
		else if (typeof el.length == 'number' && isHTMLCollection(el) && el.tagName != 'SELECT') {
			arrEl = [];
			for (var i = 0, len = el.length; i < len; i++) { arrEl.push(el[i]); }
		} else { arrEl = Dom.get(el); }
        
        try {
            arrEl = (arrEl.nodeType) ? [arrEl] : arrEl;
            return arrEl;
        } catch (err) {};
	}; 

	HA.register = function(REG) {
		function __$(el, eltag, elnode) { this.el = dGet(el, eltag, elnode); };
        __$.method("setStyle", function(prop, val) {
            Dom.setStyle(this.el, prop, val);
            return this;
        }).
        method("getStyle", function(prop, fn) {
            fn.call(this, Dom.getStyle(this.el, prop));
            return this;
        }).
        method("setCSS", function(styles) {
			for (prop in styles) {
				try { Dom.setStyle(this.el, prop, styles[prop]); } 
				catch (err) {}
			}
        }).
        method("getXY", function(fn) {
            fn.call(this, Dom.getXY(this.el));
            return this;
        }).
        method("setXY", function(xy) {
            Dom.setXY(this.el, xy);
            return this;
        }).
        method("addClass", function(c) {
            Dom.addClass(this.el, c);
            return this;
        }).
        method("removeClass", function(c) {
            Dom.removeClass(this.el, c);
            return this;
        }).
        method("replaceClass", function(oc, nc) {
            Dom.replaceClass(this.el, oc, nc);
            return this;
        }).
        method("hasClass", function(c, fn) {
            fn.call(this, Dom.hasClass(this.el, c));
            return this;
        }).
        method("toggle", function() {
            var method = function(el) {
                if ( Dom.getStyle(el, 'display') == 'none' ) { Dom.setStyle(el, 'display', ''); }
				else { Dom.setStyle(el, 'display', 'none'); }
			};
			Dom.batch(this.el, method);
			return this;
        }).
		method("show", function() {
            Dom.setStyle(this.el, 'display', '');
            return this;
        }).
        method("hide", function() {
            Dom.setStyle(this.el, 'display', 'none');
            return this;
        }).
        method("setContent", function(html) {				
            var method = function(el) { el.innerHTML = html; };
            Dom.batch(this.el, method);
            return this;
        }).
        method("create", function(el, o, cb) {
            var el = document.createElement(el);
            for ( prop in o ) {
                if ( YAHOO.util.Lang.hasOwnProperty(o, prop) ) {
                    if (prop == "className"){ Dom.addClass(el, o[prop]); }
					else{ el.setAttribute(prop, o[prop]); }
				}
            }
            if (cb) { cb.call(this, el); }
            return this;
        }).
        method("append", function(element, bSingle) {			
            if (bSingle == true) { document.body.appendChild(element); }
			else {
				var n_elem = element.cloneNode(true);
				Dom.batch(this.el, function(el){ el.appendChild(n_elem); });
			}
            return this;
        }).
		method("replace", function(element) {			
            Dom.batch(this.el, function(el) {
                var n_elem = element.cloneNode(true);
				el.parentNode.replaceChild(n_elem, el);
            });
            return this;
        }).
        method("on", function(type, fn, stop) {				
            var that = this;
			
            Dom.batch(this.el, function(el) {
                var f = function(e, el) {
                    if (stop) { Event.stopEvent(e); }
                    fn.call(that, el, e);
                };				
                Event.on(el, type, f, el);
            });
            return this;
        }).
        method("hijackForm", function(cb) {
            var that = this;
            var frm = this.el[0];
            this["on"]('submit', function(e) {
                Event.preventDefault(e);
                Connect.setForm(frm);
                if ( cb.before ) { cb.before.call(this); }
                Connect.asyncRequest('POST', frm['action'], {
                    success: function(resp) {
                        if ( cb.after ) { cb.after.call(that, resp.responseText); }
                        if ( cb.populate ) { Dom.get(cb.populate).innerHTML = resp.responseText; }
                    },
                    failure: function(resp) {
                        if ( cb.failure ) { cb.failure.call(that, resp); }
                    },
                    timeout: 20000
                });
            });
            return this;
        }).
        method("repeat", function(time, repeatid, fn) {
            var that = this;
            this.time = (time || 1) * 1000;
            var f = function() { fn.call(that); };
            this.repeatid = window.setInterval(f, this.time);
            return this;
        }).
        method("stopRepeat", function() {
            window.clearTimeout(this.repeatid);
            return this;
        }).
        method("fetch", function(uri, cb) {
            var that = this;
			var otag = {};
            if ( cb.before ) { cb.before.call(this); }
            Connect.asyncRequest('GET', uri, {				
                success: function(o) {          			
					if (cb.tags) {
                        var oresponse = o.responseXML;
                        var arrT = cb.tags.length;						                        
                        for (var i = 0; i < arrT; i++) {							
                            otag[cb.tags[i]] = oresponse.getElementsByTagName(cb.tags[i])[0].firstChild.nodeValue;
                            //alert(oresponse.getElementsByTagName(cb.tags[i])[0].firstChild.nodeValue + '  ' + otag[cb.tags[i]])
                        }
                    } else { var oresponse = o.responseText; }
		            cb.after.call(that, oresponse, otag, o);
		        },
                failure: function(o) { cb.after.call(that, ''); },
                timeout: 20000
            });
            return this;
        }).
        method("populate", function(uri, cb) {
            var that = this;
            Connect.asyncRequest('GET', uri, {
                success: function(o) {
                    that["setContent"](o.responseText);
					if(cb){cb.after.call(that, o.responseText);};
                },
                failure: function(o) { if(cb){cb.after.call(that, o.responseText);}; },
                timeout: 20000
            });
            return this;
        }).
		 method('forEach', function(fn) {		
			this.el.forEach(fn,this);
            return this;
        }). 
		method('filter', function(fn, cb){
			var newEl = this.el.filter(fn,this);
            if (!cb) { this.el = newEl; }
			else { cb.call(this, newEl) }
			return this;
		}).
		method('add', function(el){
		    this.el = [].concat(this.el, dGet(el));
        	return this;
		}).
        method("pluck", function(attribute, delimeter, fn) {			
            var map = this.el.map(function(el) {				
                if ( el.getAttribute(attribute) ) { return el.getAttribute(attribute); }
            });
			
            if ( delimeter ) { fn.call(this, map.join(delimeter)); }
			else { fn.call(this, map); }
            return this;
        });
        
        window["_$"] = function(el) { return new __$(el); };
		
        HA.extendChain = function(name, fn) {
            __$.method(name, fn);
        };
	};
})();
HA.register();

var pgMessaging = [];
var Messaging = {
	handleSuccess: function(o){ this.processResult(o); },
	handleFailure: function(o){ try { console.log("failed to read XML") } catch(err) {} },
	processResult: function(o){
		var xmlCont = o.responseXML, x = xmlCont.documentElement.getElementsByTagName("message");
		for (var i = 0; i < x.length; i++) {
			pgMessaging.push([x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue, x[i].getElementsByTagName("caption")[0].childNodes[0].nodeValue]);
		}
	},
	startRequest: function(xmlFile){
		var callback = {
			cache: false,
			success: Messaging.handleSuccess,
			failure: Messaging.handleFailure,
			scope: Messaging
		};
		YAHOO.util.Connect.asyncRequest('GET', xmlFile, callback);
	},
	getMessage: function(msg) {
		var oput = "";
		for (var i = 0; i < pgMessaging.length; i++) {
			var ttl = pgMessaging[i][0];
			if (ttl === msg) { oput = pgMessaging[i][1]; break; }
		}
		return oput;			
	}
};
