﻿function SubmitIdea()
{
	var validationMessage = SubmitIdeaValidate();
	if (validationMessage.length != 0)
	{
		document.getElementById("SubmitIdeaResultLabel").innerHTML = validationMessage;
		document.getElementById("SubmitIdeaResultLabel").style.height = "48px";
	}
	else
	{
		blockViewport(document.getElementById("popup_submit"), ["IdeaSubmitButton"]);
		BreakfastPockets.Webs.AjaxAccessor.SubmitIdea(
			document.getElementById("IdeaFirstNameBox").value,
			document.getElementById("IdeaLastNameBox").value,
			document.getElementById("IdeaMailBox").value,
			document.getElementById("IdeaArea").value,
			document.getElementById("IdeaWouldLikeEmailsBox").checked,
			SubmitIdeaCallback);
	}
	return false;
}
function SubmitIdeaValidate()
{
	var result = "";
	var separator = "";
	var lineSeparator = "";
	if (trim(document.getElementById("IdeaArea").value).length == 0)
	{
		result += separator + "Your Breakfast Wisdom";
		separator = ", ";
	}
	if (trim(document.getElementById("IdeaFirstNameBox").value).length == 0)
	{
		result += separator + "Your First Name";
		separator = ", ";
	}
	if (trim(document.getElementById("IdeaLastNameBox").value).length == 0)
	{
		result += separator + "Your Last Name";
		separator = ", ";
	}
	if (trim(document.getElementById("IdeaMailBox").value).length == 0)
	{
		result += separator + "Your E-mail Address";
		separator = ", ";
	}
	if (result.length != 0)
	{
		result = "The following fields are required: " + result;
		lineSeparator = "<br>";
	}
	if (
		document.getElementById("IdeaMailBox").value.length != 0 &&
		!document.getElementById("IdeaMailBox").value.match(/^\s*([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+\s*$/))
	{
		result += lineSeparator + "Your E-mail Address is invalid";
		lineSeparator = "<br>";
	}
	if (result.length > 0)
	{   // Use the same error message for any type of error
	    result = "The following fields are required: Your Breakfast Wisdom, Your First Name, Your Last Name, Your E-mail Address";
	}
	return result;
}
function SubmitIdeaCallback(result)
{
	unblockViewport();
	if (!result.value)
	{
		document.getElementById("SubmitIdeaResultLabel").innerHTML = "An error occured on server";
	}
	else
	{
		if (result.value.ResultType == 0)
		{
        	_popup_flip('popup_submit_thanks');
			//HidePopup("SubmitIdea");
			//ShowPopupThankYou("SubmitIdea");
		}
		else
		{
			document.getElementById("SubmitIdeaResultLabel").innerHTML = "Error: " + result.value.Message;
		}
	}
}

/*****************************/
/**       Busy wheel        **/
/*****************************/
var xval;
var disabledControls;
function blockViewport(element, controlsToDisable)
{
	disabledControls = controlsToDisable;
	if (disabledControls)
	{
		for (var i = 0; i < disabledControls.length; i++)
		{
			document.getElementById(disabledControls[i]).disabled = true;
		}
	}
	xval = getBusyOverlay(
		element,
		{color:'transparent', opacity:0.75, style:'text-decoration:blink;font-weight:bold;font-size:12px;color:#000000'},
		{color:'#66aa66', size:32, type:'o'});
}
function unblockViewport()
{
	if (xval)
	{
		xval.remove();
	}
	if (disabledControls)
	{
		for (var i = 0; i < disabledControls.length; i++)
		{
			document.getElementById(disabledControls[i]).disabled = false;
		}
	}
}

/*****************************/
/**          Other          **/
/*****************************/

function trim(str)
{
	return str.replace(/^\s*/, "").replace(/\s*$/, "");
}


