//---------------------------------form validation--------------------------------
var http = getHTTPObject();

function check_recruiter_username()
{
	var formobj = document.getElementById('theform') ;
	var usrname=formobj.username.value;
//	alert("index.php?page=process_ajax&check_type=check_recruiter_username&value_to_check=shadi");
		http.open("GET","index.php?page=recruitersh&op=process_ajax&check_type=check_recruiter_username&value_to_check="+usrname, true);
	http.onreadystatechange = handleHttpResponse; 	// handle what to do with the feedback 
	http.send(null);  
}
//----------------------------------------------
function check_recruiter_email()
{
	var formobj = document.getElementById('theform') ;
	var email=formobj.email.value;
	
		http.open("GET","index.php?page=recruitersh&op=process_ajax&check_type=check_recruiter_email&value_to_check="+email, true);
	http.onreadystatechange = handleHttpResponse; 	// handle what to do with the feedback 
	http.send(null);  
}
//----------------------------------------------
function check_jobseeker_username()
{

	var frmobj = document.getElementById('theform') ;
	var usrname=frmobj.username.value;
	
		http.open("GET","index.php?page=recruitersh&op=process_ajax&check_type=check_jobseeker_username&value_to_check="+usrname, true);
	http.onreadystatechange = handleHttpResponse; 	// handle what to do with the feedback 
	http.send(null);  
}
//----------------------------------------------

function check_jobseeker_email()
{
	var formobj = document.getElementById('theform') ;

	var email=formobj.email.value;
	
		http.open("GET","index.php?page=recruitersh&op=process_ajax&check_type=check_jobseeker_email&value_to_check="+email, true);
	http.onreadystatechange = handleHttpResponse; 	// handle what to do with the feedback 
	http.send(null);  
}
//----------------------------------------------
function handleHttpResponse() 
{

	//if the process is completed, decide to do with the returned data
	if (http.readyState == 4) 
  	{
		
  		sResults = http.responseText.split(","); //results is now whatever the feedback from the asp page was
		//whatever the variable glo_show's (usermsg for example) innerHTML holds, is now whatever  was returned by the asp page. 
	//-------------------------------------recruiter------------------------------------------
    	
    	if((sResults[0]=="recruiter")&&(sResults[1]=="true"))
		{
			var formobj = document.getElementById('theform') ;
			var usrname=formobj.username.value="";
			formobj.username.focus();
			alert("إسم المستخدم الذي إخترته موجود مسبقاً في قاعدة البيانات,الرجاء إختيار إسم آخر");
		}
		
		if((sResults[0]=="email")&&(sResults[1]=="true"))
		{
			var formobj = document.getElementById('theform') ;
			var email=formobj.email.value="";
			formobj.email.focus();
			alert("البريد الإلكتروني الذي إخترته موجود مسبقاً في قاعدة البيانات,الرجاء إختيار بريد إلكتروني آخر");
		}
	//------------------------------------jobseeker----------------------------------------------------------
	if((sResults[0]=="jobseeker")&&(sResults[1]=="true"))
		{
			var formobj = document.getElementById('theform') ;
			var usrname=formobj.username.value="";
			formobj.username.focus();
			alert("إسم المستخدم الذي إخترته موجود مسبقاً في قاعدة البيانات,الرجاء إختيار إسم آخر");
		}
		
		if((sResults[0]=="jobseeker_email")&&(sResults[1]=="true"))
		{
			var formobj = document.getElementById('theform') ;
			var email=formobj.email.value="";
			formobj.email.focus();
			alert("البريد الإلكتروني الذي إخترته موجود مسبقاً في قاعدة البيانات,الرجاء إختيار بريد إلكتروني آخر");
		}

    		
  	}
}
//----------------------------------------------
//----------------------------------------------------------------------------------------------------

function getHTTPObject() {
	var xmlhttp;
	/*@cc_on
	@if (@_jscript_version >= 5)
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        xmlhttp = false;
      }
    }
  @else
  xmlhttp = false;
  @end @*/
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		try 
		{
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
		xmlhttp = false;
		}
	}
	return xmlhttp;
}


//-----------------------------------------------
// email

