var isIE=navigator.userAgent.toLowerCase().indexOf("msie")>-1;var isMoz=document.implementation&&document.implementation.createDocument;var isSafari=((navigator.userAgent.toLowerCase().indexOf("safari")!=-1)&&(navigator.userAgent.toLowerCase().indexOf("mac")!=-1))?true:false;function curvyCorners(){if(typeof(arguments[0])!="object"){throw newCurvyError("First parameter of curvyCorners() must be an object.")}if(typeof(arguments[1])!="object"&&typeof(arguments[1])!="string"){throw newCurvyError("Second parameter of curvyCorners() must be an object or a class name.")}if(typeof(arguments[1])=="string"){var G=0;var A=getElementsByClass(arguments[1])}else{var G=1;var A=arguments}var D=new Array();if(arguments[0].validTags){var F=arguments[0].validTags}else{var F=["div"]}for(var C=G,B=A.length;C<B;C++){var E=A[C].tagName.toLowerCase();if(inArray(F,E)!==false){D[D.length]=new curvyObject(arguments[0],A[C])}}this.objects=D;this.applyCornersToAll=function(){for(var H=0,I=this.objects.length;H<I;H++){this.objects[H].applyCorners()}}}function curvyObject(){this.box=arguments[1];this.settings=arguments[0];this.topContainer=null;this.bottomContainer=null;this.masterCorners=new Array();this.contentDIV=null;var G=get_style(this.box,"height","height");var D=get_style(this.box,"width","width");var A=get_style(this.box,"borderTopWidth","border-top-width");var H=get_style(this.box,"borderTopColor","border-top-color");var C=get_style(this.box,"backgroundColor","background-color");var E=get_style(this.box,"backgroundImage","background-image");var B=get_style(this.box,"position","position");var F=get_style(this.box,"paddingTop","padding-top");this.boxHeight=parseInt(((G!=""&&G!="auto"&&G.indexOf("%")==-1)?G.substring(0,G.indexOf("px")):this.box.scrollHeight));this.boxWidth=parseInt(((D!=""&&D!="auto"&&D.indexOf("%")==-1)?D.substring(0,D.indexOf("px")):this.box.scrollWidth));this.borderWidth=parseInt(((A!=""&&A.indexOf("px")!==-1)?A.slice(0,A.indexOf("px")):0));this.boxColour=format_colour(C);this.boxPadding=parseInt(((F!=""&&F.indexOf("px")!==-1)?F.slice(0,F.indexOf("px")):0));this.borderColour=format_colour(H);this.borderString=this.borderWidth+"px solid "+this.borderColour;this.backgroundImage=((E!="none")?E:"");this.boxContent=this.box.innerHTML;if(B!="absolute"){this.box.style.position="relative"}this.box.style.padding="0px";if(isIE&&D=="auto"&&G=="auto"){this.box.style.width="100%"}if(this.settings.autoPad==true&&this.boxPadding>0){this.box.innerHTML=""}this.applyCorners=function(){for(var Z=0;Z<2;Z++){switch(Z){case 0:if(this.settings.tl||this.settings.tr){var W=document.createElement("DIV");W.style.width="100%";W.style.fontSize="1px";W.style.overflow="hidden";W.style.position="absolute";W.style.paddingLeft=this.borderWidth+"px";W.style.paddingRight=this.borderWidth+"px";var R=Math.max(this.settings.tl?this.settings.tl.radius:0,this.settings.tr?this.settings.tr.radius:0);W.style.height=R+"px";W.style.top=0-R+"px";W.style.left=0-this.borderWidth+"px";this.topContainer=this.box.appendChild(W)}break;case 1:if(this.settings.bl||this.settings.br){var W=document.createElement("DIV");W.style.width="100%";W.style.fontSize="1px";W.style.overflow="hidden";W.style.position="absolute";W.style.paddingLeft=this.borderWidth+"px";W.style.paddingRight=this.borderWidth+"px";var X=Math.max(this.settings.bl?this.settings.bl.radius:0,this.settings.br?this.settings.br.radius:0);W.style.height=X+"px";W.style.bottom=0-X+"px";W.style.left=0-this.borderWidth+"px";this.bottomContainer=this.box.appendChild(W)}break}}if(this.topContainer){this.box.style.borderTopWidth="0px"}if(this.bottomContainer){this.box.style.borderBottomWidth="0px"}var d=["tr","tl","br","bl"];for(var h in d){if(h>-1<4){var c=d[h];if(!this.settings[c]){if(((c=="tr"||c=="tl")&&this.topContainer!=null)||((c=="br"||c=="bl")&&this.bottomContainer!=null)){var V=document.createElement("DIV");V.style.position="relative";V.style.fontSize="1px";V.style.overflow="hidden";if(this.backgroundImage==""){V.style.backgroundColor=this.boxColour}else{V.style.backgroundImage=this.backgroundImage}switch(c){case"tl":V.style.height=R-this.borderWidth+"px";V.style.marginRight=this.settings.tr.radius-(this.borderWidth*2)+"px";V.style.borderLeft=this.borderString;V.style.borderTop=this.borderString;V.style.left=-this.borderWidth+"px";break;case"tr":V.style.height=R-this.borderWidth+"px";V.style.marginLeft=this.settings.tl.radius-(this.borderWidth*2)+"px";V.style.borderRight=this.borderString;V.style.borderTop=this.borderString;V.style.backgroundPosition="-"+(R+this.borderWidth)+"px 0px";V.style.left=this.borderWidth+"px";break;case"bl":V.style.height=X-this.borderWidth+"px";V.style.marginRight=this.settings.br.radius-(this.borderWidth*2)+"px";V.style.borderLeft=this.borderString;V.style.borderBottom=this.borderString;V.style.left=-this.borderWidth+"px";V.style.backgroundPosition="-"+(this.borderWidth)+"px -"+(this.boxHeight+(X+this.borderWidth))+"px";break;case"br":V.style.height=X-this.borderWidth+"px";V.style.marginLeft=this.settings.bl.radius-(this.borderWidth*2)+"px";V.style.borderRight=this.borderString;V.style.borderBottom=this.borderString;V.style.left=this.borderWidth+"px";V.style.backgroundPosition="-"+(X+this.borderWidth)+"px -"+(this.boxHeight+(X+this.borderWidth))+"px";break}}}else{if(this.masterCorners[this.settings[c].radius]){var V=this.masterCorners[this.settings[c].radius].cloneNode(true)}else{var V=document.createElement("DIV");V.style.height=this.settings[c].radius+"px";V.style.width=this.settings[c].radius+"px";V.style.position="absolute";V.style.fontSize="1px";V.style.overflow="hidden";var M=parseInt(this.settings[c].radius-this.borderWidth);for(var T=0,g=this.settings[c].radius;T<g;T++){if((T+1)>=M){var O=-1}else{var O=(Math.floor(Math.sqrt(Math.pow(M,2)-Math.pow((T+1),2)))-1)}if(M!=g){if((T)>=M){var L=-1}else{var L=Math.ceil(Math.sqrt(Math.pow(M,2)-Math.pow(T,2)))}if((T+1)>=g){var J=-1}else{var J=(Math.floor(Math.sqrt(Math.pow(g,2)-Math.pow((T+1),2)))-1)}}if((T)>=g){var I=-1}else{var I=Math.ceil(Math.sqrt(Math.pow(g,2)-Math.pow(T,2)))}if(O>-1){this.drawPixel(T,0,this.boxColour,100,(O+1),V,-1,this.settings[c].radius)}if(M!=g){for(var S=(O+1);S<L;S++){if(this.settings.antiAlias){if(this.backgroundImage!=""){var K=(pixelFraction(T,S,M)*100);if(K<30){this.drawPixel(T,S,this.borderColour,100,1,V,0,this.settings[c].radius)}else{this.drawPixel(T,S,this.borderColour,100,1,V,-1,this.settings[c].radius)}}else{var b=BlendColour(this.boxColour,this.borderColour,pixelFraction(T,S,M));this.drawPixel(T,S,b,100,1,V,0,this.settings[c].radius,c)}}}if(this.settings.antiAlias){if(J>=L){if(L==-1){L=0}this.drawPixel(T,L,this.borderColour,100,(J-L+1),V,0,0)}}else{if(J>=O){this.drawPixel(T,(O+1),this.borderColour,100,(J-O),V,0,0)}}var Q=this.borderColour}else{var Q=this.boxColour;var J=O}if(this.settings.antiAlias){for(var S=(J+1);S<I;S++){this.drawPixel(T,S,Q,(pixelFraction(T,S,g)*100),1,V,((this.borderWidth>0)?0:-1),this.settings[c].radius)}}}this.masterCorners[this.settings[c].radius]=V.cloneNode(true)}if(c!="br"){for(var Z=0,f=V.childNodes.length;Z<f;Z++){var U=V.childNodes[Z];var e=parseInt(U.style.top.substring(0,U.style.top.indexOf("px")));var m=parseInt(U.style.left.substring(0,U.style.left.indexOf("px")));var o=parseInt(U.style.height.substring(0,U.style.height.indexOf("px")));if(c=="tl"||c=="bl"){U.style.left=this.settings[c].radius-m-1+"px"}if(c=="tr"||c=="tl"){U.style.top=this.settings[c].radius-o-e+"px"}switch(c){case"tr":U.style.backgroundPosition="-"+Math.abs((this.boxWidth-this.settings[c].radius+this.borderWidth)+m)+"px -"+Math.abs(this.settings[c].radius-o-e-this.borderWidth)+"px";break;case"tl":U.style.backgroundPosition="-"+Math.abs((this.settings[c].radius-m-1)-this.borderWidth)+"px -"+Math.abs(this.settings[c].radius-o-e-this.borderWidth)+"px";break;case"bl":U.style.backgroundPosition="-"+Math.abs((this.settings[c].radius-m-1)-this.borderWidth)+"px -"+Math.abs((this.boxHeight+this.settings[c].radius+e)-this.borderWidth)+"px";break}}}}if(V){switch(c){case"tl":if(V.style.position=="absolute"){V.style.top="0px"}if(V.style.position=="absolute"){V.style.left="0px"}if(this.topContainer){this.topContainer.appendChild(V)}break;case"tr":if(V.style.position=="absolute"){V.style.top="0px"}if(V.style.position=="absolute"){V.style.right="0px"}if(this.topContainer){this.topContainer.appendChild(V)}break;case"bl":if(V.style.position=="absolute"){V.style.bottom="0px"}if(V.style.position=="absolute"){V.style.left="0px"}if(this.bottomContainer){this.bottomContainer.appendChild(V)}break;case"br":if(V.style.position=="absolute"){V.style.bottom="0px"}if(V.style.position=="absolute"){V.style.right="0px"}if(this.bottomContainer){this.bottomContainer.appendChild(V)}break}}}}var Y=new Array();Y.t=Math.abs(this.settings.tl.radius-this.settings.tr.radius);Y.b=Math.abs(this.settings.bl.radius-this.settings.br.radius);for(z in Y){if(z=="t"||z=="b"){if(Y[z]){var l=((this.settings[z+"l"].radius<this.settings[z+"r"].radius)?z+"l":z+"r");var N=document.createElement("DIV");N.style.height=Y[z]+"px";N.style.width=this.settings[l].radius+"px";N.style.position="absolute";N.style.fontSize="1px";N.style.overflow="hidden";N.style.backgroundColor=this.boxColour;switch(l){case"tl":N.style.bottom="0px";N.style.left="0px";N.style.borderLeft=this.borderString;this.topContainer.appendChild(N);break;case"tr":N.style.bottom="0px";N.style.right="0px";N.style.borderRight=this.borderString;this.topContainer.appendChild(N);break;case"bl":N.style.top="0px";N.style.left="0px";N.style.borderLeft=this.borderString;this.bottomContainer.appendChild(N);break;case"br":N.style.top="0px";N.style.right="0px";N.style.borderRight=this.borderString;this.bottomContainer.appendChild(N);break}}var P=document.createElement("DIV");P.style.position="relative";P.style.fontSize="1px";P.style.overflow="hidden";P.style.backgroundColor=this.boxColour;P.style.backgroundImage=this.backgroundImage;switch(z){case"t":if(this.topContainer){if(this.settings.tl.radius&&this.settings.tr.radius){P.style.height=R-this.borderWidth+"px";P.style.marginLeft=this.settings.tl.radius-this.borderWidth+"px";P.style.marginRight=this.settings.tr.radius-this.borderWidth+"px";P.style.borderTop=this.borderString;if(this.backgroundImage!=""){P.style.backgroundPosition="-"+(R-this.borderWidth)+"px 0px"}this.topContainer.appendChild(P)}this.box.style.backgroundPosition="0px -"+(R-this.borderWidth)+"px"}break;case"b":if(this.bottomContainer){if(this.settings.bl.radius&&this.settings.br.radius){P.style.height=X-this.borderWidth+"px";P.style.marginLeft=this.settings.bl.radius-this.borderWidth+"px";P.style.marginRight=this.settings.br.radius-this.borderWidth+"px";P.style.borderBottom=this.borderString;if(this.backgroundImage!=""){P.style.backgroundPosition="-"+(X-this.borderWidth)+"px -"+(this.boxHeight+(R-this.borderWidth))+"px"}this.bottomContainer.appendChild(P)}}break}}}if(this.settings.autoPad==true&&this.boxPadding>0){var a=document.createElement("DIV");a.style.position="relative";a.innerHTML=this.boxContent;a.className="autoPadDiv";var n=Math.abs(R-this.boxPadding);var p=Math.abs(X-this.boxPadding);if(R<this.boxPadding){a.style.paddingTop=n+"px"}if(X<this.boxPadding){a.style.paddingBottom=X+"px"}a.style.paddingLeft=this.boxPadding+"px";a.style.paddingRight=this.boxPadding+"px";this.contentDIV=this.box.appendChild(a)}};this.drawPixel=function(R,O,I,N,P,Q,K,M){var J=document.createElement("DIV");J.style.height=P+"px";J.style.width="1px";J.style.position="absolute";J.style.fontSize="1px";J.style.overflow="hidden";var L=Math.max(this.settings.tr.radius,this.settings.tl.radius);if(K==-1&&this.backgroundImage!=""){J.style.backgroundImage=this.backgroundImage;J.style.backgroundPosition="-"+(this.boxWidth-(M-R)+this.borderWidth)+"px -"+((this.boxHeight+L+O)-this.borderWidth)+"px"}else{J.style.backgroundColor=I}if(N!=100){setOpacity(J,N)}J.style.top=O+"px";J.style.left=R+"px";Q.appendChild(J)}}function insertAfter(B,C,A){B.insertBefore(C,A.nextSibling)}function BlendColour(L,J,G){var D=parseInt(L.substr(1,2),16);var K=parseInt(L.substr(3,2),16);var F=parseInt(L.substr(5,2),16);var C=parseInt(J.substr(1,2),16);var I=parseInt(J.substr(3,2),16);var E=parseInt(J.substr(5,2),16);if(G>1||G<0){G=1}var H=Math.round((D*G)+(C*(1-G)));if(H>255){H=255}if(H<0){H=0}var B=Math.round((K*G)+(I*(1-G)));if(B>255){B=255}if(B<0){B=0}var A=Math.round((F*G)+(E*(1-G)));if(A>255){A=255}if(A<0){A=0}return"#"+IntToHex(H)+IntToHex(B)+IntToHex(A)}function IntToHex(A){base=A/16;rem=A%16;base=base-(rem/16);baseS=MakeHex(base);remS=MakeHex(rem);return baseS+""+remS}function MakeHex(A){if((A>=0)&&(A<=9)){return A}else{switch(A){case 10:return"A";case 11:return"B";case 12:return"C";case 13:return"D";case 14:return"E";case 15:return"F"}}}function pixelFraction(H,G,A){var C=0;var B=new Array(1);var F=new Array(1);var I=0;var D="";var E=Math.sqrt((Math.pow(A,2)-Math.pow(H,2)));if((E>=G)&&(E<(G+1))){D="Left";B[I]=0;F[I]=E-G;I=I+1}var E=Math.sqrt((Math.pow(A,2)-Math.pow(G+1,2)));if((E>=H)&&(E<(H+1))){D=D+"Top";B[I]=E-H;F[I]=1;I=I+1}var E=Math.sqrt((Math.pow(A,2)-Math.pow(H+1,2)));if((E>=G)&&(E<(G+1))){D=D+"Right";B[I]=1;F[I]=E-G;I=I+1}var E=Math.sqrt((Math.pow(A,2)-Math.pow(G,2)));if((E>=H)&&(E<(H+1))){D=D+"Bottom";B[I]=E-H;F[I]=0}switch(D){case"LeftRight":C=Math.min(F[0],F[1])+((Math.max(F[0],F[1])-Math.min(F[0],F[1]))/2);break;case"TopRight":C=1-(((1-B[0])*(1-F[1]))/2);break;case"TopBottom":C=Math.min(B[0],B[1])+((Math.max(B[0],B[1])-Math.min(B[0],B[1]))/2);break;case"LeftBottom":C=(F[0]*B[1])/2;break;default:C=1}return C}function rgb2Hex(B){try{var C=rgb2Array(B);var G=parseInt(C[0]);var E=parseInt(C[1]);var A=parseInt(C[2]);var D="#"+IntToHex(G)+IntToHex(E)+IntToHex(A)}catch(F){alert("There was an error converting the RGB value to Hexadecimal in function rgb2Hex")}return D}function rgb2Array(A){var C=A.substring(4,A.indexOf(")"));var B=C.split(", ");return B}function setOpacity(F,C){C=(C==100)?99.999:C;if(isSafari&&F.tagName!="IFRAME"){var B=rgb2Array(F.style.backgroundColor);var E=parseInt(B[0]);var D=parseInt(B[1]);var A=parseInt(B[2]);F.style.backgroundColor="rgba("+E+", "+D+", "+A+", "+C/100+")"}else{if(typeof(F.style.opacity)!="undefined"){F.style.opacity=C/100}else{if(typeof(F.style.MozOpacity)!="undefined"){F.style.MozOpacity=C/100}else{if(typeof(F.style.filter)!="undefined"){F.style.filter="alpha(opacity:"+C+")"}else{if(typeof(F.style.KHTMLOpacity)!="undefined"){F.style.KHTMLOpacity=C/100}}}}}}function inArray(C,B){for(var A=0;A<C.length;A++){if(C[A]===B){return A}}return false}function inArrayKey(B,A){for(key in B){if(key===A){return true}}return false}function addEvent(E,D,B,A){if(E.addEventListener){E.addEventListener(D,B,A);return true}else{if(E.attachEvent){var C=E.attachEvent("on"+D,B);return C}else{E["on"+D]=B}}}function removeEvent(E,D,B,A){if(E.removeEventListener){E.removeEventListener(D,B,A);return true}else{if(E.detachEvent){var C=E.detachEvent("on"+D,B);return C}else{alert("Handler could not be removed")}}}function format_colour(B){var A="#ffffff";if(B!=""&&B!="transparent"){if(B.substr(0,3)=="rgb"){A=rgb2Hex(B)}else{if(B.length==4){A="#"+B.substring(1,2)+B.substring(1,2)+B.substring(2,3)+B.substring(2,3)+B.substring(3,4)+B.substring(3,4)}else{A=B}}}return A}function get_style(obj,property,propertyNS){try{if(obj.currentStyle){var returnVal=eval("obj.currentStyle."+property)}else{if(isSafari&&obj.style.display=="none"){obj.style.display="";var wasHidden=true}var returnVal=document.defaultView.getComputedStyle(obj,"").getPropertyValue(propertyNS);if(isSafari&&wasHidden){obj.style.display="none"}}}catch(e){}return returnVal}function getElementsByClass(G,E,A){var D=new Array();if(E==null){E=document}if(A==null){A="*"}var C=E.getElementsByTagName(A);var B=C.length;var F=new RegExp("(^|s)"+G+"(s|$)");for(i=0,j=0;i<B;i++){if(F.test(C[i].className)){D[j]=C[i];j++}}return D}function newCurvyError(A){return new Error("curvyCorners Error:\n"+A)};
var mylogin = new Object();

