var alertQueue = new Array();
var lowAlertQueue = new Array();
var highAlertQueue = new Array();
/* POLLER DISABLED
var poller;
if($("loggedUser")){poller = new PeriodicalExecuter(pollServer,10);}
*/
var alerter = new PeriodicalExecuter(manageAlerts,2);


function pollServer()
{
	url="/ajax/response_push.xml";
	
	new Ajax.Request(url,
	{
		method:'post',
		onSuccess:function(transport)
		{
			if(transport.responseXML.getElementsByTagName("status")[0].firstChild.nodeValue=="offline"){poller.stop();}
			else
			{
				var wmConnections=transport.responseXML.getElementsByTagName("wmConnections")[0];
				if(wmConnections.childNodes.length>0){shove_wmConnections(wmConnections);}
				var newAlerts=transport.responseXML.getElementsByTagName("alert");
				for(i=0;i<newAlerts.length;i++){lowAlertQueue.push(newAlerts[i].cloneNode(true));}
			}
		}
	});
//	for(i=0;i<3;i++)
//	{
//		alertQueue.push('<div class="joinform box box-alert"><div class="head"><div class="title"><h4>Alert</h4></div></div><div class="body"><div class="content"><div class="content2">alert'+i+'</div></div></div></div>');
//	}
}

function shove_wmConnections(connections)
{
	for(var i=0;i<connections.childNodes.length;i++)
	{
		up_launchWMbyURL(connections.childNodes[i].childNodes[0].nodeValue.replace(/^\s*|\s*$/g,''));
	}
}/*window.open(connections.childNodes[i].childNodes[0].nodeValue);*/


function manageAlerts()
{
	//alert(alertQueue.length)
	var newAlert;
	var newAlertContent;
	if(highAlertQueue.length!=0 && $("alerts"))
	{
		newAlert = new Element('li',{style:"display:none"});//className:"alert",
		newAlertContent=highAlertQueue.shift();
		try{newAlert.appendChild(newAlertContent);}
		catch(e){newAlert.innerHTML=serializeNode(newAlertContent);}//if(Prototype.Browser.IE){content.innerHTML+=serializeNode(FormRows[j]);}else{content.appendChild(FormRows[j]);}
		$("alerts").insert({bottom:newAlert});
		Effect.BlindDown(newAlert,{duration:0.5});
		//setTimeout(function(){newAlert.show()},"7000");
		setTimeout(function(){newAlert.fade({duration:3.0,from:1,to:0})},"25000");
		setTimeout(function(){newAlert.replace("")},"30000");
		//{newAlert.fade({duration:3.0,from:1,to:0})};newAlert.replace("")
	}
	else
	{
		if(lowAlertQueue.length!=0 && $("alerts"))
		{
			newAlert = new Element('li',{style:"display:none"});
			newAlertContent=lowAlertQueue.shift();
			try{newAlert.appendChild(newAlertContent);}
			catch(e){newAlert.innerHTML=serializeNode(newAlertContent);}
			$("alerts").insert({bottom:newAlert});
			Effect.BlindDown(newAlert,{duration:0.5});
			setTimeout(function(){newAlert.fade({duration:3.0,from:1,to:0})},"25000");
			setTimeout(function(){newAlert.replace("")},"30000");
		}
	}
}





function serializeNode(node)
{
	if(node != undefined)
	{
		var xml = "";
		if(Prototype.Browser.IE)
		{
			if(node.xml!=undefined){xml=node.xml;return xml;}
			if(node.outerHTML){/*var container=document.createElement('div');container.appendChild(node);*/xml=node.outerHTML;return xml;}
		}
		else {xml = new XMLSerializer().serializeToString(node);}
		//return xml;
		return xml.replace(/(<textarea[^\/>]*?)\s*\/>/gi, '$1></textarea>');
	}
	else {return undefined;}
}


