// ::: JQUERY ::: //

var Site = {

	start : function(){
		Site.Validation();
		Site.Align();
		Site.Nav();
		//Site.Overlay();
		Site.Accordion();
		Site.Cycle();
	},
	
	Validation : function(){
		$("#newsletter_form").RSV({
			errorFieldClass: "errorField",
			rules: [
				"valid_email,email,Please enter a valid email"
			]
		});
		
		$("#contact_form").RSV({
			errorFieldClass: "errorField",
			rules: [
				"reg_exp,name,^[^\*\]*$,Please enter your name",
				"valid_email,email,Please enter a valid email",
				"digits_only,tel,Please enter digits only for your telephone without spaces",
				"reg_exp,enquiry,^[^\*\]*$,Please enter your enquiry"
				//"reg_exp,security,^[^\*\]*$,Please enter the security code"
			]
		});
		
		$("#download_form").RSV({
			errorFieldClass: "errorField",
			rules: [
				"valid_email,email,Please enter a valid email"
			]
		});
		
		$("#login_form").RSV({
			errorFieldClass: "errorField",
			rules: [
				"reg_exp,client_username,^[^\*\]*$,Please enter your username",
				"reg_exp,client_password,^[^\*\]*$,Please enter your password"
			]
		});
	},
	
	Align : function(){
		$('#sidebar #tabs h3 a span ').vAlign();
	},
	
	Nav : function(){
		
		function megaHoverOver() {
			var bodyWidth = $("body").width();
			$(".sub").css('width',bodyWidth);
			$('.sub',this).slideDown("slow");
			$('.sub',this).parent().addClass("selected");
			$('#nav .sub a span ').vAlign();
		}
		function megaHoverOut() {
			var bodyWidth = $("body").width();
			$(".sub").css('width',bodyWidth);
			$('.sub',this).slideUp("slow");
			$('.sub',this).parent().removeClass("selected");
		}
		var config = {    
		   sensitivity: 1, // number = sensitivity threshold (must be 1 or higher)    
		   interval: 50, // number = milliseconds for onMouseOver polling interval    
		   over: megaHoverOver, // function = onMouseOver callback (REQUIRED)    
		   timeout: 50, // number = milliseconds delay before onMouseOut    
		   out: megaHoverOut // function = onMouseOut callback (REQUIRED)    
		 };
		 $("#nav li").hoverIntent(config); 
	},
	
	Overlay : function(){
		function megaHoverOver() {
			$("#overlay").fadeIn();
		}
		function megaHoverOut() {
			$("#overlay").fadeOut();
		}
		var config = {    
		   sensitivity: 1, // number = sensitivity threshold (must be 1 or higher)    
		   interval: 10, // number = milliseconds for onMouseOver polling interval    
		   over: megaHoverOver, // function = onMouseOver callback (REQUIRED)    
		   timeout: 10, // number = milliseconds delay before onMouseOut    
		   out: megaHoverOut // function = onMouseOut callback (REQUIRED)    
		 };
		 $("#nav ul:first").hoverIntent(config); 
	},
	
	Accordion : function(){
		$('#accordion').accordion({
			header: '.acc_header', 
			alwaysOpen: false, 
			active: false, 
			activeClass: '.selected', 
			autoheight: false, 
			colapsible: false 
		});
	},
	
	Cycle : function(){
		$('#banner').cycle({
			fx:     'fade', 
			speed:   1000, 
			timeout: 7000
		});
	},
	
	// signup form left nav
	SignUp : function(){
		
		var options = { 
			success:       showResponse  // post-submit callback 
		}; 
	 
		$('#sidebar_signup_form').ajaxForm(options); 		
		
		function showResponse(responseText, statusText, xhr, $form)  { 
		
			if(jQuery.trim(responseText) == "Thanks for signing-up!"){
				
				  $("#sidebar_subscribe").animate({ 
					backgroundColor: "#fff58b"
				  }, 1500 );
				
			}else{
				
				  $("#sidebar_subscribe").animate({ 
					backgroundColor: "#FFB2B2"
				  }, 1500 );
			  
			}
		   
			$("input#sidebar_subscribe").val(jQuery.trim(responseText));
			
		} 		
			
		
	}
	
	
};

$(document).ready(Site.start);
// ::: JQUERY END ::: //

