// JavaScript Document
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function checkSearchForm() {
	var searchForm = document.forms['searchForm'];
	if(IsEmpty(searchForm.query)) {
		alert("Please enter search keyword");
		SetFocusSelect(searchForm.query);
		return false;
   }
   return true;
}

function checkFeedBackForm() {
	var contactUsForm = document.forms['contactUsForm'];
	if(IsEmpty(contactUsForm.name)) {
		alert("الرجاء أدخال الأسم!");
		SetFocusSelect(contactUsForm.name);
		return false;
   }
	if(IsEmpty(contactUsForm.companyName)) {
		alert("الرجاء أدخال الأسم الشركة");
		SetFocusSelect(contactUsForm.companyName);
		return false;
   }
	if(IsEmpty(contactUsForm.designation)) {
		alert("الرجاء أدخال المهنة");
		SetFocusSelect(contactUsForm.designation);
		return false;
   }
	if(IsEmpty(contactUsForm.telephone)) {
		alert("الرجاء أدخال رقم التلفون");
		SetFocusSelect(contactUsForm.telephone);
		return false;
   }
	if(!validateEmail(contactUsForm.email.value)) {
		alert("الرجاء أدخال البريد الألكتروني");
		SetFocusSelect(contactUsForm.email);
		return false;
   }
	if(IsEmpty(contactUsForm.subject)) {
		alert(" الرجاء أدخال أسم الموضوع!");
		SetFocusSelect(contactUsForm.subject);
		return false;
   }
   return true;
}

function checkCareerForm() {
   var careerForm = document.forms[1];

   if (IsEmpty(careerForm.postApplied) ){
       alert(" الرجاء أدخال الوظيفة المتقدم إليها!");
       careerForm.postApplied.focus();
       return false;
   }

   if(IsEmpty(careerForm.name)) {
		alert(" الرجاء أدخال الأسم!");
		SetFocusSelect(careerForm.name);
		return false;
   }

	if (careerForm.dob_day.value == 0){
       alert(" الرجاء أدخال التاريخ !");
       careerForm.dob_day.focus();
       return false;
   }

	if (careerForm.dob_month.value == 0){
       alert(" الرجاء أدخال التاريخ!");
       careerForm.dob_month.focus();
       return false;
   }

	if (careerForm.dob_year.value == 0){
       alert(" الرجاء أدخال التاريخ!");
       careerForm.dob_year.focus();
       return false;
   }

   if(IsEmpty(careerForm.telePhone)) {
       alert("الرجاء أدخال رقم الهاتف !");
		SetFocusSelect(careerForm.telePhone);
		return false;
   }

	if(!validateEmail(careerForm.eMailId.value)) {
		alert("الرجاء أدخال البريد الألكتروني");
		careerForm.eMailId.select();
		return false;
	}

   if(IsEmpty(careerForm.resume)) {
       alert(" الرجاء أدخال السيرة الذاتية!");
       careerForm.resume.focus();
		return false;
   }
   return true;
}

// Checking Variables are: Username (f_username) and Password (f_password)
function checkLogin() { 
   var cL = document.forms['loginForm'];

   if(IsEmpty(cL.f_portfolioNo)) {
		alert(" الرجاء أدخال أسم المستخدم!");
		SetFocusSelect(cL.f_portfolioNo);
		return false;
   }

   if(IsEmpty(cL.f_password)) {
		alert(" الرجاء أدخال كلمة السر!");
		SetFocusSelect(cL.f_password);
		return false;
   }
	return true;
//	return true;
}

function checkUserProfileData() {
	var pF = document.forms['profileForm'];

   if(IsEmpty(pF.f_password)) {
		alert("Password cannot be empty!");
		SetFocusSelect(pF.f_password);
		return false;
   }

   if(IsEmpty(pF.f_clientName)) {
		alert("Client Name cannot be empty!");
		SetFocusSelect(pF.f_clientName);
		return false;
   }

   if(IsEmpty(pF.f_telePhone)) {
		alert("Telephone cannot be empty!");
		SetFocusSelect(pF.f_telePhone);
		return false;
   }

	if(!validateEmail(pF.f_eMail.value)) {
		alert("Please enter a valid email address.");
		pF.f_eMail.select();
		return false;
	}

   if(IsEmpty(pF.f_address)) {
		alert("Address cannot be empty!");
		SetFocusSelect(pF.f_address);
		return false;
   }
   return true;
}

// FOLLOWING ARE THE FUNCTIONS USED FOR VALIDATING ABOVE WRITTEN FUNCTIONS
// E-mail Validation
function validateEmail(pEmail) {
   var emailfilter=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i;
   var returnval=emailfilter.test(pEmail);
   if (returnval==false){
      return false;
   } else {
      return true;
   }
}

// Input Text Validation
function TrimString(szString) {
      var i = 0;
      var j = 0;

      for (i=0; i<parseInt(szString.length); i++) {
            if(szString.charAt(i) != " ") {
                  for (j=parseInt(szString.length) - 1; j > i; j--) {
                        if (szString.charAt(j) != " ") {
                              break;
                        }
                  }
                  break;
            }
      }

      if (i > j)
            i = j;

      if (szString.length > 0 && szString.charAt(j) != " ")
            j++;

      return szString.substring(i, j);
}

// Input Text Validation
function TrimField(szFieldName) {
   var szNewStr="";
   if (szFieldName.value == "")
      return;

   if (szFieldName.value.length > 0) {
      szNewStr = TrimString(szFieldName.value);
      szFieldName.value = szNewStr;
   }
}

// Input Text validation
function IsEmpty(szFieldName) {
   var i;
   var ch;

   if (szFieldName.value == "")	
   		return true;

   TrimField(szFieldName);
   if (parseInt(szFieldName.value.length) == 0)
         return true;

   for (i=0; i<parseInt(szFieldName.value.length); i++) {
      ch = szFieldName.value.charAt(i);
      if (ch != ' ' && ch != '\t')
         return false;
   }
   return true;
}

// To focus and select the text box when it is empty
function SetFocusSelect(szFieldName) {
   szFieldName.focus();
   szFieldName.select();
   return true;
}