/*var baseUrl = "/mevaseret/";*/
var baseUrl = "/";
var form_active = false;
var run_time_error = false;

function set_flag(userid)
{	
	if(userid) form_active = true;
	lock_unloack_fields();
}
function lock_unloack_fields()
{
	var elm_input = document.stage1.getElementsByTagName('input');
	
	if(form_active) 
	{
		for(i=0; i < elm_input.length; i++)
		{
			if(elm_input[i].readOnly == true) elm_input[i].readOnly = false;
		}
		jQuery("#regSection").hide();
	}
	else
	{
		for(i=0; i < elm_input.length; i++)
		{
			if(elm_input[i].name != 'reg_email' && elm_input[i].name != 'password')	elm_input[i].readOnly = true;
		}
	}
}
function validate_registration()
{
	var email = document.stage1.reg_email.value;
	var pwd = document.stage1.password.value;
	var valid = true;
	if (!DKEmailIdCheck(email))
	{
		jQuery("#reg_email").fadeIn("slow");
		valid = false;
	} else jQuery("#reg_email").hide();
	if (pwd.length < 6 || pwd.length > 12)
	{
		jQuery("#password").fadeIn("slow");
		valid = false;
	} else jQuery("#password").hide();
	
	if(valid) register_student(email,pwd);
	else return false;
}
function register_student(email,password)
{
	var rnd = DKMyRandom();
	new Ajax.Request(baseUrl + "register/register/rand/" + rnd ,
						{
							method:'post',
							parameters: { 
								email : email,
								password : password
							},
							onSuccess: function(transport){
							var response = transport.responseText;							
							if(IsNumeric(response))
							{
								form_active = true;
								lock_unloack_fields();
								jQuery("#registered").fadeIn("slow");
								jQuery("#regSection").fadeOut("slow");
								document.stage1.first_name.focus();
							}
							else
							{	
								document.getElementById('login_email').innerHTML = response;
								jQuery("#login_email").fadeIn("slow");
							}
							return true;
							},
							onFailure: function(transport){ 
							alert(failed);
							}
						});
}
function finish_stage1()
{
	var result = true;
	var container = document.getElementById("first_name");
	if(document.stage1.first_name.value.length == 0)	
	{		
		result = false;
		container.innerHTML = "First name required.";
		jQuery("#first_name").fadeIn("slow");
	} else jQuery("#first_name").hide();
	
	var container = document.getElementById("last_name");
	if(document.stage1.last_name.value.length == 0)	
	{		
		result = false;
		container.innerHTML = "Last name required.";
		jQuery("#last_name").fadeIn("slow");
	} else jQuery("#last_name").hide();
	
	var container = document.getElementById("full_name_on_passport");
	if(document.stage1.full_name_on_passport.value.length == 0)	
	{
		result = false;
		container.innerHTML = "Full name on passport required.";
		jQuery("#full_name_on_passport").fadeIn("slow");
	} else jQuery("#last_name").hide();
	
	var container = document.getElementById("full_hebrew_name");
	if(document.stage1.full_hebrew_name.value.length == 0)	
	{
		result = false;
		container.innerHTML = "Full hebrew name required.";
		jQuery("#full_hebrew_name").fadeIn("slow");
	} else jQuery("#full_hebrew_name").hide();
	
	var container = document.getElementById("school_id");
	if(document.stage1.school_id.value.length == 0 && document.stage1.school_currently_attending.value.length == 0)	
	{
		result = false;
		container.innerHTML = "Please select a school.";
		jQuery("#school_id").fadeIn("slow");
	} else jQuery("#school_id").hide();
	
	var container = document.getElementById("year_commencing");
	if(document.stage1.year_commencing.value.length == 0)	
	{
		result = false;
		container.innerHTML = "Year commencing required.";
		jQuery("#year_commencing").fadeIn("slow");
	} else jQuery("#year_commencing").hide();
	
	var container = document.getElementById("date_of_birth");
	if(document.stage1.date_of_birth.value.length == 0)	
	{
		result = false;
		container.innerHTML = "Date of birth required.";
		jQuery("#date_of_birth").fadeIn("slow");
	} else jQuery("#date_of_birth").hide();
	
	var container = document.getElementById("social_security_number");
	if(document.stage1.social_security_number.value.length == 0)	
	{
		result = false;
		container.innerHTML = "Social security number required.";
		jQuery("#social_security_number").fadeIn("slow");
	} else jQuery("#social_security_number").hide();
	
	var container = document.getElementById("passport_number");
	if(document.stage1.passport_number.value.length == 0)	
	{
		result = false;
		container.innerHTML = "Passport number required.";
		jQuery("#passport_number").fadeIn("slow");
	} else jQuery("#passport_number").hide();
	
	var container = document.getElementById("address");
	if(document.stage1.address.value.length == 0)	
	{
		result = false;
		container.innerHTML = "Address required.";
		jQuery("#address").fadeIn("slow");
	} else jQuery("#address").hide();
	
	var container = document.getElementById("city");
	if(document.stage1.city.value.length == 0)	
	{
		result = false;
		container.innerHTML = "City required.";
		jQuery("#city").fadeIn("slow");
	} else jQuery("#city").hide();
	
	var container = document.getElementById("state");
	if(document.stage1.state.value.length == 0)	
	{
		result = false;
		container.innerHTML = "State required.";
		jQuery("#state").fadeIn("slow");
	} else jQuery("#state").hide();
	
	var container = document.getElementById("zip");
	if(document.stage1.zip.value.length == 0)	
	{
		result = false;
		container.innerHTML = "Zip code required.";
		jQuery("#zip").fadeIn("slow");
	} else jQuery("#zip").hide();
	
	var container = document.getElementById("home_telephone");
	if(document.stage1.home_telephone.value.length == 0)	
	{
		result = false;
		container.innerHTML = "Home telephone number required.";
		jQuery("#home_telephone").fadeIn("slow");
	} else jQuery("#home_telephone").hide();
	
	var container = document.getElementById("cellphone");
	if(document.stage1.cellphone.value.length == 0)	
	{
		result = false;
		container.innerHTML = "Cellphone number required.";
		jQuery("#cellphone").fadeIn("slow");
	} else jQuery("#cellphone").hide();
	
	var container = document.getElementById("home_fax");
	if(document.stage1.home_fax.value.length == 0)	
	{
		result = false;
		container.innerHTML = "Home fax number required.";
		jQuery("#home_fax").fadeIn("slow");
	} else jQuery("#home_fax").hide();
	
	var container = document.getElementById("login_email");
	if(document.stage1.login_email.value.length == 0)	
	{
		result = false;
		container.innerHTML = "Your email address required.";
		jQuery("#login_email").fadeIn("slow");
	} else jQuery("#login_email").hide();
	
	var chk = document.getElementById("chk4");
	if(!chk.checked)	
	{
		result = false;
		jQuery("#receive_emails").fadeIn("slow");
	} else jQuery("#receive_emails").hide();
	
	var container = document.getElementById("father_email");
	if(document.stage1.father_email.value.length == 0)	
	{
		result = false;
		container.innerHTML = "Father's email address required.";
		jQuery("#father_email").fadeIn("slow");
	} else jQuery("#father_email").hide();
	
	var container = document.getElementById("mother_email");
	if(document.stage1.mother_email.value.length == 0)	
	{
		result = false;
		container.innerHTML = "Mother's email address required.";
		jQuery("#mother_email").fadeIn("slow");
	} else jQuery("#mother_email").hide();
	
	return result;
}
function finish_stage2()
{
	var result = true;
	if(document.stage2.mother_maiden_name.value.length == 0)	
	{		
		result = false;
		jQuery("#mother_maiden_name").fadeIn("slow");
	} else jQuery("#father_first_name").hide();			
	
	var obj1 = document.getElementById("opt20");
	var obj2 = document.getElementById("opt21");
	if(!obj1.checked && !obj2.checked)	
	{
		result = false;
		jQuery("#israeli").fadeIn("slow");
	} else jQuery("#israeli").hide();
	
	if(document.stage2.mother_first_name.value.length == 0)	
	{		
		result = false;
		jQuery("#mother_first_name").fadeIn("slow");
	} else jQuery("#mother_first_name").hide();

	if(document.stage2.father_birth_date.value.length == 0)	
	{		
		result = false;
		jQuery("#father_birth_date").fadeIn("slow");
	} else jQuery("#father_birth_date").hide();
	
	if(document.stage2.mother_birth_date.value.length == 0)	
	{		
		result = false;
		jQuery("#mother_birth_date").fadeIn("slow");
	} else jQuery("#mother_birth_date").hide();
	
	if(document.stage2.father_cellphone.value.length == 0)	
	{
		result = false;
		jQuery("#father_cellphone").fadeIn("slow");
	} else jQuery("#father_cellphone").hide();
	
	if(document.stage2.mother_cellphone.value.length == 0)	
	{
		result = false;
		jQuery("#mother_cellphone").fadeIn("slow");
	} else jQuery("#mother_cellphone").hide();	
	
	return result;
}
function finish_stage3()
{
	var result = !run_time_error;
	if(document.stage3.school_name1.value.length == 0)	
	{		
		result = false;
		jQuery("#school_name1").fadeIn("slow");
	} else jQuery("#school_name1").hide();
	
	if(document.stage3.school_year1.value.length == 0)	
	{		
		result = false;
		jQuery("#school_year1").fadeIn("slow");
	} else jQuery("#school_year1").hide();
	
	if(document.stage3.present_gemara_rabbi.value.length == 0)	
	{
		result = false;
		jQuery("#present_gemara_rabbi").fadeIn("slow");
	} else jQuery("#present_gemara_rabbi").hide();
	
	if(document.stage3.previous_gemara_rabbi.value.length == 0)	
	{
		result = false;
		jQuery("#previous_gemara_rabbi").fadeIn("slow");
	} else jQuery("#previous_gemara_rabbi").hide();	
	
	if(document.stage3.gemarot_studied_this_year.value.length == 0)	
	{
		result = false;
		jQuery("#gemarot_studied_this_year").fadeIn("slow");
	} else jQuery("#gemarot_studied_this_year").hide();	
	
	if(document.stage3.gemarot_studied_last_year.value.length == 0)	
	{
		result = false;
		jQuery("#gemarot_studied_last_year").fadeIn("slow");
	} else jQuery("#gemarot_studied_last_year").hide();	
	
	if(document.stage3.gemarot_studied_2years_ago.value.length == 0)	
	{
		result = false;
		jQuery("#gemarot_studied_2years_ago").fadeIn("slow");
	} else jQuery("#gemarot_studied_2years_ago").hide();	
	
	if(document.stage3.judaic_studies_average.value.length == 0)	
	{
		result = false;
		jQuery("#judaic_studies_average").fadeIn("slow");
	} else jQuery("#judaic_studies_average").hide();
	
	if(document.stage3.general_studies_average.value.length == 0)	
	{
		result = false;
		jQuery("#general_studies_average").fadeIn("slow");
	} else jQuery("#general_studies_average").hide();
	
	if(document.stage3.verbal_sat.value.length == 0)	
	{
		result = false;
		jQuery("#verbal_sat").fadeIn("slow");
	} else jQuery("#verbal_sat").hide();
	
	if(document.stage3.math_sat.value.length == 0)	
	{
		result = false;
		jQuery("#math_sat").fadeIn("slow");
	} else jQuery("#math_sat").hide();
	// objectives
	var obj1 = document.getElementById("opt1");
	var obj2 = document.getElementById("opt2");
	var obj3 = document.getElementById("opt3");
	if(!obj1.checked && !obj2.checked && !obj3.checked)	
	{
		result = false;
		jQuery("#gemara_preparation_skills").fadeIn("slow");
	} else jQuery("#gemara_preparation_skills").hide();
	
	var obj1 = document.getElementById("chk1");
	var obj2 = document.getElementById("chk2");
	var obj3 = document.getElementById("chk3");
	if(!obj1.checked && !obj2.checked && !obj3.checked)	
	{
		result = false;
		jQuery("#checkbox_group").fadeIn("slow");
	} else jQuery("#checkbox_group").hide();
	
	var obj1 = document.getElementById("opt4");
	var obj2 = document.getElementById("opt5");
	var obj3 = document.getElementById("opt6");
	if(!obj1.checked && !obj2.checked && !obj3.checked)	
	{
		result = false;
		jQuery("#chumash_commentaries_used").fadeIn("slow");
	} else jQuery("#chumash_commentaries_used").hide();
	
	var obj1 = document.getElementById("opt7");
	var obj2 = document.getElementById("opt8");
	var obj3 = document.getElementById("opt9");
	if(!obj1.checked && !obj2.checked && !obj3.checked)	
	{
		result = false;
		jQuery("#hebrew_comprehension").fadeIn("slow");
	} else jQuery("#hebrew_comprehension").hide();
	
	var obj1 = document.getElementById("opt10");
	var obj2 = document.getElementById("opt11");
	var obj3 = document.getElementById("opt12");
	if(!obj1.checked && !obj2.checked && !obj3.checked)	
	{
		result = false;
		jQuery("#hebrew_speaking").fadeIn("slow");
	} else jQuery("#hebrew_speaking").hide();
	
	var obj1 = document.getElementById("opt13");
	var obj2 = document.getElementById("opt14");
	if(!obj1.checked && !obj2.checked)	
	{
		result = false;
		jQuery("#learned_outside_yeshiva").fadeIn("slow");
	} else jQuery("#learned_outside_yeshiva").hide();
	
	return result;
}
function finish_stage4()
{
	var result = true;
	if(document.stage4.synagogue_attending.value.length == 0)	
	{		
		result = false;
		jQuery("#synagogue_attending").fadeIn("slow");
	} else jQuery("#synagogue_attending").hide();
	
	if(document.stage4.synagogue_rabbi.value.length == 0)	
	{		
		result = false;
		jQuery("#synagogue_rabbi").fadeIn("slow");
	} else jQuery("#synagogue_rabbi").hide();
	
	if(document.stage4.extra_curricular_activities.value.length == 0)	
	{		
		result = false;
		jQuery("#extra_curricular_activities").fadeIn("slow");
	} else jQuery("#extra_curricular_activities").hide();
	
	return result;
}
function show_student_picture()
{
	var rnd = DKMyRandom();
	new Ajax.Request(baseUrl + "register/picture/rand/" + rnd ,
						{
							method:'post',
							parameters: { },
							onSuccess: function(transport){
							var response = transport.responseText;
							alert(response);
							if(response != '')
							{
								document.getElementById('student_picture').src = response;
								jQuery("#picture_container").fadeIn("slow");
							}
							return true;
							},
							onFailure: function(transport){ 
							alert(failed);
							}
						});
}
function save_student_info(obj)
{
	if(!obj.name || !obj.value) return false;
//alert("F: "+ field + " | V: " + value);
	if(obj.type == 'checkbox') obj.value = (obj.checked)? 'Y': 'N';	
	
	var rnd = DKMyRandom();
	new Ajax.Request(baseUrl + "register/saveuserinfo/rand/" + rnd ,
						{
							method:'post',
							parameters: {
											field_name	: obj.name,
											field_value : obj.value
										},
							onSuccess: function(transport){
							var response = transport.responseText;
							//alert(response);
							if(response == 'ERROR') document.getElementById(obj.name).style.display = 'inline';
							else document.getElementById(obj.name).style.display = 'none';
							},
							onFailure: function(transport){ 
							alert(failed);
							}
						});
	return true;
}

