function showRiddleSolution(element)
{
  if(element.style.display=="none")  
  {
     element.style.display="";     
  }
  else
  {
     element.style.display="none";
  }
}
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("p","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("p","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("p","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("p","subject_error",error_text,"subject_field");
		status=false;
	}
	else
		removeFormElement("subject_error");
	return status;
}


function validate_user_answer()
{
	var status = true;
	var riddle_answer = document.getElementById("riddle_answer");
	var first_name = document.getElementById("first_name");
	var last_name = document.getElementById("last_name");
	var phone_num = document.getElementById("phone_num");
	var phone_code = document.getElementById("phone_code");
	var user_email = document.getElementById("user_email");
	
	var riddle_result = validateRiddleAnswer(riddle_answer.value);
	if(0!=riddle_result)
	{
		var error_text = "";
		if(riddle_result==1)
			error_text = "נא להכניס פתרון באורך של עד 20 תווים";
		else if(riddle_result==2)
			error_text = "שים לב! הפתרון לחידה מורכב משתי מילים בדיוק.";
		else if(riddle_result==3)
			error_text = "אנא ודא שהפתרון שלך אינו כולל שני רווחים או יותר";
		//first, remove previuos error message
		removeFormElement("riddle_answer_error");
		addFormElement("p","riddle_answer_error",error_text,"riddle_answer_field");
		status = false;
	}
	else
		removeFormElement("riddle_answer_error");
	var name_result = validateFirstName(first_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("p","first_name_error",error_text,"first_name_field");
		status = false;
	}
	else
		removeFormElement("first_name_error");
	if(!validateLastName(last_name.value))
	{
		error_text = "שם המשפחה אמור להיות באורך של עד 25 אותיות";
		//first, remove previuos error message
		removeFormElement("last_name_error");
		addFormElement("p","last_name_error",error_text,"last_name_field");
		status = false;
	}
	else
		removeFormElement("last_name_error");
	if(!validatePhoneNum(phone_num.value))//, phone_code.value
	{		
		//first, remove previuos error message
		removeFormElement("phone_error");
		addFormElement("p","phone_error","נא למלא את שדה המספר הסלולרי/טלפון(7 ספרות)","phone_num_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("p","email_error",text,"email_field");
		status = false;
	}
	else
		removeFormElement("email_error");
	return status;
}

function validateRiddleAnswer(riddle_answer)
{	
	if(isEmpty(riddle_answer) || riddle_answer.length<4 || riddle_answer.length>30)
		return 1;
	if(riddle_answer.indexOf("  ")!=-1)
		return 3;
	var splitStr = riddle_answer.split(" ");
		if(splitStr.length!=2)
			return 2;
	
	return 0;	
}

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;
}
