/* GLOBAL [START] */

function Error(Msg, Element)
{
	alert(Msg);
	var Type = Element.type;
	if(Element != null)
	{
		if(Type == "text" || Type == "password" || Type == "file" || Type == "textarea")
			Element.select();
		Element.focus();
	}
	return false;
}

function RemoveSpaces(Str, Mode)
{
	if(Mode != 0 && Mode != 1 && Mode != 2)
		Mode = 0;
	Ret = "";
	switch (Mode)
	{
		case 0: Ret = Str.split(" ").join("");
						break;
		case 1: Tmp1 = Str.split(" ");
						Tmp2 = new Array();
						for(var i = 0; i < Tmp1.length; i++)
							if(Tmp1[i].length > 0)
								Tmp2.push(Tmp1[i]);
						Ret = Tmp2.join(" ");
						break;
		case 2: From = 0;
						while(Str.charAt(From) == " ")
							From ++;
						Str = Str.substr(From);
						To = Str.length - 1;
						while(Str.charAt(To) == " ")
							To --;
						Ret = Str.substr(0, To + 1);
						break;
	}
	return Ret;
}

function isNumberKey(evt)
{
	var charCode = (evt.which) ? evt.which : evt.keyCode
	if (charCode > 31 && (charCode < 48 || charCode > 57))
		return false;
	
	return true;
}

/* GLOBAL [ END ] */


/* FORM VALIDATION [START] */

function ValidateContactForm(form, labels)
{
	FieldsToValidate = new Array("Full Name", "Email Address", "Message");
	FieldsToValidateStr = "-" + FieldsToValidate.join("-") + "-";
	for(var i = 0; i < form.elements.length - 2; i++)
	{
		Element = form.elements[i];
		if(FieldsToValidateStr.split("-" + Element.name + "-").length < 2)
			continue;
		if(RemoveSpaces(Element.value) == "")
			return Error(labels["Enter"] + labels[Element.name], Element);
		if(Element.name == "Email Address")
		{
			email = Element.value;
			at = email.split("@");
			if(at.length == 1 || at[0].length == 0)
				return Error(labels["Email Format"], Element);
			dot = at[1].split(".");
			if(dot.length == 1 || dot[0].length == 0 || dot[dot.length-1].length == 0)
				return Error(labels["Email Format"], Element);
		}
	}
	return true;
}

// Guest Book [START]
function ValidateGB(form)
{
	if(RemoveSpaces(form.Visitor.value) == "")
		return Error("الرجاء إدخال اسم الزائر", form.Visitor);
	if(RemoveSpaces(form.Email.value) == "")
		return Error("الرجاء إدخال البريد الالكتروني", form.Email);
	email = form.Email.value;
	at = email.split("@");
	if(at.length == 1 || at[0].length == 0)
		return Error("الرجاء إدخال البريد الالكتروني بشكل صحيح", form.Email);
	dot = at[1].split(".");
	if(dot.length == 1 || dot[0].length == 0 || dot[dot.length-1].length == 0)
		return Error("الرجاء إدخال البريد الالكتروني بشكل صحيح", form.Email);
	if(RemoveSpaces(form.Text.value) == "")
		return Error("الرجاء إدخال نص التعليق", form.Text);
}

function ValidateEngGB(form)
{
	if(RemoveSpaces(form.Visitor.value) == "")
		return Error("Please Enter Guest Name", form.Visitor);
	if(RemoveSpaces(form.Email.value) == "")
		return Error("Please Enter Email Address", form.Email);
	email = form.Email.value;
	at = email.split("@");
	if(at.length == 1 || at[0].length == 0)
		return Error("Please Enter a Correct Email Format", form.Email);
	dot = at[1].split(".");
	if(dot.length == 1 || dot[0].length == 0 || dot[dot.length-1].length == 0)
		return Error("Please Enter a Correct Email Format", form.Email);
	if(RemoveSpaces(form.Text.value) == "")
		return Error("Please Enter Comment", form.Text);
}
// Guest Book [ END ]

