function showNumber(number) {
		number = Math.round(number * 100);

		var displayNumber = number.toString();

		while(displayNumber.length < 3) displayNumber = '0' + displayNumber;

		displayNumber = displayNumber.substr(0, displayNumber.length - 2)
			+ '.'+ displayNumber.substr(displayNumber.length - 2);

		return(displayNumber);
}

function addToBag(formName, cmCategory) {

	var itemIndx = document.forms[formName].elements['itemindx'].value;
	var itemCode = document.forms[formName].elements['itemcode'].value;
	var itemSize = document.forms[formName].elements['itemsize'].value;
	itemSize = itemSize.replace('&pound', '');
	itemSize = itemSize.replace('£', '');
	var itemQnty = document.forms[formName].elements['itemqnty'].value;
	var itemPsnl = document.forms[formName].elements['itempsnl'].value;
	var itemDesc = document.forms[formName].elements['itemdesc'].value;
	var itemPage = document.forms[formName].elements['itempage'].value;
	var psnlCount = document.forms[formName].elements['psnlcount'].value;
	var psnlField = document.forms[formName].elements['psnlfield'].value;

	var psnlRequired;
	if(document.forms[formName].elements['psnlrequired'])
	{
		psnlRequired = document.forms[formName].elements['psnlrequired'].value;
	}
	var digiPers = document.forms[formName].elements['digipers'].value;
	var brandName = document.forms[formName].elements['brandname'].value;
	var section = document.forms[formName].elements['section'].value;
	var subsection = document.forms[formName].elements['subsection'].value;
	var itemPrice = document.forms[formName].elements['itemprice'].value;

	var originalCode = itemCode;

	if(document.forms[formName].elements['itemSuffix'])
	  if(document.forms[formName].elements['itemSuffix'].value.length == 2)
    	itemCode = itemCode.substring(0, itemCode.length-2) + document.forms[formName].elements['itemSuffix'].value;

	itemSize = itemSize.replace('&frac12;', '&frac12%3B');

	if(itemCode == '-NOCOLR-') {
		alert('You must make a selection from the drop-down menu(s).');
		return;
	}

	if(itemCode == '-OOS-') {
		alert('Sorry this item is out of stock.');
		return;
	}

	if(itemSize == '-NOSIZE-') {
		alert('You must make a selection from the drop-down menu(s).');
		return;
	}

	if(itemQnty == '-NOQNTY-') {
		alert('You must select a quantity.');
		return;
	}



	/*if(psnlCount > 0) {
		document.forms['mainform'].target = '';
		document.forms['mainform'].action = '/personalise/personalise.asp?c=' + escape(itemCode);
	}*/

	var oldItemCode = escape(itemCode);
	itemCode =  itemCode.replace(/-/g, '');

	itemCode =  changeSuffix( itemCode );

	itemDesc = itemDesc.replace(/[,]/, '');

	//a to z, A to Z, 0 to 9, @+/.-_\'!& and space
	//var str = "Is this all there is?1@+/,,.-._\[123]&!'";
	var patt1 = new RegExp("[^a-zA-Z0-9@+-/._ \x26\x21\x3F\x20\x27]","g");
	//var patt1 = new RegExp("[^a-zA-Z0-9@+/. \x26\x21]","g");
	itemDesc = itemDesc.replace(patt1, "");
	itemDesc = itemDesc.replace("?", "");
	//var result = str.replace(patt1, "");
//	alert(itemDesc);
//	return false;
	//bryan
	//alert(itemDesc + "..");
	//return false;

	itemDesc = itemDesc.replace(/&\S+;/, '');

	var optionText = itemSize.split('#')[0];

	optionText = optionText.replace('@','^');

  if(digiPers == 'true') {
  	var persURL = 'http://www.digipers.' + brandName + '.co.uk/checkstock.aspx?r=' + escape(document.forms['mainform'].elements['refererURL'].value) + '&c=' + itemCode.replace(/\-/gi, '') + '&q=' + itemQnty
  	var windowName = 'select';
  	var windowInfo = 'height=320,width=340,scrollbars=no';

		itemCode = itemCode.replace(/IO/, 'IS');

    if(itemCode.indexOf("30002974")!= -1) {
      //alert('Sorry this item is currently out of stock.');
      //return;
  		persURL = 'http://www.photopers.' + brandName + '.co.uk/frame.aspx?c=' + itemCode.replace(/30002974/, '30003164') + '&q=' + itemQnty + '&r=' + escape(document.forms['mainform'].elements['refererURL'].value);
	  	windowName = 'digicals';
  		windowInfo = 'width=716,height=558';
  	}

  	if(itemCode.indexOf("30002982")!= -1) {
      //alert('Sorry this item is currently out of stock.');
      //return;
  		persURL = 'http://www.photopers.' + brandName + '.co.uk/frame.aspx?c=' + itemCode.replace(/30002982/, '30003172') + '&q=' + itemQnty + '&r=' + escape(document.forms['mainform'].elements['refererURL'].value);
	  	windowName = 'digicals';
  		windowInfo = 'width=716,height=558';
  	}

  	if(itemCode.indexOf("30003172")!= -1 || itemCode.indexOf("30003164")!= -1) {
  		persURL = 'http://www.photopers.' + brandName + '.co.uk/frame.aspx?c=' + itemCode + '&q=' + itemQnty + '&r=' + escape(document.forms['mainform'].elements['refererURL'].value);
	  	windowName = 'digicals';
  		windowInfo = 'width=716,height=558';
  	}

    if(window.name == 'ExpressMain') {

  	  window.open(persURL, windowName, windowInfo);
    } else {
	    top.opener.open(persURL, windowName, windowInfo);
	    top.close();
	  }
  } else {
    if(psnlCount > 0) {
  		if(optionText.length != 0)
  		{
  			/*
	  		if( itemPsnl.indexOf( optionText.substring(0,itemPsnl) ) > -1 )
					itemPsnl = optionText + '^';
	  		else
	  			itemPsnl += '=' + optionText + '^';
	  		*/

	  		itemPsnl += '=' + optionText + '^'; // added 8 Dec 2006 Dave
  		}

  		//if(itemSize.split('#')[1] == 'ONE')
  		//	document.forms['mainform'].elements['PID0'].value = itemCode + '#' + itemDesc + ', Page:' + itemPage + ', Order Code:123#' + showNumber(itemSize.split('#')[2]) + '#' + itemQnty + '#' + '^';
  		//else
  		//	document.forms['mainform'].elements['PID0'].value = itemCode + '#' + itemDesc + ', Page:' + itemPage + ', Order Code:123#' + showNumber(itemSize.split('#')[2]) + '#' + itemQnty + '#' + '^' + itemPsnl;

  		if(itemPsnl.length == 0) //NEW TESTING 8 March 2007 DW
  			document.forms['mainform'].elements['PID0'].value = itemCode + '#' + itemDesc + ', Page:' + itemPage + ', Order Code:123#' + showNumber(itemSize.split('#')[2]) + '#' + itemQnty + '#' + '^';
  		else
  			document.forms['mainform'].elements['PID0'].value = itemCode + '#' + itemDesc + ', Page:' + itemPage + ', Order Code:123#' + showNumber(itemSize.split('#')[2]) + '#' + itemQnty + '#' + '^' + itemPsnl;

  	} else {
  		if(optionText.length == 0) itemPsnl = 'none';
  		else
  		{
  			/*
	  		if( itemPsnl.indexOf( optionText.substring(0,itemPsnl) ) > -1 )
					itemPsnl = optionText + '^';
	  		else
	  			itemPsnl += '=' + optionText + '^';
	  		*/

				itemPsnl += '=' + optionText + '^';
  		}



  	}

    var cukParam = '';

	try {
	    if (document.forms[formName].elements['productcode'] != null){
		    var productcode = document.forms[formName].elements['productcode'].value;
		    cukParam = "^REF NO.:=" + productcode + "^";


			//truncating itemDesc into 50 characters
			var newItemDesc = "";
			if (itemDesc.length > 50){
				newItemDesc = itemDesc.substring(0, 46); //getting 47 characters
				newItemDesc = newItemDesc + '...';
			} else {
				newItemDesc = itemDesc;
			}

			cukParam += "TITLE:=" + newItemDesc + "^";
		    //document.forms['mainform'].elements['PID0'].value += "^REF NO.:=" + productcode + "^";
		    //document.forms['mainform'].elements['PID0'].value += "TITLE:=" + itemDesc + "^";
		    itemCode = originalCode + 'QN';
		    if (itemPsnl == 'none'){
		        itemPsnl = '';
		    }
	    }
	}catch(err){

	}

	document.forms['mainform'].elements['PID0'].value = itemCode + '#' + itemDesc + ', Page:' + itemPage + ', Order Code:123#' + showNumber(itemSize.split('#')[2]) + '#' + itemQnty + '#';

    if (itemPsnl != ''){
        document.forms['mainform'].elements['PID0'].value += '^' + itemPsnl;
    }

		document.forms['mainform'].elements['PID0'].value += cukParam;

  	if(psnlCount > 0 && itemPsnl.length == 0) {
			if( oldItemCode.indexOf('880-267-44') >= 0) {
				email = document.forms[formName].elements['email'].value;
	
				if( email.length == 0 || email == 'Please enter email' || echeck(email)==false)
				{
					alert('Please enter a valid e-mail address');
					return;
				}
	
				// Setup the pers
				psnlField = psnlField.replace('E.MAIL:=', 'E.MAIL:=' + email );
				document.forms['mainform'].elements['PID0'].value += psnlField;
		  } else if(psnlCount == psnlRequired) {
  		  window.open('', 'shotview', 'height=500,width=600,scrollbars=no');
  			document.forms['mainform'].target = 'shotview';
  			document.forms['mainform'].action = '/shared/personalise/personalise.asp?c=' + originalCode + "&s0=" + section;
		  } else if(!confirm('Do you wish to personalise this item?\nClick OK for Yes or Cancel for No.')) {
  			document.forms['mainform'].elements['PID0'].value += psnlField;
  			psnlCount = 0;
  		} else {
  		  window.open('', 'shotview', 'height=500,width=600,scrollbars=no');
  			document.forms['mainform'].target = 'shotview';
  			document.forms['mainform'].action = '/shared/personalise/personalise.asp?c=' + originalCode + "&s0=" + section;
  		}
  	}
  	else
		{
		//alert(oldItemCode);
		//if( oldItemCode == '880-267-52WW' || oldItemCode == '880-267-44WW' || oldItemCode == '880-267-44US' || oldItemCode == '880-267-44IW' || oldItemCode == '880-267-44IO' || oldItemCode == '880-267-44QL' || oldItemCode == '880-267-44')
		if( oldItemCode.indexOf('880-267-44') >= 0)

			//{
			//	window.open('', 'shotview', 'height=500,width=580,scrollbars=no');
			//	document.forms['mainform'].target = 'shotview';
			//	document.forms['mainform'].action = '/shared/personalise/personalise.asp?c=' + oldItemCode;
			//}
			{
			//document.forms['mainform'].target = '';
			//document.forms['mainform'].action = '/personalise/personalise.asp?c=' + oldItemCode;
			email = document.forms[formName].elements['email'].value;

			if( email.length == 0 || email == 'Please enter email' || echeck(email)==false)
			{
				alert('Please enter a valid e-mail address');
				return;
			}

			// Setup the pers
			psnlField = psnlField.replace('E.MAIL:=', 'E.MAIL:=' + email );
			document.forms['mainform'].elements['PID0'].value += psnlField;
		  }

		}

  	//document.forms['mainform'].elements['Code'].value.replace("COLOUR:=COLOUR:=","COLOUR:=");
  	//document.forms['mainform'].elements['Code'].value.replace("SIZE:=SIZE:=","SIZE:=");

		// Deals with a bug when SIZE:=SIZE:== appears
		document.forms['mainform'].elements['PID0'].value =
			document.forms['mainform'].elements['PID0'].value.replace(/\^([^\^]*)\:\=([^\^]*)\:\=([^\^]*)\^/gi, '$1:=$3');

  	var message = '';

  	for(i=0; i<document.forms['mainform'].elements.length; i++) {
  		message = message + document.forms['mainform'].elements[i].name + ':' + document.forms['mainform'].elements[i].value + '\n';
  	}

	//testing - bryan
	//alert(document.forms['mainform'].elements['PID0'].value);
    //return false;

  	//alert(message);
    //prompt('', message);
  	//prompt('', document.forms['mainform'].elements['PID0'].value);

/*
		if(location.host.indexOf('personalised.') >= 0 || location.host.indexOf('catalogue.') >= 0 || location.host.indexOf('christmasliving.') >= 0 || location.host.indexOf('toyshop.') >= 0 || location.host.indexOf('offers.') >= 0 || location.host.indexOf('specials.') >= 0 || location.host.indexOf('back2school.') >= 0 || location.host.indexOf('craft.') >= 0 || location.host.indexOf('collectables.') >= 0 || location.host.indexOf('entertainment.') >= 0) {
			// NEW CODE 29 Mar 2007 - DPW
			// logs purchases to database : express-orders
			// currently for personalised only
			var refererField = document.forms['mainform'].elements['refererURL'];
			alert();

		  refererField.value = 'http://' + location.host + '/shared/basket.asp?u=' + escape(refererField.value) +
				'&c=' + escape(itemCode) + '&q=' + escape(itemQnty) + '&v=' + escape(showNumber(itemSize.split('#')[2]));
		} */
		//ic and iq is not required in default.xsl
		/*else {
			if(document.forms['mainform'].elements['refererURL'].value.indexOf('?') < 0) {
	            document.forms['mainform'].elements['refererURL'].value =
	                document.forms['mainform'].elements['refererURL'].value + '?ic=' + escape(itemCode) + '&iq=' + escape(itemQnty);
	        } else {
	    	    document.forms['mainform'].elements['refererURL'].value =
	                document.forms['mainform'].elements['refererURL'].value + '&ic=' + escape(itemCode) + '&iq=' + escape(itemQnty);
	        }
	    }*/
//alert(document.forms['mainform'].elements['PID0'].value);




    // NEW CODE FOR S1626 - TOP ITEMS AUTOMATION
	var refererField = document.forms['mainform'].elements['refererURL']; //consist of returnURL
    var orderedUrl =	refererField.value.split('?refererURL=')[1];

    //newly added - job S1626 automated top sellers
    var c;
    var q = escape(itemQnty);
	var v = escape(showNumber(itemSize.split('#')[2]));
	var u = escape(orderedUrl);
    var i = '0';
    var s = section;
    var ss = subsection;

    //if it is CUK product
    try {
	    if (document.forms[formName].elements['lowestcode'] != null){
	        c = document.forms[formName].elements['lowestcode'].value;
	    }

	    if (document.forms[formName].elements['productcode'] != null){
		    var productcode = document.forms[formName].elements['productcode'].value;
		    productcode = productcode.replace(/-/g,'');
		    c = productcode;
		    i = '1';
	    }
	}catch(err){
	}

    if (u.indexOf('http') < 0){
        u = 'http://' + location.host + u;
    }



	refererField.value = refererField.value + '&c=' + c + '&q=' + q + '&v=' + v + '&u=' + u + '&i=' + i + '&s=' + s + '&ss=' + ss;


		// COREMETRICS TAG
		document.forms['mainform'].elements['PID0'].value = document.forms['mainform'].elements['PID0'].value + '#' + cmCategory;

  	document.forms['mainform'].submit();

    //coremetrics
    if (cmWmpsTagging)
    {
        cmCreateShopAction5Tag(itemCode, itemDesc, itemQnty, itemPrice, cmCategory);
        cmDisplayShop5s();
    }
    //alert(itemCode + " " + itemDesc + " " + itemQnty + " " + itemPrice + " " + cmCategory);


  }

 	if(psnlCount == 0 && ((location.href.indexOf('shot.asp') > -1) || (location.href.indexOf('shot_cuk.asp') > -1) || (location.href.indexOf('shot_adult.asp') > -1)  || (location.href.indexOf('iteminfo.asp') > -1))   ) top.setTimeout('top.close();', 200);
}


function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){

		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){

		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){

		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){

		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){

		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){

		    return false
		 }

		 if (str.indexOf(" ")!=-1){

		    return false
		 }

 		 return true
}

