var carriageTotal = 0;

function doPostageCalc(objId)
{
	var objVar = objId.value;
	
	switch(objVar.toUpperCase())
	{
		case "UNITED STATES":
			var objDivPostage = document.getElementById('firstClass');
			alert(objDivPostage.value);
			
			var objDivText = document.getElementById('firstMethod');
			alert(objDivText.value);
			
			objDivPostage.value += 20;
			alert('usa');
		break;
		
		case "CANADA":
			alert('canada');
		break;
		
		case "UNITED KINGDOM":
			alert('uk');
		break;
		
		default:
			alert('elsewhere');
		break;
	}
}


function searchResults(objId)
{
  var frmId = document.getElementById(objId);
  window.location = 'search/'+objId.elements["search"].value;
}

function validate_required(field, alertTxt)
{
  with(field)
  {
    if(value == null || value == "")
    {
      alert(alertTxt);return false;
    }
    else
    {
      return true;
    }
  }
}

function validate_form_reminder(thisForm)
{
  with(thisForm)
  {
    if(validate_required(user_email, "Please enter your email address.") == false)
    {
      user_email.focus(); return false;
    }
    else
    {
      if(isValidEmail(user_email) == false)
      {
        alert("Please check your email is correct.");
        user_email.focus(); return false;
      }
    }
  }
}

function validate_form_reviews(thisForm)
{
  /*
    <p><label for="name">Name</label> <input type="text" name="reviewname" id="name" /></p>
    <p><label for="e-mail">E-mail</label> <input type="text" name="reviewemail" id="e-mail" /></p>
    <p><label for="reviewtext">Review</label> <textarea id="review" name="reviewtext"></textarea></p>
    <p class="submit"><input type="submit" value="Save it!" name="reviewsubmit"/></p>
  */
  with(thisForm)
  {
    if(validate_required(reviewname, "Please enter your name.") == false)
    {
      reviewname.focus(); return false;
    }
    
    if(validate_required(reviewemail, "Please enter your email address.") == false)
    {
      reviewemail.focus(); return false;
    }
    else
    {
      if(isValidEmail(reviewemail) == false)
      {
        alert("Please check your email is correct.");
        reviewemail.focus(); return  false;
      }
    }
    
    if(validate_required(reviewtext, "Please enter your review!") == false)
    {
      reviewtext.focus(); return false;
    }
  }
}

function validate_form_postage(thisForm)
{
  with(thisForm)
  {
    if(carriage.value != "" && carriage.value != "NNN")
      return true;
    else
    {
      alert("Please choose a postage method, for delivery.");
      return false;
    }
  }
}

function isValidEmail(field)
{
with (field)
  {
  apos=value.indexOf("@");
  dotpos=value.lastIndexOf(".");
  if (apos<1||dotpos-apos<2)
    {return false;}
  else {return true;}
  }
}

function validate_form_login(thisForm)
{
  with(thisForm)
  {
    if(validate_required(user_email, "Please enter your email address.")==false)
    {     
      user_email.focus(); return false;
    }
    else
    {
      if(isValidEmail(user_email) == false)
      {
        alert("Please check your email address is correct.");
        user_email.focus(); return false;
      }
    }
    
    if(validate_required(user_password, "Please enter your password.") == false)
    { 
      user_password.focus(); return false;
    }
  }
}

function validate_form_email_change(thisForm)
{
  with(thisForm)
  {
    if(isValidEmail(newemail) == false)
    {
      if(validate_required(newemail, "Please enter your email.") == false)
      {
        newemail.focus(); return false;
      }
    }
    else
    {
      alert("Please check your email address is correct.");
      return false;
    }
  }
}

