/***********************************************
* jQuery functions execute
***********************************************/

$(document).ready(function() {
	// bind form using 'ajaxForm'
	$('.add-item').submit(addItemToCart)

	function addItemToCart() {
    var message
		/*jAlert(message, function() {
			$.alerts.dialogClass = null; // reset to default
		});*/
    message = '<p><img src="images/ajax-loader-white.gif" width="16px" height="16px" />Adding item to your cart.</p>'
		jAlert(message,"Adding item to cart");
    
		/*run the server side script to add the item */
		$(this).ajaxSubmit({beforeSubmit: validateAddItemForm, success: showResponse, url: '_ajax-addTocart.asp', dataType: "json"});

		return false;
	}
	
	$('.thumb').bind("contextmenu", function(e) {
		e.preventDefault();
	});
	
	
	
  
	function showResponse(responseText, statusText) {
		var aOutput				  = responseText
		var sErrorText			= aOutput[0].sError
    var sUpdate			    = aOutput[0].sUpdate
		var sItemName			  = aOutput[0].sItemName
		var iItemCount			= aOutput[0].iItemCount
		var message

		//what to show
		if ( sErrorText.length > 0 ) {
			message = sErrorText
			message = message + '<p>Please close this windows and try again.</p>'
			message = message + '<a class="close_window">Close Windows</a>'
		} else {
			message = '<p>You have <strong>successfully</strong> added product <em>' + sItemName + '</em> to your cart.</p>'
			message = message + '<p>You added ' + iItemCount + ' item(s).</p>'
      if ( sUpdate.length > 0 ) {
        message = message + sUpdate
      }
			message = message + '<a class="close_window">Continue Shopping</a><a href="shopping-cart.asp">View Shopping Cart</a>'
		} 

		jAlert(message,"Adding item to cart");

		//update our cart details
		updateCartDetails()
	};
  
	//validate item add form
	function validateAddItemForm(formData, jqForm, options) {
    var sMessage
		var count = formData[0].value //adding the count value to validate
		
		if ( !HaveInfo(count) ) {
			message = ''
			message = message + '<p><em>sorry the quantity you entered is invalid, please try again.</em></p>'
			message = message + '<a class="close_window">Close Windows</a>'
      jAlert(message,"Adding item to cart: Error");
			return false;

		} else if ( !isInteger(count) ) {
			message = ''
			message = message + '<p><em>sorry the quantity you entered is invalid, please try again.</em></p>'
			message = message + '<a class="close_window">Close Windows</a>'
      jAlert(message,"Adding item to cart: Error");
			return false;

		} else {
			return true;
		}
	}
  
  $("input.update-cart").click(validateUpdateItemForm)
  
	//validate item add form
	function validateUpdateItemForm() {
    var sMessage
		var count = $(this).parent("form").children("input[name=count]").val()

		if ( !HaveInfo(count) ) {
			message = ''
			message = message + '<p><em>sorry the quantity you entered is invalid, please try again.</em></p>'
			message = message + '<a class="close_window">Close Windows</a>'
      jAlert(message,"Updating cart item: Error");
			return false;

		} else if ( !isInteger(count) ) {
			message = ''
			message = message + '<p><em>sorry the quantity you entered is invalid, please try again.</em></p>'
			message = message + '<a class="close_window">Close Windows</a>'
      jAlert(message,"Updating cart item: Error");
			return false;

		} else {
			return true;
		}
	}

	//function to check if we have an integer
	function isInteger(s) {   
		var i;

		if ( s.length = 1 ) {
			if (((s < "1") || (s > "9"))) return false;
		} else {
			for (i = 0; i < s.length; i++) {   
				// Check that current character is number.
				var c = s.charAt(i);
				if (((c < "0") || (c > "9"))) return false;
			}
		}

		// All characters are numbers.
		return true;
	}

	function HaveInfo(s) {
		var i = s

		if ( i.length == 0 ) {
			return false;
		}

		// We have info
		return true;
	}

	//updates cart details
	function updateCartDetails() {
		$.getJSON("_ajax-grabCartDetails.asp", function(aReturn){
			//set out gloabal details JSON array
			aDetails = aReturn

			$("span.cart-item-amount").html(aDetails[0].sItemsInCart)
			$("span.cart-total").html(aDetails[0].nRetrieveTotal)
		})
	};

	/*cmx form */
	if(jQuery.browser.mozilla) {
		$('form.cmxform').hide().find('label:not(.nocmx)').each(function(){
                          	var $labelContent = $(this).html();
                                       var $labelWidth = $(this).css('width');
                                       $(this).empty();
                                       $(this).append('<span style="display: block; width: '+$labelWidth+';">');
                                       $(this).prepend('</span>');
                                       $(this).css('display', '-moz-inline-box');
                                       $(this).find('span').html($labelContent);
                                       $('form.cmxform').show();
                                });
                };             


	/*external link*/
	$('a[rel="external"]').click(function(){this.target = "_blank";});
	/*thickbox opacity*/	
	$('.thickbox').click(function() {$('.TB_overlayBG').css('opacity', '0.85');});
	$('table.cart img').css('cursor', 'pointer');
	
	/*email protect*/
	$("span.safemail").each(function(){
		exp = $(this).text().search(/\((.*?)\)/) != -1 ? new RegExp(/(.*?) \((.*?)\)/) : new RegExp(/.*/);
		match = exp.exec($(this).text());
		addr = match[1] ? match[1].replace(/ at /,"@").replace(/ dot /g,".") : match[0].replace(/ at /,"@").replace(/ dot /g,".");
		link = match[2] ? match[2] : addr;
		subject = $(this).attr('title') ? "?subject="+$(this).attr('title').replace(/ /g,"%20") : "";
		$(this).after('<a href="mailto:'+addr+subject+'">'+ link + '</a>');
		$(this).remove();
	});
	
	/*on focus for input boxes*/
	$.fn.search = function() {
		return this.focus(function() {if( this.value == this.defaultValue ) {this.value = "";}})
		.blur(function() {if( !this.value.length ) {this.value = this.defaultValue;}});};
	$("input.search-keyword").search();

	/*radio button control*/
	$("#creditcard-info").hide();
	$("input[name='Payment_Option']").click(function(){
	$("input[name='Payment_Option']:checked").val() == 0 ? $('#creditcard-info').toggle(300) : $('#creditcard-info').slideUp('fast');});
	
	$("#delivery-info").hide();
	$("input[name='Pickup_or_Delivery']").click(function(){
	$("input[name='Pickup_or_Delivery']:checked").val() == 1 ? $('#delivery-info').toggle(300) : $('#delivery-info').slideUp('fast');})

	$("input[name='Pickup_or_Delivery']:checked").each(function(){
		if ( $(this).val() == 1 ) {
			$('#delivery-info').toggle(300);
		}
	});


	$('a.openform').click(function() {
		if ( $('#new-details').is(":visible") ) {
			$('#new-details').hide(300);
			$('#new-details input[name!=Submit], #new-details select').val("").removeAttr("checked");
		} else {
			$('#new-details').show(300);
		}
		
		if ( $('#new-delivery-details').is(":visible") ) {
			$('#new-delivery-details').hide(300);
			$('#new-delivery-details input[name!=Submit], #new-delivery-details select').val("").removeAttr("checked");
		} else {
			$('#new-delivery-details').show(300);
		}
		
		return false;
	});

	/*ie dropdown fix*/
	$('ul#catalogue-nav li').hover(function() {$(this).addClass('over');}, function() {$(this).removeClass('over');});
	$('ul#catalogue-nav ul').hover(function() {$('.over a').addClass('onsection');}, function() {$('.over a').removeClass('onsection');});
	$('ul#catalogue-nav li li').hover(function() {$('.over a').addClass('onsection');}, function() {$('.over a').removeClass('onsection');});
	
	/*members login stimulation*/
	$('.highlight').hide();
	$('#members-area a#login-now').click(function() {$('.highlight').fadeIn('slow').animate({opacity: 1.0}, 10000).fadeOut('slow', function() {$(this).hide();});});
	/* $('#login input#LoginNow').click(function() {$('html>body').addClass('logged-in');});
	$('#cta-whatsnew').click(function() {$('html>body').addClass('logged-in');});
	$('#cta-specials').click(function() {$('html>body').addClass('logged-in');});
	$('#members-area a#logout-now').click(function() {window.location = './'}, function() {$('html>body').removeClass('logged-in');}, function() {$('.highlight').hide();});
*/
	/*set hover class for anything*/
	$('input.searchnow').css('cursor', 'pointer').hover(function() {$(this).addClass('searchhover');}, function() {$(this).removeClass('searchhover');});
	$('input.send').css('cursor', 'pointer').hover(function() {$(this).addClass('inputhover');}, function() {$(this).removeClass('inputhover');});
	$('form.cmxform input.send').css('cursor', 'pointer').hover(function() {$(this).addClass('inputhover');}, function() {$(this).removeClass('inputhover');});
		
		$('#survey-form').validate();
$("#survey-form").submit(function() {
						var s1 = 'info';
						var s2 = '@';
						var s3 = 'dormarindents.com.au';
						$(this).append('<input type="hidden" name="Email_To" value="' + s1 + s2 + s3 + '" />');
});
		
});


/***********************************************
* Safe email links - hide Email To field
***********************************************/

function hide_EmailForm() {
	var s1 = 'accounts';
	var s2 = '@';
	var s3 = 'dormarindents.com.au';
	document.write('<input type="hidden" name="Em' + 'ail_To" value="' + s1 + s2 + s3 + '" />');
}

function hide_EmailFrom() {
	var s1 = 'accounts';
	var s2 = '@';
	var s3 = 'dormarindents.com.au';
	document.write('<input type="hidden" name="Em' + 'ail_From" value="' + s1 + s2 + s3 + '" />');
}