function validate(element,mode)
{
	var allFields = new Array();
	var elementID="";
	try{elementID=element.readAttribute("id")}
	catch(e){elementID=element.id}
	if(mode=='submit'){allFields = $$('.field_row input,.field_row select,.check_row input');}// All Fields including checkboxes
	else{allFields = $$('#cemail,#cpassword,#'+elementID)}//Single Field at a time and the confirmations

	for(var x=0;x<allFields.length;x++)
	{
		var msg = 'msg-'+allFields[x].id;
		var url = '/ajax/response_signup.xml?'+allFields[x].name+'='+encodeURIComponent(allFields[x].value);
		var field = allFields[x].id;
		if(allFields[x].value.length == 0  && mode!='submit'){msgClear(msg);}
		else
		{
			switch(field)
			{
				case "username": verifyUsername(field,msg,url);break;
				case "email": verifyEmail(field,msg,url);break;
				case "cemail": confirmEmail(field,msg,url);break;
				case "password": verifyPassword(field,msg,url);break;
				case "cpassword": confirmPassword(field,msg,url);break;
				case "year": verifyDOB(field,msg,url,mode);break;
				case "month": verifyDOB(field,msg,url,mode);break;
				case "day": verifyDOB(field,msg,url,mode);break;
				case "country": verifyGeolocation(field,msg,url,mode);break;
				case "postal": verifyGeolocation(field,msg,url,mode);break;
				case "region": verifyGeolocation(field,msg,url,mode);break;
				case "locality": verifyGeolocation(field,msg,url,mode);break;
				case "gender": verifyGender(field,msg,url);break;
				case "genderpref": verifyGenderpref(field,msg,url);break;
				case "optin": verifyOptin(field,msg);break;
				case "agecheck": verifyAgecheck(field,msg);break;
				case "captcha": verifyCaptcha(field,msg);break;
			}
		}
	}
}

