/* 
RS Electrical - Javascript
Last Modified 27/04/2009 by Danny Hayfield
*/

$(document).ready(function() {
	/* structure */
	document.getElementById('leftcol').innerHTML = document.getElementById('leftcol_content').innerHTML;
	document.getElementById('top').innerHTML = document.getElementById('top_content').innerHTML;
	
	$('#openme').hide();
	
	/* initialize ajax */
	$('#callbackform').ajaxInit();
	
	/* text replacement */
	Cufon.replace('#navigation a', {hover: true, fontFamily: 'Myriad Pro Bold'});
	Cufon.replace('.trade-info', {fontFamily: 'Myriad Pro Bold'});
	Cufon.replace('#trolly', {fontFamily: 'Myriad Pro'});
	Cufon.replace('#tel', {fontFamily: 'Helvetica'});
	Cufon.replace('#del', {fontFamily: 'Helvetica'});
	Cufon.replace('#del span.darkblue', {fontFamily: 'Helvetica Bold'});
	Cufon.replace('.cat-name', {hover: true, fontFamily: 'Helvetica'});
	Cufon.replace('span.offer', {fontFamily: 'Myriad Pro'});
	Cufon.replace('span.moreinfo', {fontFamily: 'Myriad Pro'});
	Cufon.replace('span.top-seller-num', {fontFamily: 'Myriad Pro Bold'});
	Cufon.replace('span.top-seller-desc', {fontFamily: 'Myriad Pro'});
	Cufon.replace('.logout', {hover: true, fontFamily: 'Myriad Pro'});
	
	Cufon.replace('.cart-title', {fontFamily: 'Myriad Pro Bold'});
	
	Cufon.replace('div.product-listing-name', {fontFamily: 'Helvetica Bold'});
	Cufon.replace('.brand', {hover: true, fontFamily: 'Helvetica'});
	Cufon.replace('div.product-listing-description', {fontFamily: 'Helvetica'});
	Cufon.replace('div.pack-options', {fontFamily: 'Helvetica Bold'});
	Cufon.replace('h2.product-name', {fontFamily: 'Helvetica Bold'});
	Cufon.replace('strong.strong', {fontFamily: 'Helvetica Bold'});
	Cufon.replace('.moreinfo', {hover: true, fontFamily: 'Helvetica'});
	
	$('#del').hover(
		function() {
			$('.free-del-notice').fadeIn('fast');
		},
		function() {
			$('.free-del-notice').fadeOut('fast');
		}
	);
});

/* ajax callback */
$.fn.ajaxInit = function(e) {
	this.submit(function(){
	  var cb_name = $("#cb_name").val();
	  var cb_phone = $("#cb_phone").val();
	  var cb_date = $("#cb_date").val();
	  var cb_time = $("#cb_time").val();
	  if(cb_name == "" || cb_name == "Name" || cb_phone == "" || cb_phone == "Phone Number" || cb_date == "" || cb_time == "") {
		alert("For us to call you back please leave us your name, telephone number and when you'd like us to give you a call.");
		return false;
	  } else {
		var dataString="type=callback&name="+cb_name+"&phone="+cb_phone+"&date="+cb_date+"&time="+cb_time
		$.ajax({
		  type: "POST", 
		  url: "http://"+window.location.hostname+"/includes/ajax.inc.php", 
		  data: dataString, 
		  timeout: 3000,
		  error: function() { 
		  	alert('Please try again later...'); return false;
		  },
		  success: function() {
			  $(".callback-button-status").html('<img src="/images/assets/loader.gif" alt="" style="float:right">');
		  },
		  complete: function() {
			$(".callback-button-status").html('<img src="/images/assets/loader.gif" alt="" style="float:right;margin: 2px 2px 0 0">');
			setTimeout("$('.cbform').hide(); $('.cbform').html('<div style=\"width:138px;margin:0 auto;margin-top:15px;display:block\"><strong>Thank you</strong><br />Your callback request has been sent to our team and we will get back to you shortly.</div>');", [3000]);
			setTimeout("$('.cbform').show();", [3200]);
		  }
		});
	  }
	  return false;
	});
}

