/*
 	Vada.net.au - Javascript
	Created by INVOLVED. - involved.com.au (02 December 2010)
	email@involved.com.au
*/

var vada = function() {

    function init() {
		vada.attachGoogleWebFontLoader();
		vada.attachCarousel();
		vada.attachTweets();
		vada.attachTabs();
		vada.attachFloatingMenu();
		vada.attachFormValidation();
	}

	function attachGoogleWebFontLoader() {
		WebFont.load({
			custom: {
				families: ['AllerLightRegular', 'AllerLightItalic', 'AllerRegular'],
				urls : ['/css/fonts.css']
			}
		});
	}

	function attachCarousel() {
		$("#partners ul").carouFredSel({
			height: 80,
		//	width: 710,
			items: {
				visible: 4,
				width: "variable"
			},
			scroll: {
				items: 4,
				easing: "linear",
				pauseOnHover: true,
				onBefore: function( oldItems, newItems, newSizes, duration ) {
					$("#partners ul").fadeOut(100);
				},
				onAfter: function( oldItems, newItems, newSizes ) {
					$("#partners ul").fadeIn(700);
				}
			},
			auto: {
				pauseDuration: 6000,
				delay: 3000
			}
		});
	}

	function attachTweets() {
        $("#tweets").tweet({
            username: "vadaconnect",
            join_text: "auto",
            avatar_size: 0,
            count: 1,
            auto_join_text_default: "",
            auto_join_text_ed: "we",
            auto_join_text_ing: "we were",
            auto_join_text_reply: "we replied to",
            auto_join_text_url: "we were checking out",
            loading_text: "loading tweets..."
        });
	}
	
	function attachTabs() {
		if ($("body").hasClass("products") == true){
			
			// Hotlink Tabs
			if(document.location.hash!='') {
			    //get the index from URL hash
			    tabSelect = document.location.hash.substr(1,document.location.hash.length);			
				var tabID = '#tab_' + tabSelect;
				$(tabID).addClass("selected");
			}
		}

		$("#tabs ul.nav").idTabs(); 
	}
	
	
	function attachFloatingMenu() {
		if ($("body").hasClass("products") == true){
			floatingMenuHandler();	
		}
		
		$("#tabs .nav a").click(function() {
			floatingMenuHandler();
		//	document.location = "";
			
		});
		
		function floatingMenuHandler(){
			var newHeight = $("#tabs").height();
			$('.products #side_menu').css("height", newHeight-83);
			$('#products_menu').stickyfloat({ duration: 400, offsetY: 10 });
		}
		
	}
	
	function attachFormValidation() {
		//label2value();
		
		var f_name = $("#contact_name");
		var f_email = $("#contact_email");		
		var f_phone = $("#contact_phone");
		var f_organisation = $("#contact_organisation");
		var f_message = $("#contact_message");

		var f_email_default = $("#contact_email_label").html();
		
		$("#contact_form input:submit").click(function() {
			// reset error classes
			f_email.removeClass("ajax_error");
			f_message.removeClass("ajax_error");

			var hasError = false;
			var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;

			var emailFromVal = f_email.val();
			if(emailFromVal == f_email_default) {
				f_email.addClass("ajax_error");
				f_email.fadeTo(0, 0.1);
				f_email.delay(100).fadeTo(100, 1);
				hasError = true;
			} else if(!emailReg.test(emailFromVal)) {	
				f_email.addClass("ajax_error");
				f_email.fadeTo(0, 0.1);
				f_email.delay(100).fadeTo(100, 1);
				hasError = true;
			}

			$.each(["contact_name","contact_phone","contact_organisation","contact_message"], function(index, form_input) { 
				
				var input_field = $("#" + form_input)
				var input_value = $("#" + form_input).val();
				var input_value_default = $("#" + form_input + "_label").html();

				input_field.removeClass("ajax_error");

				if(input_value == input_value_default) {
					input_field.addClass("ajax_error");
					input_field.fadeTo(0, 0.1);
					input_field.delay(100).fadeTo(100, 1);
					hasError = true;
				} 
			});

			if(hasError == false) {

				var dataString = 'emailFrom=' + emailFromVal + '&message=' + messageVal;  

				// Submit the form via ajax
				$.ajax({
					url: "/includes/sendEmail.php", /*************** ASPX_EMAILER_SCRIPT_HERE.aspx  (this php file can be deleted after) *****************/
					type: "POST",
					data: dataString,
					success: function(){
							$("#contact_form").fadeOut(300);
							$("#form_confirmation").delay(300).fadeIn(500); 
							$("#form_confirmation").tabIndex = -1;
							$("#form_confirmation").focus(); // For screen reader accessibility

							alert (dataString); return false;  /********** MARK THIS CAN BE REMOVED *********/
					}
				});
			}
			return false;	
		});
	}
	

	return {	
		init: init,
		attachGoogleWebFontLoader: attachGoogleWebFontLoader,
		attachCarousel: attachCarousel,
		attachTweets: attachTweets,
		attachTabs: attachTabs,
		attachFloatingMenu: attachFloatingMenu,
		attachFormValidation: attachFormValidation
	};

}();

$(document).ready(function(){
    vada.init();
});