mylogin.sUploadUrl = '/ajax/ajax_login.php';
mylogin.bUpload = false;

mylogin.nicknev_err = "Érvénytelen Felhasználónév!<BR>Megengedett hossz: 4-20 karakter";
mylogin.pass_err = "Érvénytelen Jelszó!<BR>Megengedett hossz: 4-20 karakter";
mylogin.mail_err = "Érvénytelen E-mail cím!";

mylogin.overlay = new YAHOO.widget.Panel("login_overlay", { close:false,fixedcenter:true,visible:true,width:"500px",modal:true,draggable:false } );

mylogin.getProfilPanel = function(nick,level,hirdeto){
	return "<li id=\"li_nickname\">"+nick+"</li>\
	<li><a href='/adatmodositas' title=''>Adatmódosítás</a></li>\
	<li><a href='/kedvencek' title='Itt megtalálhatod az általad összeválogatott recepteket'>Kedvenc receptjeim</a></li>\
	<li><a href='/myrecept' title='Itt megtalálod az általad feltöltött recepteket'>Saját receptek</a></li>"+
	((level>1)?"<li><a href='/admin' title=''>Adminisztráció</a></li>":"")+
	((level>1 || hirdeto)?"<li><a href='/myHirdetes' title=''>Hirdetéseim</a></li>":"")+
	"<li><a href='/logout.php' title=''>Kijelentkezés</a></li>";
}

