var shoppingCartNo = 0;
var descriptionNo = 0;
var codeNo = 0;
var packagedNo = 0;
var priceNo = 0;


function fillMissingPrices(code, num, discountA, discountB) {
    if (document.getElementById("priceEach" + num) && rws(document.getElementById("priceEach" + num).innerHTML) == "TBA") {
        if (document.getElementById("pricePack" + num)) {
            document.getElementById("pricePack" + num).innerHTML = "TBA"
        }
        if (document.getElementById("priceCase" + num)) {
            document.getElementById("priceCase" + num).innerHTML = "TBA"
        }
    }
    if (document.getElementById("pricePack" + num) && rws(document.getElementById("pricePack" + num).innerHTML) == "TBA") {
        if (document.getElementById("priceEach" + num)) {
            document.getElementById("priceEach" + num).innerHTML = "TBA"
        }
        if (document.getElementById("priceCase" + num)) {
            document.getElementById("priceCase" + num).innerHTML = "TBA"
        }
    }
    if (document.getElementById("priceCase" + num) && rws(document.getElementById("priceCase" + num).innerHTML) == "TBA") {
        if (document.getElementById("priceEach" + num)) {
            document.getElementById("priceEach" + num).innerHTML = "TBA"
        }
        if (document.getElementById("pricePack" + num)) {
            document.getElementById("pricePack" + num).innerHTML = "TBA"
        }
    }


    if (document.getElementById("priceEach" + num) && document.getElementById("pricePack" + num) && rws(document.getElementById("priceEach" + num).innerHTML) == "") {
        if (document.getElementById("pricePack" + num).innerHTML != "") {
            eachPrice = document.getElementById("pricePack" + num).innerHTML / document.getElementById("piecesPack" + num).innerHTML;
            document.getElementById("priceEach" + num).innerHTML = rws(round2dp(eachPrice));
        }
    }
    if (document.getElementById("pricePack" + num) && rws(document.getElementById("pricePack" + num).innerHTML) == "") {
        if (document.getElementById("priceEach" + num) && rws(document.getElementById("priceEach" + num).innerHTML) != "") {
            packPrice = document.getElementById("priceEach" + num).innerHTML * document.getElementById("piecesPack" + num).innerHTML;
            document.getElementById("pricePack" + num).innerHTML = rws(round2dp(packPrice));
        } else if (document.getElementById("priceCase" + num) && rws(document.getElementById("priceCase" + num).innerHTML) != "") {
            packPrice = document.getElementById("priceCase" + num).innerHTML / document.getElementById("packsCase" + num).innerHTML;
            document.getElementById("pricePack" + num).innerHTML = rws(round2dp(packPrice));
        }
    }
    if (document.getElementById("priceCase" + num) && document.getElementById("pricePack" + num) && rws(document.getElementById("priceCase" + num).innerHTML) == "") {
        if (rws(document.getElementById("pricePack" + num).innerHTML) != "") {
            casePrice = document.getElementById("pricePack" + num).innerHTML * document.getElementById("packsCase" + num).innerHTML;
            document.getElementById("priceCase" + num).innerHTML = rws(round2dp(casePrice));
        }
    }

    if ((document.getElementById("priceEach" + num) && rws(document.getElementById("priceEach" + num).innerHTML) != "TBA") || (document.getElementById("pricePack" + num) && rws(document.getElementById("pricePack" + num).innerHTML) != "TBA") || (document.getElementById("priceCase" + num) && rws(document.getElementById("priceCase" + num).innerHTML) != "TBA")) {
        if (document.getElementById("code" + code)) {
            nameAll = document.getElementById("code" + code).innerHTML;
			nameAll = nameAll.replace('<font color="red"><strong>WS/',"");//needs removing if the code has had discount info added as affects nameStartsWithTwoLetters, discunt info to code is re added if relevant.
			nameAll = nameAll.replace("</strong></font>","");
			nameAll = rws(nameAll);
			document.getElementById("code" + code).innerHTML = nameAll;
            nameStartsWithTwoLetters = nameAll.substring(0, 2);
            /////// Universal Pre Discounts
            if (document.getElementById("priceEach" + num)) {
                document.getElementById("priceEach" + num).innerHTML = round2dp(document.getElementById("priceEach" + num).innerHTML * (100 + discountB) / 100);
            }
            if (document.getElementById("pricePack" + num)) {
                document.getElementById("pricePack" + num).innerHTML = round2dp(document.getElementById("pricePack" + num).innerHTML * (100 + discountB) / 100);
            }
            if (document.getElementById("priceCase" + num)) {
                document.getElementById("priceCase" + num).innerHTML = round2dp(document.getElementById("priceCase" + num).innerHTML * (100 + discountB) / 100);
            }
            /////// Universal Aft Discounts
            if (nameStartsWithTwoLetters == "AQ" || nameStartsWithTwoLetters == "FP" || nameStartsWithTwoLetters == "CP" || nameStartsWithTwoLetters == "LC") {
                discount();
            }
/*
            if (nameAll == "CSP44" || nameAll == "HC4251" || nameAll == "BC6705" || nameAll == "PT6710" || nameAll == "VTO108 &amp; VTO246") {
                discountA = 10;
                discount();
				document.getElementById("code" + code).innerHTML = "<font color='red'><strong>WS/" + nameAll + "</strong></font>";
			}
			if (nameAll == "6653-6656") {
                discountA = 25;
                discount();
				document.getElementById("code" + code).innerHTML = "<font color='red'><strong>WS/" + nameAll + "</strong></font>";
				
			}
*/			
        }
    }

    function discount() {
        if (document.getElementById("priceEach" + num)) {
            document.getElementById("priceEach" + num).innerHTML = "<strike>" + document.getElementById("priceEach" + num).innerHTML + "</strike>&nbsp;£" + round2dp(document.getElementById("priceEach" + num).innerHTML * (100 - discountA) / 100);
        }
        if (document.getElementById("pricePack" + num)) {
            document.getElementById("pricePack" + num).innerHTML = "<strike>" + document.getElementById("pricePack" + num).innerHTML + "</strike>&nbsp;£" + round2dp(document.getElementById("pricePack" + num).innerHTML * (100 - discountA) / 100);
        }
        if (document.getElementById("priceCase" + num)) {
            document.getElementById("priceCase" + num).innerHTML = "<strike>" + document.getElementById("priceCase" + num).innerHTML + "</strike>&nbsp;£" + round2dp(document.getElementById("priceCase" + num).innerHTML * (100 - discountA) / 100);
        }
    }
}


