/*remove excess white space*/
function trim(s) {
  while (s.substring(0,1) == ' ') {
    s = s.substring(1,s.length);
  }
  while (s.substring(s.length-1,s.length) == ' ') {
    s = s.substring(0,s.length-1);
  }
  return s;
}

/*check email format, returns true if valid*/
function checkEmail(emailStr)
{
	var emailSyntax = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	var matchArray = emailStr.match(emailSyntax);
	if (matchArray == null)
	{
		return false;
	}
	return true;
}

/*checks a list of semicolon separated emails*/
function ParseEmail(emailStr) {
	var bValid = true;
	emailStrArr = emailStr.split(";")
	for (aCounter = 0; aCounter<emailStrArr.length ; ++aCounter)
	{
		if (!checkEmail(trim(emailStrArr[aCounter])))
		{
			bValid = false;
		}
	}
	return bValid;
}

function postit(test){ //check postcode format is valid
	size = test.length;
	test = test.toUpperCase(); //Change to uppercase
	while (test.slice(0,1) == " ") //Strip leading spaces
	{
		test = test.substr(1,size-1);size = test.length
	}
	while(test.slice(size-1,size)== " ") //Strip trailing spaces
	{
		test = test.substr(0,size-1);size = test.length
	}
	test = test; //write back to form field
	if (size < 6 || size > 8) { //Code length rule
		alert(test + " is not a valid postcode - wrong length. Please check and try again.");
		return false;
	}
	if (!(isNaN(test.charAt(0)))){ //leftmost character must be alpha character rule
		alert(test + " is not a valid postcode - cannot start with a number. Please check and try again.");
		return false;
	}
	if (isNaN(test.charAt(size-3))){ //first character of inward code must be numeric rule
		alert(test + " is not a valid postcode. Please check and try again.");
		return false;
	}
	if (!(isNaN(test.charAt(size-2)))){ //second character of inward code must be alpha rule
		alert(test + " is not a valid postcode. Please check and try again.");
		return false;
	}
	if (!(isNaN(test.charAt(size-1)))){ //third character of inward code must be alpha rule
		alert(test + " is not a valid postcode. Please check and try again.");
		return false;
	}
	if (!(test.charAt(size-4) == " ")){//space in position length-3 rule
		alert(test + " is not a valid postcode - no space or space in wrong position.");
		return false;
	}
	count1 = test.indexOf(" ");count2 = test.lastIndexOf(" ");
	if (count1 != count2){//only one space rule
		alert(test + " is not a valid postcode - only one space allowed.");
		return false;
	}
	return true;
}

//php basket functions with colour options
function BasketUpdate(pData) {
	//get prod id, colour id, qty
	aData = pData.split("-");
	//check qty is number
	if (!isNaN(document.getElementById('prodqty'+pData).value) && document.getElementById('prodqty'+pData).value.length > 0 && document.getElementById('prodqty'+pData).value > 0) {
		document.getElementById('BasketID').value = aData[0];
		document.getElementById('ColourID').value = aData[1];
		document.getElementById('BasketQty').value = document.getElementById('prodqty'+pData).value;
		document.getElementById('Action').value = 'BasketUpdate';
		document.getElementById('BasketActionForm').submit();
	}
	else {
		alert('Please enter a valid quantity above zero');
		document.getElementById('prodqty'+pData).focus();
	}
}

function BasketRemove(pData) {
	var answer = confirm("Are you sure you want to remove this product from your basket?")
	if (answer){
		//get prod id, colour id, qty
		aData = pData.split("-");
		document.getElementById('BasketID').value = aData[0];
		document.getElementById('ColourID').value = aData[1];
		document.getElementById('Action').value = 'BasketRemove';
		document.getElementById('BasketActionForm').submit();
	}
}

/*image changing*/
function changeImage(pImage, pID, pSelect) {
	//get selected
	var sThumb = "";
	if (pImage != "MainImage") {	//must be thumbnail
		sThumb = "thumb_";
	}
	var x = document.getElementById(pSelect)[document.getElementById(pSelect).selectedIndex].value;
	document.getElementById(pImage).src = "/images/products/"+sThumb+pID+"-"+x+".jpg";
}

/*login section*/
function loginbutton() {
	document.getElementById('customerlogin').submit();
}

function logintextfocus(pObject, pText)
{
	if (pObject.value == pText)
	{
		pObject.value = "";
	}
}

function logintextblur(pObject, pText)
{
	if (pObject.value == "")
	{
		pObject.value = pText;
	}
}
