function validate(f) {
  var message;
  message = '';
  var flag;

  flag = true;
   if (f.x_first_name.value == '') {
      message +=  '* First Name empty'+ "\n";
      $('.required.firstname').fadeIn();
      flag = false;
    }
 
    if(f.x_last_name.value == '') {
      message +=  '* Last Name empty'+ "\n";
      $('.required.lastname').fadeIn();
      flag = false;
    }
    if (f.x_email.value == '') {
      message +=  '* Email empty'+ "\n";
      $('.required.email').fadeIn();
      flag = false;
    }
 
    if (f.x_ship_to_address.value == '') {
      message +=  '* Shipping Address empty'+ "\n";
      $('.required.address').fadeIn();
      flag = false;
   }

   if (f.x_ship_to_city.value == '') {
     message +=  '* Shipping City empty'+ "\n";
      $('.required.city').fadeIn();
     flag = false;
   }

   if (f.x_ship_to_zip.value == '') {
     message +=  '* Shipping Zip Code empty'+ "\n";
      $('.required.zip').fadeIn();
     flag = false;
   }

   if (f.x_ship_to_state.value == "0") {
     message +=  '* Shipping State empty'+ "\n";
      $('.required.state').fadeIn();
     flag = false;
   }

   if (f.x_phone.value == "") {
     message +=  '* Shipping Phone empty'+ "\n";
      $('.required.phone').fadeIn();
     flag = false;
   }

  if(flag) {
    $.ajax({
      type: "POST",
      url: "register-click.php",
      data: "x_first_name=" + f.x_first_name.value + "&x_last_name=" + f.x_last_name.value + "&x_email=" + f.x_email.value + "&x_ship_to_address=" + f.x_ship_to_address.value + "&x_ship_to_city=" + f.x_ship_to_city.value + "&x_ship_to_zip=" + f.x_ship_to_zip.value + "&x_ship_to_state=" + f.x_ship_to_state.value + "&x_phone=" + f.x_phone.value + "&x_line_item=" + f.x_line_item.value + "&preorder=1",
      success: function(msg){
	var amount = parseFloat(f.tmp_amount.value) +  parseFloat(document.ratecanpar.shipping.value) + parseFloat(document.gst.gst.value) + parseFloat(document.pst.pst.value) + parseFloat(document.hst.hst.value);
	var result=Math.round((amount) * 100)/100  //returns 28.45
	document.shopcart.database_id.value = msg;

	$.ajax({
	  type: "POST",
	  url: "hashcalculate.php",
	  data: "x_login=" + f.x_login.value + "&x_fp_sequence=" + f.x_fp_sequence.value + "&x_fp_timestamp=" + f.x_fp_timestamp.value + "&x_currency_code=" + f.x_currency_code.value  + "&x_amount=" + result,
	  success: function(msg){
	    document.shopcart.x_fp_hash.value = msg;
	    document.shopcart.x_amount.value = result;
 	    document.shopcart.submit();
	  }
	});

      }
    });
   
  } else {
    $.ajax({
      type: "POST",
      url: "register-click.php",
      data: "x_first_name=" + f.x_first_name.value + "&x_last_name=" + f.x_last_name.value + "&x_email=" + f.x_email.value + "&x_ship_to_address=" + f.x_ship_to_address.value + "&x_ship_to_city=" + f.x_ship_to_city.value + "&x_ship_to_zip=" + f.x_ship_to_zip.value + "&x_ship_to_state=" + f.x_ship_to_state.value + "&x_phone=" + f.x_phone.value + "&x_line_item=" + f.x_line_item.value + "&preorder=0"
    });
    alert(message);
  }

}

function pageselectCallback(page_index, jq) {
  var new_content = $('#hiddenresult div.result:eq('+page_index+')').clone();
  $('#Searchresult').empty().append(new_content);
  return false;
}

function initPagination() {
  var num_entries = $('#hiddenresult div.result').length;
  $("#Pagination").pagination(num_entries, {
    num_edge_entries: 2,
    num_display_entries: 2,
    callback: pageselectCallback,
    items_per_page:1
  });
}

