//	Common variable for JavaScript input validation
var faultyCharecters = "<,>,\\,/,%";


function FormatPostCode(postcodefield)
{
	if(postcodefield.value != "")
	{
		var thisPostCode = postcodefield.value;
		var size = thisPostCode.length;
		while (thisPostCode.slice(0,1) == " ")
		{
			thisPostCode = thisPostCode.substr(1,size-1);
			size = thisPostCode.length;
		}

		while(thisPostCode.slice(size-1,size)== " ")
		{
			thisPostCode = thisPostCode.substr(0,size-1);
			size = thisPostCode.length;
		}
		
		if(thisPostCode.indexOf(" ") < 0)
		{
			if(thisPostCode.length > 3)
			{
				var thirdtolastindexposition = (thisPostCode.length - 3);
				var frontcharacters = thisPostCode.substr(0,thirdtolastindexposition)
				var lastthreecharacters = thisPostCode.substr(thirdtolastindexposition,3)
				
				thisPostCode = frontcharacters + " " + lastthreecharacters;
			}
		}
		else
		{
			thisPostCode = thisPostCode.replace("  "," ");
		}
		
		if(thisPostCode.toUpperCase() != thisPostCode)
		{
			thisPostCode = thisPostCode.toUpperCase();
		}
		postcodefield.value = thisPostCode;
	}
}

function CheckAll( checkAllBox )
{
	var frm = document.Form1;
	var ChkState=checkAllBox.checked;
	for(i=0;i< frm.length;i++)
	{
		e=frm.elements[i];
		if(e.type=='checkbox' && e.name.indexOf('AddToCart') != -1)
		e.checked= ChkState ;
	}
}
function UnCheckAll()
{
	var frm = document.Form1;
	for(i=0;i< frm.length;i++)
	{
		e=frm.elements[i];
		if(e.type=='checkbox' && e.name.indexOf('AddToCart') != -1)
		e.checked= false ;
	}
}

function CheckChanged()
{
  var frm = document.Form1;
  var boolAllChecked;
  boolAllChecked=true;
  for(i=0;i< frm.length;i++)
  {
    e=frm.elements[i];
  if ( e.type=='checkbox' && e.name.indexOf('AddToCart') != -1 )
      if(e.checked== false)
      {
         boolAllChecked=false;
         break;
      }
  }
  for(i=0;i< frm.length;i++)
  {
    e=frm.elements[i];
    if ( e.type=='checkbox' && e.name.indexOf('checkAll') != -1 )
    {
      if( boolAllChecked==false)
         e.checked= false ;
         else
         e.checked= true;
      break;
    }
   }
 }
 
//	Function to check whether the control has any invalid charecter
function validateInput(e)
{
	var key;
	var keychar;
	var keyPressed;
	var isKeyNotFaulty = false;
	
	if(window.event) 
	{
		// for IE, e.keyCode or window.event.keyCode can be used
		key = window.event.keyCode; 
	}
	else if(e.which) 
	{
		// netscape
		key = e.which; 
	}
	else 
	{
		// no event, so pass through
		return true;
	}
	keyPressed = String.fromCharCode(key);
	var faultyCharacterArray = faultyCharecters.split(',');
	for(var faultyCharacterCounter=0; faultyCharacterCounter < faultyCharacterArray.length; faultyCharacterCounter++) 
	{
		if (keyPressed.indexOf(faultyCharacterArray[faultyCharacterCounter]) >= 0)
		{
			isKeyNotFaulty = false;
			break;
		}
		else
		{
			isKeyNotFaulty = true;
		}
	}
	return isKeyNotFaulty;
	
}

//	Function to validate passed in string against pre-defined faulty characters
function CheckInvalidCharecters(inputObject)
{
	var key;
	var keychar;
	var keyPressed;
	var isInputStringNotFaulty = false;
	var faultyCharacterArray = faultyCharecters.split(',');	
	
	for(var faultyCharacterCounter=0; faultyCharacterCounter < faultyCharacterArray.length; faultyCharacterCounter++) 
	{
		if (inputObject.value.indexOf(faultyCharacterArray[faultyCharacterCounter]) >= 0)
		{
			alert("Input contains invalid characters(" + faultyCharecters + "). Please check the input.");
			inputObject.select();
			inputObject.focus();
			isKeyNotFaulty = false;
			break;
		}
		else
		{
			isKeyNotFaulty = true;
		}
	}
	return isInputStringNotFaulty;
}

function ValidateNumericInput(e) 
{
	var code;
	var result = false;
	if (!e) var e = window.event;
	if (e.keyCode) code = e.keyCode;
	else if (e.which) code = e.which;
	var character = String.fromCharCode(code);
	var regex=/^\d$/g;
	if (code == "8" || code == "37" || code == "39" || code == "46")
	{
		result = true;
	}
	else
	{
		if (character != "") 
		{
//			alert(regex.test(character));
			if (regex.test(character)) 
			{
				result = true;
			} 
			else 
			{
				result = false;
			}
		} 
		else
		{
			result = false;
		}	
	}
	return result;
}
