//*** load xml ***//
function packageChooserXML()
{
	var bbPlan = document.getElementById('chooser');
	//LBI.Data.bunCompareXML = "../" + LBI.Data.bunCompareXML; /* FOR LOCAL TESTING */

	if( bbPlan === null){
		return;
	}
	var oOptions = {
		url : LBI.Data.bunCompareXML + "pricing.xml",
		timer : 60000,
		dataType : "xml",
		coreObj : this,
		errorLog : function() {
			//alert("not working");
		},
		successLog : function(data) {
			xmlDocBun = data;
			packageChooser();
			configChooser();
			leidenPacks();
		}
	};
	/* This is a method set in main.js */	
	LBI.Common.ajaxLoader(oOptions);
}

// Package selector

function packageChooser(){
	var chooseOptions = $(".option");

	//triggering hover styles
	$(chooseOptions).hover(
		function(){
			if($(this).hasClass("selectedMod") === false){
				$(this).addClass("over");
			}
		},
		function(){
				$(this).removeClass("over");
		}
	);
	
	$(chooseOptions).click(function(){
		var optionCat = LBI.Common.getPEClassInfo(this, "CAT_");
		var optionId = $(this).attr("id");
		
		var currentState = $(this).hasClass("selectedMod");
		var currentCatOptions = $("." + optionCat + " .option");

		if(currentState === false){
			$(currentCatOptions).removeClass("selectedMod");
			$(this).addClass("selectedMod");
			$(this).removeClass("over");
		}
		else{
			$(this).removeClass("selectedMod");
			$(this).addClass("over");
		}
		
		packageData(optionCat,optionId);
		conditionalShow();
		calculatePrice();
		leidenPacks();
		validPack();
		queryGenerator();
		
		return false;
	});
}

function packageData(category, optionAdded){
	if (category === "broadband" || category === "calls"){
		var packages = $(xmlDocBun).find(optionAdded);	
		var packageName = $(packages[0]).find("packageName").text();
		var onceCost = $(packages[0]).find("oneOffPrice").text();
		var monthlyCost = $(packages[0]).find("monthlyPrice").text();
		var afterPrice =  $(packages[0]).find("afterPrice").text();
		var highlightColor = $(packages[0]).find("color").text();
		
		var catContId = "#" + category + "_packs";
		var catCont = $(catContId);

		//package details
		var itemsPack = $(catContId + " .packContainer")
		var itemName = $(catContId + " .packName");
		var itemOnce = $(catContId + " .oncePrice");
		var itemMonth = $(catContId + " .monthPrice");
		var afterCostText = $(catContId + " .afterNam");
		var afterCostPrice = $(catContId + " .afterPrice");
		var textCalls = $(catContId + " .callName");
		var textRental = $(catContId + " .rentalName");
		
		//details aggregation
		if(itemsPack.length !== 0){	
			var existingPack =$(itemName).text();
			if(existingPack === packageName){
				$(itemsPack).remove();
			}
			else{
				$(itemName).text(packageName);
				$(itemName).attr({"rel":optionAdded});
				if(onceCost !== "" && $(itemOnce).length === 0){	
					var itemOnce = document.createElement("span");
						$(itemOnce).addClass("oncePrice");					
						$(itemOnce).text(onceCost);
						itemsPack[0].appendChild(itemOnce);
				}
				else if(onceCost !== ""){
					$(itemOnce).text(onceCost);
				}
				else{
					$(itemOnce).remove();
				}
				
				if(monthlyCost !== ""){	
					$(itemMonth).text(monthlyCost);
				}
				else{
					$(itemMonth).remove();
				}
				
				if(afterPrice !== ""){	
					$(afterCostText).text("After 3 months");
					$(afterCostPrice).text(afterPrice);
				}
				else{
					$(itemCalls).remove();
					$(textCalls).remove();
				}
			}			
		}
		else{
			var itemsCont = document.createElement("div");
				$(itemsCont).addClass("packContainer");
				catCont[0].appendChild(itemsCont);

			var packDetails = document.createElement("span");
				$(packDetails).addClass("packName");
				$(packDetails).attr({"rel":optionAdded});
				$(packDetails).text(packageName);
				itemsCont.appendChild(packDetails);
			
			if(onceCost !== ""){
				var itemOnce = document.createElement("span");
					$(itemOnce).addClass("oncePrice");					
					$(itemOnce).text(onceCost);
					itemsCont.appendChild(itemOnce);
			}
			if(monthlyCost !== ""){	
				var itemMonth = document.createElement("span");
					$(itemMonth).addClass("monthPrice");					
					$(itemMonth).text(monthlyCost);
					itemsCont.appendChild(itemMonth);
			}
			if(afterPrice !== ""){	
				var afterCostDetails = document.createElement("span");
					$(afterCostDetails).addClass("afterName");
					$(afterCostDetails).text("After 3 months");
					itemsCont.appendChild(afterCostDetails);
					
				var afterCost = document.createElement("span");
					$(afterCost).addClass("afterPrice");					
					$(afterCost).text(afterPrice);
					itemsCont.appendChild(afterCost);
			}
		}
		
		var itemsPack = $(catContId + " .packContainer");
		$(itemsPack).effect('highlight', {color:highlightColor}, 1000);
	}
}