mylogin.showLogin = function(){
	var o_body="<div id='login_overlay' class='hiba_overlay_class'>\
					<form name='loginform' enctype='multipart/form-data' method='post' onsubmit='return false;' class='cssform'>\
						<input type='hidden' name='posted' value='login'/>\
						<img src='/images/key.png' style='float:right;'/><h2>Bejelentkezés:</h2>\
						<p>\
							<label>Felhasználónév:&nbsp;<img id='nick_errico' src='/images/cancel.png' style='display:none;' onmouseout='buborek.hide()' /></label>\
							<input type='text' name='nick' maxlength='20' value='' onkeyup='mylogin.checkNick(this.value);'/>\
						</p><p>\
							<label>Jelszó:&nbsp;<img id='pass_errico' src='/images/cancel.png' style='display:none;' onmouseout='buborek.hide()' /></label>\
							<input type='password' name='pass' maxlength='32' value='' onkeyup='mylogin.checkJelszo(this.value);'/>\
						</p><p>\
							<label for='remember'>Bejelentkezési adatok megjegyzése</label>\
							<input type=checkbox name='remember' />\
						</p><p>\
							<input type='button' value='Bejelentkezés' id='login_submit' />&nbsp;<input id='login_close' type='button' value='Mégse'/>\
						</p>\
					</form>\
					<ul>\
						<li><a href='/register'>Regisztrálj itt!</a></li>\
						<li><a href='#' onclick='mylogin.showLostPass();'>Elfelejtettem a jelszavamat!</a></li>\
					</ul>\
				</div>";
	this.overlay.setBody(o_body);
	this.overlay.render(document.body);
	YAHOO.util.Event.addListener("login_close", "click", this.overlay.hide, this.overlay, true);
	YAHOO.util.Event.addListener("login_submit", "click", this.submitLogin, this, true);
	this.overlay.show();
}

mylogin.showLostPass = function(){
	var o_body="<div id='login_overlay' class='hiba_overlay_class'>\
					<form name='lostpassform' enctype='multipart/form-data' method='post' action='return false;' class='cssform'>\
						<input type='hidden' name='posted' value='lostpass'/>\
						<img src='/images/email.png' style='float:right;'/><h2>Új jelszó generálása:</h2>\
						<p>\
							<label>Felhasználónév:&nbsp;<img id='nick_errico' src='/images/cancel.png' style='display:none;' onmouseout='buborek.hide()' /></label>\
							<input type='text' name='nick' maxlength='20' value='' onkeyup='mylogin.checkNick(this.value);'/>\
						</p><p>\
							<label>E-mail cím:&nbsp;<img id='mail_errico' src='/images/cancel.png' style='display:none;' onmouseout='buborek.hide()' /></label>\
							<input type='text' name='emil' maxlength='50' value='' onkeyup='mylogin.checkMail(this.value);'/>\
						</p><p>\
							<input type='button' value='Új jelszó kérése' id='login_submit'>&nbsp;<input id='login_close' type='button' value='Mégsem'/>\
						</p>\
					</form>\
					<ul>\
						<li><a href='/register'>Regisztrálj itt!</a></li>\
						<li><a href='#' onclick='mylogin.showLogin();'>Bejelentkezés itt!</a></li>\
					</ul>\
				</div>";
	this.overlay.setBody(o_body);
	this.overlay.render(document.body);
	YAHOO.util.Event.addListener("login_close", "click", this.overlay.hide, this.overlay, true);
	YAHOO.util.Event.addListener("login_submit", "click", this.submitLostPass, this, true);
	this.overlay.show();
}

mylogin.goLogin = function(){
	this.bUpload = false;
	this.showLogin();
}

mylogin.goUpload = function(){
	if(document.getElementById("li_nickname")){
		window.location = "/feltoltes";
	}else{
		this.showLogin();
		this.bUpload = true;
	}
}

mylogin.hidesuccess = function(){
	if(this.bUpload){
		this.bUpload = false;
		window.location = "/feltoltes";
	}
	this.overlay.hide();
}

mylogin.logout = function(){
	//kijelentkezés
}

mylogin.checkNick = function(value){
	var filter = /^(.){4,20}$/i; //filter PHP-ból betöltve
	var my_err = document.getElementById("nick_errico");
	if(!filter.test(value)){
		my_err.style.display = "inline";
		my_err.onmousemove = function(e) {mylogin.showMsg(e||event,mylogin.nicknev_err);};
		return mylogin.nicknev_err;
	}else{
		my_err.style.display = "none";
		return null;
	}
}

mylogin.checkJelszo = function(value){
	var filter = /^(.){4,20}$/i; //filter PHP-ból betöltve
	var my_err = document.getElementById("pass_errico");
	if(!filter.test(value)){
		my_err.style.display = "inline";
		my_err.onmousemove = function(e) {mylogin.showMsg(e||event,mylogin.pass_err);};
		return mylogin.pass_err;
	}else{
		my_err.style.display = "none";
		return null;
	}
}

mylogin.checkMail = function(value){
		var filter = /^[-a-zA-Z0-9_\.\+\/]+@{1}[-a-zA-Z0-9_\.\+\/]+[\.]{1}[-a-zA-Z0-9_\.\+\/]{2,}$/i; //filter PHP-ból betöltve
		var my_err = document.getElementById("mail_errico");
		if(!filter.test(value)){
			//jelenítsd meg az X-et
			my_err.style.display = "inline";
			my_err.onmousemove = function(e) {mylogin.showMsg(e||event,mylogin.mail_err);};
			return mylogin.mail_err; //hiba
		}else{
			my_err.style.display = "none";
			return null; //nincs hiba
		}
	}

mylogin.showMsg = function(event,msg){
	var scrollTop = ( document.documentElement.scrollTop || document.body.scrollTop );
	var scrollLeft = ( document.documentElement.scrollLeft || document.body.scrollLeft );
	var obj = document.getElementById("bub_szoveg");
	obj.innerHTML = msg;
	buborek.show();
	buborek.moveTo(event.clientX + scrollLeft-30,event.clientY + scrollTop+20);
	buborek.bringToTop(); //a modal ablak fölött kell lennie
}
	
mylogin.checkAllUpload = function(argForm){
	var vNick = argForm.nick.value;
	var vPass = (argForm.pass?argForm.pass.value:null);
	var vMail = (argForm.emil?argForm.emil.value:null);

	var error = new Array();
	var temp;
	
	temp = this.checkNick(vNick);
	if(temp) error.push(temp);
	if(vPass != null){
		temp = this.checkJelszo(vPass);
		if(temp) error.push(temp);
	}
	if(vMail != null){
		temp = this.checkMail(vMail);
		if(temp) error.push(temp);
	}
	return error;
}

//az Ajax kéréseket küldi el a szerver felé
mylogin.submitLogin = function(){
		YAHOO.util.Connect.setForm('loginform',false); //parse-olja a form-ot
		var form_error = this.checkAllUpload(document.loginform);
		this.submitForm(form_error,'login');
	}
	
mylogin.submitLostPass = function(){
		YAHOO.util.Connect.setForm('lostpassform',false); //parse-olja a form-ot
		var form_error = this.checkAllUpload(document.lostpassform);
		this.submitForm(form_error,'lostpass');
	}

mylogin.submitReactivate = function(nick){
	var o_body = "<div id='hiba_overlay' class='hiba_overlay_class' style='text-align:center'>";
		o_body += "<img src='/ajax/ajax-loader.gif' style='float:none'/>";
		o_body += "<li>Adatok feldolgozása folyamatban...</li>";
		o_body += "</div>";
		this.overlay.setBody(o_body);
		this.overlay.render(document.body);
	var handleSuccess = function(o) { //siker esetén
		if(o.responseText !== undefined){
			var response= [];
			try{
				response = YAHOO.lang.JSON.parse(o.responseText); //dolgozd fel a JSON formátumú választ
				o_body = "<div id='hiba_overlay' class='hiba_overlay_class'>";
				if(response[0].value == false ){ //Recept kitöltése nem jó
					o_body += "<img src='/images/error.png' /><H3>";
					o_body += "A következő hibák történtek:</H3><ul>";
					for(var i=1;i<response.length;i++){
						o_body += "<li>"+response[i].value+"</li>";
						var actElem = document.getElementById(response[i].name+"ico");
						if(actElem){
							actElem.param_v = response[i].value;
							actElem.onmousemove= function(e) {mylogin.showMsg(e||event,this.param_v);};
							actElem.style.display = "inline";
						}
					}
					o_body += "</ul>";
				}else{
					o_body += "<img src='/images/check.png' />";
					o_body += "<H3>Az aktivációs E-mailt ismételten elküldtük!</H3>";
				}
				o_body += "<div id='spacer'></div><a id='hiba_close' href='#'>OK</a></div>";
				mylogin.overlay.setBody(o_body);
				mylogin.overlay.render(document.body);
				YAHOO.util.Event.addListener("hiba_close", "click", mylogin.hidesuccess, mylogin, true); 
			} 
			catch (x) { 
				alert("JSON Parse failed!\n"+x+"\nresponse: "+o.responseText); 
				var a = "";
					a += "Transaction id: " + o.tId + "\n";
					a += "HTTP status: " + o.status + "\n";
					a += "Status code message: " + o.statusText;
					alert(a);
					mylogin.overlay.hide();
					return; 
			}
		}else{
			alert('Hibás választ kaptam a szervertől!'); //ez is egy csúnya hiba
			mylogin.overlay.hide();
		}
	};

	var handleFailure = function(o){ //hiba esetén
		var a = "Hiba a szerverrel való kommunikációnál:\n";
		if(o.responseText !== undefined){
			a += "Transaction id: " + o.tId + "\n";
			a += "HTTP status: " + o.status + "\n";
			a += "Status code message: " + o.statusText;
		}
		alert(a); //írd ki, hogy hiba
		mylogin.overlay.hide();
	};

	var callback =
	{
		success:handleSuccess //csak siker van, mert ez iFrame bújtatós módszer
		,failure:handleFailure
	};
	var request = YAHOO.util.Connect.asyncRequest('POST', 'ajax/ajax_resend_activate.php', callback, 'nick='+nick);
}