function verifyEmail(field,msg,url)
{
	var msgType = "";
	var msgText = "";
	//var objRegExp = /^\w+([\.-]?\w+)*@[a-zA-Z0-9]+([\.-]?[a-zA-Z0-9]+)*(\.[a-zA-Z]{2,5})+$/;
	var objRegExp = /^[-_.a-zA-Z0-9!#$%&\'*+\/=?^`{|}~]+@(?:[a-zA-Z0-9](?:[-a-zA-Z0-9]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[-a-zA-Z0-9]*[a-zA-Z0-9])?$/; //'Faulty Dreamweaver Text Highlighting
	if(!objRegExp.test($(field).value)){msgType="error";msgText="Email improperly formated";}
	if($(field).value.length==0){msgType="error";msgText="This field is mandatory";}
  if(msgText.length != 0){msgWrite(msg,msgType,msgText);if(msgType=="error"){/*$(field).activate();*/}return false;}
	else{new Ajax.Request(url,{method:'get',onLoading:fldLoading(msg),onSuccess:function(transport){response=fldSuccess("live",transport.responseXML);msgWrite(msg,response.type,response.text);if(response.type=="error"){/*$(field).activate();*/}}});}
}

function confirmEmail(field,msg,url)
{
	var msgType = "";
	var msgText = "";
	if($(field).value != $('email').value){msgType="error";msgText="Email confirmation does not match";}
	if($(field).value.length==0){msgType="error";msgText="This field is mandatory";}
  if(msgText.length != 0){msgWrite(msg,msgType,msgText);return false;}
	else{msgClear(msg);}
}

function verifyPassword(field,msg,url)
{
	var msgType = "";
	var msgText = "";
	if($(field).value.length < 6){msgType="error";msgText="Passwords require 6 or more characters";}
	if($(field).value.length==0){msgType="error";msgText="This field is mandatory";}
  if(msgText.length != 0){msgWrite(msg,msgType,msgText);if(msgType=="error"){/*$(field).activate();*/}return false;}
	else{new Ajax.Request(url,{method:'get',onLoading:fldLoading(msg),onSuccess:function(transport){response=fldSuccess("live",transport.responseXML);msgWrite(msg,response.type,response.text);if(response.type=="error"){/*$(field).activate();*/}}});}
}

function confirmPassword(field,msg,url)
{
	var msgType = "";
	var msgText = "";
	if($(field).value != $('password').value){msgType="error";msgText="Password confirmation does not match";}
	if($(field).value.length==0){msgType="error";msgText="This field is mandatory";}
  if(msgText.length != 0){msgWrite(msg,msgType,msgText);return false;}
	else{msgClear(msg);}
}

function verifyUsername(field,msg,url)
{
	var msgType = "";
	var msgText = "";
	if($(field).value.length < 4){msgType="error";msgText="Username requires atleast 4 characters";}
	if($(field).value.length==0){msgType="error";msgText="This field is mandatory";}
  if(msgText.length != 0)
	{
		msgWrite(msg,msgType,msgText);
		//if(msgType=="error"){$(field).activate();}//This particular line creates bugs when we validate all fields.
	  return false;
	}
	else{new Ajax.Request(url,{method:'get',onLoading:fldLoading(msg),onSuccess:function(transport){response=fldSuccess("live",transport.responseXML);msgWrite(msg,response.type,response.text);if(response.type=="error"){/*$(field).activate();*/}}});}
}

function verifyDOB(field,msg,url,mode)
{
	msg="msg-dob";
	var msgType = "";
	var msgText = "";
	if($(field).value.length==0)
	{
		if(mode=="submit"){msgType="error";msgText="This field is mandatory";}//else{if(field=="year"){msgType="error";msgText="This field is mandatory";}}
	}
	if(msgText.length != 0){msgWrite(msg,msgType,msgText);if(msgType=="error"){/*$(field).activate();*/}return false;}
	else
	{
		if($("year").value!='' && ("month").value!='' && ("day").value!='')
		{
			url=url.substring(0,url.indexOf('?'))+"?action=verify&year="+$("year").value+"&month="+$("month").value+"&day="+$("day").value;
			new Ajax.Request(url,{method:'get',onLoading:fldLoading(msg),onSuccess:function(transport){response=fldSuccess("live",transport.responseXML);msgWrite(msg,response.type,response.text);}});
		}
	}
}

function verifyGeolocation(field,msg,url,mode)
{
	var msgType = "";
	var msgText = "";
	/* I'm removing the javascript client validation because it cannot be predicted if this fields are mandatory or not */
	if(field=="country"){if($(field).value.length==0){msgType="error";msgText="This field is mandatory";}}
	if(msgText.length != 0){msgWrite(msg,msgType,msgText);if(msgType=="error"){/*$(field).activate();*/}return false;}
	else
	{
		//alert(field+", "+mode+", "+msg+", "+url);
		if(mode=="submit")
		{
			queryString = "?";
			
			if(field=="country"){if($("country")){queryString+="country="+$("country").value;}}
			if(field=="postal")
			{
				if($("country"))
				{
					if($("country").value!='')
					{
						queryString+="country="+$("country").value+"&";
						if($("postal")){queryString+="postal="+$("postal").value+"&";}
					}
					else{queryString='?';}
				}
			}
			if(field=="region")
			{
				if($("country"))
				{
					if($("country").value!='')
					{
						queryString+="country="+$("country").value+"&";
						if($("postal"))
						{
							if($("postal").value!=''){queryString+="postal="+$("postal").value+"&";}
							else{queryString='?';}
						}
						if(queryString!='?'){if($("region")){queryString+="region="+$("region").value+"&";}}
					}
					else{queryString='?';}
				}
			}
			if(field=="locality")
			{
				if($("country"))
				{
					if($("country").value!='')
					{
						queryString+="country="+$("country").value+"&";
						if($("postal"))
						{
							if($("postal").value!=''){queryString+="postal="+$("postal").value+"&";}
							else{queryString='?';}
						}
						if(queryString!='?')
						{
							if($("region"))
							{
								if($("region").value!=''){queryString+="region="+$("region").value+"&";}
								else{queryString='?';}
							}
							if(queryString!='?'){if($("locality")){queryString+="locality="+$("locality").value+"&";}}
						}
					}
					else{queryString='?';}
				}
			}
			url=url.substring(0,url.indexOf('?'))+queryString;
			//alert(field+":"+queryString);
			if(queryString!='?'){new Ajax.Request(url,{method:'get',onLoading:fldLoading(msg),onSuccess:function(transport){response=fldSuccess(mode,transport.responseXML);msgWrite(msg,response.type,response.text);}});}//
		}
		else
		{
			//alert("the mode is not equal to submit");
			msgClear(msg);
			if(field=="country"){if($("postal_row")){$("postal_row").update("");}if($("region_row")){$("region_row").update("");}if($("locality_row")){$("locality_row").update("");}}
			if(field=="postal"){if($("region_row")){$("region_row").update("");}if($("locality_row")){$("locality_row").update("");}}
			if(field=="region"){if($("locality_row")){$("locality_row").update("");}}
			queryString = "?";
			if($("country")){if($("country").value!=''){queryString+="country="+$("country").value+"&";}}
			if($("postal") && field!="country"){queryString+="postal="+$("postal").value+"&";}
			if($("region") && field!="country" && field!="postal"){if($("region").value!=''){queryString+="region="+$("region").value+"&";}}
			if(field=="locality"){queryString = "?";}
			// We don't validate the locality  
			//if($("locality" && field!="country" && field!="postal" && field!="region")){if($("locality").value!=''){queryString+="locality="+$("locality").value+"&";}}
			url=url.substring(0,url.indexOf('?'))+queryString;
			if(queryString!='?'){new Ajax.Request(url,{method:'get',onLoading:fldLoading(msg),onSuccess:function(transport){response=fldSuccess(mode,transport.responseXML);msgWrite(msg,response.type,response.text);}});}//
		}
	}
}


function verifyGender(field,msg,url)
{
	if($("msg-datepref")){msg="msg-datepref";}
	else{msg="msg-gender";}
	var msgType = "";
	var msgText = "";
	if($(field).value.length==0){msgType="error";msgText="This field is mandatory";}
	if(msgText.length != 0){msgWrite(msg,msgType,msgText);if(msgType=="error"){/*$(field).activate();*/}return false;}
	else{msgClear(msg)}
}

function verifyGenderpref(field,msg,url)
{
	if($("msg-datepref")){msg="msg-datepref";}
	else{msg="msg-genderpref";}
	var msgType = "";
	var msgText = "";
	if($(field).value.length==0){msgType="error";msgText="This field is mandatory";}
	if(msgText.length != 0){msgWrite(msg,msgType,msgText);if(msgType=="error"){/*$(field).activate();*/}return false;}
	else{msgClear(msg)}
}

function verifyOptin(field,msg,url)
{
//	var msgType = "";
//	var msgText = "";
//	if($(field).checked==false){msgText="You will not recieve any mail notifications from members contacting you";msgType="warning";}
//	if(msgText.length != 0){msgWrite(msg,msgType,msgText);if(msgType=="error"){$(field).activate();}return false;}
//	else{msgClear(msg)}
}

function verifyAgecheck(field,msg,url)
{
	var msgType = "";
	var msgText = "";
	if($(field).checked==false){msgText="You must confirm that you are 18 years of age";msgType="error";}
	if(msgText.length != 0){msgWrite(msg,msgType,msgText);if(msgType=="error"){/*$(field).activate();*/}return false;}
	else{msgClear(msg)}
}


function verifyCaptcha(field,msg)
{
	var msgType = "";
	var msgText = "";
	if($(field).value.length==0){msgType="error";msgText="Please enter the characters in the image";}
	if(msgText.length != 0){msgWrite(msg,msgType,msgText);if(msgType=="error"){/*$(field).activate();*/}return false;}
	else{msgClear(msg)}
}



function fldLoading(msg){$(msg).update('Please wait…');$(msg).addClassName("waiting");}
function fldSuccess(mode,response)
{
	var msgType="";
	var msgText="";
	for(var y=0;y<response.documentElement.childNodes.length;y++)
	{
		if(response.documentElement.childNodes[y].nodeName == 'message')
		{
			if(response.documentElement.childNodes[y].childNodes[0].nodeName == 'type'){msgType=response.documentElement.childNodes[y].childNodes[0].firstChild.nodeValue;}
			if(response.documentElement.childNodes[y].childNodes[1].nodeName == 'value'){msgText=response.documentElement.childNodes[y].childNodes[1].firstChild.nodeValue;}
		}
		else
		{
			if(mode!='submit')
			{
				geoItem = response.documentElement.childNodes[y];
				geoItemId = geoItem.getAttribute('id');
				geoItemText = "";for(var j=0;j<geoItem.childNodes.length;j++){geoItemText+=serializeNode(geoItem.childNodes[j]);}//geoItemText = serializeNode(geoItem);
				$(geoItemId).update(geoItemText);
				geoElement = $(geoItem.childNodes[0].getAttribute('id'));
				if(geoElement.id=="postal" && $("postal"))
				{
					$("postal").observe('change', function(event){validate($("postal"),'live');});
					$("postal").observe('keypress', function(event)
																					{
																						var code;
																						if(!event){var e=window.event;}
																						if(event.keyCode){code=event.keyCode;}
																						else if (event.which){code=event.which;}
																						if(code=="13"){Event.stop(event);$("postal").blur();return false;alert("stop the submit");}
																					});
				}
				if(geoElement.id=="region" && $("region")){$("region").observe('change', function(event){validate($("region"),'live');});}
				if(geoElement.id=="locality" && $("locality")){$("locality").observe('change', function(event){validate($("locality"),'live');});}
			}
		}
	}
	return {type : msgType, text : msgText};
}

function msgWrite(msg,msgType,msgText){msgClear(msg);$(msg).addClassName(msgType);$(msg).update(msgText);}

function msgClear(msg){$(msg).removeClassName("error");$(msg).removeClassName("success");$(msg).removeClassName("warning");$(msg).removeClassName("waiting");$(msg).update("Please wait…");}

function noErrors()
{
	noError=true;
	formMsg=$$('.field_row div.message,.field_row div.message,.check_row div.message');
	for(var z=0;z<formMsg.length;z++){if(formMsg[z].hasClassName("error")){noError=false;}}return noError;
}

function noEmpties()
{
	noEmptiesVal=true;
	formFields=$$('.field_row input,.field_row select,.check_row input');
	for(var v=0;v<formFields.length;v++)
	{
		var fieldName=formFields[v].readAttribute("name");
		if(fieldName!="country" && fieldName!="postal" && fieldName!="region" && fieldName!="locality" )//we do not check location values locally
		{
			if(formFields[v].type=="checkbox")
			{
				if(formFields[v].getValue()==null){noEmptiesVal=false;}
			}
			else
			{
				if(formFields[v].getValue()==""){noEmptiesVal=false;}
			}
		}
	}
	return noEmptiesVal;
}



function createPopup(content,args)
{
	ajaxCursorEnd();
	/*INITIALIZE VALUES*/
	if(!args.name){args.name="tempPopup";}
	if(!args.css){args.css="box box-tempPopup";}
	if(!args.top){args.top="0";}
	if(!args.left){args.left="0";}
	if(!args.action){args.action="";}
	if(!args.method){args.method="post";}
	if(!args.onsubmit){args.onsubmit="";}
	if(!args.oncancel){args.oncancel="";}
	if(!args.backdrop){args.backdrop="no";}
	if(!args.closable){args.closable="yes";}
	if(!args.closeButton){args.closeButton="no";}
	if($("popupLayer")){$("popupLayer").remove();}
	if(!content.innerHTML || content.innerHTML=='' || content.xml==''){content=document.createElement('span');var spanTxt=document.createTextNode("Hello World!");content.appendChild(spanTxt);}
	
	/* CREATE CLICKABLE CONTAINER */
	var popupLayer = new Element('div',{id:'popupLayer'});

	/* CREATE POPUP BOX */
	var popupBox = new Element('form',{name:args.name,id:args.name,className:args.name+" box "+args.css,action:args.action,method:args.method,enctype:"multipart/form-data",onsubmit:args.onsubmit,oncancel:args.oncancel});
	var popupHead = new Element('div',{className:'head'});
	var popupTitle = new Element('div',{className:'title'});
	var popupTitleH3 = new Element('h3');popupTitleH3.appendChild(document.createTextNode(args.name));
	var popupBody = new Element('div',{className:'body'});
	var popupContent = new Element('div',{className:'content'});
	var popupContent2 = new Element('fieldset',{className:'content2'});
	
	/* CREATE POPUP BACKDROP */
	var popupBackdrop = new Element('div',{id:"backdrop"});popupBackdrop.appendChild(document.createTextNode(" "));
	if(args.closable=='yes'){popupBackdrop.setAttribute('onclick','this.parentNode.remove();');}


	/* ASSEMBLE AND INSERT */
  popupTitle.appendChild(popupTitleH3);
	popupHead.appendChild(popupTitle);
	/* INSERT CLOSE BUTTON */
	if(args.closeButton=='yes')
	{
		var closeButton = new Element('a',{onclick:'$("popupLayer").remove();return false;',href:'',className:'close'});
		closeButton.appendChild(document.createTextNode("close"));
		popupHead.appendChild(closeButton);
	}
	popupBox.appendChild(popupHead);
	
	popupContent2.appendChild(content);
	popupContent.appendChild(popupContent2);
	popupBody.appendChild(popupContent);
	popupBox.appendChild(popupBody);
	
	popupLayer.appendChild(popupBox);
	popupLayer.appendChild(popupBackdrop);
	//document.body.appendChild(popupLayer);//Old way of writing to page, which doesnt work with the CSS and all.
	new Insertion.Bottom($$("body")[0],serializeNode(popupLayer));//serializeNode(popupLayer)//'<div style="position:absolute;top:0px;left:0px;width:100%;height:100%;background:blue;"><div style="position:absolute;top:0px;left:0px;width:100px;height:100px;background:black;"></div></div>'
	//alert(serializeNode(popupLayer));//TEMP

	/* VISUAL FORMATING */
	if(args.backdrop!='yes'){$("backdrop").setStyle({background:'none'});}
	$(args.name).setStyle({position:"absolute",top:args.top+'px',left:args.left+'px'});	
	$("popupLayer").setStyle({position:"absolute",top:"0px",left:"0px",width:'100%'});
	try{$("popupLayer").setStyle({height:document.height+'px'});}catch(err){;} 
	$("backdrop").setStyle({position:"absolute",top:"0px",left:"0px",width:'100%'});
	try{$("backdrop").setStyle({height:document.height+'px'});}catch(err){;} 
}


function ajaxCursorStart()
{
	top.$$("body")[0].addClassName('loading');
	setTimeout("ajaxCursorEnd()", 60000);
	if(Prototype.Browser.IE){top.$$("body")[0].setStyle({cursor:"auto"});}//TRIGGERS THE CURSOR REDRAW IF THE MOUSE DOESNT MOVE
}

function ajaxCursorEnd(){top.$$("body")[0].removeClassName('loading');}



function createIFramePopup(content,args)
{
	ajaxCursorEnd();
	/*INITIALIZE VALUES*/
	if(!args.name){args.name="tempPopup";}
	if(!args.css){args.css="box-uploadpop";}
	if(!args.top){args.top="0";}
	if(!args.left){args.left="0";}
	if(!args.action){args.action="";}
	if(!args.method){args.method="post";}
	if(!args.onsubmit){args.onsubmit="";}
	if(!args.oncancel){args.oncancel="";}
	if(!args.backdrop){args.backdrop="no";}
	if(!args.closable){args.closable="yes";}
	if(!args.closeButton){args.closeButton="no";}
	if(!args.src){args.src="/action/uploadpop.html";}
	//if($("popupLayer")){closeUploadPopup();}
	if($("popupLayer")){top.$("popupLayer").remove();}
	if(!content.innerHTML || content.innerHTML=='' || content.xml==''){content=document.createElement('span');var spanTxt=document.createTextNode("Hello World!");content.appendChild(spanTxt);}
	
	/* CREATE CLICKABLE CONTAINER */
	var popupLayer = new Element('div',{id:'popupLayer',style:'position:absolute;top:0px;left:0px;width:100%;height:'+document.body.scrollHeight+'px'});

  /* CREATE BACKDROP */
	var backdropStyle = "height:"+document.body.scrollHeight+"px";
	if(args.backdrop!='yes'){backdropStyle = "background:url(/images/en-US/blank.png);height:"+document.body.scrollHeight+"px";}
	var popupBackdrop = new Element('div', {id:'backdrop',style:backdropStyle,onClick:"closeUploadPopup()"});

	/* CREATE IFRAME-POPUP BOX */
	var popupBox = new Element('div',{name:args.name,id:args.name,className:args.name+" box "+args.css,style:'width:365px;top:'+args.top+'px;left:'+args.left+'px;'});
	var popupHead = new Element('div',{className:'head'});
	var popupTitle = new Element('div',{className:'title'});
	var popupTitleH3 = new Element('h3');popupTitleH3.appendChild(document.createTextNode(args.name));
	var popupBody = new Element('div',{className:'body'});
	var popupContent = new Element('div',{className:'content'});
	var popupContent2 = new Element('fieldset',{className:'content2'});

	/* CREATE IFRAME */
	var popupIFrame = new Element('iframe',{name:'uploadframe',id:'iframe',frameborder:'0',vspace:'0',hspace:'0',marginwidth:'0',marginheight:'0',width:'350',height:'100',scrolling:'no',src:args.src,style:"margin:0px 0px 10px 15px"});/*onLoad:'uploadRefresh()' We use to have this because we performed a refresh for every reload of the iframe, now we only do it when it closes*/
	try{popupIFrame.appendChild(document.createTextNode(""));}catch(err){;} /*MOZILLA WANTS AN EMPTY TEXT NODE... OTHERWISE IT EATS UP EVERYTHING THAT COMES AFTER IT... BUT IE7 REFUSES IT */
	
	/* INSERT CLOSE BUTTON */
	if(args.closeButton=='yes')
	{
		var closeButton=new Element('a',{className:'close',href:'',onClick:'closeUploadPopup();return false;'});
		closeButton.appendChild(document.createTextNode("close"));
		popupHead.appendChild(closeButton);
	}

	/* ASSEMBLE AND INSERT */
  popupTitle.appendChild(popupTitleH3);
	popupHead.appendChild(popupTitle);
	popupBox.appendChild(popupHead);
	
	//popupContent2.appendChild(popupIFrame);
	popupContent.appendChild(popupIFrame);
	popupBody.appendChild(popupContent);
	popupBox.appendChild(popupBody);
	
	popupLayer.appendChild(popupBox);
	popupLayer.appendChild(popupBackdrop);
	
	
	//document.body.appendChild(popupLayer);//Old way of writing to page, which doesnt work with the CSS and all.
	new Insertion.Bottom($$("body")[0],serializeNode(popupLayer));	
}

function closeUploadPopup()
{
	var url=top.location.href;
	if(url.indexOf("?")>-1){url+="&show_bin=1&content_type=xml";}else{url+="?show_bin=1&content_type=xml";}
	new Ajax.Request(url,
	{
		method:'post',
		onCreate:function(){ajaxCursorStart();},
		onComplete:function(){ajaxCursorEnd();},
		onSuccess:function(transport)
		{
			if(top.$$(".myprofile")[0])
			{
				var myProfiles = top.$$(".myprofile");
				var xSource=transport.responseXML.getElementsByTagName("div");
				var pScan=0;
				for(xi=0;xi<xSource.length;xi++)
				{
					if(xSource[xi].getAttribute("class"))
					{
						if(xSource[xi].getAttribute("class").match(/myprofile/) && !xSource[xi].getAttribute("class").match(/myprofilepage/))
						{
							myProfiles[pScan].replace(serializeNode(xSource[xi]));pScan++;
						}
					}
				}
			}
			//if(top.$$("#albums")[0]){refreshById(transport.responseXML,"ul","albums");}
			if(top.$$(".album")[0]){refreshById(transport.responseXML,"div",top.$$(".album")[0].readAttribute("id"));}
			if(top.$("gal-bin")){refreshById(transport.responseXML,"div","gal-bin");}
			if(top.$("showcase")){refreshById(transport.responseXML,"div","showcase");}
			$("popupLayer").remove();
		},
		onError:function(transport){top.$("popupLayer").remove();}
	});
}


function popUpload(url,z)
{
	var x,y;
	if (self.innerHeight){x=self.innerWidth;y=self.innerHeight;}
	else if(document.documentElement && document.documentElement.clientHeight){x=document.documentElement.clientWidth;y=document.documentElement.clientHeight;}
	else if(document.body){x=document.body.clientWidth;y=document.body.clientHeight;}
	x=x/2-175;
	z!='' ? y=z : y=y/3;
	//if(z!='' || z!=0){y=z}else{y=y/3};
	url=url.replace(/upload/,"uploadpop");
	var popupSpecs = {'name':'popUpload','css':'box-uploadpop','action':'/action/upload.html','onSubmit':'sendUploadForm(this);return false;','top':y,'left':x,'backdrop':'no','closeButton':'yes','src':url};
	var content = document.createElement('div');

	createIFramePopup(content,popupSpecs);
}

function popAbuse(url,x,y)
{
	x=x-100;
	url+="&content_type=xml";
	var popupSpecs = {'name':'popAbuse','css':'box-abusepop','action':'/action/abuse.html','onsubmit':'sendAbuseForm(this);return false;','top':y,'left':x,'backdrop':'no','closeButton':'yes','src':url};
	var content = document.createElement('div');
	new Ajax.Request(url,
	{
		method:'get',
		onCreate:function(){ajaxCursorStart();},
		onComplete:function(){ajaxCursorEnd();},
		onSuccess:function(transport)
		{
			FormFieldsets = transport.responseXML.getElementsByTagName("form")[1].getElementsByTagName("fieldset");//Will have to change so it actually gets the right node and not just the first form
			for(var z=0;z<FormFieldsets.length;z++)
			{
					try{content.appendChild(FormFieldsets[z].cloneNode(true));}
					catch(e){content.innerHTML+=serializeNode(FormFieldsets[z]);}//if(Prototype.Browser.IE){content.innerHTML+=serializeNode(FormRows[j]);}else{content.appendChild(FormRows[j]);}
			}
			createPopup(content,popupSpecs);
		}
	});
}

function sendAbuseForm(abuseForm)
{
	url=abuseForm.readAttribute("action")+"?content_type=xml";//"/ajax/response_editprofile.xml";//editForm.attributes.action.nodeValue;
	pars=abuseForm.serialize();
	new Ajax.Request(url,
	{
		method:'post',
		postBody:pars,onCreate:function(){ajaxCursorStart();},
		onComplete:function(){ajaxCursorEnd();},
		onSuccess:function(transport)
		{
			$$("#popAbuse .content2")[0].update(serializeNode(transport.responseXML.getElementsByTagName("form")[1].getElementsByTagName("fieldset")[0]));
			setTimeout('if($("popupLayer")){$("popupLayer").remove()}','2000');
		}
	});
	return false;
}

/* REPLACE HTML BLOCKS FROM AJAX CALLS BY ID */
function refreshById(xml,searchTag,searchId)
{
	var x=xml.getElementsByTagName(searchTag);
	for(var i=0;i<x.length;i++){if(x[i].getAttribute("id")){if(x[i].getAttribute("id")==searchId){top.$(searchId).replace(serializeNode(x[i]));}}}
}

var procPopUp = {
	open: function(options){
		this.options = {url: '#', width: 550, height: 550}
		Object.extend(this.options, options || {});
		window.open(this.options.url, '', 'width='+this.options.width+',height='+this.options.height);
	}
}	


var fbs_window = {
	open: function(options){
		this.options = {url:'#',width:/*626*/1000,height:436}
		Object.extend(this.options, options || {});
		window.open(this.options.url, '', 'width='+this.options.width+',height='+this.options.height);
	}
}	

Event.addBehavior({
	'a[rel~=external]' : function(e){this.writeAttribute({target:"_blank"});},
	'form input.autocompleteoff' : function(e){this.writeAttribute({autocomplete:"off"});},	
	'#topmenu ul' : function(e){this.addClassName("ajax");},
	'#topmenu ul select' : function(e){this.observe('change', function(event){$("langform").submit()});},
	'a.upload_link' : function(e){Event.observe(this,'click',function(event){Event.stop(event);popUpload(this.readAttribute("href"),Event.pointerY(event));},false);},
	'a.abuse_link' : function(e){Event.observe(this,'click',function(event){Event.stop(event);if(this.readAttribute("href")!=''){popAbuse(this.readAttribute("href"),Event.pointerX(event),Event.pointerY(event));}},false);},
	/*'div.profile a.wm_link, div#combox a.wm_link' : function(e){this.setStyle({display:'block'});if(this.readAttribute("href")){Event.observe(this,'click',function(event){Event.stop(event);up_launchWMbyURL(this.readAttribute("href"));},false);}},*/	
	'div#popupLayer form#serverMessage' : function(e){Event.observe(this,'submit',function(event){Event.stop(event);$('popupLayer').remove();},false);},
	'li.proc-visa a': function(e){ this.observe('click', function(event){ procPopUp.open({url:'http://www.visa.ca/verified/infopane/index.html'}); }); },
	'li.proc-mc a': function(e){ this.observe('click', function(event){ procPopUp.open({url:'http://www.mastercard.com/us/business/en/corporate/securecode/popup.html'}); }); },
	'a.fb_share_button,a.fb_share_hon_hot,a.fb_share_hon_not': function(e){ this.observe('click', function(event){ fbs_window.open({url:/*'http://www.facebook.com/sharer.php?u='+encodeURIComponent(*/this.readAttribute("href")/*)*/+'&t='+encodeURIComponent(document.title)});return false; }); }

	//+encodeURIComponent(this.readAttribute("href"))+'&t='+encodeURIComponent(document.title)
	//'div#imdemo': function(e){setTimeout('imDemo()',3000)}
});