function conditionalShow(){
	var broadbandSelects = $("#broadband_packs .packName");
	var callsSelects = $("#calls_packs .packName");
	var tvSelects = $("#tv_packs .packName");
	
	if(broadbandSelects.length !== 0){
		$("li a#broadbandTab").addClass("selectedPack");
		$("#broadband_packs .info").addClass("hidden");
		$("#broadband_packs .change").text("Change");
		$("#broadbandTab .planSelected").text($(broadbandSelects).text());
	}
	else if(broadbandSelects.length === 0){
		$("li a#broadbandTab").removeClass("selectedPack");
		$("#broadband_packs .info").removeClass("hidden");
		$("#broadband_packs .change").text("Add");
		$("#broadbandTab .planSelected").text("");
	}
	
	if(callsSelects.length !== 0){
		$("li a#callsTab").addClass("selectedPack");
		$("#calls_packs .info").addClass("hidden");
		$("#calls_packs .change").text("Change");
		$("#callsTab .planSelected").text($(callsSelects).text());
	}
	else if(callsSelects.length === 0){
		$("li a#callsTab").removeClass("selectedPack");
		$("#calls_packs .info").removeClass("hidden");
		$("#calls_packs .change").text("Add");
		$("#callsTab .planSelected").text("");
	}
	
	if(tvSelects.length !== 0){
		$("li a#tvTab").addClass("selectedPack");
		$("#tv_packs .info").addClass("hidden");
		$("#tv_packs .change").text("Change");
		$("#tvTab .planSelected").text($(tvSelects).text());
	}
	else if(tvSelects.length === 0){
		$("li a#tvTab").removeClass("selectedPack");
		$("#tv_packs .info").removeClass("hidden");
		$("#tv_packs .change").text("Add");
		$("#tvTab .planSelected").text("");
	}
}

function calculatePrice(){
	//calculate monthly prices
	var monthlyItems = $(".monthPrice");
	var monthlyPrice = 0;
	
	for(i=0; i<monthlyItems.length; i++){
		var monthItemPrice = parseFloat($(monthlyItems[i]).text());
		monthlyPrice += monthItemPrice;
	}
	
	//calculate one-off prices
	var oneOffItems = $(".oncePrice");
	var oneOffPrice = 0;
	
	for(j=0; j<oneOffItems.length; j++){
		var oneOffItemPrice = parseFloat($(oneOffItems[j]).text());
		oneOffPrice += oneOffItemPrice;
	}
	
	//calculate rental prices
	var rentalItems = $(".rentalPrice");
	var rentalPrice = 0;
	
	for(k=0; k<rentalItems.length; k++){
		var rentalItemPrice = parseFloat($(rentalItems[k]).text());
		rentalPrice += rentalItemPrice;
	}
	
	//calculate after 3 months price
	var afterItems = $(".afterPrice");
	var after3Price = 0;
	
	for(n=0; n<afterItems.length; n++){
		var after3itemPrice = parseFloat($(afterItems[n]).text());
		after3Price += after3itemPrice;
	}
	
	var monthlyPrice = (Math.round(monthlyPrice * 100)/100).toFixed(2);
	var oneOffPrice = (Math.round(oneOffPrice * 100)/100).toFixed(2);
	var rentalPrice = (Math.round(rentalPrice * 100)/100).toFixed(2);
	var after3Price = (Math.round(after3Price * 100)/100).toFixed(2);
	
	$("#totalMonthly").text(monthlyPrice);
	$("#totalOnce").text(oneOffPrice);
	$("#totalRental").text(rentalPrice);
	$("#totalMonthlyAfter").text(after3Price);
}

function basketDisplay(){
	var finalBasketLink = $(".finalBasket");

	$(finalBasketLink).click(function(){
		//$("#tab4").css({"display":"none"});
		$("#choosePackage").addClass("bigBasket");
		$("#packageBasket").addClass("biggerBasket");
		$(".monthlyTotal .message").removeClass("hidden");
		
		var finalTotalEl= $(".finalTotalContainer").html();
		$("#repeatTotal").html(finalTotalEl);
		LBI.Custom.infoTooltop();
	});

}

