if(!forms){
	var forms = {}
}
forms = {
	centreY:0,
	centreX:0,	
	isNotEmpty: function(eleId){
		var value = $("#"+eleId).attr("value");						
		if($.trim(value).length <= 0){
			forms.failField(eleId);
			return false;
		}else{	
			forms.passField(eleId);		
			return true;
		}
	},
	failField: function(eleId){
		if ($("#" + eleId).attr("type") != "textarea") {				
			$("#" + eleId).parent().addClass("textinput-alt");
		}else{
			$("#" + eleId).addClass("textAreaInput-alt");								
		}
	},
	passField: function(eleId){
		if ($("#" + eleId).attr("type") != "textarea") {
			$("#" + eleId).parent().removeClass("textinput-alt");			
		}else{
			$("#" + eleId).removeClass("textAreaInput-alt");			
		}
	},
	isEmail: function(elementId){
		var emailregex = /^[\w-\.\+]+@([\w-]+\.)+[\w]{2,}$/;		
		if(!emailregex.exec($("#"+elementId).val())) {
			var isOk = false;			
			forms.failField(elementId);
		}else{
			var isOk = true;						
			forms.passField(elementId);			
		}		
		return isOk;	
	},
	positionPopUp: function(el){
		if(el == "#error" || el == "#thanks"){
			$(el).css("top","782px");
			$(el).css("left",$(".newsletter").offset().left);			
		}else{
			$(el).css("left",($(window).width()/2)-($(el).width() /2));			
		}
		$("#overLay").css("width",($(window).width()));
	}
}
forms.callBack = {
	init: function(){	
		forms.callBack.positionCallBackPopUp();
		var t=setTimeout("forms.callBack.messageTimeout();",6000);			
		$("#requestCallBackForm").submit(function(e){
			e.preventDefault();
			forms.callBack.isFormOk();		
		});
		$("#ajax").val("enabled");
		$(window).resize(function(){
			forms.callBack.positionCallBackPopUp();
		});

		$("#requestCallBackForm input").each(function(i, item){
			if ($(item).attr("type") == "text") {
				$(item).attr("value", "");
				$(item).val("");
			}
		});
		// remove error message
		$("#requestCallBackForm > p").val("");	
		
	},			
	messageTimeout: function(){	
		var info = false;	
		if (document.getElementById("info").style.display) {
			var info = document.getElementById("info").style.display;
			if(info) {
				if (info == "block") {
					$("#info").fadeOut("slow");
				}
			}
		}
	},
	isFormOk: function(){ //submits call back request			

		var errorCount = 0;	
		errorCount += (forms.isNotEmpty("callBackFullName"))?0:1;
		errorCount += (forms.isNotEmpty("callBackCompany"))?0:1;
		errorCount += (forms.isEmail("callBackEmailAddress"))?0:1;
		errorCount += (forms.callBack.isNumber("callBackTelephone"))?0:1;		
		errorCount += (forms.isNotEmpty("callBackMessage"))?0:1;		
			var data = $('#requestCallBackForm').serialize();
			$.post("/tpl/bestofbritain/callBack.entry.php?t=ajax", data, function(result) { 			
				if(result["isOk"]){
					//$("#thanks").text(result["responseString"]);	
					$("#ajaxThanks").html(result["responseString"]);	
					forms.callBack.positionCallBackPopUp();	
					$("#ajaxThanks").fadeIn("slow",function(){var t = setTimeout("$('#ajaxThanks').fadeOut('slow')",2500);});				
					forms.callBack.disableForm();
				}else{			
					$("#ajaxFail").click(function(){
						$("#ajaxFail").fadeOut("slow");
					});							
					$("#ajaxFail").html(result["responseString"]);	
					$("#ajaxFail").fadeIn("slow",function(){var t = setTimeout("$('#ajaxFail').fadeOut('slow')",2500);});														
				}				
			},"json");		

	},
	disableForm: function(){
		$("#requestCallBackForm input").each(function(i, item){
			$(item).attr("disabled","disabled");
		});		
		$("#requestCallBackForm textarea").each(function(i, item){
			$(item).attr("disabled","disabled");
		});			
	},	
	positionCallBackPopUp: function(){
		$("#errorCB").css("top",$(".form-block").offset().top);
		$("#errorCB").css("left",$(".form-block").offset().left+160);
		$("#thanks").css("top",$(".form-block").offset().top);
		$("#thanks").css("left",$(".form-block").offset().left+160);	
		$("#ajaxThanks").css("top",$(".form-block").offset().top);
		$("#ajaxThanks").css("left",$(".form-block").offset().left+160);			
		$("#ajaxFail").css("top",$(".form-block").offset().top);
		$("#ajaxFail").css("left",$(".form-block").offset().left+160);			
	},
	isNumber: function(elementId){		
	var phoneNumberregex = /[0-9 ]/;		
		if(phoneNumberregex.exec($("#"+elementId).val())) {
			var isOk = true;						
			forms.passField(elementId);			
		}else{
			var isOk = false;
			forms.failField(elementId);
		}	
		return isOk;
	}	
}
forms.newsLetter = {
	init: function(){
		forms.centreX = ($(window).width()-300)/2;
		forms.centreY = ($(window).height()-300);
		$("#expand").click(function(e) { e.preventDefault(); forms.newsLetter.expand(); });					
		$("#preSubmit").submit(function(e){
			e.preventDefault();
			forms.newsLetter.saveInfo();
			forms.newsLetter.expand;		
			
		});		
		$("#noscript").remove();
		$("#submitForm").submit(function(e){
			e.preventDefault();
			forms.newsLetter.saveInfo();
			forms.newsLetter.submitAndClose();
		});
		$("#fullName").change(function(){			
			$("#fullNameData").val($("#fullName").val());
		});
		$("#emailAddress").change(function(){
			$("#emailAddressData").val($("#emailAddress").val());
		});		
		$(window).resize(function(){
			forms.positionPopUp("#signup");
			forms.positionPopUp("#error");			
			forms.positionPopUp("#thanks");			
		});
	},	
	saveInfo: function(){
		//$("#fullNameData").val($("#fullName").val());
		//$("#emailAddressData").val($("#emailAddress").val());
		document.getElementById("emailAddressData").value = document.getElementById("emailAddress").value;
		document.getElementById("fullNameData").value = document.getElementById("fullName").value;		
		return true;		
	},
	initClickBody: function(){
		// Adds an event handler to remove signup box if its shown and clicked out of
		$(document).click(function(e) {		
			if($("#signup").css("display","block")){		
				var signupClick = false;		
				$(e.target).parents().each(function(i, item) {		
					if (item.id == "signup") {
						signupClick = true;
					}	
				});		
				if (!signupClick) {
					$("#signup").css("display","none");
				}					
			}		
		});
	},
	saveAllData: function(){
		if($("#rad1").attr("checked")){
			$("#sector").val("Trade");
		}else{
			$("#sector").val("General Public");
		}
	},
	expand: function(){		
		forms.newsLetter.saveInfo();
		forms.newsLetter.saveAllData();
		var errorCount = 0;	
		errorCount += (forms.isNotEmpty("fullName"))?0:1;
		errorCount += (forms.isEmail("emailAddress"))?0:1;
		errorCount += (forms.newsLetter.isSectorChoosen())?0:1;	
		if(errorCount <= 0){
			if (! forms.newsLetter.isPopUpVisible()) {
				forms.positionPopUp("#signup");
				forms.newsLetter.showPopUp();
			}else{
				forms.newsLetter.hidePopUp();
			}
		}else{
			forms.newsLetter.showErrorMessage("Please ensure you have completed all fields and provided a valid email address");
		}	
		forms.newsLetter.saveInfo();	
	},
	isSectorChoosen: function(){
		if(!$("#rad1").attr("checked") && !$("#rad2").attr("checked")){
			//fail check box
			$("#rad1").parent().css("border","1px solid #F36F6F").css("height","16px");
			return false;
		}else{
			//pass check box
			$("#rad1").parent().css("border","none").css("height","0px");
			return true;
		}
	},
	isPopUpVisible: function(){
		if($("#signup").attr("style").indexOf("none") > 0){
			return false;
		}else{
			return true;
		}
	},
	showErrorMessage: function(message){
		$("#error").text(message);
		$("#error").css("display","block");
		forms.positionPopUp("#error");						
		t=setTimeout("$('#error').fadeOut('slow');",2500);
	},
	showPopUp: function(){				
		$("#overLay").css("width",$(window).width());
		$("#overLay").css("height",$(document).height());		
		$("#signup").css("top",($(window).height() /2) + ($("#signup").height()-100));
		
		$("#overLay").css('opacity', 0).show().fadeTo(500,0.5);
		$("#overLay").click(function(e){$("#signup").css("display","none");$("#overLay").css("display","none");});
		$("#signup").css("display","block")
		$("#signup > #submitForm > *").css("display","block");
	},
	hidePopUp: function(){
		$("#overlay").css("top","0px");
		$("#overlay").css("left","0px");
		$("#overlay").css("display","none");
		$("#signup").css("display","none");
	},			
	isEmail: function(elementId){
		var emailregex = /^[\w-\.\+]+@([\w-]+\.)+[\w]{2,}$/;
		var error = 0;
		if(!emailregex.exec($("#"+elementId).val())) {
			error = 1;			
			forms.failField(elementId);
		}else{
			forms.passField(elementId);			
		}		
		return error;	
	},
	submitAndClose: function(){		
		$("#signup-thanks").css("top",$("#signup > form > *").height());
		$("#signup > form > *").css("display","none");				
		$("#signup-thanks").css("display","block");		
		var data = $('#submitForm').serialize();
		$.post("/module.php?obj=signups&t=ajax", data, function(r) { 		
				$("#signup-thanks").text(r["userMessage"]);
				var t = setTimeout("$('#signup').fadeOut('slow', function(){$('#overLay').fadeOut('slow',function(){$('#signup > form > *').css('display','');$('#signup-thanks').css('display','none');})})", 3000);			
		});
	}
}
forms.login = {
	init: function(){
		var result = $("#hasFailed").val();
		if(result == "fail"){	
			$("#error").css("float","right");
			forms.newsLetter.showErrorMessage("The username and password you entered is incorrect.");						
		}
	}
}