mylogin.submitForm = function(form_error,operation){
		if(form_error.length){
			var o_body = "<div id='hiba_overlay' class='hiba_overlay_class'>";
				o_body += "<img src='/images/error.png' />";
				o_body += "<H3>A következő hibák történtek:</H3><ul>";
						for(var i=0;i<form_error.length;i++){
							o_body += "<li>"+form_error[i]+"</li>";
						}
				o_body += "</ul>";
				o_body += "<div id='spacer'></div><a id='hiba_close' href='#'>OK</a></div>";
				this.overlay.setBody(o_body);
				this.overlay.render(document.body);
				if(operation == "login")
					YAHOO.util.Event.addListener("hiba_close", "click", this.showLogin, this, true);
				else
					YAHOO.util.Event.addListener("hiba_close", "click", this.showLostPass, this, true);
			return;
		}
		var o_body = "<div id='hiba_overlay' class='hiba_overlay_class' style='text-align:center'>";
			o_body += "<img src='/ajax/ajax-loader.gif' style='float:none'/>";
			o_body += "<li>Adatok feldolgozása folyamatban...</li>";
			o_body += "</div>";
			this.overlay.setBody(o_body);
			this.overlay.render(document.body);
		var handleSuccess = function(o) { //siker esetén
			if(o.responseText !== undefined){
				var response= [];
				try{
					response = YAHOO.lang.JSON.parse(o.responseText); //dolgozd fel a JSON formátumú választ
					o_body = "<div id='hiba_overlay' class='hiba_overlay_class'>";
					if(response[0].value == false ){ //Recept kitöltése nem jó
						o_body += "<img src='/images/error.png' /><H3>";
						o_body += "A következő hibák történtek:</H3><ul>";
						for(var i=1;i<response.length;i++){
							o_body += "<li>"+response[i].value+"</li>";
							var actElem = document.getElementById(response[i].name+"ico");
							if(actElem){
								actElem.param_v = response[i].value;
								actElem.onmousemove= function(e) {mylogin.showMsg(e||event,this.param_v);};
								actElem.style.display = "inline";
							}
						}
						o_body += "</ul>";
					}else{
						o_body += "<img src='/images/check.png' />";
						if(operation == 'login'){
							document.getElementById('profil_panel').innerHTML = mylogin.getProfilPanel(response[1].value,response[1].level,response[1].hirdeto);
							if(document.getElementById('fav_button'))
								document.getElementById('fav_button').style.display = 'block';
							if(document.getElementById('comment_form'))
								document.getElementById('comment_form').style.display = 'inline';
							if(document.getElementById('comment_not_logged_in'))
								document.getElementById('comment_not_logged_in').style.display = 'none';
							o_body += "<H3>Sikeresen bejelentkeztél!</H3>";
						}else{
							o_body += "<H3>Az ideiglenes új jelszavadat kiküldtük az E-mail címedre! Kérjük első bejelentkezésedkor változtasd meg!</H3>";
						}
					}
					o_body += "<div id='spacer'></div><a id='hiba_close' href='#'>OK</a></div>";
					mylogin.overlay.setBody(o_body);
					mylogin.overlay.render(document.body);
					YAHOO.util.Event.addListener("hiba_close", "click", mylogin.hidesuccess, mylogin, true); 
				} 
				catch (x) { 
					alert("JSON Parse failed!\n"+x+"\nresponse: "+o.responseText); 
					var a = "";
					a += "Transaction id: " + o.tId + "\n";
					a += "HTTP status: " + o.status + "\n";
					a += "Status code message: " + o.statusText;
					alert(a);
					mylogin.overlay.hide();
					return; 
				}
			}else{
				alert('Hibás választ kaptam a szervertől!'); //ez is egy csúnya hiba
				mylogin.overlay.hide();
			}
		};
		
		var handleFailure = function(o){ //hiba esetén
			var a = "Hiba a szerverrel való kommunikációnál:\n";
			if(o.responseText !== undefined){
				a += "Transaction id: " + o.tId + "\n";
				a += "HTTP status: " + o.status + "\n";
				a += "Status code message: " + o.statusText;
			}
			alert(a); //írd ki, hogy hiba
			mylogin.overlay.hide();
		};

		var callback =
		{
			success:handleSuccess //csak siker van, mert ez iFrame bújtatós módszer
			,failure:handleFailure
		};
		var request = YAHOO.util.Connect.asyncRequest('POST', this.sUploadUrl, callback);
	}
var myautocomplete = new Object();

myautocomplete.cache = new Object();

myautocomplete.sUploadUrl = '/ajax/ajax_autocomplete.php';

myautocomplete.overlay = new YAHOO.widget.Overlay("autocomplete", {context:["kulcsszo","tl","bl", ["beforeShow", "windowResize"]],visible:false} );

