// My Scripting

function isNotEmpty(object, Description)
{
	if(object.value.length == 0)
	{
		alert(Description + " cannot be empty.");
		object.style.background="#ffff99";
		return false;
	}
	object.style.background="#ffffff";
	return true;
}

function isCharOnly(object, Description)
{
	for(i=0; i < object.value.length; i++)
		if('-ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz'.indexOf(object.value.charAt(i)) < 0) 
		{
			alert(Description + " must contain character values only.");
			object.style.background="#ffff99";
			return false;
		}
	object.style.background="#ffffff";
	return true;
}

function isValidName(object, Description)
{
	if(isNotEmpty(object, Description) == false) return false;
	if(isCharOnly(object, Description) == false) return false;
	return true;
}

function isValidEmail(object)
{
	var at="@";
	var dot=".";
	var lat=object.value.indexOf(at);
	var lstr=object.value.length;
	var ldot=object.value.indexOf(dot);
	if(isNotEmpty(object, "E-mail address") == false) return false;
	if(object.value.indexOf(" ")!=-1)
	{
		alert("Unwanted space in the E-mail address.\nUse the form \"name@domain.com\".");
		object.style.background="#ffff99";
		return false;
	}
	if(object.value.indexOf(at)==-1)
	{
		alert("Not a valid E-mail Id.\nUse the form \"name@domain.com\".");
		object.style.background="#ffff99";
		return false;
	}
	if(object.value.indexOf(at) == -1 || object.value.indexOf(at) == 0
		|| object.value.indexOf(at) == lstr-1 || object.value.indexOf(dot) == -1
		|| object.value.indexOf(dot) == 0 || object.value.indexOf(dot) == lstr-1
		|| object.value.indexOf(at, lat+1) != -1
		|| object.value.substring(lat-1, lat) == dot || object.value.substring(lat+1, lat+2) == dot
		|| object.value.indexOf(dot, lat+2) == -1 || object.value.lastIndexOf(dot) == lstr-1)
	{
		alert("Not a valid E-mail address.\nUse the form \"name@domain.com\".");
		object.style.background="#ffff99";
		return false;
	}
	var dot1, dot2;
	dot1 = object.value.indexOf(dot, ldot+1);
	for(var i = 0; i <= lstr; i++)
	{
		dot2 = object.value.indexOf(dot, dot1+1);
		if(dot1 == ldot+1 || dot2 == dot1+1)
		{
			alert("Not a valid E-mail address.\nUse the form \"name@domain.com\".");
			object.style.background="#ffff99";
			return false;
		}
		dot1 = object.value.indexOf(dot, dot2+1);
	}
	if(lstr - object.value.lastIndexOf(dot) - 1 < 2)
	{
		alert("Not a valid E-mail address.\nRoot domain consists of at least 2 characters.\nUse the form \"name@domain.com\".");
		object.style.background="#ffff99";
		return false;
	}
	else
	{
		var tempStr = object.value.substring(object.value.lastIndexOf(dot)+1,lstr);
		for(i=0; i < tempStr.length; i++)
		if('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.indexOf(tempStr.charAt(i)) < 0) 
		{
			alert("Not a valid E-mail address.\nRoot domain consists of at least 2 characters.\nUse the form \"name@domain.com\".");
			object.style.background="#ffff99";
			return false;
		}
	}
	if(object.value.indexOf(dot, lat+2) - lat - 1 < 2)
	{
		alert("Not a valid E-mail address.\nTop level domain consists of at least 2 characters or digits.\nUse the form \"name@domain.com\".");
		object.style.background="#ffff99";
		return false;
	}
	object.style.background="#ffffff";
	return true;
}

function validate(object)
{
	var	flag1 = isValidName(object.sendersname, "Your name");
	var flag2 = isValidEmail(object.sendersemail);
	var flag3 = isNotEmpty(object.sendersmessage, "Your feedback");
	if (flag1 == false || flag2 == false || flag3 == false) return false;
	else return true;
}

function forClear(thisForm)
{
	for(i=0; i<thisForm.length; i++)
	{
		if(thisForm[i].type == "text" || thisForm[i].type == "textarea")
		{
			thisForm[i].style.background="#ffffff";
			thisForm[i].value="";
		}
	}
}