function checkEmail (strng) {
var error="";
if (strng == "") {
   error = "الرجاء إدخال عنوان بريدك الإلكتروني.\n";
}

    var emailFilter=/^.+@.+\..{2,3}$/;
    if (!(emailFilter.test(strng))) { 
       error = "الرجاء إدخال بريد الكتروني صحيح.\n";
    }
    else {
//test email for illegal characters
       var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
         if (strng.match(illegalChars)) {
          error = "البريد الإلكتروني الذي قمت بإدخاله يحوي أحرف غير مسموح بها.\n";
       }
    }
return error;    
}


// phone number - strip out delimiters and check for 10 digits

function checkNumber (strng) {
var error = "";
if (strng == "") {
   error = "الرجاء إدخال قيمة في هذا الحقل.\n";
   return error;
}

var stripped = strng.replace(/[\(\)\.\-\ ]/g, ''); //strip out acceptable non-numeric characters
    if (isNaN(parseInt(strng))) {
       error = "الحقل يحوي على أحرف غير نظامية.";
      
  
    }
    return error;

}
//-----------------------------------------
function checkNumberonly (strng) {
var error = "";
if(strng=='')
return '';
var stripped = strng.replace(/[\(\)\.\-\ ]/g, ''); //strip out acceptable non-numeric characters
    if (isNaN(parseInt(stripped))) {
       error = "الحقل يحوي على أحرف غير نظامية.";
  
    }
    
return error;
}


// password - between 6-8 chars, uppercase, lowercase, and numeral

function checkPassword (strng) {
var error = "";
if (strng == "") {
   error = "الرجاء إدخال قيمة في هذا الحقل.\n";
   return error;  
}

    var illegalChars = /[\W_]/; // allow only letters and numbers
    
    if (strng.length < 6) {
       error = "طول كلمة المرور لا يجوز أن يقل عن 6 أحرف.\n";
       return error;  
    }
    else if (valTextBox(strng)) {
      error = "الحقل يحوي على أحرف غير نظامية.\n";
      return error;  
    } 
    else if (!((strng.search(/(a-z)+/)) && (strng.search(/(A-Z)+/)) && (strng.search(/(0-9)+/)))) {
       error = "إن كلمة المرور التي قمت بإدخالها ضعيفة,كلمة المرور القوية يجب أن تحوي على أحرف صغيرة و طبيرة و أرقام و أحرف خاصة.\n";
       return error;  
    }  
return error;    
}    

function valTextBox(strng) 
{ 
 var result = true;

    validChars  = "'&#%"; 
    
 
    //fieldName   = document.forms[0][formField]; 
    fieldValue  = strng; 
    fieldLength = fieldValue.length; 
        for( var i=0; i<fieldLength; i++ ) { 
    if ( validChars.indexOf( fieldValue.charAt( i )) == -1 ) { 
   
    result = false;
    break; 
    }     
        } 
        return result;
    } 



// username - 4-10 chars, uc, lc, and underscore only.

function checkStringwithlength(strng) {
var error = "";
if (strng == "") {
   error = "الرجاء إدخال قيمة في هذا الحقل.\n";
    return error ;
}


     // allow letters, numbers, and underscores
    if(strng.length==0)
    {
    	 error = "الرجاء إدخال قيمة لهذا الحقل.\n";
    	 return error ;
    }
    if(strng.length<3)
    {
    	 error = "الرجاء إدخال قيمة لهذا الحقل.\n";
    	 return error ;
    }

    else if (strng.length > 50)
    {
       error = "طول هذا الحقل يتجاوز المسموح به.\n";
    }
    else if (valTextBox(strng)) {
    error = "الحقل يحوي على أحرف غير نظامية.\n";
    } 
   return error;

}       

function checkString (strng) {
var error = "";
if (strng == "") {
   error = "الرجاء إدخال قيمة لهذا الحقل.\n";
    return error;
}


     // allow letters, numbers, and underscores
    
 if (valTextBox(strng)) {
    error = "الحقل يحوي على أحرف غير نظامية.\n";
    } 
   return error;

}       

// non-empty textbox

function isEmpty(strng) {
var error = "";
  if (strng.length == 0) {
     error = "The mandatory text area has not been filled in.\n"
  }
return error;	  
}

// was textbox altered

function isDifferent(strng) {
var error = ""; 
  if (strng != "Can\'t touch this!") {
     error = "You altered the inviolate text area.\n";
  }
return error;
}