function checkPassword(password) {//checks user promocode and returns the discount
	if(password.length >0){
	codeStatus = "<b><font color='red'>Invalid Code&nbsp;&nbsp;&nbsp;</font></b>";
	} else{
	codeStatus = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";}
    discountPercent = 0;
    monthsArray = new Array("jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec");
    discountUnitsArray = new Array("ze", "on", "tw", "th", "fo", "fi", "si", "se", "ei", "ni");
    discountTensArray = new Array("ZE", "TE", "TW", "TH", "FO", "FI", "SI", "SE", "EI", "NI");
    month = findElementInPassword(password, monthsArray);
    password = removeFoundElementFromPassword(password, month[0]);
    discountUnits = findElementInPassword(password, discountUnitsArray);
    password = removeFoundElementFromPassword(password, discountUnits[0]);
    discountTens = findElementInPassword(password, discountTensArray);
    password = removeFoundElementFromPassword(password, discountTens[0]);
	if (password.length == 6){
    offerStarts = parseInt((password.charAt(0) + password.charAt(1)), 10);
    offerEnds = parseInt((password.charAt(2) + password.charAt(3)), 10);
    offerDuration = parseInt((password.charAt(4) + password.charAt(5)), 10);   
	  var timeNow = new Date();//2011,5-1,29,1
	  var startDate = new Date(2011, month[1], offerStarts);
	  var expiryDate = new Date(startDate.getTime() + ((offerDuration) * 86400000));	
	  if (timeNow.getTime() > startDate.getTime() && timeNow.getTime() < expiryDate.getTime() && offerEnds == expiryDate.getDate()) {
		  discountPercent = parseInt(discountTens[1].toString() + discountUnits[1].toString(), 10);
		  codeStatus = "<b><font color='green'>Code OK&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></b>";
	  } else if (timeNow.getTime() > startDate.getTime() && timeNow.getTime() > expiryDate.getTime() && offerEnds == expiryDate.getDate()) {;
		  codeStatus = "<b><font color='red'>Code Expired&nbsp;&nbsp;</font></b>";
	  } else if (timeNow.getTime() < startDate.getTime() && timeNow.getTime() < expiryDate.getTime() && offerEnds == expiryDate.getDate()) {;
		  codeStatus = "<b><font color='red'>Inactive Code&nbsp;</font></b>";
	  } 
	}

    function findElementInPassword(password, elementsList) {
        var elementString = "";
		var elementNumber = null;
        for (elementListNo = 0; elementListNo < elementsList.length; elementListNo++) {
            elementFormedString = "";
            for (elementLetterNo = 0; elementLetterNo < elementsList[0].length; elementLetterNo++) {
                for (passwordLetterNo = 0; passwordLetterNo < password.length; passwordLetterNo++) {
                    if (password.charAt(passwordLetterNo) == elementsList[elementListNo].charAt(elementLetterNo)) {
                        elementFormedString += elementsList[elementListNo].charAt(elementLetterNo);
                        break;
                    }
                }
                if (elementFormedString == elementsList[elementListNo]) {
                    elementString = elementFormedString;
                    elementNumber = elementListNo;
                };
            }
        }
        return [elementString, elementNumber];
    }

    function removeFoundElementFromPassword(password, foundElement) {
        for (foundElementLetterNo = 0; foundElementLetterNo < foundElement.length; foundElementLetterNo++) {
            password = password.replace(foundElement.charAt(foundElementLetterNo), "");
        }
        return (password);
    }
	
    return [codeStatus,discountPercent];
}

function setPromoCodeCookie(name){
	SetCookie ("promoCode",name);//SetCookie (name,value,expires,path,domain,secure);
	}


function readPromoCodeCookie(){
	promoCode = GetCookie("promoCode");
	if (promoCode != null){
		return promoCode;
	} else {
		return "";
	}
}






function round2dp(n) {
    ans = n * 1000
    ans = Math.round(ans / 10) + ""
    while (ans.length < 3) {
        ans = "0" + ans
    }
    len = ans.length
    ans = ans.substring(0, len - 2) + "." + ans.substring(len - 2, len)
    return ans
}

function rws(value) {
    value = value.replace(/^\s*|\s*$/g, '');
    return value;
}

function removeWhiteSpaces(num) {
    for (num = 0; num < 99; num++) {
        if (document.getElementById("code" + num)) {
            document.getElementById("code" + num).innerHTML = rws(document.getElementById("code" + num).innerHTML);
        }
        if (document.getElementById("priceEach" + num)) {
            document.getElementById("priceEach" + num).innerHTML = rws(document.getElementById("priceEach" + num).innerHTML);
        }
        if (document.getElementById("pricePack" + num)) {
            document.getElementById("pricePack" + num).innerHTML = rws(document.getElementById("pricePack" + num).innerHTML);
        }
        if (document.getElementById("priceCase" + num)) {
            document.getElementById("priceCase" + num).innerHTML = rws(document.getElementById("priceCase" + num).innerHTML);
        }
        if (document.getElementById("extraCode" + num)) {
            document.getElementById("extraCode" + num).innerHTML = rws(document.getElementById("extraCode" + num).innerHTML);
        }
    }
}