function validate_form_checkout(thisForm)
{
  with(thisForm)
  {
    if(validate_required(firstname, "Please enter your first name.") == false)
    {
      firstname.focus(); return false;
    }
    
    if(validate_required(surname, "Please enter your surname.") == false)
    {
      surname.focus(); return false;
    }
    
    if(validate_required(address1, "Please use 'Address 1' first.") == false)
    {
      address1.focus(); return false;
    }
    
    if(validate_required(town, "Please enter your town.") == false)
    {
      town.focus(); return false;
    }
    
    if(validate_required(county, "Please enter your county.") == false)
    {
      county.focus(); return false;
    }
    
    if(validate_required(postcode, "Please enter your Post Code.") == false)
    {
      postcode.focus(); return false;
    }
    
    if(validate_required(deladdress1, "Please use 'Address 1' for your delivery address first.") == false)
    {
      deladdress1.focus(); return false;
    }
    
    if(validate_required(deltown, "Please enter a town for your delivery address.") == false)
    {
      deltown.focus(); return false;
    }
    
    if(validate_required(delcounty, "Please enter a county for your delivery address.") == false)
    {
      delcounty.focus(); return false;
    }
    
    if(validate_required(delpostcode, "Please enter a Post code for your delivery address.") == false)
    {
      delpostcode.focus(); return false;
    }
  }
}

function validate_form_register(thisForm)
{
  with(thisForm)
  {
    if(validate_required(firstname, "Please enter your First name.") == false)
    {
      firstname.focus(); return false;
    }
    
    if(validate_required(surname, "Please enter your Surname.") == false)
    {
      surname.focus(); return false;
    }
    
    if(validate_required(address1, "Please use 'Address1' first.") == false)
    {
      address1.focus(); return false;
    }
    
    if(validate_required(town, "Please enter your Town.") == false)
    {
      town.focus(); return false;
    }
    
    if(validate_required(county, "Please enter your County.") == false)
    {
      county.focus(); return false;
    }
    
    if(validate_required(postcode, "Please enter your Post Code.") == false)
    {
      postcode.focus(); return false;
    }
    
    if(validate_required(emailadd, "Please enter your email address.") == false)
    {
      emailadd.focus(); return false;
    }
    else
    {
      if(isValidEmail(emailadd) == false)
      {
        alert("Please check your email address is correct.");
        emailadd.focus(); return false;
      }
    }
    
    if(validate_required(emailadd2, "Please confirm your email address.") == false)
    {
      emailadd2.focus(); return false;
    }
    else
    {
      if(isValidEmail(emailadd2) == false)
      {
        alert("Please check your email address is correct.");
        emailadd2.focus(); return false;
      }
    }
    
    if(validate_required(password, "Please enter a password.") == false)
    {
      password.focus(); return false;
    }
  }
}

function validate_form_password_change(thisForm)
{
  with(thisForm)
  {
    if(validate_required(old_password, "Please enter your old password.") == false)
    {
      old_password.focus(); return false;
    }
    
    if(validate_required(new_password, "Please enter a new password.") == false)
    {
      new_password.focus(); return false;
    }
    
    if(validate_required(new_password2, "Please confirm your new password.") == false)
    {
      new_password2.focus(); return false;
    }
  }
}

function validate_form_change_address(thisForm)
{
  with(thisForm)
  {
    if(validate_required(address1, "Please use 'Address 1' first.") == false)
    {
      address1.focus(); return false;
    }
    
    if(validate_required(town, "Please enter your Town.") == false)
    {
      town.focus(); return false;
    }
    
    if(validate_required(county, "Please enter your County.") == false)
    {
      county.focus(); return false;
    }
  
    if(validate_required(postcode, "Please enter your Post Code.") == false)
    {
      postcode.focus(); return false;
    }
  }
}

function clearOld(thisForm)
{
  with(thisForm)
  {
    address1.value = "";
    address2.value = "";
    town.value = "";
    county.value = "";
    postcode.value = "";
    country.value = "";
  }
}

function toggle(objId) {
    var objDiv = document.getElementById(objId);
    if (objDiv.style.display == "none")
        objDiv.style.display = "block";
    else
        objDiv.style.display = "none";
}

function addCarriage(){
  var objId = document.getElementById('carriage');
  var totalObj = document.getElementById('carriagetotal');
  var carriageVal = objId.value;
  carriageTotal = carriageVal;
}

function getCarriage()
{
  return carriageTotal;
}

function showHideDiv(objId){
    var objDiv = document.getElementById(objId);
    if (objDiv.style.display == "none")
        objDiv.style.display = "block";
    else
        objDiv.style.display = "none";
}

function getProductDetail(id)
{
  var objDiv = document.getElementById('selectedprod');
  $.post("browseproducts.php", {pid: id}, function(data){
    objDiv.style.display = "block";
    objDiv.innerHTML = data.toString();
  });
}