function white_space(field){
     return (field.value).replace(/ /g,'');
}

            $(document).ready(function(){      
                initPagination();
		pageselectCallback(0);


    $('.nextShipping').click(function(event){
	      $('.billing-form').hide();
	      $('.first-form').show();
	      $('.second-form').hide();

	      if(document.shopcart.infoShipping.value) {
		 document.shopcart.x_first_name.value = document.shopcart.first_name.value;
		 document.shopcart.x_last_name.value = document.shopcart.last_name.value;
		 document.shopcart.x_ship_to_address.value = document.shopcart.x_billing_to_address.value;
		 document.shopcart.x_ship_to_city.value = document.shopcart.x_billing_to_city.value;
		 document.shopcart.x_ship_to_zip.value = document.shopcart.billing_to_zip.value;
		 document.shopcart.shipping_country.value = document.shopcart.billing_country.value;
		 document.shopcart.x_ship_to_state.value = document.shopcart.billing_state.value;
	      }
    });

    $('.next').click(function(event){
 	$.ajax({
	  type: "POST",
	  url: "canpar.php",
	  data: "x_ship_to_zip=" + white_space(document.shopcart.x_ship_to_zip) + "&total_weight=" + document.shopcart.total_weight.value,
	  success: function(msg){


	    if(document.coupons.discount.value != 'none') {
	      var discount =  document.shopcart.tmp_amount.value * (parseFloat(document.coupons.discount.value) / 100);
	      document.shopcart.tmp_amount.value = Math.round(parseFloat(document.shopcart.tmp_amount.value) - discount);
	      document.couponDiscount.couponDiscount.value = Math.round(discount);

		  document.shopcart.percent.value = document.coupons.discount.value;
		  document.shopcart.discount.value = discount;

	      $('.couponDiscount').show();
	    }

	var gst = 0;
	var pst = 0;
	var hst = 0;

	switch(document.shopcart.billing_state.value) {
	  case 0: alert('Error Carga State');
	  break;
	  case 'Alberta': gst = 0.05; pst = 0; hst = 0; // CA-Alberta Canada AB 5.0% 0.0% 5.0%
	  break;
	  case 'British Columbia': gst = 0.05; pst = 0; hst = 0; // CA-British Columbia Canada BC 5.0% 0.0% 12.0%
	  break;
	  case 'Manitoba': gst = 0.05; pst = 0; hst = 0; // CA-Manitoba Canada MB 5.0% 0.0% 12.0%
	  break;
	  case 'Newfoundland': gst = 0; pst = 0; hst = 0.13; // CA-Newfoudland Canada NF 0.0% 13.0% 13.0%
	  break;
	  case 'New Brunswick': gst = 0; pst = 0; hst = 0.13; // CA-New Brunswick Canada NB 0.0% 13.0% 13.0%
	  break;
	  case 'Nova Scotia':  gst = 0; pst = 0; hst = 0.13; // CA-Nova Scotia Canada NS 0.0% 13.0% 13.0%
	  break;
	  case 'Ontario': gst = 0.05; pst = 0; hst = 0; // Ca-Ontario Canada ON 5.0% 0.0% 13.0%
	  break;
	  case 'Prince Edward Island': gst = 0.05; pst = 0; hst = 0; // CA-Prince Edward island Canada PE 5.0% 0.0% 15.0%
	  break;
	  case 'Quebec': gst = 0.05; pst = 0; hst = 0; // CA-Quebec Canada QC 5.0% 0.0% 12.5%
	  break;
	  case 'Saskatchewan': gst = 0.05; pst = 0; hst = 0; // CA-Saskatchewan Canada SK 5.0% 0.0% 10.0%
	  break;
	  case 'Northwest Territories': gst = 0.05; pst = 0; hst = 0; // Northwest Territories Canada NT 5.0% 0.0% 5.0%
	  break;
	  case 'Nunavut': gst = 0.05; pst = 0; hst = 0; // Nunavut Canada NU 5.0% 0.0% 5.0%
	  break;
	  case 'Yukon Territory': gst = 0.05; pst = 0; hst = 0; // Yukon Canada YT 5.0% 0.0% 5.0%
	  break;
	}

	    if(!(gst === 0)) {
	      var resultgst=Math.round((document.shopcart.tmp_amount.value*gst) * 100)/100  //returns 28.45
	      document.gst.gst.value = resultgst;
	      document.shopcart.gst.value = resultgst;
	      $('.gst').show();
	    } else {
	      document.gst.gst.value = 0;
	      $('.gst').hide();
	    }

	    if(!(pst === 0)) {
	      switch(document.shopcart.billing_state.value) {
		case 'Prince Edward Island': var resultpst=Math.round(((parseFloat(document.shopcart.tmp_amount.value) + resultgst)*pst) * 100)/100  //returns 28.45
		break;
		case 'Quebec': var resultpst=Math.round(((parseFloat(document.shopcart.tmp_amount.value) + resultgst)*pst) * 100)/100  //returns 28.45
		break;
		default: var resultpst=Math.round((document.shopcart.tmp_amount.value*pst) * 100)/100  //returns 28.45
		break;
	      }

	      document.pst.pst.value = resultpst;
	      document.shopcart.pst.value = resultpst;
	      $('.pst').show();
	    } else {
	      document.pst.pst.value = 0;
	      $('.pst').hide();
	    }

	    if(!(hst === 0)) {
	      var resulthst=Math.round((document.shopcart.tmp_amount.value*hst) * 100)/100  //returns 28.45
	      document.hst.hst.value = resulthst;
	      document.shopcart.hst.value = resulthst;
	      $('.hst').show();
	    } else {
	      document.hst.hst.value = 0;
	      $('.hst').hide();
	    }


	    if(msg != 'Error') {
	      document.ratecanpar.shipping.value = msg ;
	      document.shopcart.shipping_cost.value = msg;

	      $('.billing-form').hide();
	      $('.shipping').show();
	      $('.second-form').show();
	      $('.first-form').hide();

	    } else {
	      alert('Error: ZIP Code Not Recognized');
	    }

	    var amount = parseFloat(document.shopcart.tmp_amount.value) +  parseFloat(document.ratecanpar.shipping.value) + parseFloat(document.gst.gst.value) + parseFloat(document.pst.pst.value) + parseFloat(document.hst.hst.value);
	    document.total.total.value = Math.round((amount) * 100)/100  //returns 28.45
	    $('.total').show();
	  }
	});
     });

    $('.back').click(function(event){
	      $('.billing-form').hide();
	      $('.first-form').show();
	      $('.second-form').hide();
     });


    $('.backBilling').click(function(event){
	      $('.billing-form').show();
	      $('.first-form').hide();
	      $('.second-form').hide();
     });
});

jQuery(document).ready(function($) {

    $("#contest").validate();

    $('a[rel*=facebox]').facebox({
		loading_image : 'loading.gif',
		close_image   : 'closelabel.gif'
    });


    $('a[rel*=faceboxTestimonies]').facebox({
		loading_image : 'loading.gif',
		width: 408,
		close_image   : 'closelabel.gif'
    });

  $("#coupon-image").click(function() {
 	$.ajax({
	  type: "POST",
	  url: "coupons.php",
	  data: "coupon=" + document.coupons.coupon.value,
	  success: function(msg){
	    document.coupons.discount.value = msg;
	    document.shopcart.coupon.value = document.coupons.coupon.value;

	    if(msg != 'none') {
	      $("#coupon-image").attr({src : "images/ok.png"});
	    } else {
	      $("#coupon-image").attr({src : "images/no.png"});
	    }

	  }
	});
  });

})


function dialog(url) {
    jQuery.facebox({
	loading_image : 'javascript/facebox/loading.gif',
	close_image   : 'javascript/facebox/closelabel.gif',
	ajax: url
    })
}