function save_student_email(field, value)
{
	if(!field || !value) return false;
	if (!DKEmailIdCheck(value))
	{
		var err = document.getElementById(field);
		err.innerHTML = "Invalid email address";
		err.style.display = 'inline';
		return false;
	}
	var rnd = DKMyRandom();
	new Ajax.Request(baseUrl + "register/saveuserinfo/rand/" + rnd ,
						{
							method:'post',
							parameters: {
											field_name	: field,
											field_value : value
										},
							onSuccess: function(transport){
							var response = transport.responseText;
							//alert(response);
							if(response == 'ERROR') document.getElementById(field).style.display = 'inline';
							else document.getElementById(field).style.display = 'none';
							},
							onFailure: function(transport){ 
							alert(failed);
							}
						});
	return true;
}
function update_stage_flag(stage)
{
	var rnd = DKMyRandom();
	new Ajax.Request(baseUrl + "register/stage/rand/" + rnd ,
						{
							method:'post',
							parameters: { stage_finished : stage },
							onSuccess: function(transport){
							/*var response = transport.responseText;*/
							return true;
							},
							onFailure: function(transport){ 
							alert(failed);
							}
						});
}
function DKMyRandom()
{
	var random_number = Math.floor((Math.random()*1729)*(Math.random()*9271));
	var rand	 	  = new Date().getTime();
	return (random_number + rand);
}
function DKEmailIdCheck(emailId) 
{
		if(!emailId) return false;
		var str=emailId;
		var at="@";
		var dot=".";
		var lat=str.indexOf(at);
		var lstr=str.length;
		var ldot=str.indexOf(dot);
		if(emailId == '') return false;
		else if (str.indexOf(at)==-1 || str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr || str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr || str.indexOf(at,(lat+1))!=-1 || str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot || str.indexOf(dot,(lat+2))==-1 || str.indexOf(" ")!=-1 ) return false;
 		else return true;
}
function data_change(field)
{
  var check = true;
  var value = field.value; //get characters
  //check that all characters are digits, ., -, or ""
  for(var i=0;i < field.value.length; ++i)
  {
	   var new_key = value.charAt(i); //cycle through characters
	   if(((new_key < "0") || (new_key > "9")) && new_key != '-' && !(new_key == ""))
	   {
			check = false;
			break;
	   }
  }
  //return check;
  //apply appropriate colour based on value
  if(!check)
  {
	  run_time_error = true;
	  field.style.borderColor = "red";
  }
  else
  {
	   run_time_error = false; 
	   field.style.borderColor = "#d9d9d9";
  }
}

function IsNumeric(sText)
{
	var ValidChars = "0123456789";
	var IsNumber=true;
	var Char;
	
	for (i = 0; i < sText.length && IsNumber == true; i++) 
	{ 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) IsNumber = false;
	}
	
	return IsNumber;
}
