/////////////////////////////////////////////////////////////////////////////////
// Name: 		ReferFriend.js
// Description: 	Loading and controlling the 
//			'Refer a Friend' component
// Date:		11/14/2007
/////////////////////////////////////////////////////////////////////////////////
var referFriend = new ReferFriend();	// instantiate it


function ReferFriend()
{

	///////////////////////////////////////////////////////////////////////
	// Properties
	///////////////////////////////////////////////////////////////////////
	var overlay;
	var form;
	//var cgiURL = "http://local.dharmatrading.com/cgi-bin/echovars.cgi";
	var cgiURL = "/cgi-bin/refer-a-friend.cgi";
	var initialized = false;
	var intervalID = null;


	///////////////////////////////////////////////////////////////////////
	// initialize
	///////////////////////////////////////////////////////////////////////
	function _initialize()
	{	overlay = document.getElementById("overlay");
		form = document.getElementById("referForm");
		
	} this.initialize = _initialize;
	
	
	///////////////////////////////////////////////////////////////////////
	// Compare the position to the window scroll
	///////////////////////////////////////////////////////////////////////
	function _compareScroll()
	{	
		if (navigator.appName == "Microsoft Internet Explorer")
		{	var position = document.body.scrollTop;
		}
		else 
		{	var position = window.pageYOffset;
		}
		form.style.top=(10+position) + "px";
		
		//alert("Top: " + window.pageYOffset);
	} this.compareScroll = _compareScroll;


	///////////////////////////////////////////////////////////////////////
	// Reveal the form
	///////////////////////////////////////////////////////////////////////
	function _show()
	{	if (!initialized) referFriend.initialize();
		overlay.style.visibility="visible";
		overlay.style.height = (document.height || document.body.offsetHeight) + 'px';
		form.style.visibility="visible";
		window.scroll(0,0);
		referFriend.validate();
		
		// scroll detection
		intervalID = window.setInterval("referFriend.compareScroll()", 100);
		
	}  this.show = _show;


	///////////////////////////////////////////////////////////////////////
	// Send the email
	///////////////////////////////////////////////////////////////////////
	function _send()
	{	var cgiString = "";
	
		//	'mode' => 'save',
		cgiString+="&mode=save";

		//	'email' => '',
		cgiString+="&email=" + document.getElementById("email").value;

		//	'email_ok' => '',
		var eok = "";
		if (document.getElementById("email_ok_yes").checked) eok = "Y";
		if (document.getElementById("email_ok_no").checked) eok = "N";
		cgiString+="&email_ok=" + eok;

		//	'ref_email' => '',
		cgiString+="&ref_email=" + document.getElementById("ref_email").value;

		//	'action' => 'Send Referral to Friend',
		cgiString+="&action=Send+Referral+to+Friend";

		//	'objid' => '1137-AA',
		cgiString+="&objid=" + document.getElementById("objid").value;

		//	'ref_name' => ''
		cgiString+="&ref_name=" + document.getElementById("ref_name").value;

		// Send it
		var request = new XMLHttpRequest();

		request.open("POST", cgiURL, true);

		request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

		request.onreadystatechange = function()
		{      if(request.readyState == 4)
			{	//document.getElementById("debug").innerHTML= request.responseText;
				alert("Your message to " + document.getElementById("ref_email").value + " has been sent.");
				//alert(request.responseText);
				//document.documentElement.innerHTML = request.responseText;
			}
		}
		
		request.send(cgiString);
		referFriend.hide();
	  
	} this.send = _send;


	///////////////////////////////////////////////////////////////////////
	// validate fields
	///////////////////////////////////////////////////////////////////////
	function _validate()
	{	
		var sendButton = document.getElementById("sendButton");
		sendButton.disabled = true;
	
		//	'email' => '',
		if (document.getElementById("email").value.length < 1)
			return false;

		//	'email_ok' => '',
		var eok = "";
		if (document.getElementById("email_ok_yes").checked) eok = "Y";
		if (document.getElementById("email_ok_no").checked) eok = "N";
		if (eok != 'Y' && eok != "N")
			return false;

		//	'ref_email' => '',
		if (document.getElementById("ref_email").value.length < 1)
			return false;
			
		sendButton.disabled = false;
		
		// a-ok
		return true;

	} this.validate = _validate;


	///////////////////////////////////////////////////////////////////////
	// Hide the form
	///////////////////////////////////////////////////////////////////////
	function _hide()
	{	form.style.visibility="hidden";
		overlay.style.visibility="hidden";
		if (intervalID != null)
		{	window.clearInterval(intervalID);
			intervalID = null;
		}
	} this.hide = _hide;
}