// Post functions

function checkSendEcardForm(f)
{
	//var f = document.WriteStoryForm;
	
	var formOkay = true;
	var message = "";
	// Check for content in fields
	if(formOkay && f.Message.value.length == 0)
	{
		message += "Write your message before posting!\n";
		f.Story.focus();
		formOkay = false;
	}
	if(formOkay && f.Message.value.length > 0)
	{
		if(isHTML(f.Message.value))
		{
			if(confirm("HTML not allowed in message field.\nPress Okay to strip HTML and submit.\nPress Cancel to edit."))
			{
				f.Message.value = stripHTML(f.Message.value);
				if(f.Message.value.length == 0)
				{
					message += "Message field now empty. Please enter message in plain text.\n";
					f.Message.focus();
					formOkay = false;
				}
			}
			else
			{
				f.Message.focus();
				formOkay = false;
			}
		}
	}
	f.ToName.value = stripHTML(f.ToName.value);
	if(formOkay && f.ToName.value.length == 0)
	{
		//f.ToName.value = "My Unexpected Angel";
		message += "Enter the name of your friend before sending!\n";
		f.ToName.focus();
		formOkay = false;
	}
	f.FromName.value = stripHTML(f.FromName.value);
	if(formOkay && f.FromName.value.length == 0)
	{
		//f.Name.value = "Anonymous";
		message += "Enter your name before sending!\n";
		f.FromName.focus();
		formOkay = false;
	}
	f.ToEmail.value = stripHTML(f.ToEmail.value);
	if(formOkay && f.ToEmail.value.length == 0)
	{
		//f.Website.value = "http://";
		message += "Enter your friend's email before sending!\n";
		f.ToEmail.focus();
		formOkay = false;
	}
	if(formOkay && f.ToEmail.value.indexOf("http://") != 0)
	{
		if(!validateEmail(f.ToEmail.value))
		{
			message += "Your friend's email appears invalid. Please correct before sending.\n";
			f.ToEmail.focus();
			formOkay = false;
		}
	}
	f.FromEmail.value = stripHTML(f.FromEmail.value);
	if(formOkay && f.FromEmail.value.length == 0)
	{
		//f.Website.value = "http://";
		message += "Enter your email before sending!\n";
		f.FromEmail.focus();
		formOkay = false;
	}
	if(formOkay && f.FromEmail.value.indexOf("http://") != 0)
	{
		if(!validateEmail(f.FromEmail.value))
		{
			message += "Your email appears invalid. Please correct before sending.\n";
			f.FromEmail.focus();
			formOkay = false;
		}
	}
	if(formOkay && f.MathAnswer.value.length == 0)
	{
		message += "Please enter math result.\n(This is a live person check)";
		f.MathAnswer.focus();
		formOkay = false;
	}
	if(formOkay && f.MathAnswer.value.length > 0)
	{
		var mathNums = f.MathNums.value.match(/\d/g);
		var mathAnswer = parseInt(mathNums[0]) + parseInt(mathNums[1]);
		if(parseInt(f.MathAnswer.value) != mathAnswer)
		{
			message += "Please check math result.\n(This is a live person check)";
			f.MathAnswer.focus();
			formOkay = false;
		}
	}
	if(message != "")
	{
		alert(message);
	}
	//alert(formOkay);
	return formOkay;
}

// validateURL adapted from http://www.weberdev.com/get_example-4569.html

function validateURL(url)
{
	var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/i;
    if(RegExp.test(url)){
        return true;
    }else{
        return false;
    } 
}

// validateEmail adapted from http://www.weberdev.com/get_example-4569.html

function validateEmail(email)
{
    var RegExp = /^((([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+(\.([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+)*)@((((([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.))*([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.)[\w]{2,4}|(((([0-9]){1,3}\.){3}([0-9]){1,3}))|(\[((([0-9]){1,3}\.){3}([0-9]){1,3})\])))$/i;
    if(RegExp.test(email)){
        return true;
    }else{
        return false;
    }
} 

// Strip HTML Tags (form) script- By JavaScriptKit.com (http://www.javascriptkit.com)
// For this and over 400+ free scripts, visit JavaScript Kit- http://www.javascriptkit.com/
// This notice must stay intact for use
// (Adapted)

function stripHTML(str)
{
	var re= /<\S[^><]*>/g;
	return str.replace(re, "");
}

function isHTML(str)
{
	var re= /<\S[^><]*>/g;
	return str.match(re);
}
