/*
		File: init-page-shop.js
		Description: Performs initialization for the On Line Shop page.
*/

window.onload= function(){
initOnClicksShop();
adjustLayout();
// add more calls here
}


function initOnClicksShop()
{
		// For each subnav button, assign event handler callback
		var btn = null;

		btn = $('btnShopMain');
		if (btn)
		{
		if(btn.addEventListener)
				btn.addEventListener('click', fetch_shop_main, false);
		else if(btn.attachEvent)
				btn.attachEvent('onclick', fetch_shop_main);
		}
		btn = $('btnShopSpecialOrder');
		if (btn)
		{
		if(btn.addEventListener)
				btn.addEventListener('click', fetch_shop_special_order, false);
		else if(btn.attachEvent)
				btn.attachEvent('onclick', fetch_shop_special_order);
		}
		btn = $('btnSubmitSpecialOrder');
		if (btn)
		{
		if(btn.addEventListener)
				btn.addEventListener('click', sendSpecialOrder, false);
		else if(btn.attachEvent)
				btn.attachEvent('onclick', sendSpecialOrder);
		}

}



function fetch_shop_main()
{
		clearSubNavButtons();
		var btn = $('btnShopMain');
		if (btn.parentNode)
		{
			btn.parentNode.className = "menu_item_selected";
			btn.parentNode.parentNode.className = "menu_btn_frame_selected";
		}

		var url = 'db_scripts/db_get_content_by_type_AJAX.php';
		var pars = 'contentType=ct_shop_special_order';
		var ajaxRequest = new Ajax.Request(
		url,
		{
				method: 'get',
				parameters: pars,
				onComplete: showData_ContentItem
		});
}


function fetch_shop_special_order()
{
		clearSubNavButtons();
		var btn = $('btnShopSpecialOrder');
		if (btn.parentNode)
		{
			btn.parentNode.className = "menu_item_selected";
			btn.parentNode.parentNode.className = "menu_btn_frame_selected";
		}

		var url = 'db_scripts/db_get_content_by_type_AJAX.php';
		var pars = 'contentType=ct_shop_special_order';
		var ajaxRequest = new Ajax.Request(
		url,
		{
				method: 'get',
				parameters: pars,
				onComplete: showData_ContentItem
		});
}

function sendSpecialOrder()
{
	var cust = new Object;
	cust.fname = $F('spec_order_first_name');
	cust.lname = $F('spec_order_last_name');
	cust.email = $F('spec_order_email');
	cust.phone = $F('spec_order_phone');
	var captcha = $F('spec_order_captcha_text');	

	var book = new Object;
	book.title = $F('spec_order_title');
	book.author = $F('spec_order_author');
	book.publisher = $F('spec_order_publisher');
	book.ISBN = $F('spec_order_isbn');
	book.ordernotes = $F('otherText');
	if($F('spec_order_hardcover') == 'hardcover')
		book.type = "Hard Cover";
	else if($F('spec_order_papercover') == 'paperback')
		book.type = "Paperback";
	else if($F('spec_order_eithercover') == 'either')
		book.type = "Either Hard Cover or Paperback";
	else
		book.type = "Not known";


	// verify the data that the user entered
	var success = checkCustomerData(cust);

 	var feedBackArea = $('specialOrderFeedback');
	if (feedBackArea != null)
	{
		if (success == false)
		{
			feedBackArea.className = 'feedbackWarning';	

			var errorHTML = "Whoops! You forgot to enter some of the info we need. See the highlighted boxes below.";
			feedBackArea.innerHTML = errorHTML;
		}
		else
		{
			/// TBD: send the data to the server. Get the results back via AJAX and populate in the feedback box.
			sendMail(cust, book, captcha);
		}
	}

	return false;
}

function checkCustomerData(dataObj)
{
	var results = true;

	resetInputs();

	if (dataObj.fname == null || dataObj.fname == "")
	{
		$('spec_order_first_name').style.border = "solid 2px #900";		
		$('spec_order_first_name').style.background = "#FFFF99";		
		results = false;
	}
	if (dataObj.lname == null || dataObj.lname == "")
	{
		$('spec_order_last_name').style.border = "solid 2px #900";		
		$('spec_order_last_name').style.background = "#FFFF99";		
		results = false;
	}
	if (dataObj.email == null || dataObj.email == "")
	{
		$('spec_order_email').style.border = "solid 2px #900";		
		$('spec_order_email').style.background = "#FFFF99";		
		results = false;
	}
	if (dataObj.phone == null || dataObj.phone == "")
	{
		$('spec_order_phone').style.border = "solid 2px #900";		
		$('spec_order_phone').style.background = "#FFFF99";		
		results = false;

	}

	return results;
}

function resetInputs()
{
		$('spec_order_first_name').style.border = "1px solid #999";
		$('spec_order_first_name').style.background = "#FFFFFF";		
		$('spec_order_last_name').style.border = "1px solid #999";
		$('spec_order_last_name').style.background = "#FFFFFF";		
		$('spec_order_email').style.border = "1px solid #999";
		$('spec_order_email').style.background = "#FFFFFF";		
		$('spec_order_phone').style.border = "1px solid #999";
		$('spec_order_phone').style.background = "#FFFFFF";		

}

function sendMail(cust, book, captcha)
{
		var url = "db_scripts/db_send_special_order_email.php";
		var pars = "submitted=true";
		pars += "&fname=" + encodeURIComponent(cust.fname);
		pars += "&lname=" + encodeURIComponent(cust.lname);
		pars += "&email=" + encodeURIComponent(cust.email);
		pars += "&phone=" + encodeURIComponent(cust.phone);
		pars += "&title=" + encodeURIComponent(book.title);
		pars += "&author=" + encodeURIComponent(book.author);
		pars += "&publisher=" + encodeURIComponent(book.publisher);
		pars += "&ISBN=" + encodeURIComponent(book.ISBN);
		pars += "&orderNotes=" + encodeURIComponent(book.ordernotes);
		pars += "&type=" + encodeURIComponent(book.type);
		pars += "&check=" + encodeURIComponent(captcha);
		
		var ajaxRequest = new Ajax.Request(
		url,
		{
				method: 'post',
				parameters: pars,
				onComplete: showData_SpecialOrderFeedback
		});
}


function showData_SpecialOrderFeedback(ajaxRequest)		
{

	try{
			var response = eval("(" + ajaxRequest.responseText + ")");
			if(response.error)
				alert("Eval Error:" + response.error);
			else
			{
				var target = $('specialOrderFeedback');
				if (response.resultData.result == 'success')
					target.className = 'feedbackMessage';	
				else
					target.className = 'feedbackWarning';	
				target.innerHTML = decodeAJAX(response.resultData.feedbackHTML);
			}

			setTimeout('adjustLayout()', 0);			
	}
	catch(e)
	{
		if (e instanceof Error) 
			alert('showData_SpecialOrderFeedback:\n' + e.name + ': ' + e.message + '\n' + ajaxRequest.responseText);
	}
}

