$(document).ready(function() { 

	// set up search bar
	$('input#keywords').focus(function(){
		$(this).addClass("focusField");
		if (this.value == this.defaultValue){  
	        this.value = '';  
	    }
	});
	$('input#keywords').blur(function(){
		$(this).removeClass("focusField");
		if (this.value == ''){  
			this.value = this.defaultValue;  
	    }
	});
	
	$("#imagescroller").scrollable({ circular: true, speed: 1000 }).autoscroll({interval: 4000,  autoplay: true });
		
	function nl2br(str) { return str.replace(/\n/g, '<br />'); }
	
	$("#text1").blur(function(){
		var value = nl2br($("#text1").val());
		$("#text1").val(value);
	});
	
	var fname = $("input#first_name");
	var lname = $("input#last_name");
	var email = $("input#email");
	var phone = $("input[name='phone']");
	var badd = $("input[name='billing_address']");
	var bsub = $("input[name='billing_suburb']");
	var bstate = $("select[name='billing_state']");
	var bpc = $("input[name='billing_postcode']");
	var padd = $("input[name='postal_address']");
	var psub = $("input[name='postal_suburb']");
	var pstate = $("select[name='postal_state']");
	var ppc = $("input[name='postal_postcode']");
	
	//Add mask to the number fields for checkout
	phone.mask("(99) 9999 9999",{placeholder:" "});
	bpc.mask("9999",{placeholder:" "});
	ppc.mask("9999");

	//reset the default values of the number fields above after mask is applied
	phone.val("Contact Number");
	bpc.val("Postcode");
	ppc.val("Postcode");
	
	//Enable Accordion tabs within the Expose DIV
	$("ul.tabs", ".expose").tabs("div.panes > div.pane", function(event, index) {
 		var pass = true;
	});
	
	var api = $("ul.tabs", ".expose").tabs(0);
		
	$(".next").click(function() {api.next();});
	
	$(".prev").click(function() {api.prev();});
	
	$('input[type="text"].textfield').addClass("idleField"); 
	
	// initialize the checkout fields
	$('input[type="text"].textfield').focus(function(){
		$(this).removeClass("idleField").removeClass("filledField").removeClass("error").addClass("focusField");				
		if (this.value == this.defaultValue){  
            this.value = '';  
        }
	});
	
	$('input[type="text"].textfield').blur(function(){
		if (this.value == ''){  
			$(this).removeClass("focusField").addClass("idleField");
            this.value = this.defaultValue;  
        } else {$(this).removeClass("focusField").addClass("filledField");}
	});
	
	$("input#copydetails").click(function(){
		if($("input#copydetails").is(':checked')){
			if(badd.val() != "Billing Address"){padd.val(badd.val());} else{padd.val("");}
			if(bsub.val() != "Suburb"){psub.val(bsub.val());} else{psub.val("");}
			if(bstate.val() != "State"){pstate.val(bstate.val());} else{pstate.val("");}
			if(bpc.val() != "Postcode"){ppc.val(bpc.val());} else{ppc.val("");}
			
			if(badd.hasClass('filledField')){padd.addClass('filledField');}else if(badd.hasClass('error')){padd.addClass('error');}
			if(bsub.hasClass('filledField')){psub.addClass('filledField');}else if(bsub.hasClass('error')){psub.addClass('error');}
			if(bstate.hasClass('filledField')){pstate.addClass('filledField');}else if(bstate.hasClass('error')){pstate.addClass('error');}
			if(bpc.hasClass('filledField')){ppc.addClass('filledField');}else if(bpc.hasClass('error')){ppc.addClass('error');}
		} else {
			padd.val("Postal Address");
			psub.val("Suburb");
			pstate.val("State");
			ppc.val("Postcode");
			padd.removeClass("filledField");
			psub.removeClass("filledField");
			ppc.removeClass("filledField");
		}
	});

	/*
	jQuery.validator.addMethod("defaultInvalid", function(value, element) {
		return value != element.defaultValue;
	}, "");
	
	jQuery.validator.addMethod("checkState", function(value, element) {
		return $(this).val() != "State";
	}, "");
	
	$("#freeform").validate({
		rules: {
			first_name: {
				required: true,
				defaultInvalid: true,
				minlength: 2,
				alpha: true
			},
			last_name: {
				required: true,
				defaultInvalid: true,
				minlength: 2,
				alpha: true
			},
			email: {
				required: true,
				email: true
			},
			phone: {
				required: true,
				defaultInvalid: true
			},
			billing_address: {
				required: true,
				defaultInvalid: true,
				minlength: 2
			},
			billing_suburb: {
				required: true,
				defaultInvalid: true,
				minlength: 2
			},
			billing_state: {
				required: true,
				checkState: true
			},
			billing_postcode: {
				maxlength: 4,
				minlength: 4,
				number: true
			},
			postal_address: {
				required: true,
				defaultInvalid: true,
				minlength: 2
			},
			postal_suburb: {
				required: true,
				defaultInvalid: true,
				minlength: 2
			},
			postal_state: {
				required: true,
				checkState: true
			},
			postal_postcode: {
				maxlength: 4,
				minlength: 4,
				number: true
			},
		}, invalidHandler: function(e, validator) {
			var errors = validator.numberOfInvalids();
			if (errors) {
				var message = errors == 1
					? "You missed or incorrectly filled 1 of the fields. We've highlighted it for you so please check each step again."
					: "You missed or incorrectly filled " + errors + " of the fields. We've highlighted them for you so please check each step again.";
				$("div.error").html(message);
				$("div.error").show();
			} else {$("div.error").hide();}
		}
	});
	*/

}); 