function checkBasket(){	
	if($("#basketTab").parent().hasClass("tabOn") === false){
		//$("#tab4").css({"display":"block"});
		$("#choosePackage").removeClass("bigBasket");
		$("#packageBasket").removeClass("biggerBasket");
		$(".monthlyTotal .message").addClass("hidden");
		$("#repeatTotal").html("");
	}
	else{
		//$("#tab4").css({"display":"none"});
		$("#choosePackage").addClass("bigBasket");
		$("#packageBasket").addClass("biggerBasket");
		$(".monthlyTotal .message").removeClass("hidden");
	}
}

function noPack(){
	var noPackLinks = $(".PE_noPack");
	
	$(noPackLinks).click(function(){
		var displayMessage = $(this).attr("title");
		var categoryId = "#" + LBI.Common.getPEClassInfo(this, "PE_info");
		var parentContainer = "." + LBI.Common.getPEClassInfo(this, "PE_parent");
		
		$(categoryId + " .info").text(displayMessage);
		$(categoryId + " .info").removeClass("hidden");
		$(categoryId + " .packContainer").remove();
		
		if(parentContainer === ".calls"){
			$(parentContainer + " .dualPlay .option").removeClass("selectedMod");
		}

		conditionalShow();
		calculatePrice();
		validPack();
		queryGenerator();
		
		return false;
	});
}

function validPack(){

	var vBBPack = $("#broadband_packs .packName");
	var vCallPack = $("#calls_packs .packName");
	var vTVPack = $("#tv_packs .packName");
	var vChannelPack = $("#channel li");
	var vTVIndPacks = $("#incl li");
	
	
	if(vBBPack.length !== 0 && vCallPack.length !== 0 && vTVPack.length !== 0){
		addButtons();
	}
	
	else if(vBBPack.length !== 0 && vCallPack.length === 0 && vTVPack.length !== 0){
		addButtons();
	}
	
	else if(vBBPack.length !== 0 && vCallPack.length !== 0 && vTVPack.length === 0){
		if(vTVIndPacks.length === 1 || vTVIndPacks.length === 2 || vChannelPack.length !== 0){	
			removeButtons();
		}
		else{
			addButtons();
		}
	}

	else if(vBBPack.length !== 0 && vCallPack.length !== 0 &&  vChannelPack.length === 0){
		addButtons();
	}
	
	else if(vBBPack.length !== 0 && vTVPack.length !== 0){
		addButtons();
	}
	
	else{
		removeButtons();
	}
	
}

function removeButtons(){
	$("li a#basketTab").addClass("hidden");
	$("#getPackage").addClass("hidden");
	$("#getPackSmall").addClass("hidden");
}

function addButtons(){
	$("li a#basketTab").removeClass("hidden");
	$("#getPackage").removeClass("hidden");
	$("#getPackSmall").removeClass("hidden");
}

function finalPackLink(visionString){	
	leidenPacks();
	var callPackQuery = "";
	var bbPackQuery = "";
	var defaultLocation = "/consumerOrders/control/orderproduct?productId=";
	var leidenPresence = $(".leidenName");
	
	if($(leidenPresence).length !== 0){
		var leidenEl = $(leidenPresence[0]).attr("rel");
		var leidenPackXML = $(xmlDocBun).find("leidenPack");
		
		var leidenQuery = $(leidenPackXML[leidenEl]).find("urlQuery").text();
		var packLocation = defaultLocation + leidenQuery + visionString;
		
		var leidenCaveat = $(leidenPackXML[leidenEl]).find("caveat").text();
		$(".caveat").text(leidenCaveat);
	}
	
	else{
		if($("#calls_packs .packName").length !== 0){
			var callsPackAdded = $("#calls_packs .packName").attr("rel");
			callPackQuery += $(xmlDocBun).find(callsPackAdded).find("urlQuery").text();
		}
		
		if($("#broadband_packs .packName").length !== 0){
			var bbPackAdded = $("#broadband_packs .packName").attr("rel");
			bbPackQuery += $(xmlDocBun).find(bbPackAdded).find("urlQuery").text();
		}
		
		if($("#calls_packs .packName").length !== 0 && $("#broadband_packs .packName").length !== 0 && $("#tv_packs .packName").length === 0){
			defaultLocation += "CON-27455&productKey=CON-PKG_DBL_BYO&BB_CHOICE_HIDE=Y&EQUIP_HIDE=Y&CALLS_HIDE=Y&ADDONS_HIDE=Y";
		}
		
		else if($("#calls_packs .packName").length === 0 && $("#broadband_packs .packName").length !== 0 && $("#tv_packs .packName").length !== 0){
			defaultLocation += "CON-26886&productKey=CON-BB_BTV-I&BB_CHOICE_HIDE=Y&EQUIP_HIDE=Y&BTV_CHOICE_HIDE=Y";
		}
		
		else if($("#calls_packs .packName").length !== 0 && $("#broadband_packs .packName").length !== 0 && $("#tv_packs .packName").length !== 0){
			defaultLocation += "CON-27455&productKey=CON-PKG_TRP_BYO&BB_CHOICE_HIDE=Y&EQUIP_HIDE=Y&CALLS_HIDE=Y&ADDONS_HIDE=Y";
		}
	
		var packLocation = defaultLocation + visionString + callPackQuery + bbPackQuery;
		$(".caveat").text("\u2020");
	}
	
	
	//alert(packLocation);
	$(".confirm").attr({"href": packLocation});
	
	$(".confirm").click(function(){
		window.open(packLocation, '_parent');
	});
}

