/*******************************
 *
 *	Login Class
 *
 *  Version: 1.0
 *
 *	Author: 
 *	The Roundhouse
 *
 *  � The Roundhouse 2007 -
 * 	ALL RIGHTS RESERVED
 */

var SendToFriend = new Class({
	
	objSTFAnchor:	null,
	blMoveOnSend:	null,
	
	initialize: function(){},
	
	setupLink: function(objAnchor, blInFooter)
	{
		if($(objAnchor))
		{
			this.objSTFAnchor = objAnchor; 
			this.objSTFAnchor.addEvent("click", function(){ 
																if(this.id.indexOf("footer") > -1)
																{
																	prSendToFriend02.toggleBubble($('bubble_footer_sendtofriend'));
																}
																else
																{
																	prSendToFriend01.toggleBubble($('bubble_top_sendtofriend'));																
																}
															});
			this.blMoveOnSend = blInFooter;
		}
	},
	
	setVisibility: function(objDiv, iValue)
	{
		if(iValue == 0)
			objDiv.addClass("hidden");
		else
			objDiv.removeClass("hidden");
	},
	
	toggleBubble: function(divTarget)
	{
		if(!divTarget.bVisible)
		{
			divTarget.bVisible = false;
			divTarget.addClass('hidden');
			this.resetForm();
		}
		
		divTarget.bVisible = !divTarget.bVisible;
		if(divTarget.bVisible)
		{
			divTarget.removeClass('hidden');
		}
		else
		{
			divTarget.addClass('hidden');
			this.resetForm();
		}
	},
	
	sendMessage: function()
	{
		var btnSend =$$('.btn_sendthispage');
		if(btnSend && btnSend.length == 1)
			btnSend.addClass('swirly');
			
		var iIdentifier = (this.blMoveOnSend ? "02" : "01");
		var fromName	= $('sendfriend'+iIdentifier+'_name').value;
		var fromEmail	= $('sendfriend'+iIdentifier+'_email').value;
		var toName		= $('sendfriend'+iIdentifier+'_friendsname').value;
		var friendEmail	= $('sendfriend'+iIdentifier+'_friendsemail').value;
		var message		= $('sendfriend'+iIdentifier+'_message').value;
		var url			= $('sendfriend'+iIdentifier+'_url').value;		
		
		if(fromName == "" || fromEmail == "" || toName == "" || friendEmail == "")
		{
			alert("The following fields are required:\n" +
				  (fromName == "" ? "- Your Name\n" : "") +
				  (fromEmail == "" ? "- Your Email\n" : "") +
				  (toName == "" ? "- Your Friend's Name\n" : "") +
				  (friendEmail == "" ? "- Your Friend's Email\n" : "")	);
		}	
		else
		{	
			if(message == "")
			{
				message = "Dear " + toName + ",***" + fromName + " thought you might be interested in the following page:";
			}

			message += "***";

			// create our request
			this.objRequest 		= { sendemail: 			"1",
										referralemail:		"1",
										toaddress: 			friendEmail,
										fromaddress: 		fromEmail,
										subject: 			fromName + " sent you a link",
										message:			message,
										url:				url };
			
			// execute it
			new Ajax("/z_ajax/ajax_handler_sendmail.php", {onComplete:this.ajax_handleSTF.bind(this), postBody:this.objRequest}).request();				
		}
	},
	
	ajax_handleSTF: function(objResponseText, objResponseXML)
	{
		if(objResponseXML)
		{
			// go through the response XML. We have to do it like
			// this because IE regards the XML header as a node
			// whereas other browsers don't.
			for(var i = 0; i < objResponseXML.childNodes.length; i++)
			{
				if(objResponseXML.childNodes[i].nodeName == "parsererror")
				{
					alert("ERROR: " + objResponseXML.childNodes[i].firstChild.nodeValue.toString());
				}
				
				// if we find a response node
				if(objResponseXML.childNodes[i].nodeName == "response")
				{
					var arrResponse = objResponseXML.childNodes[i].childNodes;
					if(arrResponse)
					{
						for(var j = 0; j < arrResponse.length; j++)
						{
							switch(arrResponse[j].nodeName)
							{
								case "ok":
								{
									var iIdentifier = "01";
									
									if(this.blMoveOnSend)
									{
										// place panel
										$('bubble_footer_sendtofriend').setStyle("top", (window.ie ? "-126px" : "-135px"));
										
										iIdentifier = "02";
									}
									
									// hide form
									this.setVisibility($('form_sendtoafriend'+iIdentifier), 0);
									// show thanks
									this.setVisibility($('divSTF'+iIdentifier+'Thanks'), 1);
									break;
								}
												
								case "error":
								{
									alert("An error occured sending your message. Please try again");
									break;
								}
							}
						}
					}
				}
			}
		}
		var btnSend =$$('.btn_sendthispage');
		if(btnSend && btnSend.length == 1)
			btnSend.removeClass('swirly');
	},
	
	resetForm:	function()
	{
		var iIdentifier  = (this.blMoveOnSend ? "02" : "01");
		var name		 = $('sendfriend'+iIdentifier+'_name');
		var email		 = $('sendfriend'+iIdentifier+'_email');		
		var friendsname	 = $('sendfriend'+iIdentifier+'_friendsname');
		var friendsemail = $('sendfriend'+iIdentifier+'_friendsemail');
		var message 	 = $('sendfriend'+iIdentifier+'_message');

		// reset fields
		name.value = "";
		email.value = "";		
		friendsname.value = "";
		friendsemail.value = "";
		message.value = "";
		
		// reapply labels
		name.onblur();
		email.onblur();		
		friendsname.onblur();
		friendsemail.onblur();
		message.onblur();		

		// place panel
		if(this.blMoveOnSend)
		{
			$('bubble_footer_sendtofriend').setStyle("top", (window.ie ? "-265px" : "-280px"));
		}
		// hide thanks
		this.setVisibility($('divSTF'+iIdentifier+'Thanks'), 0);
		// show form
		this.setVisibility($('form_sendtoafriend'+iIdentifier), 1);		
	}
	
});

var prSendToFriend01 = new SendToFriend();
var prSendToFriend02 = new SendToFriend();
 
document.ready = function()
				{ 
					if(!document.FIN)
					{
						prSendToFriend01.setupLink($('bubble_top_sendtofriend_btn'), false);
						prSendToFriend01.setupLink($('bubble_top_sendtofriend_text'), false);						
						$('bubble_top_sendtofriend_close').addEvent('click',  function()
																	   {
																		   prSendToFriend01.toggleBubble($('bubble_top_sendtofriend'));
																	   });
					}
};
