// JavaScript Document

function Error(Msg, Element)
{
	alert(Msg);
	if(Element != null)
	{
		var Type = Element.type;
		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;
}

function ValidateUserForm(form)
{
	if(RemoveSpaces(form.elements["UserName"].value) == "")
		return Error("Please Enter User Name", form.elements["UserName"]);
	if(RemoveSpaces(form.elements["Password"].value) == "")
		return Error("Please Enter Password", form.elements["Password"]);
	return true;
}

function ValidatePassForm(form)
{
	if(RemoveSpaces(form.elements["Old"].value) == "")
		return Error("Please Enter Old Password", form.elements["Old"]);
	if(RemoveSpaces(form.elements["New"].value) == "")
		return Error("Please Enter New Password", form.elements["New"]);
	if(RemoveSpaces(form.elements["Con"].value) == "")
		return Error("Please Enter Password Confirmation", form.elements["Con"]);
	if(form.elements["Con"].value != form.elements["New"].value)
	{
		form.elements["New"].value = "";
		form.elements["Con"].value = "";
		return Error("Password Confirmation Should Match The Password", form.elements["New"]);
	}
	return true;
}

function ValidateContactForm(form)
{
	if(RemoveSpaces(form.elements["Name"].value) == "")
		return Error(Validation["Contact"][0], form.elements["Name"]);
	if(RemoveSpaces(form.elements["Email"].value) == "")
		return Error(Validation["Contact"][1], form.elements["Email"]);
	email = form.elements["Email"].value;
	at = email.split("@");
	if(at.length == 1 || at[0].length == 0)
		return Error(Validation["Contact"][2], form.elements["Email"]);
	dot = at[1].split(".");
	if(dot.length == 1 || dot[0].length == 0 || dot[dot.length-1].length == 0)
		return Error(Validation["Contact"][2], form.elements["Email"]);
	if(RemoveSpaces(form.elements["Comments"].value) == "")
		return Error(Validation["Contact"][3], form.elements["Comments"]);
	return true;
}


function ValidateStudentForm(form)
{
	if(RemoveSpaces(form.elements["Name"].value) == "")
		return Error(Validation["Student"][0], form.elements["Name"]);
	if(RemoveSpaces(form.elements["Email"].value) == "")
		return Error(Validation["Student"][1], form.elements["Email"]);
	email = form.elements["Email"].value;
	at = email.split("@");
	if(at.length == 1 || at[0].length == 0)
		return Error(Validation["Student"][2], form.elements["Email"]);
	dot = at[1].split(".");
	if(dot.length == 1 || dot[0].length == 0 || dot[dot.length-1].length == 0)
		return Error(Validation["Student"][2], form.elements["Email"]);
	return true;
}

function ValidateCustomerForm(form)
{
	if(RemoveSpaces(form.elements["Name"].value) == "")
		return Error(Validation["Customer"][0], form.elements["Name"]);
	if(RemoveSpaces(form.elements["Email"].value) == "")
		return Error(Validation["Customer"][1], form.elements["Email"]);
	email = form.elements["Email"].value;
	at = email.split("@");
	if(at.length == 1 || at[0].length == 0)
		return Error(Validation["Customer"][2], form.elements["Email"]);
	dot = at[1].split(".");
	if(dot.length == 1 || dot[0].length == 0 || dot[dot.length-1].length == 0)
		return Error(Validation["Customer"][2], form.elements["Email"]);
	return true;
}

function ValidateText(form)
{
	if(form.elements["TitleE"][1] != null)
	{
		if(RemoveSpaces(form.elements["TitleE"][1].value) == "")
			return Error("Please Enter English Title", form.elements["TitleE"][1]);
		if(RemoveSpaces(form.elements["TitleA"][1].value) == "")
			return Error("Please Enter Arabic Title", form.elements["TitleA"][1]);
	}

	if(form.elements["File"] != null)
	{
		if(! form.elements["UploadFile"].disabled && RemoveSpaces(form.elements["UploadFile"].value) == "")
			return Error("Please Choose a File", form.elements["UploadFile"]);
		if(! form.elements["URLFile"].disabled && RemoveSpaces(form.elements["URLFile"].value) == "")
			return Error("Please Enter a URL", form.elements["URLFile"]);
	}
	return true;
}

function ValidateTextAtt(form)
{
	if(! form.elements["UploadFile"].disabled && RemoveSpaces(form.elements["UploadFile"].value) == "")
		return Error("Please Choose a File", form.elements["UploadFile"]);
	if(! form.elements["URLFile"].disabled && RemoveSpaces(form.elements["URLFile"].value) == "")
		return Error("Please Enter a URL", form.elements["URLFile"]);

	parent.document.getElementById('AjaxAttFrame' + form.elements["TextID"].value).className = 'DisplayNone';
	parent.document.getElementById('Uploading' + form.elements["TextID"].value).className = 'DisplayBlock';
	return true;
}

function ValidateDirectory(form)
{
	DirName = form.elements["Dir"];
	if(RemoveSpaces(DirName.value) == "")
			return Error("Please Enter Directory Name", DirName);
	for(i = 0; i < DirName.value.length; i++)
	{
		char = DirName.value.charAt(i);
		if(char >= 'a' && char <= 'z')
			continue;
		if(char >= 'Z' && char <= 'Z')
			continue;
		if(char >= '0' && char <= '9')
			continue;
		if(char == '-' || char <= '_')
			continue;
		return Error("You can use only these sets of characters in the directory name:\na - z\tA - Z\t0 - 9\tDash(-)\tUnderscore(_)", DirName);
	}
	return true;
}

function ValidateUpload(form)
{
	FilePath = form.elements["ImageFile"];
	if(RemoveSpaces(FilePath.value) == "")
			return Error("Please Choose An Image", FilePath);
	
	NewName = form.elements["NewName"];
	for(i = 0; i < NewName.value.length; i++)
	{
		char = NewName.value.charAt(i);
		if(char >= 'a' && char <= 'z')
			continue;
		if(char >= 'Z' && char <= 'Z')
			continue;
		if(char >= '0' && char <= '9')
			continue;
		if(char == '-' || char <= '_')
			continue;
		return Error("You can use only these sets of characters in the new image name:\na - z\tA - Z\t0 - 9\tDash(-)\tUnderscore(_)", NewName);
	}
	
	SetImageNewName(form);
	return true;
}

function ValidateMailListLogin(form)
{
	if(RemoveSpaces(form.elements["UserName"].value) == "")
		return Error("Please Enter Your User Name", form.elements["UserName"]);
	if(RemoveSpaces(form.elements["Password"].value) == "")
		return Error("Please Enter Your Password", form.elements["Password"]);
	return true;
}

function ValidateHomeMailList(form)
{
	Element = form.elements["eMail"];
	if(RemoveSpaces(Element.value) == "")
		return Error("Please Enter Your" + Element.name, Element);
	email = Element.value;
	at = email.split("@");
	if(at.length == 1 || at[0].length == 0)
		return Error("Please Enter a Correct Email Format", Element);
	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", Element);
	return true;
}

function ValidateRegisterForm(form)
{
	if(RemoveSpaces(form.elements["First Name"].value) == "")
		return Error("Please Enter First Name", form.elements["First Name"]);
	if(RemoveSpaces(form.elements["Last Name"].value) == "")
		return Error("Please Enter Last Name", form.elements["Last Name"]);
	if(RemoveSpaces(form.elements["E-mail Address"].value) == "")
		return Error("Please Enter E-mail Address", form.elements["E-mail Address"]);
	if(RemoveSpaces(form.elements["E-mail Address"].value) != "")
	{
		email = RemoveSpaces(form.elements["E-mail Address"].value);
		at = email.split("@");
		if(at.length == 1 || at[0].length == 0)
			return Error("Please Enter a Correct E-mail Format", form.elements["E-mail Address"]);
		dot = at[1].split(".");
		if(dot.length == 1 || dot[0].length == 0 || dot[dot.length-1].length == 0)
			return Error("Please Enter a Correct E-mail Format", form.elements["E-mail Address"]);
	}
	if(RemoveSpaces(form.elements["User Name"].value) == "")
		return Error("Please Enter Prefered User Name", form.elements["User Name"]);
	if(form.elements["ID"] == null && RemoveSpaces(form.elements["Password"].value) == "")
		return Error("Please Enter Password", form.elements["Password"]);
	if(form.elements["ID"] == null && RemoveSpaces(form.elements["Confirm Password"].value) == "")
		return Error("Please Enter Password Confirmation", form.elements["Confirm Password"]);
	if(form.elements["Confirm Password"].value != form.elements["Password"].value)
	{
		form.elements["Password"].value = "";
		form.elements["Confirm Password"].value = "";
		return Error("Password Confirmation Should Match The Password", form.elements["Password"]);
	}

	http.onreadystatechange = function () 
													{
														if (http.readyState == 4)
														{
															res = handleHttpResponse();
															http.abort();
															var arr = res.split("|");
															if((parseInt(arr[1]) > 0 && form.elements["ID"] == null) || (parseInt(arr[1]) > 0 && form.elements["ID"] != null))
																return Error("The "+arr[0]+" You Enetered is Already Taken\nPlease Enter Another "+arr[0], form.elements[arr[0]]);
															
															form.onsubmit = function () { }
															form.submit();
															return true;
														}
														return false;
													}
	if(form.elements["ID"] == null)
		HTTPRequest("post", true, PathPre + "PHP/scripts/valueExists.php", "table=newslist&names=E-mail Address,User Name&Email="+form.elements["E-mail Address"].value+"&UserName="+form.elements["User Name"].value, false);
	else
		HTTPRequest("post", true, PathPre + "PHP/scripts/valueExists.php", "table=newslist&where=ID<>"+form.elements["ID"].value+"&names=E-mail Address,User Name&Email="+form.elements["E-mail Address"].value+"&UserName="+form.elements["User Name"].value, false);
	return false;
}

function ValidateDispatchForm(form)
{
	ChkBoxes = form.elements["Members[]"];
	AnyChecked = false;
	for(i = 0; i < ChkBoxes.length && ! AnyChecked; i++)
		AnyChecked = ChkBoxes[i].checked;
	if(! AnyChecked)
		return Error("Please Select One Or More Members", ChkBoxes[0]);
	
	if(RemoveSpaces(form.elements["richEdit0"].value) == "")
		return Error("Please Enter Message Text", null);
	
	return true;
}

function IsEmail(email)
{
	at = email.split("@");
	if(at.length == 1 || at[0].length == 0)
		return false;
	dot = at[1].split(".");
	if(dot.length == 1 || dot[0].length == 0 || dot[dot.length-1].length == 0)
		return false;
	return true;
}

function ValidateResumeAttachment(El)
{
	var Formats = "-DOC-WPD-PDF-PPT-TXT-XLS-QPW-ZIP-";
	
	var Attachment = El;
	var AttachmentFile = El.value;
	if(AttachmentFile != "")
	{	
		var Ex = AttachmentFile.substr(AttachmentFile.lastIndexOf(".") + 1);
		if(Formats.indexOf("-" + Ex.toUpperCase() + "-") == -1)
			return Error(Validation["Resume"][13], Attachment);
	}
	return true;
}

function ValidateResume(form)
{
	var EnterFirstName 				= Validation["Resume"][0];
	var EnterLastName 				= Validation["Resume"][1];
	var EnterNationality 			= Validation["Resume"][2];
	var EnterEMail 						= Validation["Resume"][3];
	var EnterCorrectEMail 		= Validation["Resume"][4];
	var EnterAddress 					= Validation["Resume"][5];
	var EnterCity 						= Validation["Resume"][6];
	var EnterCountry 					= Validation["Resume"][7];
	var EnterZipCode 					= Validation["Resume"][8];
	var EnterPhone 						= Validation["Resume"][9];
	var EnterWhen 						= Validation["Resume"][10];
	var EnterDesiredPosition 	= Validation["Resume"][11];
	
	if(RemoveSpaces(form.elements["FirstName"].value) == "")
		return Error(EnterFirstName, form.elements["FirstName"]);
	if(RemoveSpaces(form.elements["LastName"].value) == "")
		return Error(EnterLastName, form.elements["LastName"]);
	if(RemoveSpaces(form.elements["Nationality"].value) == "")
		return Error(EnterNationality, form.elements["Nationality"]);
	if(RemoveSpaces(form.elements["EMail"].value) == "")
		return Error(EnterEMail, form.elements["EMail"]);
	if(! IsEmail(RemoveSpaces(form.elements["EMail"].value)))
		return Error(EnterCorrectEMail, form.elements["EMail"]);
	if(RemoveSpaces(form.elements["Address"].value) == "")
		return Error(EnterAddress, form.elements["Address"]);
	if(RemoveSpaces(form.elements["City"].value) == "")
		return Error(EnterCity, form.elements["City"]);
	if(RemoveSpaces(form.elements["Country"].value) == "")
		return Error(EnterCountry, form.elements["Country"]);
	if(RemoveSpaces(form.elements["ZipCode"].value) == "")
		return Error(EnterZipCode, form.elements["ZipCode"]);
	if(RemoveSpaces(form.elements["Phone"].value) == "")
		return Error(EnterPhone, form.elements["Phone"]);
	if(RemoveSpaces(form.elements["When"].value) == "")
		return Error(EnterWhen, form.elements["When"]);
	if(RemoveSpaces(form.elements["DesiredPosition"].value) == "")
		return Error(EnterDesiredPosition, form.elements["DesiredPosition"]);
	
	return ValidateResumeAttachment(form.elements["Resume"]);
}

function ValidateResumeAttachmentOnly(form)
{
	if(RemoveSpaces(form.elements["Resume"].value) == "")
		return Error(Validation["Resume"][12], form.elements["Resume"]);
	if(ValidateResumeAttachment(form.elements["Resume"]))
	{
		form.onsubmit = function () { }
		form.submit();
	}
	else
		return false;
}