// exactly one radio button is chosen

function checkRadio(checkvalue) {
var error = "";
   if (!(checkvalue)) {
       error = "Please check a radio button.\n";
    }
return error;
}

// valid selector from dropdown list

function checkDropdown(choice) {
var error = "";
    if (choice == 0) {
    error = "You didn't choose an option from the drop-down list.\n";
    }    
return error;
} 

//--------------------------------------------------------------------------------------------------------
function ValidateForm(form)
{

  for (i=0; i<form.elements.length; i++)
  {
	//------------------------------text only allowed--------------------------------------
	if (form.elements[i].id=="required_text")
	{
		error=checkString(form.elements[i].value);
		if(error!="")
		{
			alert(error);
			form.elements[i].focus();
			return false;
		}
	}
	//-------------------------------------------------------------------------------------
	if (form.elements[i].id=="required_text_with_a_specified_length")
	{
		error=checkStringwithlength(form.elements[i].value);
		if(error!="")
		{
			alert(error);
			form.elements[i].focus();
			return false;
		}
	}
	//-------------------------------------------------------------------------------------
	if (form.elements[i].id=="required_email")
	{
		error=checkEmail(form.elements[i].value);
		if(error!="")
		{
			alert(error);
			form.elements[i].focus();
			return false;
		}
	}
	//-------------------------------------------------------------------------------------
	//-------------------------------------------------------------------------------------
	
	if (form.elements[i].id=="required_confirm_email")
	{
		error=checkEmail(form.elements[i].value);
		if(error!="")
		{
			alert(error);
			form.elements[i].focus();
			return false;
		}
		if(form.elements[i].value!=form.elements[i-1].value)
		{
			alert("عنوانا البريد غير متطابقين الرجاء إعادة المحاولة");
			form.elements[i].value="";
			form.elements[i].focus();
			return false;
		}
	}


	//-------------------------------------------------------------------------------------
	if (form.elements[i].id=="required_password")
	{
		error=checkPassword(form.elements[i].value);
		if(error!="")
		{
			alert(error);
			form.elements[i].focus();
			return false;
		}
	}
	//-------------------------------------------------------------------------------------
	
	if (form.elements[i].id=="required_confirm_password")
	{
		error=checkPassword(form.elements[i].value);
		if(error!="")
		{
			alert(error);
			form.elements[i].focus();
			return false;
		}
		if(form.elements[i].value!=form.elements[i-1].value)
		{
			alert("كلمتا المرور المدخلتين غير متطابقتين الرجاء إعادة المحاولة");
			form.elements[i].value="";
			form.elements[i].focus();
			return false;
		}
	}

	//-------------------------------------------------------------------------------------

	if (form.elements[i].id=="required_number")
	{
		error=checkNumber(form.elements[i].value);
		if(error!="")
		{
			alert(error);
			form.elements[i].focus();
			return false;
		}
	}
	//-------------------------------------------------------------------------------------
	if (form.elements[i].id=="no_required_but_number")
	{
		error=checkNumberonly(form.elements[i].value);
		if(error!="")
		{
			alert(error);
			form.elements[i].focus();
			return false;
		}
	}
	//-------------------------------------------------------------------------------------
	if (form.elements[i].id=="only_number")
	{
		error=checkNumberonly(form.elements[i].value);
		if(error!="")
		{
			alert(error);
			form.elements[i].focus();
			return false;
		}
	}
	//-------------------------------------------------------------------------------------
	if (form.elements[i].id=="required_date")
	{
		error=checkNumber(form.elements[i].value);
		if(error!="")
		{
			alert(error);
			form.elements[i].focus();
			return false;
		}
	}
	//-------------------------------------------------------------------------------------
	if (form.elements[i].id=="required_serialnumber")
	{
		
			if(form.elements[i-1].checked)
			if(form.elements[i].value=="")
			{
				alert("الرجاء إدخال رقم البطاقة");
				form.elements[i].focus();
				return false;
			}
	
	}
	//-------------------------------------------------------------------------------------


	if (form.elements[i].id=="required_image")
	{
		if(form.elements[i].value=="")
		{		
			alert("الرجاء إدخال الكود الأمني الموجود بالصورة");
			form.elements[i].focus();
			return false;
		}
		else if(form.elements[i].value!=form.elements[i+1].value)
		{
				alert("الكود الأمني الذي أدخلته غير لا يتطابق مع الصورة ,الرجاء إعادة المحاولة");
			form.elements[i].value="";
			form.elements[i].focus();
			return false;
		}
	}
	//-------------------------------------------------------------------------------------

	if (form.elements[i].id=="required_combo")
	{
		if(form.elements[i].selectedIndex==0)
		{
			alert("الرجاء إختيار إحدى الخيارات المتاحة");
			form.elements[i].focus();
			return false;
		}
	}
	//-------------------------------------------------------------------------------------



   }
	    
return true;
 
} 

