function validate_contact_form()
{
	var status = true;
	var full_name = document.getElementById("full_name");
	var phone_num = document.getElementById("phone");
	var phone_code = document.getElementById("phone_code");
	var user_email = document.getElementById("email");
	var subject = document.getElementById("subject");
	var name_result = validateFirstName(full_name.value);
	if(0!=name_result)
	{
		var error_text = "";
		if(name_result==1)
			error_text = "השם המלא הוא שדה חובה";
		else if(name_result==2)
			error_text = "נא להכניס שם מלא(2-25 אותיות)";
		//first, remove previuos error message
		removeFormElement("first_name_error");
		addFormElement("div","first_name_error",error_text,"full_name_field");
		status=false;
	}
	else
		removeFormElement("first_name_error");
	if(!validatePhoneNum(phone_num.value))//, phone_code.value))
	{		
		//first, remove previuos error message
		removeFormElement("phone_error");
		addFormElement("div","phone_error","נא להכניס מספר סלולרי/טלפון(7 ספרות)","phone_field");
		status=false;
	}
	else
		removeFormElement("phone_error");
	var email_result = validateEmail(user_email.value);
	if(0!=email_result)
	{
		var text = "";
		if(email_result==1)
			text = "נא למלא את שדה הדואר האלקטרוני";
		else if(email_result==2)
			text = "כתובת הדואר האלקטרוני שהזנת אינה תיקנית";
		//first, remove previuos error message
		removeFormElement("email_error");
		addFormElement("div","email_error",text,"email_field");
		status=false;
	}
	else
		removeFormElement("email_error");
	var subject_result = validateSubject(subject.value);
	if(0!=subject_result)
	{
		var error_text = "";
		if(subject_result==1)
			error_text = "נושא הודעה הוא שדה חובה";
		else if(subject_result==2)
			error_text = "נא להכניס נושא הודעה באורך של 2-30 תווים";
		//first, remove previuos error message
		removeFormElement("subject_error");
		addFormElement("div","subject_error",error_text,"subject_field");
		status=false;
	}
	else
		removeFormElement("subject_error");
	return status;
}

function validateFirstName(first_name)
{
	if(isEmpty(first_name))
		return 1;
	else if(first_name.length>25 || first_name.length<2)
	   return 2;
    return 0;
}

function validateLastName(last_name)
{
   if(last_name.length>25)
	   return false;
   else
	   return true;
}

function validatePhoneNum(phone_num)//, phone_code
{
	var isValide = false;  
	if(isNumber(phone_num))// && isNumber(phone_code))
	{
		if (phone_num.length==7)//(phone_code.length==3 || phone_code.length==2) && 
		{
			   isValide =  true;
		}
	}
	return isValide;	
}

function validateEmail(email)
{
   var emailFilter=/^.+@.+\..{2,3}$/;
   var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/;
   if(isEmpty(email))
   {
      return 1;
   }
   if (email.match(illegalChars))
   {
      return 2;
   }
   if (!(emailFilter.test(email)))
   { 
       return 2;
   }
   else
     return 0;
}

function validateSubject(subject)
{
	if(isEmpty(subject))
		return 1;
	else if(subject.length>30 || subject.length<2)
		   return 2;
	return 0;
}

function addFormElement(element_type,element_id,text,append_to)
{
    if(!document.getElementById(element_id))
    {
	    var div = document.createElement(element_type);
	    div.setAttribute("id", element_id);
	    div.style.fontSize = "12px";
	    div.style.color = "red";
	    var divError = document.createTextNode(text);
	    div.appendChild(divError);
	    document.getElementById(append_to).appendChild(div);
	}
}

function removeFormElement(element_id)
{
 if(document.getElementById(element_id))
 {
     var elem = document.getElementById(element_id)
     elem.parentNode.removeChild(elem);
  }
}

function isEmpty(val)
{
    if(val==null || val=="")
        return true;
    else
        return false;
}

function isNumber(inputVal)
{
	inputStr = inputVal.toString();
	for (var i = 0; i < inputStr.length; i++) {
		var oneChar = inputStr.charAt(i);
		if (oneChar < "0" || oneChar > "9"){
			return false;
			
		}
	}
	return true;
}
