/* Callback form sending */
function CallBack(form) {

	//Declare local variables
	var strErrorMessage = "";

	//Check required fields
	if (form.Name.value == "") {
		strErrorMessage = "Please enter your name!";
		form.Name.focus();
	} else if (form.Phone.value == "") {
		strErrorMessage = "Please enter your phone number!";
		form.Phone.focus();
	} else if (form.Phone.value.length < 10) {
		strErrorMessage = "Please enter valid phone number!";
		form.Phone.focus();
	}

	//Process error
	if (strErrorMessage == "") { //Send form with AJAX

		$.post("/callback.php", { Name: form.Name.value, Phone: form.Phone.value },
			function(data) {

				//Error until requesting a callback?
				if (data.error || data.success.length < 1) {

					//Error happened
					$("#callback_form_error").css({"display":""});
					$("#callback_form_error > td").attr("innerHTML",data.error);

				} else {

					//Request sent successfully
					$("#callback_form").append("<div>"+data.success+"</div>");
					$("#callback_form > table").css({"display":"none"});

				}

			}, "json");

	} else { //Write errormessage

		$("#callback_form_error").css({"display":""});
		$("#callback_form_error > td").attr("innerHTML",strErrorMessage);

	}

	//Always return false
	return false;

}

/* Refer friend */
function ReferFriend(form) {

	//Declare local variables
	var strErrorMessage = "";
	var blnColError = false;

	//Check required fields
	if (form.sub_name.value == "") {
		strErrorMessage = "Please enter your name!";
		form.sub_name.focus();
	} else if (form.sub_email.value == "") {
		strErrorMessage = "Please enter your email!";
		form.sub_email.focus();
	} else if (form.sub_email.value.length < 5) {
		strErrorMessage = "Please enter your valid email!";
		form.sub_email.focus();
	} else if (form.col_name.value == "") {
		strErrorMessage = "Please enter your friend's name!";
		form.col_name.focus();
		blnColError = true;
	} else if (form.col_email.value == "") {
		strErrorMessage = "Please enter your friend's email!";
		form.col_email.focus();
		blnColError = true;
	} else if (form.col_email.value.length < 5) {
		strErrorMessage = "Please enter your friend's valid email!";
		form.col_email.focus();
		blnColError = true;
	}

	//Error?
	if (strErrorMessage != "" && blnColError) {
		$("#referfriend_col_error").css({"display":""});
		$("#referfriend_col_error > td").attr("innerHTML",strErrorMessage);
		$("#referfriend_sub_error").css({"display":"none"});
		return false;
	} else if (strErrorMessage != "") {
		$("#referfriend_col_error").css({"display":"none"});
		$("#referfriend_sub_error").css({"display":""});
		$("#referfriend_sub_error > td").attr("innerHTML",strErrorMessage);
		return false;
	}

	//Return true if no error
	return true;

}

/* Contact Us form */
function ContactUs(form) {

	//Declare local variables
	var strErrorMessage = "";

	//Check required fields
	if (form.sub_name.value == "") {
		strErrorMessage = "Please enter your name!";
		form.sub_name.focus();
	} else if (form.sub_phone.value == "") {
		strErrorMessage = "Please enter your phone number!";
		form.sub_phone.focus();
	} else if (form.sub_phone.value.length < 5) {
		strErrorMessage = "Please enter your valid phone number!";
		form.sub_phone.focus();
	} else if (form.sub_email.value == "") {
		strErrorMessage = "Please enter your email!";
		form.sub_email.focus();
	} else if (form.sub_email.value.length < 5) {
		strErrorMessage = "Please enter your valid email!";
		form.sub_email.focus();
	} else if (form.sub_message.value == "") {
		strErrorMessage = "Please enter your message!";
		form.sub_message.focus();
	}

	//Error?
	if (strErrorMessage != "") {
		$("#contactus_sub_error").css({"display":""});
		$("#contactus_sub_error > td").attr("innerHTML",strErrorMessage);
		return false;
	}

	//Return true if no error
	return true;

}