function configChooser(){
	var windowUrl = window.location.href.split("#");
	if($(windowUrl).length > 1){
		var preOpt = windowUrl[1].split("&");
		
		var bronzePack = ["kids", "PBfilm"];
		var silverPack = ["kids", "PBfilm", "music"];
		var goldPack = ["kids", "PBfilm", "music", "sport"];
		
		if(preOpt.length === 3){
			for(m=0; m<preOpt.length; m++){				
				if(m===0 || m===1){
					var relEl = $("#"+preOpt[m]);
					var optionId = preOpt[m];		
					var optionCat = LBI.Common.getPEClassInfo(relEl[0] , "CAT_");
					if (optionCat === "broadband" || optionCat === "calls"){
						var currentState = $(relEl[0]).hasClass("selectedMod");
						var currentCatOptions = $("." + optionCat + " .option");
						
						if(currentState === false){
							$(currentCatOptions).removeClass("selectedMod");
							$(relEl[0]).addClass("selectedMod");
							$(relEl[0]).removeClass("over");
						}
						else{
							$(relEl[0]).removeClass("selectedMod");
							$(relEl[0]).addClass("over");
						}
						
						packageData(optionCat,optionId);
						conditionalShow();
						calculatePrice();
						validPack();
						queryGenerator();
					}
				}
				else if(m===2){
					if(preOpt[m] === "bronze"){
						for(p=0; p<bronzePack.length; p++){
							visionSelector(bronzePack[p]);
						}
					}
					else if(preOpt[m] === "silver"){
						for(p=0; p<silverPack.length; p++){					
							visionSelector(silverPack[p]);
						}
					}
					else if(preOpt[m] === "gold"){
						for(p=0; p<goldPack.length; p++){
							visionSelector(goldPack[p]);
						}
					}
				}		
			}
		}
    
		else if(preOpt.length === 2){
			if (preOpt[1] === "gold" || preOpt[1] === "silver" || preOpt[1] === "bronze"){
				for(m=0; m<preOpt.length; m++){				
					if(m===0){
						var relEl = $("#"+preOpt[m]);
						var optionId = preOpt[m];		
						var optionCat = LBI.Common.getPEClassInfo(relEl[0] , "CAT_");
						if (optionCat === "broadband" || optionCat === "calls"){
							var currentState = $(relEl[0]).hasClass("selectedMod");
							var currentCatOptions = $("." + optionCat + " .option");
							
							if(currentState === false){
								$(currentCatOptions).removeClass("selectedMod");
								$(relEl[0]).addClass("selectedMod");
								$(relEl[0]).removeClass("over");
							}
							else{
								$(relEl[0]).removeClass("selectedMod");
								$(relEl[0]).addClass("over");
							}
							
							packageData(optionCat,optionId);
							conditionalShow();
							calculatePrice();
							validPack();
							queryGenerator();
						}
					}
					else if(m===1){
						if(preOpt[m] === "bronze"){
							for(p=0; p<bronzePack.length; p++){
								visionSelector(bronzePack[p]);
							}
						}
						else if(preOpt[m] === "silver"){
							for(p=0; p<silverPack.length; p++){
								visionSelector(silverPack[p]);
							}
						}
						else if(preOpt[m] === "gold"){
							for(p=0; p<goldPack.length; p++){
								visionSelector(goldPack[p]);
							}
						}
					}           
				} 
			}
			
			else{
				for(m=0; m<preOpt.length; m++){
					var relEl = $("#"+preOpt[m]);
					var optionId = preOpt[m];		
					var optionCat = LBI.Common.getPEClassInfo(relEl[0] , "CAT_");
					if (optionCat === "broadband" || optionCat === "calls"){
						var currentState = $(relEl[0]).hasClass("selectedMod");
						var currentCatOptions = $("." + optionCat + " .option");
						
						if(currentState === false){
							$(currentCatOptions).removeClass("selectedMod");
							$(relEl[0]).addClass("selectedMod");
							$(relEl[0]).removeClass("over");
						}
						else{
							$(relEl[0]).removeClass("selectedMod");
							$(relEl[0]).addClass("over");
						}
						
						packageData(optionCat,optionId);
						conditionalShow();
						calculatePrice();
						validPack();
						queryGenerator();
					}
				}
				
			}
			
		}
	}
}