function copyBilling()
{
  var bAddress1 = document.getElementById('address1').value;
  var bAddress2 = document.getElementById('address2').value;
  var bTown = document.getElementById('town').value;
  var bCounty = document.getElementById('county').value;
  var bPostcode = document.getElementById('postcode').value;
  var bCountry = document.getElementById('country').value;
  
  var dAddress1 = document.getElementById('deladdress1');
  dAddress1.value = bAddress1;
  
  var dAddress2 = document.getElementById('deladdress2');
  dAddress2.value = bAddress2;
  
  var dtown = document.getElementById('deltown');
  dtown.value = bTown;
  
  var dcounty = document.getElementById('delcounty');
  dcounty.value = bCounty;
  
  var dpostcode = document.getElementById('delpostcode');
  dpostcode.value = bPostcode;
  
  var dcountry = document.getElementById('delcountry');
  dcountry.value = bCountry;
}


// when the page loads
jQuery(document).ready(function(){

  var pathArray = window.location.pathname.split('/');
  var count = 0;
  var prefix = "";
  for(count=0; count<(pathArray.length-2); count++)
  {
    prefix += "../";
  }
  
	/*jQuery("#stars-wrapper2").stars({
		inputType: "select"
	});*/	
  
	jQuery("#basketItemsWrap li:first").hide();
	
	jQuery(".productPriceWrapRight a img").click(function() {
		var productIDValSplitter 	= (this.id).split("_");
		var productIDVal 			= productIDValSplitter[1];
	
		jQuery("#notificationsLoader").html('<img src="'+prefix+'images/loading.gif">');
		
		jQuery.ajax({
			type: "POST",
			url: prefix+"includes/functions.php",
			data: {id: productIDVal, name: "checkStock", p: prefix},
			success: function(theResponse){
				if(theResponse == "OK")
				{	
					jQuery.ajax({  
					type: "POST",  
					url: prefix+"includes/functions.php",  
					data: { id: productIDVal, name: "addToBasket", p: prefix},  
					success: function(theResponse) {
						if( jQuery("#productID_" + productIDVal).length > 0){
							jQuery("#productID_" + productIDVal).animate({ opacity: 0 }, 500, function() {				  
								jQuery("#productID_" + productIDVal).before(theResponse).remove();
							});				
							jQuery("#productID_" + productIDVal).animate({ opacity: 0 }, 500);
							jQuery("#productID_" + productIDVal).animate({ opacity: 1 }, 500);
							jQuery("#notificationsLoader").empty();			
						} else {
							jQuery("#basketItemsWrap li:first").before(theResponse);
							jQuery("#basketItemsWrap li:first").hide();
							jQuery("#basketItemsWrap li:first").show("slow");  
							jQuery("#notificationsLoader").empty();			
						}
				  
						alert("We've updated your basket! Please scroll up to see it.");   			
					}        
					});     
				}
				else
				{
					alert("We've added all we have to your basket. We currently don't have any more in stock. Sorry.");
				}
    		}
		});
    // now update the basket total
    jQuery.ajax({
    type: "POST",
    url: prefix+"includes/functions.php",
    data: {name: "totalsFromBasket", p: prefix},
    success: function(theResponse){
      jQuery("#basketTotals").html(theResponse);
    }
    }); 
		
	});
	
	
	
	jQuery("#basketItemsWrap li img").live("click", function(event) { 
														
		var productIDValSplitter 	= (this.id).split("_");
		var productIDVal 			= productIDValSplitter[1];	
	
		jQuery("#notificationsLoader").html('<img src="'+prefix+'images/loading.gif">');
	
		jQuery.ajax({  
		type: "POST",  
		url: prefix+"includes/functions.php",  
		data: { id: productIDVal, name: "deleteFromBasket", p: prefix},  
		success: function(theResponse) {
			
			jQuery("#productID_" + productIDVal).hide("slow",  function() {$(this).remove();});
			jQuery("#notificationsLoader").empty();
		
		}  
		});
    
    // now update the basket total
    jQuery.ajax({
    type: "POST",
    url: prefix+"includes/functions.php",
    data: {name: "totalsFromBasket", p: prefix},
    success: function(theResponse){
      jQuery("#basketTotals").html(theResponse);
    }
    });      		
	});    		    		
});