// Visitor Question [START]
function ValidateQuestion(form)
{
	if(RemoveSpaces(form.Visitor.value) == "")
		return Error("الرجاء إدخال اسم الزائر", form.Visitor);
	if(RemoveSpaces(form.Email.value) == "")
		return Error("الرجاء إدخال البريد الالكتروني", form.Email);
	email = form.Email.value;
	at = email.split("@");
	if(at.length == 1 || at[0].length == 0)
		return Error("الرجاء إدخال البريد الالكتروني بشكل صحيح", form.Email);
	dot = at[1].split(".");
	if(dot.length == 1 || dot[0].length == 0 || dot[dot.length-1].length == 0)
		return Error("الرجاء إدخال البريد الالكتروني بشكل صحيح", form.Email);
	if(RemoveSpaces(form.Title.value) == "")
		return Error("الرجاء إدخال عنوان السؤال", form.Title);
	if(RemoveSpaces(form.Text.value) == "")
		return Error("الرجاء إدخال نص السؤال", form.Text);
}

function ValidateEngQuestion(form)
{
	if(RemoveSpaces(form.Visitor.value) == "")
		return Error("Please Enter Guest Name", form.Visitor);
	if(RemoveSpaces(form.Email.value) == "")
		return Error("Please Enter Email Address", form.Email);
	email = form.Email.value;
	at = email.split("@");
	if(at.length == 1 || at[0].length == 0)
		return Error("Please Enter a Correct Email Format", form.Email);
	dot = at[1].split(".");
	if(dot.length == 1 || dot[0].length == 0 || dot[dot.length-1].length == 0)
		return Error("Please Enter a Correct Email Format", form.Email);
	if(RemoveSpaces(form.Title.value) == "")
		return Error("Please Enter Question Title", form.Title);
	if(RemoveSpaces(form.Text.value) == "")
		return Error("Please Enter Question", form.Text);
}
// Visitor Question [ END ]

function ValidateSearchForm(form, labels)
{
	if(RemoveSpaces(form.elements["KeyWord"].value) == "")
		return Error(labels["EnterKeyWord"], form.elements["KeyWord"]);
	if(RemoveSpaces(form.elements["A"].value) == "1")
	{
		Chk = form.elements["SearchIn[]"];
		for(i = 0; i < Chk.length; i++)
			if(Chk[i].checked)
				return true;
		return Error(labels["Choose"], Chk[0]);
	}
	return true;
}

function ValidateSendToFriendForm(form, labels)
{
	Element = form.From;
	if(RemoveSpaces(Element.value) == "")
		return Error(labels[Element.name], Element);
	email = Element.value;
	at = email.split("@");
	if(at.length == 1 || at[0].length == 0)
		return Error(labels["Email Format"], Element);
	dot = at[1].split(".");
	if(dot.length == 1 || dot[0].length == 0 || dot[dot.length-1].length == 0)
		return Error(labels["Email Format"], Element);
	
	Element = form.To;
	if(RemoveSpaces(Element.value) == "")
		return Error(labels[Element.name], Element);
	email = Element.value;
	at = email.split("@");
	if(at.length == 1 || at[0].length == 0)
		return Error(labels["Email Format"], Element);
	dot = at[1].split(".");
	if(dot.length == 1 || dot[0].length == 0 || dot[dot.length-1].length == 0)
		return Error(labels["Email Format"], Element);
	
	return true;
}

function ValidateSiteForm(form, labels)
{
	for(var i = 1; i < form.elements.length - 2; i++)
	{
		Element = form.elements[i];
		if(RemoveSpaces(Element.value) == "")
			return Error(labels["Enter"] + labels[Element.name], Element);
	}
	return true;
}

function ValidateUploadForm(form, labels)
{
	IgnoreUpload = (form.elements[0].value == "new") ? false : true;
	for(var i = 2; i < form.elements.length - 2; i++)
	{
		Element = form.elements[i];
		if(Element.name == "Upload" && IgnoreUpload)
			continue;
		if(RemoveSpaces(Element.value) == "")
			return Error(labels["Enter"] + labels[Element.name], Element);
	}
	return true;
}

function ValidateComment(form, labels)
{
	if(RemoveSpaces(form.elements["Text"].value) == "")
		return Error(labels.EnterText, form.elements["Text"]);
}

/* FORM VALIDATION [ END ] */