//--------------------------------------------------------------------------------

function Home_page()
{
	location.href="index.php";
}
function GoToPage(page)
{
	location.href=page;
}

function FormSubmitByPagination(page)
{
	document.search_form.action = document.search_form.action +'&page_num='+page;
	FormSubmit();
}
function FormSubmit()
	{
		document.search_form.submit();
		
	}
function sort_form_submit(formname)
{
		//search_page
		formname.submit();
}
function deleteOptions(fRef, sName, force) 
{
  var length = fRef[sName].options.length;
  if ( force) 
	{
  	for (var i=0; i<fRef[sName].options.length; i++) 
  	{
    
      fRef[sName].options[i] = null;
      length--;
      i--;
    }
  }
}
//---------------------------------------
function addOption(fRef, sName, sText, sValue,type) 
{
  var def = true;
  var sel = true;
  
  var optionName = new Option(sText, sValue, def, sel);
  var length = fRef[sName].length;
  fRef[sName].options[length] = optionName;
  fRef[sName].options[length].selected = false;
}

//--------------------------------------
function getAnOptionValue(what)
{
  return what.options[what.options.selectedIndex].value;
}
//--------------------------------------
function updatecity(fRef,sName1,sName2,type)
{
	 if(type != "array")
	 {
			 deleteOptions(fRef,sName2,true);
		
			 var id = getAnOptionValue(fRef[sName1]);
		  
			  var country_id = eval('country_'+id);
		  
			 for (var i=0; i<country_id.length;i+=2)
			  {
			  addOption(fRef, sName2,country_id[i+1], country_id[i]);
			  }
		
			 fRef[sName2].options.selectedIndex = 0;
	 }
	 else
	 {
		 	deleteOptions(fRef,sName2,true);
			
			var len	=	fRef[sName1].options.length;
			
			for( var i=0; i<len;i++)
				if(fRef[sName1].options[i].selected)
					{
						var id	=	fRef[sName1].options[i].value;
						var country_id = eval('country_'+id);
						if(country_id.length>1)
						
							for (var j=0; j<country_id.length;j+=2)
							  {
								 addOption(fRef, sName2,country_id[j+1], country_id[j],"array");
							  }
		
					}
	 }
 
}
//---------Count days between tow date------------

Date.prototype.countDays = function(startDate,endDate)
{
var startDate = new Date(startDate).getTime();
var endDate = new Date(endDate).getTime(); 
return (endDate-startDate)/86400000;
}

//-----Compare Tow date in format dd/mm/yyyy------

function check_date(days)
{
	
	startDate=document.search_form.before_date.value;
	endDate=document.search_form.after_date.value;   
	
	if(startDate !="" && endDate !="")
	{ 
		if(new Date().countDays(startDate,endDate)>=days)
			{
			return true;
			} 
		else
			{ 
			alert(' ---------- من فضلك أدخل تاريخين صحيحين  --------- '
			+'\n التاريخ الأول يجب أن يكون أصغر أويساوي التاريخ الثاني');
			document.search_form.after_date.value="";
			document.search_form.before_date.value="";
			return false;
			}; 
	}
}
function country_selected(fRef,Select_Name,Country_id)
{
	fRef[Select_Name].options.selectedIndex=country_id;
}
function delete_html_tags(Word) 
{
	a = Word.indexOf("<");
	b = Word.indexOf(">");
	len = Word.length;
	c = Word.substring(0, a);
	
	if(b == -1)
		b = a;
	
	d = Word.substring((b + 1), len);
	Word = c + d;
	tagCheck = Word.indexOf("<");
	
	if(tagCheck != -1)
		Word = delete_html_tags(Word);
	
	return Word;
}
function print_cv()
{
	window.print();
}
function show_cv()
{
	window.open("?page=jobseekers&op=print_cv","","status=no,toolbar=no,menubar=yes, scrollbars=yes,width=740,height=700, resizable=yes,fullscreen")
}