/* Registration form */
function RemotePage(url,width,height) {

	//Set facebox settings
	$.facebox.settings.opacity	= 0.8;	
	$.facebox.settings.modal	= true;

	jQuery.facebox('<iframe src="'+url+'" frameborder="0" width="'+width+'" height="'+height+'" style=\'border: 1px solid #cccccc;\'></iframe>');

}

/* Calculate benefits */
function BenefitsCalculation(form) {

	//Declare local variables
	var strErrorMessage		= "";

	//Check fields
	if (form.WeeklyHours.value.length == 0) {
		strErrorMessage = "Please enter your weekly hours!";
	} else if (isNaN(form.WeeklyHours.value)) {
		strErrorMessage = "Please check your weekly hours - non numeric value!";
	} else if (form.HourlyRate.value.length == 0) {
		strErrorMessage = "Please enter your hourly rate!";
	} else if (isNaN(form.HourlyRate.value)) {
		strErrorMessage = "Please check your hourly rate - non numeric value!";
	} else if (form.WeeklyExpenses.value.length == 0) {
		strErrorMessage = "Please enter your weekly expenses!";
	} else if (isNaN(form.WeeklyExpenses.value)) {
		strErrorMessage = "Please check your weekly expenses - non numeric value!";
	}

	//Process error
	if (strErrorMessage == "") { //Calculate benefits

		//Calculate with JSON-AJAX
		$.getJSON("http://www.ibalance.co.uk/calcs/calculator.asp?in_callback=?", {in_calcType:"umbrellaVPAYE",in_hours:form.WeeklyHours.value,in_rate:form.HourlyRate.value,in_expenses:form.WeeklyExpenses.value,in_fee:25,autocalc:"true"},
			function(data){

				//Declare values
				var floatPayeTakeHome	= data.ag_takeHome;
				var floatRedegoTakeHome	= data.um_takeHome;
				var floatRedegoVsPaye	= data.increasePrecent;
				var floatRedegoSaving	= data.increasePerYear;

				//Write calculated values
				$("#idPayeTakeHome").attr("innerHTML","&pound;" + floatPayeTakeHome);
				$("#idRedegoTakeHome").attr("innerHTML","&pound;" + floatRedegoTakeHome);
				$("#idRedegoVsPaye").attr("innerHTML",floatRedegoVsPaye + "%");
				$("#idRedegoSaving").attr("innerHTML","&pound;" + floatRedegoSaving);

				$("#idRedegoValues > td").animate({
					"opacity": 0
					},250
				);
				
				$("#idRedegoValues > td").animate({
					"opacity": 1
					},250
				);

			}

		);

		//Clear errormessage
		$("#benefits_calculator_error").css({"display":"none"});
		$("#benefits_calculator_error > td").attr("innerHTML","");

	} else { //Write errormessage

		$("#benefits_calculator_error").css({"display":""});
		$("#benefits_calculator_error > td").attr("innerHTML",strErrorMessage);
	}

	//Always return false
	return false;
}

/***********************************************
* Bookmark site script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

/* Modified to support Opera */

function bookmarksite(title,url){

	//Set automatic title
	if (title == '') {
		title = document.title;
	}

	//Get browser
	var sBrowser = navigator.userAgent;

	//Create script depend on the browser
	if (sBrowser.toLowerCase().indexOf('msie') > -1) //IE
	{
		window.external.AddFavorite(url, title);
	}
	else if (sBrowser.toLowerCase().indexOf('firefox') > -1) //Firefox
	{
		window.sidebar.addPanel(title, url, "");
	}
	else if (sBrowser.toLowerCase().indexOf('opera') > -1) //Opera
	{
		var elem = document.createElement('a');
		elem.setAttribute('href',url);
		elem.setAttribute('title',title);
		elem.setAttribute('rel','sidebar');
		elem.click();
	}
	else //Others
	{
		alert('Press Ctrl+D to bookmark "' + title + '"!');
	}

}

// Is email address correcly formatted
function isEmailAddress(s)
{
	var pattern = new RegExp(/^\s*[a-zA-Z0-9\-\._]+@[\.a-zA-Z0-9\-_]+(\.?[a-zA-Z0-9\-_]*)\.[a-zA-Z]{2,4}\s*$/);

	if(pattern.test(s)) { return true; }

	return false
}

//Close facebox function
function closeFacebox() {
	$.facebox.close();
}