myautocomplete.submit = function(value){
	if(value == ""){
		this.overlay.hide();
		return;
	}
	var handleSuccess = function(o){//siker esetén
		if(o.responseText !== undefined){
			var response= [];
			try{
				response = YAHOO.lang.JSON.parse(o.responseText); //dolgozd fel a JSON formátumú választ
				var key = o.argument.keyword;
				if(myautocomplete.cache[key] == undefined)
					myautocomplete.cache[key] = o.responseText;
				if(response.length < 1){
					myautocomplete.overlay.hide();
					return;
				}
				o_body = "<div id='autocomplete' ><ul>";
				//Regexp elkészítése
				var specials = ['/', '.', '*', '+', '?', '|','(', ')', '[', ']', '{', '}', '\\'];
				var escape = new RegExp('(\\' + specials.join('|\\') + ')', 'g');
				var myRegExp = o.argument.keyword.replace(escape, '\\$1');
				myRegExp = myRegExp.replace(/(a|á)/ig,"(a|á)");
				myRegExp = myRegExp.replace(/(e|é)/ig,"(e|é)");
				myRegExp = myRegExp.replace(/(i|í)/ig,"(i|í)");
				myRegExp = myRegExp.replace(/(o|ó)/ig,"(o|ó)");
				myRegExp = myRegExp.replace(/(ö|ő)/ig,"(ö|ő)");
				myRegExp = myRegExp.replace(/(ü|ű)/ig,"(ü|ű)");
				myRegExp = myRegExp.replace(/(u|ú)/ig,"(u|ú)");
				myRegExp = new RegExp(myRegExp,"i");
				//Vége
				for(var i=0;i<response.length;i++){
					var str = response[i].nev;
					var mymatch = str.match(myRegExp);
					if(mymatch != null)
						str = str.replace(myRegExp, "<span class='highlight'>"+mymatch[0]+"</span>");
					var enterevent = "document.getElementById(\"kulcsszo\").onblur = null;";
					var outevent = "document.getElementById(\"kulcsszo\").onblur = function(){myautocomplete.overlay.hide();}";
					var clickevent = "document.kereses.kulcsszo.value = \""+response[i].nev.replace(/(\")/g,'\\"').replace(/\'/,'&#39;')+"\";myautocomplete.overlay.hide();";
					if(response[i].kep == '1')
						o_body += "<li><a href='#' onClick='"+clickevent+outevent+"' onMouseOver='"+enterevent+"' onMouseOut='"+outevent+"'><img src='/recept_img/thumb_"+response[i].kep_nev+"'/><div class='cell'>"+str+"</div></a></li>";
					else
						o_body += "<li><a href='#' onClick='"+clickevent+outevent+"' onMouseOver='"+enterevent+"' onMouseOut='"+outevent+"'><img src='/images/no_image.jpg'><div class='cell'>"+str+"</div></a></li>";
				}
				o_body += "</ul></div>";
				myautocomplete.overlay.setBody(o_body);
				myautocomplete.overlay.render(document.body);
				myautocomplete.overlay.show();
			} 
			catch (x) { 
				alert("JSON Parse failed!\n"+x+"\nresponse: "+o.responseText); 
				myautocomplete.overlay.hide();
				return; 
			}
		}else{
			alert('Hibás választ kaptam a szervertől!'); //ez is egy csúnya hiba
			myautocomplete.overlay.hide();
		}
	};

	var handleFailure = function(o){ //hiba esetén
		var a = "Hiba a szerverrel való kommunikációnál:\n";
		if(o.responseText !== undefined){
			a += "Transaction id: " + o.tId + "\n";
			a += "HTTP status: " + o.status + "\n";
			a += "Status code message: " + o.statusText;
		}
		alert(a); //írd ki, hogy hiba
	};

	var callback =
	{
		success:handleSuccess
		,failure:handleFailure
		,argument: { keyword: value}
	};
	
	if(this.cache[value] != undefined){ //cache-ben van
		var o = new Object();
		o.responseText = this.cache[String(value)];
		o.argument = new Object();
		o.argument.keyword = value;
		handleSuccess(o);
	}else{
		var request = YAHOO.util.Connect.asyncRequest('POST', this.sUploadUrl, callback, 'val='+value);
	}
}
var myTooltip=new Object();myTooltip.tip=new YAHOO.widget.Overlay("myTooltip",{visible:false});myTooltip.myImg=null;myTooltip.showTip=function(b,a){var c=(document.documentElement.scrollTop||document.body.scrollTop);var d=(document.documentElement.scrollLeft||document.body.scrollLeft);this.myImg=new Image();var e="	<div style='background-color: #A33000;width: 75px; padding: 3px;'>		<img name='tipimage' src='/images/ajax-loader-small.gif' style='display:block;margin:auto;' />	</div>";this.tip.setBody(e);this.tip.render(document.body);this.tip.show();this.tip.moveTo(b.clientX+d+5,b.clientY+c+5);this.myImg.onload=myTooltip.imgLoad;this.myImg.src=a};myTooltip.hideTip=function(){this.tip.hide()};myTooltip.imgLoad=function(){document.images.tipimage.src=myTooltip.myImg.src};
function adjustRows(a){if(a!=null){if(navigator.appName.toLowerCase().indexOf("opera")!=-1){a.rows=Math.ceil(a.value.length*10.5/a.clientWidth)}else{while(a.clientHeight<a.scrollHeight){a.rows++}}}}function Set_Cookie(c,e,a,h,d,g){var b=new Date();b.setTime(b.getTime());if(a){a=a*1000*60*60*24}var f=new Date(b.getTime()+(a));document.cookie=c+"="+escape(e)+((a)?";expires="+f.toGMTString():"")+((h)?";path="+h:"")+((d)?";domain="+d:"")+((g)?";secure":"")}function clone(){var d=document.getElementById("content").getElementsByTagName("embed"),b;for(b=0;b<d.length;b++){parent=d[b].parentNode;d[b].setAttribute("wmode","opaque");leClone=d[b].cloneNode(true);leClone.setAttribute("wmode","opaque");parent.insertBefore(leClone,d[b]);parent.removeChild(d[b])}var d=document.getElementById("content").getElementsByTagName("object");for(b=0;b<d.length;b++){leClone=d[b].cloneNode(true);newParam=document.createElement("param");newParam.name="wmode";newParam.value="opaque";leClone.appendChild(newParam);parentNode=d[b].parentNode;parentNode.insertBefore(leClone,d[b]);try{var c=parentNode.getElementsByTagName("object")[b+1];parentNode.removeChild(c)}catch(a){}}}function copyToList(d,c){fromList=document.getElementById(d);toList=document.getElementById(c);if(toList.options.length>0&&toList.options[0].value=="temp"){toList.options.length=0}var a=false;for(i=0;i<fromList.options.length;i++){var b=fromList.options[i];if(b.selected){a=true;if(b.value=="temp"){return}txt=b.text;val=b.value;toList.options[toList.length]=new Option(txt,val);fromList.options[i]=null;i--}}if(!a){alert("Nem jelöltél ki semmit!")}}function allSelect(){List=document.getElementById("chosen");if(List.length&&List.options[0].value=="temp"){List.options[0].selected=false;return}for(i=0;i<List.length;i++){List.options[i].selected=true}}function print_recept(a){window.open("/nyomtat.php?id="+a,"_blank","width=630,menubar=0,resizable=0,scrollbars=1,status=0,titlebar=0,toolbar=0,left=0,top=0")}function kuld_recept(a,c,b){window.open("/kuldes.php?kep="+a+"&id="+c+"&nev="+b,"_blank","width=630,height=660,menubar=0,resizable=0,scrollbars=1,status=0,titlebar=0,toolbar=0,left=0,top=0")}function heart_rollover(a){for(i=1;i<=5;i++){if(i<=a){document.getElementById("img"+i).src="/images/heart.png"}else{document.getElementById("img"+i).src="/images/heart_gh.png"}}}function heart_push(a){document.comment_kuld.ertek.value=a}function heart_out(){for(i=1;i<=5;i++){if(i<=document.comment_kuld.ertek.value){document.getElementById("img"+i).src="/images/heart.png"}else{document.getElementById("img"+i).src="/images/heart_gh.png"}}}function addDynamicSelect(b,d,c,h){var g=document.getElementsByTagName("SELECT");var n=g.length;var j=0;for(i=n-1;i>=0;i--){if(g[i].name==b){if(g[i].value=="nincs"){g[i].parentNode.parentNode.parentNode.removeChild(g[i].parentNode.parentNode)}else{j++}}}if(j>=c){return}var o=document.createElement("TR");var e=document.createElement("TD");var p=document.createTextNode("Kategória:");e.appendChild(p);var a=document.createElement("TD");var l=document.createElement("SELECT");l.name=b;l.onchange=function(){addDynamicSelect(b,d,c,h)};a.appendChild(l);o.appendChild(e);o.appendChild(a);var f=document.createElement("OPTION");f.value="nincs";var m=document.createTextNode("nincs");f.appendChild(m);l.appendChild(f);for(i=0;i<h.length;i++){var f=document.createElement("OPTION");f.value=h[i];var m=document.createTextNode(h[i]);f.appendChild(m);l.appendChild(f)}var k=d.parentNode||d.parentElement;k.insertBefore(o,d)}function populate_select(f,b,a){a=a.replace("&amp;","&");alkat_matrix=new Array();alkat_matrix.levesek=null;alkat_matrix["húsételek"]=new Array("szárnyas","hal","vadhús","disznóhús","marhahús","grill","egyéb húsétel");alkat_matrix["ünnepi ételek"]=new Array("Karácsony","Húsvét","egyéb ünnep");alkat_matrix["vegetáriánus"]=null;alkat_matrix["tészták"]=new Array("Spaghetti","Pizza","Lasagne","Olaszos Ízek","egyéb");alkat_matrix["főzelékek"]=null;alkat_matrix["saláták"]=null;alkat_matrix["mártások"]=null;alkat_matrix["gyors ételek"]=new Array("magyar","török","görög","kínai","amerikai","mexikói","egyéb");alkat_matrix["édességek"]=new Array("sütemények","torták","fagylaltok","egyéb");alkat_matrix["sós sütemények"]=null;alkat_matrix.szendvicsek=null;alkat_matrix.cocktail=new Array("Famous & Classic","Rum & Strong","Shooters","Pezsgős koktélok","Sweet & Creamy","Lemonade","Bólék","Puncsok","Alkoholmentes","Egyéb koktélok");alkat_matrix.italok=null;alkat_matrix["egyéb"]=null;var d=document.getElementById(f);while(d.childNodes[0]){d.removeChild(d.firstChild)}var c=document.createElement("OPTION");c.value="nincs";var e=document.createTextNode("nincs");c.appendChild(e);d.appendChild(c);if(alkat_matrix[b]!=null){for(i=0;i<alkat_matrix[b].length;i++){var c=document.createElement("OPTION");c.value=alkat_matrix[b][i];if(a==c.value){c.selected=true}var e=document.createTextNode(alkat_matrix[b][i]);c.appendChild(e);d.appendChild(c)}}}function populate_days(c){var e=document.getElementById("nap_id");var g=document.getElementById("honap_id").value;var b=document.getElementById("ev_id").value;while(e.childNodes[0]){e.removeChild(e.firstChild)}var a=32-new Date(b,g-1,32).getDate();for(i=1;i<=a;i++){var d=document.createElement("OPTION");d.value=i;if(c==d.value){d.selected=true}var f=document.createTextNode(i);d.appendChild(f);e.appendChild(d)}}function checkForm(g,b,a,d){var h=document.getElementById(g);if(h.value=="nincs"){alert("Nem választottál főkategóriát!");return false}var c=document.getElementById(b);var f=document.getElementById(a);if((c.value=="nincs")&&(f.value=="nincs")&&(c.length>1)){alert("Kötelező legalább 1 alkategóriát megadni!");return false}if((c.value==f.value)&&(c.value!="nincs")){alert("Kétszer ugyanaz az alkategória nem adható meg!");return false}var e=document.getElementById(d).value;var j=e.substring(e.length-4,e.length).toLowerCase();if(j!=".gif"&&j!=".png"&&j!=".jpg"&&j.length>0){alert("A(z) "+j+" fájlformátum nem támogatott!\r\nTámogatott formátumok: jpg,gif,png");return false}return true}function resize_ad(){var e=document.getElementById("hirdetes_in").getElementsByTagName("object")[0]||document.getElementById("hirdetes_in").getElementsByTagName("embed")[0],d,f,c;if(e==null){return}d=parseInt(e.width),f=parseInt(e.height);if(d>310){e.height=310/(d/f);e.width=310;c=document.getElementsByTagName("embed")[0];if(c!=null){c.height=310/(d/f);c.width=310}}};
/* 
	The following information must not be removed:
	Awesome Box v2
	Written by: Paul Armstrong, Paul Armstrong Designs
	Site: http://paularmstrongdesigns.com
	Idea and some functions from "LightBox" http://www.huddletogether.com
	Example & Documentation: http://paularmstrongdesigns.com/awesome/box/
	Last Updated: Friday, February 2, 2007 at 12:31:10

	This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License
	http://creativecommons.org/licenses/by-sa/2.5/
	
	Required Yahoo! UI Files:
		* yahoo.js
		* dom.js
		* event.js
		* [ or: yahoo-dom-event.js ]
		* animation.js
		* [ or: animation-min.js ]
*/

var aLoadImgSrc = '/awesomebox/images/aBox-loading.gif'; // where is the loading image? (recommend absolute)
var siteURL = 'http://receptkalauz.hu/'; // requires trailing / (after .com)

var aImgTypes = new Array('jpg', 'gif', 'png', 'bmp','JPG', 'GIF', 'PNG', 'BMP'); // types of images to place in Awesome Box

/*
 *  ***************************************
 *  EDIT BEYOND THIS POINT AT YOUR OWN RISK
 *  ***************************************
 */

var aClient = new Object();
/* 
 *  aClient.allImgs()
 *    Find all links going to an image with an aImgTypes and return it as an array.
 */
aClient.allImgs = function() {
	var photos = new Array();
	var links = document.getElementsByTagName('a');
	var tables = document.getElementsByTagName('table');
	for(q =0; q < tables.length ; q++){
		var innerlinks = tables[q].getElementsByTagName('a');
		for(w = 0 ; w < innerlinks.length ; w++){
			for(e = 0; e < aImgTypes.length; e++) {
				if(innerlinks[w].href.indexOf(aImgTypes[e]) != -1) {
					photos.push(innerlinks[w]);
				}
			}
		}
	}
	
	for(i = 0; i < links.length; i++) {
		for(j = 0; j < aImgTypes.length; j++) {
			if(links[i].href.indexOf(aImgTypes[j]) != -1) {
				photos.push(links[i]);
			}
		}
	}
	return photos;
}

/* 
 *  aClient.pageWidth() and aClient.pageHeight()
 *    Returns the width and height of the content in the document.
 */
aClient.pageWidth = function() {
	var xScroll;
	if(window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
	} else if(document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
	}
	if(xScroll < $D.getViewportWidth()) {
		pageWidth = $D.getViewportWidth();
	} else {
		pageWidth = xScroll;
	}
	return pageWidth;
};
aClient.pageHeight = function() {
	var yScroll;
	if(window.innerHeight && window.scrollMaxY) {	
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if(document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		yScroll = document.body.offsetHeight;
	}
	if(yScroll <= $D.getViewportHeight()) {
		pageHeight = $D.getViewportHeight();
	} else { 
		pageHeight = yScroll;
	}
	return pageHeight;
};

/* 
 *  aClient.xScroll(), aClient.yScroll()
 *    Returns the position of the X and Y scrollbars.
 */
aClient.xScroll = function() {
	var xScroll = window.scrollX || document.documentElement.scrollLeft;
	return xScroll;
}	
aClient.yScroll = function() {
	var yScroll = window.scrollY || document.documentElement.scrollTop;
	return yScroll;
}	

/* 
 *  array.inArray(value)
 *    Returns the key of the array that value is assigned to if true, null if false.
 */
Array.prototype.inArray = function(value) {
	for (i=0; i < this.length; i++) { if(this[i] == value) { return i; } }
	return null;
}

/*
 *  Helper Variables
 */
var $D = YAHOO.util.Dom;
var $E = YAHOO.util.Event;
var $A = YAHOO.util.Anim;
var $M = YAHOO.util.Motion;
var $S = YAHOO.util.Scroll;
var $Ease = YAHOO.util.Easing;
var $ = $D.get;

/*
 *  AnimMgr
 *    Sets the default frames per second higher so Safari will display animations
 *    at the correct speed. Degrades for slower browsers.
 */
YAHOO.util.AnimMgr.fps = 500;

YAHOO.widget.aEffect = function(el) { this.oEl = YAHOO.util.Dom.get(el); };

/*
 *  YAHOO.widget.aEffect.aShowLoad()
 *    Animation widget for transition period on Awesome Box initialize or between images.
 */
YAHOO.widget.aEffect.prototype.aShowLoad = function() {
	var showLoad = new $A('aLoadImg', {opacity: {to: 1}}, 0.2);
	showLoad.onStart.subscribe(function() {
		$D.setStyle('aLoadImg', 'display', 'block');
		$D.setXY('aLoadImg', [
			($D.getViewportWidth()/2)-16+aClient.xScroll(), 
			($D.getViewportHeight()/2)-16+aClient.yScroll()
		]);
		if($D.hasClass('aBoxMeta', 'aOpen')) {
			var hideMeta = new $A('aBoxMeta', {opacity: {to: 0}, height: {to: 0}}, 0.2);
			hideMeta.onStart.subscribe(function() {
				$D.setStyle('aImg', 'opacity', '0');
				$D.setStyle('aImg', 'visibility', 'hidden');
			});
			hideMeta.animate();
		}
	});
	showLoad.animate();
};

/*
 *  YAHOO.widget.aEffect.aShowOverlay
 *    Fades in #aOverlay and #aBox.
 *    Initializes YAHOO.widget.aEffect.aShowLoad()
 */
YAHOO.widget.aEffect.prototype.aShowOverlay = function() {
	selects = document.getElementsByTagName("select");
	for (i = 0; i != selects.length; i++) {
		$D.setStyle(selects[i], 'visibility', 'hidden');
	}

	var fadeOverlay = new $A('aOverlay', {opacity: {to: 0.85}}, 0.3);
	fadeOverlay.onStart.subscribe(function() {
		$D.setStyle('aOverlay', 'display', 'block');
		$D.setStyle('aOverlay', 'height', aClient.pageHeight()+'px');
	});
	var showBox = new $A('aBox', {opacity: {to: 1}}, 0.3);
	showBox.onStart.subscribe(function() {
		$D.setStyle('aBox', 'display', 'block');
		var showLoad = new YAHOO.widget.aEffect();
		showLoad.aShowLoad();
	});
	showBox.animate();
	fadeOverlay.animate();
};

/*
 *  YAHOO.widget.aEffect.aResizeBox()
 *    Initialized after new image is completed loading. Resizes and moves #aBox, times out
 *    and displays #aBoxMeta information
 */
YAHOO.widget.aEffect.prototype.aResizeBox = function(aPreload) {
	var imgScale = YAHOO.awesomebox.scaleImage(aPreload);

	var moveBox = new $M('aBox', {
		width: {to: (imgScale[0]+20)},
		height: {to: (imgScale[1]+20)},
		points: {to: [
			($D.getViewportWidth()/2)-(imgScale[0]/2)+aClient.xScroll()-10,
			($D.getViewportHeight()/2)-(imgScale[1]/2)+aClient.yScroll()-10
			]
		}
	}, 0.3);
	moveBox.onStart.subscribe(function() {
		$D.setStyle('aBox', 'display', 'block');
		
		var hideLoad = new $A('aLoadImg', {opacity: {to: 0}}, 0.3);
		var sizeImage = new $A('aImg', {width: {to: imgScale[0]}, height: {to: imgScale[1]}}, 0.3);
	
		hideLoad.onComplete.subscribe(function() { $D.setStyle('aLoadImg', 'display', 'none'); });
		hideLoad.animate();
		sizeImage.animate();
	});
	moveBox.onComplete.subscribe(function() {
		$D.setStyle('aBox', 'height', imgScale[1]+70+'px');
		$D.setStyle('aBoxMeta', 'width', imgScale[0]+'px');
		$D.addClass('aBoxMeta', 'aOpen');
		$('aImg').setAttribute('width', imgScale[0]);
		$('aImg').setAttribute('height', imgScale[1]);
		$D.setStyle('aImg', 'visibility', 'visible');
	
		var fadeImg = new $A('aImg', {opacity: {from: 0, to: 1}}, 0.3);

		fadeImg.onComplete.subscribe(function() {
			var showMeta = new $A('aBoxMeta', {opacity: {from: 0, to: 1}, height: {to: 40}}, 0.2);
			showMeta.animate();
		});
		fadeImg.animate();
	});
	if($D.hasClass('aBoxMeta', 'aOpen')) {
		setTimeout(function() {
			$('aImg').setAttribute('src', aPreload.src);
			moveBox.animate();
		}, 300);
	} else {
		$('aImg').setAttribute('src', aPreload.src);
		moveBox.animate();
	}
};

/*
 *  YAHOO.widget.aEffect.aClose
 *    Closes #aBox and #aOverlay. Invoked via pressing 'x', clicking the 'X' image or #aOverlay
 */
YAHOO.widget.aEffect.prototype.aClose = function() {
	var that = $('aImg');
	var hideMeta = new $A('aBoxMeta', {height: {to: 0}, opacity: {to: 0}}, 0.2);
	var fadeBox = new $M('aBox', {opacity: {to: 0}}, 0.3);
	fadeBox.onComplete.subscribe(function() {
		var hideOverlay = new $A('aOverlay', {opacity: {to: 0}}, 0.3);
		hideOverlay.onStart.subscribe(function() {
			selects = document.getElementsByTagName("select");
			for (i = 0; i != selects.length; i++) {
				$D.setStyle(selects[i], 'visibility', 'visible');
			}
			$D.removeClass('aBoxMeta', 'aOpen');
			$D.setStyle('aBox', 'display', 'none');
			$D.setStyle('aImg', 'opacity', '0');
			$D.setStyle('aImg', 'visibility', 'hidden');
			$D.setStyle('aOverlay', 'display', 'none');
			$D.setStyle('aOverlay', 'height', '0px');
			$D.setStyle('aLoadImg', 'display', 'none');
		});
		hideOverlay.animate();
	});
	hideMeta.animate();
	fadeBox.animate();
	$E.removeListener('aNextButton', 'click');
	$E.removeListener('aPrevButton', 'click');
	$E.removeListener(document, 'keypress');
};

/*
 * YAHOO.widget.aEffect.aAwesome
 *   This is awesome. Pay no attention to it.
 */
YAHOO.widget.aEffect.prototype.aAwesome = function() {
if(!$('aAwesome')){var aBody=document.getElementsByTagName("body").item(0);var aAwesome=document.createElement('a');$(aAwesome).setAttribute('id','aAwesome');$(aAwesome).setAttribute('href','http://paularmstrongdesigns.com/#awesomebox');
$D.setStyle(aAwesome,'background',"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAMAAABHPGVmAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAwBQTFRFUmuqGyQ5N0hxBwkOZobURFmNWXS4X33GKTZVFBsqDhIcv7+/PVB/ICAgIi1HYGBg57XREBAQ7+/vMD9j887ggICAS2KbQEBA6brUn5+fAgUI7MDYMDAw5rPQ6rzVI0R36LfSBQkQ8cve7cLZ6LjT57bSDhsw5bLP8MjcID9v5bHP677W8crd8szf673W7L/Xz8/P5LDOBw4Y8sze7MHYr6+vCRIg6rvV88/g7sTaHDZf7cHY8s3f7MDX78bbEyRA9NDhHjtn5rTQ8cnd677X39/f6bnTDBcoSWyxFSlHDw0O7cPZGTJX78fc7sPZ5rTR9dLiW33JUnS9cHBwPF6eFy1P6bnU7sXa5K7N467N8Mnd9dPj8cre9NHh78Xb5K/NQFqR57bRLlGL5bDO883fZIbWN1qYOzA28Mjd5K/O8Mfcj4+P67/XUFBQ9dHiPDI3OSwzV3nDHhgb8sveEiA29M/h9NHiHRgbQGOk463M88/hYILP6LnT7sPa6rvU7sXbroqePjU5LCQpaYvc5rLQ9tXk9tTjJyUlHBYa6r3W6LfT1aPAHxsd99bkTEFGjm2AHxoctZinl36KlXuJnXqO3rXLwZ2wvJWrrYidEA4OWUhRdFtpyZ22lXyJgGFz267HHhocRzdALCInPTM4yK65qI+b3bPKzqe8VHS7lHiHV0ZQdmFss5SlooOUdl9r1qTBOSsz1aK/SWKddm5uuIym58fVWU1UDQwMKyAmTWutSTpDn32QTnC3Rl6ValtiPjY6PTU5VkRODgsNyp63SDlBd2FsnnuPRWeq9dPioYGSSTpCsJCi5cPTLScqtpqnhGt5wJyvtJalpoyZSz9F2LvIV0VPk3aG0cPDKz9mspGiwZ6waWJiIjpk78fb2avFKkyFOUx5VkNOW01UvZasLCQoOi41c1lo2KrEDwwNclZmZ1NeW1VVtpuoqpSdDwwOt6ur1rfFTkZJaVhh9tTkKyEnXE9VPTQ4spGjKyInj2+Byp+3JUh/bY/i////AAAAAAAASn+ycwAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAfcSURBVHjavJp3fBzFFcdn2+3uVd+d784nnZAV27Jk2llYFDfZgLGR5SqbYIxjqg0Y44Lp3aa3UFMoCSTUhAQCKUAaLYXee++dhF5u9pmZ2dlykiXtrDjeH/7DupvvZ97vvTdv3hzaKGJAra2O/ivyNSRGaGruapwqyggOIQvXNU+tVCqNTaKMoBC6iYUVZuuEGQEhZBe72ojKeKgRhIjdyhmVNlBEGYEgAM2NDqMDokYtIIThICqtdZCXagAB2NZlVKaDhGsAIXq4viLOAh1/95qQUJrqMkgayhhDDSAdnrPawMRY/c4hxFkeY1dQdIxRCEi/XyHOGu+PLA1jnA8BkfpLYIDp3ka2hSxhYDkEBKty3+EC0OpzlkEZOBkGgnHEhF6HBjcvRbpIhjCLhoNg3dkL9DRXkal1psoYOoSEYA18BDMbR9S0rNnkMBrrJJsRRhIOIVnMzcjzxZjd5jDaDP4/ESU8xGCEaNxPoDbfhjQ7DE2B8JA4RWi4t615mZYs/hc1CWEYDgRtGkFsw4xlC+wP6bISjuFAdFBxv6bmk7ZoG8NDMET6h8SjoRE+CMIDmBb9HiCk/oSlCEBY/RmsJkgmpvWvTXYwIRwBEp83rV69GkAxULWTzERCcuNbUwaTjHe9+4dFuy8du+9Fr1alpWomYpbVnjbwIOoKh0RP/+NRi3Y/cOyYMaMbLruTYPJ8TSmRsYiV0/IgKIhv5BdHLVpKGKNHNzTMGfLNm8ADIQIxi1lOwT5KGIgGt561aOlYxthxzpCfXfqkA5ET5RKki5Y1zRd+wq0E+apuwOlnUTnGjD65YcchQ/6aLq5wIYUCTfSyZUHel/6ilyApSjroHxM5CKOBMkY9WLZiLqTEqkmOQPwFVPCcR0gl27/yRiY5kWPvUT8lzol5mnBIe1W2qmKyIOb4wmdcjr1HDT8x5oNgu/aWrYJSVabFmi+6VrLbKn3N5Bg1fPjI11MkmMDxjmpCemUskwK5OvUlUYi5wiq9ZTPOHLnLsN+kYjHwFiVlMQFg9KgvushWKATIov+eQxkjCWPYdvcecYQPglVNlnuXT0MUUkjD3VSOkcfuRhibnbHV5m9wCEJ6XxVZYCs0T+D+P9/D5Nhlt2HHb7fZVpvvvPVyG0KLbjS/aYokBEHgykG2wRiTLoEkOwDef/p/H/dxMmuCkLddOSjj4K3rx/3W7nxl+EtvzR2pgvuLQb56ySfHwZPqx/3kX7y9VlHfJ2ZSDAK/OtGTY1L9xcupFEzdZBSUZB/dUhyEhIdE4r5fOnLUT1hfJEUX6Drmac/fcprSR4AFTxUWwikrk7rdZtSPmzCCniEl4C2yGeeM3tGsCEHIopnEU7bkE0bMXLvCslJ28YrwyNIk1pDLaqggdiBW93vMVSNGzN7hBnLkFv1VNx+FVDEW606A4g9nWQQikePCWvkwY8ycvcMPf3T5ysw0X13JQmoaO4NJnfRT4kKQRC5XWnsNc9VxhDF51qOrCnY2MmHS7ZZjKTouED6GES8eax/hjBMmT57VcsBOW3wCzj7SZcuzgu+EFIJo7/z+dyQDqRyE8eJBlPGDx/ihjqDdxyCxHQ0HicC1rhyTZx3UsgdhbLNlJ7+2F6wqS3mlTAiClevHPfvlczajpWWPLfYkjImvsXuRWr0R0kx6ESEGMZavJ7J8dCGVo2Unypi439APIM4W8tbPpAqpsuVFhBiEfLpUjOXgBluOQ7ecOHTo9od1Uu/HS35PAaSnFaRwEN7xdj/O5aCMB75gzYTskyTBuiMPEheDIJb0uVVcDsKYci6k0mQ5LdEDUvQgshgEJ+lWSqsYY7+h2x89ZQmkMzlSWhBkqt2VSUte7RKDqNFSJgYXUDkI47ApSw45L2Gx9ZSiT3golctedAlVYfs+UEo/7rhqyuFz534ORVIlNWwk+sqTCIhC6KXzfM5Ycvjc/y7+Uyekcuko1pVcdZqI6+5BsJqFXz/E5Dhk7uLFp55yVSfA2T+XSVfiOcyKpb0jIPhV2N8ooCRc8Y+r/08Yp356yjlPfHjuP8+mRdeAHBefhIJXHwUaVSQpZtatRno8SW6EnXecdBLZhiJlNd2+8Sa6Y7FYeyoNSh4LB7DdrUjgb0hUZFvVNduerFQdv9HgsxZkSygNOIxAPRsJgSkI4gdskKlH70Y1IAXx65mBa0hxZpBSGAjtywQgeQi88JoX1rnz0IBDYncGWb3SMWtmzPjbMZtiHFmptLYpstBd2ymQPsiG+Qv4OHifBTPmz5s3b39fkD1jj3CBz6I1EQj2QeYduU+lpy0juOv+bkSdwXoz2FN1XQSiV7tr//n/Webthmwlohlm1RNBM08tUU10lJdlyTFDfmUvYjejuJyUwBnXem8E0+1zJdDB5UIGsp4Pgo1N7N6SFYDEIehoGaDLeQROBj1UkNO4B3+Wb3IfNlHAtgg5B5DA23+H86ZiBlSez/pFxjHuQ1cHPcHMwBBZaHzl014NVL7sm6HYtA+A/wJgIciBch6FGY9CHXcYCWM9EEQ3xKfJjsMWghFEFGSGmb67DmsCPUA6onDvCM4DehdIARpJtDGcQVMjfxBGZu0g/Ol5PEjxmkHcxG+GgctXaAihsJ/ktELUrB3EEX8d1BJCcrKL1ckBk2AwEJ4uHbWF0BhrpRlZUwj9uVTz+IUDbWWQEPenAv1+5lsBBgD0KVsy7Bzn5gAAAABJRU5ErkJggg==')");
$D.setStyle(aAwesome,'display','block');$D.setStyle(aAwesome,'width','100px');$D.setStyle(aAwesome,'height','100px');$D.setStyle(aAwesome,'position','absolute');$D.setStyle(aAwesome,'z-index','999');aBody.appendChild(aAwesome);
var aMove=new $M('aAwesome',{points:{from:[-100,(($D.getViewportHeight()/2)+aClient.yScroll()-50)],to:[0,(($D.getViewportHeight()/2)+aClient.yScroll()-50)]}},0.1);aMove.animate();setTimeout(function(){var aMove=new $M('aAwesome',{points:{to:[-100,(($D.getViewportHeight()/2)+aClient.yScroll()-50)] }},0.1);aMove.onComplete.subscribe(function(){aBody.removeChild(aAwesome);});aMove.animate();},2000);}
};

/*
 *  YAHOO.awesomebox()
 *    Non-animating functions, initialized on window load completion.
 */
YAHOO.awesomebox = function() {
	return {
		
		/*
		 *  init()
		 *    Creates the markup, checks for direct image link, adds event listeners.
		 */
		init : function() {
			if(!document.getElementsByTagName){ return; }
			
			/*
			 *  Awesome Box Markup
			 *  
				<div id="aOverlay" title="Click to Close"></div>
				<div id="aBox">
					<div id="aImgHolder">
						<img id="aImg" />
					</div>
					<div id="aBoxMeta">
						<a class="aButton" href="#next" id="aNextButton"></a>
						<a class="aButton" href="#prev" id="aPrevButton"></a>
						<a class="aButton" href="#close" id="aCloseButton"></a>
						<h1 id="aInfoTitle"></h1>
						<p id="aCount"></p>
						<p id="aInfo"></p>
					</div>
				</div>
				<img src="/images/aBox-loading.gif" id="aLoadImg" />
			 */
			
			var aBody = document.getElementsByTagName("body").item(0);
	
			var aOverlay = document.createElement('div');
			$(aOverlay).setAttribute('id', 'aOverlay');
			$(aOverlay).setAttribute('title', 'Click to Close');
			aBody.appendChild(aOverlay);
			$D.setStyle('aOverlay', 'opacity', '0');
			
			var aBox = document.createElement('div');
			$(aBox).setAttribute('id', 'aBox');
			aBody.appendChild(aBox);
			$D.setStyle('aBox', 'opacity', '0');
			$D.setXY('aBox', [($D.getViewportWidth()/2)-21, ($D.getViewportHeight()/2)-21])
			$D.setStyle('aBox', 'display', 'none');
			
			var aImgHolder = document.createElement('div');
			$(aImgHolder).setAttribute('id', 'aImgHolder');
			aBox.appendChild(aImgHolder);

			var aImg = document.createElement('img');
			$(aImg).setAttribute('id', 'aImg');
			aImgHolder.appendChild(aImg);
			$D.setStyle('aImg', 'opacity', '0');
			$D.setStyle('aImg', 'visibility', 'hidden');
			
			var aBoxMeta = document.createElement('div');
			$(aBoxMeta).setAttribute('id', 'aBoxMeta');
			aBox.appendChild(aBoxMeta);
			
			var aNextButton = document.createElement('a');
			$(aNextButton).setAttribute('id', 'aNextButton');
			aBoxMeta.appendChild(aNextButton);
			$(aNextButton).setAttribute('href', '#next');
			$D.addClass(aNextButton, 'aButton');

			var aPrevButton = document.createElement('a');
			$(aPrevButton).setAttribute('id', 'aPrevButton');
			aBoxMeta.appendChild(aPrevButton);
			$(aPrevButton).setAttribute('href', '#prev');
			$D.addClass(aPrevButton, 'aButton');

			var aCloseButton = document.createElement('a');
			$(aCloseButton).setAttribute('id', 'aCloseButton');
			aBoxMeta.appendChild(aCloseButton);
			$(aCloseButton).setAttribute('href', '#close');
			$D.addClass(aCloseButton, 'aButton');
			
			var aInfoTitle = document.createElement('h1');
			$(aInfoTitle).setAttribute('id', 'aInfoTitle');
			aBoxMeta.appendChild(aInfoTitle);

			var aCount = document.createElement('p');
			$(aCount).setAttribute('id', 'aCount');
			aBoxMeta.appendChild(aCount);
			$D.setStyle(aCount, 'opacity', '0');

			var aInfo = document.createElement('p');
			$(aInfo).setAttribute('id', 'aInfo');
			aBoxMeta.appendChild(aInfo);
			
			var preloadLoading = new Image();
			preloadLoading.src = aLoadImgSrc;
			
			var aLoadImg = document.createElement('img');
			$(aLoadImg).setAttribute('id', 'aLoadImg');
			aBody.appendChild(aLoadImg);
			$(aLoadImg).setAttribute('src', preloadLoading.src);
			$D.setStyle('aLoadImg', 'opacity', '0');
			
			/*
			 *  Hash Check
			 *    Checks the URL on page load for #filename and attempts to load it
			 */
			if(window.location.href.indexOf('#') != -1) {
				// generate an ID for the body if it doesn't exist
				if(document.body.id != '' || document.body.id != null) {
					var body = $D.generateId(document.body);
				} else {
					var body = document.body.id;
				}
				var imgArray = aClient.allImgs();
				var loadImg = window.location.href.split('#')[1];
				for(i = 0; i < imgArray.length; i++) {
					var imgUrl = imgArray[i].getAttribute('href').split('/');
					if(imgUrl[imgUrl.length-1].split('.')[0] == loadImg) {
						$E.onAvailable(body, this.load, $(imgArray[i]), true);
					}
				}
			}

			$E.on(aOverlay, 'click', this.close);
			$E.on(aCloseButton, 'click', this.close);
			
			$E.on(aClient.allImgs(), 'click', this.load);
		},
		
		/*
		 *  load()
		 *    Gets information for new image and invokes appropriate actions.
		 */
		load : function(e, newImg) {
			var fadeOverlayIn = new YAHOO.widget.aEffect();
			fadeOverlayIn.aShowOverlay();
						
			if(newImg) { var that = newImg;
			} else { var that = this; }
			
			$E.stopEvent(e);
			$E.removeListener(document, 'keypress');
	
			aPreload = new Image();
			aPreload.onload = function() {
				var resizeBox = new YAHOO.widget.aEffect(that);
				resizeBox.aResizeBox(aPreload);
				
				//urchinTracker(aPreload.src.split(siteURL)[1]);
				
				if(!that.getAttribute('rel')) {
					$D.setStyle('aNextButton', 'visibility', 'hidden');
					$D.setStyle('aPrevButton', 'visibility', 'hidden');
					$D.setStyle('aCount', 'opacity', '0');
				} else {
					$D.setStyle('aCount', 'opacity', '1');
					$E.removeListener('aNextButton', 'click');
					$E.removeListener('aPrevButton', 'click');
				}
				var aInfoTitle = '';
				var aInfo = '';

				if(that.getAttribute('title') != null) {
					var aInfoTitle = that.getAttribute('title');
				}
				if(
					that.getElementsByTagName('img')[0] &&
					that.getElementsByTagName('img')[0].getAttribute('title') != null
				) {
					var aInfoTitle = that.getElementsByTagName('img')[0].getAttribute('title');
				}
				if(
					that.getElementsByTagName('img')[0] &&
					that.getElementsByTagName('img')[0].getAttribute('alt') != null
				) {
					var aInfo = that.getElementsByTagName('img')[0].getAttribute('alt');
				} else {
					var aInfo = that.innerHTML;
				}
				if($D.hasClass('aBoxMeta', 'aOpen')) {
					setTimeout(function() {
						$('aInfoTitle').innerHTML = aInfoTitle;
						$('aInfo').innerHTML = aInfo;
					}, 250);
				} else {
					$('aInfoTitle').innerHTML = aInfoTitle;
					$('aInfo').innerHTML = aInfo;
				}
				
				var urlSplit = that.getAttribute('href').split('/');
				var filename = urlSplit[urlSplit.length-1].split('.')[0];
				if(window.location.href.indexOf('#') != -1) {
					var url = window.location.href.split('#')[0];
				} else {
					var url = window.location.href;
				}
				window.location = url+'#'+filename;

				if(that.getAttribute('rel')) {
					YAHOO.awesomebox.loadNeighbors(that);
				}
				$E.addListener(document, 'keypress', function(e) {
					$E.stopEvent(e);
					switch($E.getCharCode(e)) {
						case (120) : YAHOO.awesomebox.close();
						break;
						case (97) : YAHOO.awesomebox.awesome();
						break;
					}
				});
			};
			aPreload.src = that.getAttribute('href');
		},
		
		/*
		 *  loadNeighbors()
		 *    Invoked via load(), finds and preloads next and previous image.
		 */
		loadNeighbors : function(that) {
			var imgRefs = aClient.allImgs();
			var photoSet = new Array();
			for(j = 0; j < imgRefs.length; j++) {
				if(
					imgRefs[j].getAttribute('rel') && 
					imgRefs[j].getAttribute('rel') == that.getAttribute('rel')
				) {
					photoSet.push(imgRefs[j]);
				}
			}
			var key = photoSet.inArray(that);
			setTimeout(function() {
				$('aCount').innerHTML = 'Image '+(key+1)+' of '+photoSet.length;
			}, 300);
			
			if(key != photoSet.length-1) {
				var next = new Image();
				next.src = photoSet[key+1].getAttribute('href');
				$D.setStyle('aNextButton', 'visibility', 'visible');
			} else {
				$D.setStyle('aNextButton', 'visibility', 'hidden');
			}
			if(key != 0) {
				var prev = new Image();
				prev.src = photoSet[key-1].getAttribute('href');
				$D.setStyle('aPrevButton', 'visibility', 'visible');
			} else {
				$D.setStyle('aPrevButton', 'visibility', 'hidden');
			}
			$E.addListener('aNextButton', 'click', this.load, photoSet[key+1], true);
			$E.addListener('aPrevButton', 'click', this.load, photoSet[key-1], true);
			$E.addListener(document, 'keypress', function(e) {
				$E.stopEvent(e);
				switch($E.getCharCode(e)) {
					// 110 = n, 112 = p
					case (110) :
						if(key != photoSet.length-1) { 
							YAHOO.awesomebox.load('', photoSet[key+1]);
						}
					break;
					case (112) :
						if(key != 0) { 
							YAHOO.awesomebox.load('', photoSet[key-1]); 
						}
					break;
				}
			});
		},
		
		/*
		 *  scaleImage()
		 * Returns proportional values for height and width of image, scaled if necessary.
		 */
		scaleImage : function(aImage) {
			var sHeight = aImage.height;
			var sWidth = aImage.width;
			if(aImage.width > $D.getViewportWidth()) {
				sWidth = $D.getViewportWidth()-20;
				sHeight = aImage.height * (sWidth / aImage.width);
				if(sHeight+100 > ($D.getViewportHeight()-20)) {
					sHeight = $D.getViewportHeight()-120;
					sWidth = aImage.width * (sHeight / aImage.height);
				}
			} else if(aImage.height+100 > $D.getViewportHeight()) {
				sWidth = aImage.width * (($D.getViewportHeight()-120) / aImage.height);
				sHeight = $D.getViewportHeight()-120;
				if(sWidth > ($D.getViewportWidth()-20)) {
					sWidth = aImage.width * (sHeight / aImage.height);
					sHeight = aImage.height * (sWidth / aImage.width);
				}
			}
			var scaleAtts = new Array(Math.floor(sWidth), Math.floor(sHeight));
			return scaleAtts;
		},
		
		/*
		 *  close()
		 *    Calls YAHOO.widget.aEffect.aClose() and resets the #filename to #close.
		 *    Not the most elegant solution.
		 */
		close : function() {
			var aClose = new YAHOO.widget.aEffect();
			aClose.aClose();
			if(window.location.href.indexOf('#') != -1) {
				var url = window.location.href.split('#')[0];
			} else {
				var url = window.location.href;
			}
			window.location = url+'#close';
		},
		
		awesome : function() {
			var aAwesome = new YAHOO.widget.aEffect();
			aAwesome.aAwesome();
		}
	}
}();

/*
 *  Start up the processes on window load.
 */
YAHOO.util.Event.on(window, 'load', YAHOO.awesomebox.init, YAHOO.awesomebox, true);