function visionSelector(packName){
	var packages = $("input.packageSelect");
	var packageName = $(".packagename");
	var autoPacks = $(".ppvConditionalPacks").html();
	
	var packageSelected = packName;
	var packageClicked = $("#"+ packName);
	var packageNameEl = LBI.Common.getPEClassInfo(packageClicked[0], "N_");
	var classInfo = LBI.Common.getPEClassInfo(packageClicked[0], "F_");
	var planInfo = LBI.Common.getPEClassInfo(packageClicked[0], "P_");

	var currentState = $(packageClicked[0]).hasClass("selectedPackage");
	if(currentState === false){
		$(packageClicked[0]).addClass("selectedPackage");
		$(packageClicked[0]).removeClass("hovering");
	}
	else{
		$(packageClicked[0]).removeClass("selectedPackage");
		$(packageClicked[0]).addClass("hovering");
	}		
	
	var inclPackage = "#incl_" + packageSelected;
	var ppvPackage = "#ppv_" + packageSelected;		
	var inclContainer = $("ul#incl");
	var ppvContainer = $("ul#ppv");
	var channelContainer = $("ul#channel");
	
	if($(inclPackage).length !== 0 && classInfo === "ppv" ){
		var ppvElement = document.createElement("li");			
		$(ppvElement).attr({id: "ppv_" + packageSelected});
		$(ppvElement).text(packageSelected);
		ppvContainer[0].appendChild(ppvElement);			
		$(inclPackage).replaceWith("");			
		conditionalPack(autoPacks);
	}
	
	else if($(ppvPackage).length !== 0){		
		var includeElement = document.createElement("li");		
		$(includeElement).attr({id: "incl_" + packageSelected});
		$(includeElement).addClass("packs");
		$(includeElement).text(packageNameEl);
		inclContainer[0].appendChild(includeElement);			
		$(ppvPackage).replaceWith("");			
		conditionalPack(autoPacks);
	}
	
	else if(classInfo === "incl"){
		if($(inclPackage).length === 0){
			var includeElement = document.createElement("li");		
			$(includeElement).attr({id: "incl_" + packageSelected});
			$(includeElement).addClass("packs");
			$(includeElement).text(packageNameEl);
			inclContainer[0].appendChild(includeElement);				
			conditionalPack(autoPacks);
		}else{
			$(inclPackage).replaceWith("");	
			conditionalPack(autoPacks);
		}
	}
}