/* form check process */
function clearText(text, element) {var value = $(element).val(); if(value == text) {$(element).val('');}return false}
function returnText(text, element) {var value = $(element).val(); if(value == "") {$(element).val(text);}return false}
function checkSearch() {value = $('.search-term').val(); if(value == "" || value == "Enter your search here...") {alert('Enter a search term...'); return false}}

/* validation functions */
function isValidEmail(str) {
   return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
}
function IsEmpty(aTextField) {
   if ((aTextField.value.length==0) || (aTextField.value==null)) {
      return true;
   } else {return false;}
 }
function IsNumeric(sText) {
   var ValidChars = "0123456789.-";
   var IsNumber=true;
   var Char;
 
   for (i = 0; i < sText.length && IsNumber == true; i++) { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) {
      	IsNumber = false;
      }
   }
   return IsNumber;
}
function numberonly(evt) {
  var charCode = (evt.which) ? evt.which : event.keyCode
  if (charCode > 31 && (charCode < 48 || charCode > 57))
  return false;
  return true;
}

/* process contact form */
function validContact() {
	var contact_name = $("input#contact_name").val();
	var contact_email = $("input#contact_email").val();
	var contact_phone = $("input#contact_phone").val();
	var contact_query = $("input#contact_query").val();
	
	if(contact_name == "" || contact_email == "" || contact_query == "" || isValidEmail(contact_email) == false) {
		alert("Please enter your name, email address and enquiry.\nEnsure your email addres is valid.");
		return false;
	}
	return true;
}


/* process checkout */ 
function checkAddress(form) {
	var error = "0";
	var errors = "The following errors occured:\n\n";	
	if (IsEmpty(form.delivery_name)) {
		error = "1";
		errors += "- Please enter your full name (e.g Mr John Smith)\n";
	}
	if (IsEmpty(form.delivery_housenumber)) {
		error = "1";
		errors += "- Please enter your house/flat number\n";
	}
	if (IsEmpty(form.delivery_street)) {
		error = "1";
		errors += "- Please enter your street\n";
	}
	if (IsEmpty(form.delivery_town)) {
		error = "1";
		errors += "- Please enter your town/city\n";
	}
	if (IsEmpty(form.delivery_county)) {
		error = "1";
		errors += "- Please enter your county/region\n";
	}
	if (IsEmpty(form.delivery_postcode)) {
		error = "1";
		errors += "- Please enter your postal code\n";
	}
	if (IsEmpty(form.delivery_telephone)) {
		error = "1";
		errors += "- Please enter your telephone number\n";
	}
	if (IsEmpty(form.delivery_email)) {
		error = "1";
		errors += "- Please enter your email address\n";
	}
	if (!IsEmpty(form.delivery_email)) {
		validRegExp = /^[^@]+@[^@]+.[a-z]{2,}$/i;
    	if (form.delivery_email.value.search(validRegExp) == -1) {
			error = "1";
			errors += "- Your email address is not valid.\n";
		}
	}
	if (error == "1") {
		alert(errors);
		return false;
	}
	return true;
}

function checkCard(form) {
	var error = "0";
	var errors = "The following errors occured:\n\n";	
	if (IsEmpty(form.card_name)) {
		error = "1";
		errors += "- Please enter the card holders name (e.g Mr. John Smith)\n";
	}
	if (IsEmpty(form.card_number)) {
		error = "1";
		errors += "- Please enter the card number (digits only)\n";
	}
	if (!IsNumeric(form.card_number.value)) { 
      error = "1";
	  errors += "- Please enter the card number (digits only)\n";
    }
	if (IsEmpty(form.card_ccv)) {
		error = "1";
		errors += "- Please enter the CCV (security number)\n";
	}
	if (!IsNumeric(form.card_ccv.value)) { 
      error = "1";
	  errors += "- Please enter the CCV (security number)\n";
    }
	if (form.card_expires_month.value == "") {
		error = "1";
		errors += "- Please select the expires end month\n";
	}
	if (form.card_expires_year.value == "") {
		error = "1";
		errors += "- Please select the expires end year\n";
	}
	if (error == "1") {
		alert(errors);
		return false;
	}
	return true;
}