//----------------------------------------
//window.open("../index.html","","fullscreen,scrollbars")
//window.print();
/*
function Check() {
ToCheck = document.form.text.value;
Checked = Del(ToCheck);
document.form.text.value = Checked;
alert("This form is not set to submit anywhere so you will stay here.  But please notice that the text box's contents have been \"filtered\".");
return false;
}
// -->
</script>
</head>
<body>
<center><h1>Removing HTML</h1></center>
<p>This script is intended to ensure that people do not use HTML tags in form messages, Web forums, and so on. Type some text with HTML tags in the box below to try it out.</p>
<form name=form onSubmit="return Check()">
<textarea cols="50" rows="6" name="text"></textarea>
<br>
<input type="submit" value="Submit Entry">
</form>
*/
//------------------------------move & remove from combo functions

function addOption(fRef, sName, sText, sValue) 
{
  var def = true;
  var sel = true;
  var optionName = new Option(sText, sValue, def, sel);
  var length = fRef[sName].length;
  fRef[sName].options[length] = optionName;
  fRef[sName].options[length].selected = false;
}

function deleteOptions(fRef, sName, force) 
{
  var length = fRef[sName].options.length;
  for (var i=0; i<fRef[sName].options.length; i++) 
  {
    if (fRef[sName].options[i].selected || force) 
	{
      fRef[sName].options[i] = null;
      length--;
      i--;
    }
  }
}

function getAnOptionValue(what)
{
  return what.options[what.options.selectedIndex].value;
}

function updateColors(fRef, sName1, sName2)
{
  deleteOptions(fRef,sName2,true);

  var color = getAnOptionValue(fRef[sName1]);
  var colorObject = eval('city_'+color);

  for (var i=0; i<colorObject.length;i+=2)
   {
    addOption(fRef, sName2,colorObject[i+1], colorObject[i]);
   }

  fRef[sName2].options.selectedIndex = 0;
  //showColor(fRef, sName2);
}
/*********************************speciality_doctors*****************************************/

function addOptionto(fRef,sName,sText,sValue) 
{
  var def = true;
  var sel = true;
  var optionName = new Option(sText, sValue, def, sel);
  var length = fRef[sName].length;
  fRef[sName].options[length] = optionName;
  //fRef[sName].options[length].selected = true;
}

function deleteOptionsto(fRef, sName, force) 
{
  var length = fRef[sName].options.length;
  for (var i=0; i<fRef[sName].options.length; i++) 
  {
    if (fRef[sName].options[i].selected) 
	{
      fRef[sName].options[i] = null;
      length--;
      i--;
    }
  }
}

function replaceOptions(fRef,sName,sText,sValue) 
{
  for (var i=0; i<fRef[sName].options.length; i++) 
  {
    if (fRef[sName].options[i].selected) 
	{
      fRef[sName].options[i].text = sText;
      fRef[sName].options[i].value = sValue;
    }
  }
}
//--------------------------------------------------
function check(fRef, sNameTo,str)
{
	 var exist=false;
	 for (var j=0; j<fRef[sNameTo].options.length; j++)
	 {
		if(fRef[sNameTo].options[j].value==str)
		exist=true;
	 }
 return exist;
}
//---------------------------------------------------
function moveOption(fRef, sNameFrom, sNameTo, force) 
{
  for (var i=0; i<fRef[sNameFrom].options.length; i++)
   {
    if (fRef[sNameFrom].options[i].selected) 
	{ 
		if(!check(fRef,sNameTo,fRef[sNameFrom].options[i].value))
        addOptionto
		(
			fRef,sNameTo,
			fRef[sNameFrom].options[i].text,
			fRef[sNameFrom].options[i].value
        );
	    else
	        alert(" ...الإختصاص المدخل موجود مسبقاً");
    }
  }
 // deleteOptionsto(fRef,sNameFrom,force);
}
//---------------------------------------------------