function leidenPacks(){
	//Getting discount content
	var discountContainer = $(".discounts");	
	var leidenPack = $(xmlDocBun).find("leidenPack");
	
	//Checking of generic discounts for calls
	if($("#calls_packs .packName").length !== 0){
		
		var callsPackAdded = $("#calls_packs .packName").attr("rel");
		var callsPackNonLeiden = $(xmlDocBun).find(callsPackAdded);

		var callsDiscount = $(callsPackNonLeiden[0]).find("discount").text();
		var callsSolusDiscount = callsDiscount * -3;
		var callsPackage = $(callsPackNonLeiden[0]).find("packageName").text();
		
		if(callsDiscount !== "0"){
			if($(".discountContainer").length === 0){
				var DName = document.createElement("div");
				$(DName).addClass("discountContainer");
				discountContainer[0].appendChild(DName);
					
				var DContent = document.createElement("ul");
				$(DContent).addClass("discountContent");
				DName.appendChild(DContent);
				
				var DCalls = document.createElement("li");
				$(DCalls).addClass("discountCalls");
				DContent.appendChild(DCalls);
			
				var DCallName = document.createElement("span");
					$(DCallName).addClass("discountName");
					$(DCallName).text(callsPackage + " saving");	
					DCalls.appendChild(DCallName);
				
				var DCallCost = document.createElement("span");
					$(DCallCost).addClass("discountPrice");
					$(DCallCost).addClass("monthPrice");
					$(DCallCost).text(callsDiscount);	
					DCalls.appendChild(DCallCost);
					
				var DCallNameTotalSave = document.createElement("span");				
					$(DCallNameTotalSave).addClass("savingsMessage");				
					$(DCallNameTotalSave).html("That's a saving of \u00A3" + callsSolusDiscount + " over 3 months<sup class='caveat'>\u2020</sup>" );
					DCalls.appendChild(DCallNameTotalSave);
			}
			
			if($(".discountContainer").length !== 0 && $(".discountCalls").length === 0){
				var DContent = $(".discountContent");
				
				var DCalls = document.createElement("li");
				$(DCalls).addClass("discountCalls");
				DContent[0].appendChild(DCalls);
				
				var DCallName = document.createElement("span");
					$(DCallName).addClass("discountName");
					$(DCallName).text(callsPackage + " savings");	
					DCalls.appendChild(DCallName);
				
				var DCallCost = document.createElement("span");
					$(DCallCost).addClass("discountPrice");
					$(DCallCost).addClass("monthPrice");
					$(DCallCost).text(callsDiscount);	
					DCalls.appendChild(DCallCost);
					
				var DCallNameTotalSave = document.createElement("span");				
					$(DCallNameTotalSave).addClass("savingsMessage");				
					$(DCallNameTotalSave).html("That's a saving of \u00A3" + callsSolusDiscount + " over 3 months<sup class='caveat'>\u2020</sup>");
					DCalls.appendChild(DCallNameTotalSave);
			}
			
			if($(".discountContainer").length !== 0 && $(".discountCalls").length !== 0){
				var DCallName = $(".discountCalls .discountName");
				$(DCallName).text(callsPackage + " savings");
				
				var DCallCost = $(".discountCalls .discountPrice");
				$(DCallCost).text(callsDiscount);
				
				var DCallNameTotalSave = $(".discountCalls .savingsMessage");
				$(DCallNameTotalSave).html("That's a saving of \u00A3" + callsSolusDiscount + " over 3 months<sup class='caveat'>\u2020</sup>");
			}
		}
		
		else{
			$(".discountCalls").remove();
		}
	}
	
	else if($("#calls_packs .packName").length === 0){
		$("li.discountCalls").remove();
		$(".leidenContainer").addClass("hidden");
		$(".leidenName").remove();
		$(".leidenThreeMonth").remove();
	}
	
	//Checking of generic discounts for Braodband
	if($("#broadband_packs .packName").length !== 0){
		var bbPackAdded = $("#broadband_packs .packName").attr("rel");
		var bbPackNonLeiden = $(xmlDocBun).find(bbPackAdded);
		
		var bbDiscount = $(bbPackNonLeiden[0]).find("discount").text();
		var bbSolusDiscount = bbDiscount * -3;
		var bbPackage = $(bbPackNonLeiden[0]).find("packageName").text();
		
		if(bbDiscount !== "0"){
			if($(".discountContainer").length ===0){
				var DName = document.createElement("div");
				$(DName).addClass("discountContainer");
				discountContainer[0].appendChild(DName);
	
				var DContent = document.createElement("ul");
				$(DContent).addClass("discountContent");
				DName.appendChild(DContent);
				
				var Dbb = document.createElement("li");
				$(Dbb).addClass("discountbb");	
				DContent.appendChild(Dbb);
				
				var DbbName = document.createElement("span");
					$(DbbName).addClass("discountName");
					$(DbbName).text(bbPackage + " savings");	
					Dbb.appendChild(DbbName);
				
				var DbbCost = document.createElement("span");
					$(DbbCost).addClass("discountPrice");
					$(DbbCost).addClass("monthPrice");
					$(DbbCost).text(bbDiscount);	
					Dbb.appendChild(DbbCost);
				
				var DbbNameTotalSave = document.createElement("span");				
					$(DbbNameTotalSave).addClass("savingsMessage");				
					$(DbbNameTotalSave).html("That's a saving of \u00A3" + bbSolusDiscount + " over 3 months<sup class='caveat'>\u2020</sup>");
					Dbb.appendChild(DbbNameTotalSave);
			}
			
			if($(".discountContainer").length !==0  && $(".discountbb").length === 0){
				var DContent = $(".discountContent");
				
				var Dbb = document.createElement("li");
				$(Dbb).addClass("discountbb");	
				DContent[0].appendChild(Dbb);
				
				var DbbName = document.createElement("span");
					$(DbbName).addClass("discountName");
					$(DbbName).text(bbPackage + " savings");	
					Dbb.appendChild(DbbName);
				
				var DbbCost = document.createElement("span");
					$(DbbCost).addClass("discountPrice");
					$(DbbCost).addClass("monthPrice");
					$(DbbCost).text(bbDiscount);	
					Dbb.appendChild(DbbCost);
					
				var DbbNameTotalSave = document.createElement("span");				
					$(DbbNameTotalSave).addClass("savingsMessage");				
					$(DbbNameTotalSave).html("That's a saving of \u00A3" + bbSolusDiscount + " over 3 months<sup class='caveat'>\u2020</sup>");
					Dbb.appendChild(DbbNameTotalSave);
			}
			
			if($(".discountContainer").length !==0  && $(".discountbb").length !== 0){
				var DbbName = $(".discountbb .discountName");
				$(DbbName).text(bbPackage + " savings");
				
				var DbbCost = $(".discountbb .discountPrice");
				$(DbbCost).text(bbDiscount);
				
				var DbbNameTotalSave = $(".discountbb .savingsMessage");
				$(DbbNameTotalSave).html("That's a saving of \u00A3" + bbSolusDiscount + " over 3 months<sup class='caveat'>\u2020</sup>");
			}
		}
		else{
			$(".discountbb").remove();
		}
	}
	else if($("#broadband_packs .packName").length === 0){
		$("li.discountbb").remove();
		$(".leidenContainer").addClass("hidden");
		$(".leidenName").remove();
		$(".leidenThreeMonth").remove();
	}
	
	
	//Checking of generic discounts for Vision
	if($("#tv_packs .packName").length !== 0){
		var visionDiscounts = $(xmlDocBun).find("visionDiscount");
		var visDiscName = $(visionDiscounts[0]).find("discountName").text();
		var visDiscCost = $(visionDiscounts[0]).find("discountCost").text();

		var tvPackAdded = $("#tv_packs .packName").attr("rel");
		var packContent = callsPackAdded + "," + bbPackAdded + "," + tvPackAdded;
		
		if($(".discountContainer").length ===0 && $(".discountVis").length ===0 ){
			var DName = document.createElement("div");
			$(DName).addClass("discountContainer");
			discountContainer[0].appendChild(DName);

			var DContent = document.createElement("ul");
			$(DContent).addClass("discountContent");
			DName.appendChild(DContent);
				
			var visOnce = document.createElement("li");
				$(visOnce).addClass("discountVis");	
				DContent.appendChild(visOnce);
				
				var visOnceName = document.createElement("span");
					$(visOnceName).addClass("discountName");
					$(visOnceName).html(visDiscName +"<sup class='caveat'>\u2020</sup>");	
					(visOnce).appendChild(visOnceName);
				
				var visOnceCost = document.createElement("span");
					$(visOnceCost).addClass("discountPrice");
					$(visOnceCost).addClass("oncePrice");
					$(visOnceCost).text(visDiscCost);	
					(visOnce).appendChild(visOnceCost);
		}
		
		
		if($(".discountContainer").length !==0 && $(".discountVis").length ===0){
			
			var DContent = $(".discountContent");
			
			var visOnce = document.createElement("li");
				$(visOnce).addClass("discountVis");	
				DContent[0].appendChild(visOnce);
				
				var visOnceName = document.createElement("span");
					$(visOnceName).addClass("discountName");
					$(visOnceName).html(visDiscName +"<sup class='caveat'>\u2020</sup>");	
					(visOnce).appendChild(visOnceName);
				
				var visOnceCost = document.createElement("span");
					$(visOnceCost).addClass("discountPrice");
					$(visOnceCost).addClass("oncePrice");
					$(visOnceCost).text(visDiscCost);	
					(visOnce).appendChild(visOnceCost);
		}
		
		if($(".discountContainer").length !==0 && $(".discountVis").length !==0){			
			var visOnceName = $(".discountVis .discountName");
			$(visOnceName).html(visDiscName +"<sup class='caveat'>\u2020</sup>");
			
			var visOnceCost = $(".discountVis .discountPrice");
			$(visOnceCost).text(visDiscCost);
		}
	}
	
	else if($("#tv_packs .packName").length === 0){
		$(".discountVis").remove();
		var packContent = callsPackAdded + "," + bbPackAdded;
	}
	
	for(n=0; n < $(leidenPack).length ; n++){
		var packName = $(leidenPack[n]).find("packContent").text();
		if(packName === packContent){
			var relLeidenPack = $(leidenPack[n]).attr("id");
		}
	}
	
	//Getting content for Leiden packages
	var packName = $(leidenPack[relLeidenPack]).find("packName").text();	
	var callPack = $(leidenPack[relLeidenPack]).find("callPack").text();
	var bbPack =  $(leidenPack[relLeidenPack]).find("bbPack").text();
	var tvPack =  $(leidenPack[relLeidenPack]).find("tvPack").text();
	var packCost = $(leidenPack[relLeidenPack]).find("packCost").text();
	var threeMonthCost = $(leidenPack[relLeidenPack]).find("threeMonthCost").text();
	var leidenSaving = $(leidenPack[relLeidenPack]).find("leidenSaving").text();
	var yearSaving = $(leidenPack[relLeidenPack]).find("yearSaving").text();
	var boxDiscount = $(leidenPack[relLeidenPack]).find("boxprice").text();
	var after3Discount = $(leidenPack[relLeidenPack]).find("afterDiscount").text();
	var caveat = "<sup class='caveat'>"+$(leidenPack[relLeidenPack]).find("caveat").text()+"</sup>";
	
	var leidenContainer = $(".leidenContainer");
	
	//Checking and assigning values for Leiden packages
	if($(".leidenName").length !== 0 && packName !== ""){
		$(".discountContainer").remove();
		$(".genDiscounts").addClass("hidden");
		$(".leidenContainer").removeClass("hidden");		
		
		$(".leidenName").text(packName + " Package Monthly Saving");
		$(".leidenName").removeAttr("rel");
		$(".leidenName").attr({ rel: relLeidenPack});
		$(".leidenSaving").text(leidenSaving);
		$(".leidenPackName").text(packName);
		$(".yearSaving").html("That's saving of \u00A3" + yearSaving + " over 18 months" + caveat);
		$(".afterSavingText").text("After 3 months saving");
		$(".afterSaving").text(after3Discount);
		
		if(boxDiscount !== ""){
			$(".boxSaving").remove();
			$(".boxSavingPrice").remove();
			var boxSavingText = document.createElement("span");
				$(boxSavingText).addClass("boxSaving");
				$(boxSavingText).html("Vision+ box one-off cost saving"+caveat);
				leidenContainer[0].appendChild(boxSavingText);
			
			var boxSaving = document.createElement("span");
				$(boxSaving).addClass("boxSavingPrice");
				$(boxSaving).addClass("oncePrice");
				$(boxSaving).text(boxDiscount);
				leidenContainer[0].appendChild(boxSaving);
		}
		
		else{
			$(".boxSaving").remove();
			$(".boxSavingPrice").remove();
		}
		
		calculatePrice();
	}
	
	else if(packName === ""){
		$(".leidenContainer").addClass("hidden");
		$(".genDiscounts").removeClass("hidden");
		$(".leidenName").remove();
		$(".leidenSaving").remove();
		$(".leidenPackName").remove();
		$(".yearSaving").remove();
		$(".afterSavingText").remove();
		$(".afterSaving").remove();
		$(".boxSaving").remove();
		$(".boxSavingPrice").remove();
		
		calculatePrice();
	}
	
	else{
		$(".discountContainer").remove();
		$(".genDiscounts").addClass("hidden");
		$(".leidenContainer").removeClass("hidden");
		
		var packNameHead = document.createElement("h3");
			$(packNameHead).addClass("leidenPackName");
			$(packNameHead).text(packName);
			$(".totalPrices").prepend(packNameHead);
		
		var LName = document.createElement("div");
			$(LName).addClass("leidenName");
			$(LName).attr({ rel: relLeidenPack});
			$(LName).text(packName + " Package Monthly Saving");
			leidenContainer[0].appendChild(LName);
			
		var LSaving= document.createElement("div");
			$(LSaving).addClass("leidenSaving");
			$(LSaving).addClass("monthPrice");
			$(LSaving).text(leidenSaving);	
			leidenContainer[0].appendChild(LSaving);
		
		var LYSaving= document.createElement("div");
			$(LYSaving).addClass("yearSaving");
			$(LYSaving).html("That's saving of \u00A3" + yearSaving + " over 18 months" + caveat);
			leidenContainer[0].appendChild(LYSaving);
			
		var afterSavingText = document.createElement("span");
			$(afterSavingText).addClass("afterSavingText");
			$(afterSavingText).text("After 3 months saving");
			leidenContainer[0].appendChild(afterSavingText);
			
		var afterSaving = document.createElement("span");
			$(afterSaving).addClass("afterSaving");
			$(afterSaving).addClass("afterPrice");
			$(afterSaving).text(after3Discount);
			leidenContainer[0].appendChild(afterSaving);
		
		if(boxDiscount !== ""){
			var boxSavingText = document.createElement("span");
				$(boxSavingText).addClass("boxSaving");
				$(boxSavingText).html("Vision+ box one-off cost saving" + caveat);
				leidenContainer[0].appendChild(boxSavingText);
			
			var boxSaving = document.createElement("span");
				$(boxSaving).addClass("boxSavingPrice");
				$(boxSaving).addClass("oncePrice");
				$(boxSaving).text(boxDiscount);
				leidenContainer[0].appendChild(boxSaving);
		}
		
		calculatePrice();
	}
	
	//hiding the container for discounts incase there is no discount
	var offersMonth = $(".offersContainer .discountPrice");
	var offersLeiden = $(".offersContainer .leidenSaving");
	var offersOnce = $(".offersContainer .oncePrice");
	
	if($(offersMonth).length !== 0 || $(offersLeiden).length !== 0 || $(offersOnce).length ){
		$(".offersContainer").removeClass("hidden");
		$(".totalPrices").removeClass("noDiscount")
	}
	else if($(offersMonth).length === 0 && $(offersOnce).length === 0){
		$(".offersContainer").addClass("hidden");
		$(".totalPrices").addClass("noDiscount")
	}
	
}



