/***********************************************
* 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 + '" />');
}



