
$(document).ready(function()
{
	
	
	  $(".collapseImg").hide(); 
	  
	  //toggle the componenet with class msg_body
	  $(".expand").click(function()
	  {
		  var id =  $(this).attr("id");
		  $(".faq_body"+id).slideToggle(600);
		  $("#expand"+id).hide();
		  $("#collapse"+id).show();  
		 
	  });
	  

	  
	  $(".show-popup-link").hover(
  function () {
    $("#select-tooltip").show();
  },
  function () {
     $("#select-tooltip").hide();
  }
);

	  
	  $(".collapse").click(function()
	  {
		  var id =  $(this).attr("id");
		  $(".faq_body"+id).slideToggle(600);
		  $("#expand"+id).show();
		  $("#collapse"+id).hide(); 
	 });
	
	  
	  $("#showpart2").show();
	  $("#showpart1").hide();
	    
	  
		$('#test').livequery('click', function(event){
				
					var v = $('#test-box').html();
					$.facebox(v);
				});
		
		$('#test2').livequery('click', function(event){
				
					alert("WORKS!");
				});
	  
		$("#showpart2").livequery('click', function(event){
		
			var formname = $("#form-name").val();
			if (formname == "form-debt-man")
			{
				if (validateDebtManagementPart1())
				 {
					 $("#form-error").hide(); // hide error messages on default;
					 $("#part1").hide();
					 $("#part2").show();
					 
					 $("#showpart2").hide();
					 $("#showpart1").show();	
				 } 	
			}else
			{
				 if (validatePart1())
				 {
					 $("#form-error").hide(); // hide error messages on default;
					 $("#part1").hide();
					 $("#part2").show();
					 
					 $("#showpart2").hide();
					 $("#showpart1").show();	
				 } 	
			}
		});


		
		/**
		* Check if valid email address
		*/
		function isValidEmail(str)
		{
			var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
			if (filter.test(str))
			{
				testresults=true;
			}
			else
			{
				testresults=false;
			}
				return (testresults);
		}
		
		$("#showpart1").livequery('click', function(event){
				 $("#part1").show();
				 $("#part2").hide();
				 
				 $("#showpart2").show();
				 $("#showpart1").hide();
		});
		
		 $(document).bind('close.facebox', function() {
			 $(".part1").show();
			 $(".part2").hide();
			 
			 $("#showpart2").show();
			 $("#showpart1").hide();
		 });
		 
		 
		 $('#query-form').ajaxForm( 
				 {
					beforeSubmit: addressValidation, //validate before submitting
					success: function(result) 
					{
					 	if (result != "OK" && result != "00, OK")
					 	{
					 		showErrorMessage(result);
					 		// hide loading message;
					 	}else
					 	{
					 		showSuccessMessage();
					 		//  hide loading message
					 	}
					}
				 });
		 
		 function showSuccessMessage()
		 {
			 $.facebox.close();
			 $('#form-box').html("<h2 class=\"formtitle\"> Thank You</h2><div class=\"form-submission-confirmation\">Your information has been sent. We will be in touch with you shortly</div>");
			 $("#form-error").hide();
		 }
		 
		function showErrorMessage(message)
		{
			// strip off any numbers etc
			var v = message.split(",");
			message = v[1];
			$("#form-error").html("* ERROR: "+message);
			$("#form-error").show();
		}
		 
		/**
		 * Validate part 2 of form 1
		 */
		function validatePart1()
		{
			var OK = true;
			var policy_type = $("select[name=single_life]").val();
			var nameArr = "";
			var numArr = "";
			if (policy_type == "Single life")
			{
				nameArr = new Array("coveramount1","premiumamount","term");
			}else
			{
				nameArr = new Array("coveramount1","coveramount2","premiumamount","term");
			}
			
			for (var i=0; i < nameArr.length;i++)
			{
				if ($("input[name="+nameArr[i]+"]").val()=="" || $("input[name="+nameArr[i]+"]").val()==null)
				{
					$("input[name="+nameArr[i]+"]").addClass("highlight-field");
					OK = false;
				}else
				{
					$("input[name="+nameArr[i]+"]").removeClass("highlight-field");
				}
			}
			
			// number validation
			var status1 = isNumber("Amount of cover - Life 1","coveramount1");
			var status2 = isNumber("Premium amount","premiumamount");
			var status3 = isNumber("Term","term");
			if (status1 == false | status2 == false  || status3 == false ){ OK = false;}
			
			
			if (!OK)
			{
				$("#form-error").show();
			}else
			{
				$("#form-error").show();
			}
			
			return OK;
		}
		
		function isNumber(fieldtitle,fieldname)
		{
			var val = $("input[name="+fieldname+"]").val();
			if (((val != null) || (val != "")) && (isNaN(val)))
			{
				$("#form-error").show();
				$("#form-error").html("* "+fieldtitle+" must be a number!");
				$("input[name="+fieldname+"]").addClass("highlight-field");
				return false;
			}
			
			return true;
		}
		
					 
		/**
		 * Validate part 1 of the form before moving part 2
		 */
		function addressValidation()
		{
			var OK = true;
			
			var nameArr = new Array("firstname","surname","home_tel","house","mob_tel","street","city","postcode","agree");
			for (var i=0; i < nameArr.length;i++)
			{
				if ($("input[name="+nameArr[i]+"]").val()=="" || $("input[name="+nameArr[i]+"]").val()==null)
				{
					$("input[name="+nameArr[i]+"]").addClass("highlight-field");
					OK = false;
					//?/alert("error: " +nameArr[i]);
				}else
				{
					$("input[name="+nameArr[i]+"]").removeClass("highlight-field");
				}

			}
					
			//check gender checkbox
			if ( ! $("input[name=agree]").is(':checked') )
			{
				OK = false;
				$("#form-agree").addClass("highlight-field");
			}else
			{
				$("#form-agree").removeClass("highlight-field");
			}
			
			//check gender checkbox
			if ( ! $("input[name=gender]").is(':checked') )
			{
				OK = false;
				$("#form-gender").addClass("highlight-field");
			}else
			{
				$("#form-gender").removeClass("highlight-field");
			}
			
			// Show email error if there is no other error. If there is another error we want to show that first
			if (OK)
			{
				var hphone = $("input[name=home_tel]").val();
				var mob = $("input[name=mob_tel]").val();
				// validate telephone numbers
				if (((hphone != null) || (hpone != "")) && (isNaN(hphone)))
				{
						$("#form-error").show();
						$("#form-error").html("* Home telephone number must be a number!");
						$("input[name=home_tel]").addClass("highlight-field");
						return false;
				}else		
				if (((mob != null) || (mob != "")) && (isNaN(mob)))
				{
						$("#form-error").show();
						$("#form-error").html("* Mobile number must be a number!");
						$("input[name=mob_tel]").addClass("highlight-field");
						return false;
				}
				
				$("input[name=mob_tel]").removeClass("highlight-field");
				$("input[name=home_tel]").removeClass("highlight-field");
				$("input[name=email]").removeClass("highlight-field");
			}
			
			if (!OK)
			{
				$("#form-error").html("* Please complete all fields!");
				$("#form-error").show();
			}else
			{
				$("#form-error").show();
			}
			
			// SHOW LOADING IMAGE
			if (OK)
			{
			 $("#form-error").html("<p><img src='/_media/images/ajax-loader.gif' border='0' align='center' /></p>");
			}
			return OK;
		}
		
		/**
		 * Validate part 1 of debt management form
		 */
		function validateDebtManagementPart1()
		{
			var OK = true;
			
			var nameArr = new Array("firstname","surname","home_tel","mob_tel","house","street","city","postcode");
			for (var i=0; i < nameArr.length;i++)
			{
				if ($("input[name="+nameArr[i]+"]").val()=="" || $("input[name="+nameArr[i]+"]").val()==null)
				{
					$("input[name="+nameArr[i]+"]").addClass("highlight-field");
					OK = false;
					//?/alert("error: " +nameArr[i]);
				}else
				{
					$("input[name="+nameArr[i]+"]").removeClass("highlight-field");
				}

			}
					
			
			//check gender checkbox
			if ( ! $("input[name=gender]").is(':checked') )
			{
				OK = false;
				$("#form-gender").addClass("highlight-field");
			}else
			{
				$("#form-gender").removeClass("highlight-field");
			}
					
			// Show email error if there is no other error. If there is another error we want to show that first
			if (OK)
			{		
				var hphone = $("input[name=home_tel]").val();
				var mob = $("input[name=mob_tel]").val();
				// validate telephone numbers
				if (((hphone != null) || (hpone != "")) && (isNaN(hphone)))
				{
						$("#form-error").show();
						$("#form-error").html("* Home telephone number must be a number!");
						$("input[name=home_tel]").addClass("highlight-field");
						return false;
				}else		
				if (((mob != null) || (mob != "")) && (isNaN(mob)))
				{
						$("#form-error").show();
						$("#form-error").html("* Mobile number must be a number!");
						$("input[name=mob_tel]").addClass("highlight-field");
						return false;
				}
				
				$("input[name=mob_tel]").removeClass("highlight-field");
				$("input[name=home_tel]").removeClass("highlight-field");

			}
			
			if (!OK)
			{
				$("#form-error").html("* Please complete all fields!");
				$("#form-error").show();
			}else
			{
				$("#form-error").show();
			}
			
			return OK;
		}
		 


		

		
	});	
	

	/**
	 * Validate part 1 of form 3
	 */
	function validateForm(form)
	{
		var OK = true;
		var nameArr = new Array();
		switch (form)
		{
			case "form3":
				nameArr = new Array("mortgage_amount","purchase_price","mortgage_term","current_lender","interest_rate","monthly_payment");
				if ( ! $("input[name=mortgage]").is(':checked') )
				{
					OK = false;
					$("#form-mortgage").addClass("highlight-field");
				}else
				{
					$("#form-mortgage").removeClass("highlight-field");
				}	
				break;
			case "form5":
				nameArr = new Array("make_monthly_payments","make_sum_lump");
				var state1 = validateRadioButton("pension_current_employer");
				var state2 = validateRadioButton("pension_to_transfer");
				var state3 = validateRadioButton("buy_annuity");
				if (state1 == false || state2 == false || state3 == false) { OK = false;}
				break;	
			case "form-annuity":
				nameArr = new Array("pension_fund_value");
				var OK = validateRadioButton("buy_annuity");
				break;
			case "form7":
				nameArr = new Array("buildings_level_cover","contents_level_cover");
				break;
			case "form4":
				nameArr = new Array("investment_amount");
				break;	
			case "debt-form":
				nameArr = new Array("debtamount");
				break;
				
		}
		
		for (var i=0; i < nameArr.length;i++)
		{
			if ($("input[name="+nameArr[i]+"]").val()=="" || $("input[name="+nameArr[i]+"]").val()==null)
			{
				$("input[name="+nameArr[i]+"]").addClass("highlight-field");
				OK = false;
			}else
			{
				$("input[name="+nameArr[i]+"]").removeClass("highlight-field");
			}
		}
		
		if (!OK)
		{
			$("#form-error").show();
		}else
		{
			$("#form-error").hide();
		}
		
		showPart2(OK);
		return OK;
	}
	
	function validateRadioButton(id)
	{
		if ( ! $("input[name="+id+"]").is(':checked') )
		{
			$("#form-"+id+"").addClass("highlight-field");
			return false;
		}else
		{				
			$("#form-"+id+"").removeClass("highlight-field");
			return true;
		}	
	}

	
	function showPart2(OK)
	{
		if (OK)
		{
			$("#form-error").hide(); // hide error messages on default;
			$("#part1").hide();
			$("#part2").show();
			$("#showpart2").hide();
			$("#showpart1").show();	
		}
	
	}

	
	