var style_display_none = 'none';
var style_display_block = 'block';

/*Sim plans dropdown*/
var totalSims = 0 * 1;
/* Cache Images */
var selectButton_off = new Image();
selectButton_off.src = "/images/tempest/plans/select_button_orange.gif";
selectButton_off.alt = "select";
selectButton_off.className = "";

var selectButton_on = new Image();
selectButton_on.src = "/images/tempest/plans/select_button_selected.gif";
selectButton_on.alt = "selected";
selectButton_on.className = "selectedClass";
var paygContinue_on = new Image();
paygContinue_on.src = "/images/plans/selection_basket/btn_continue.gif";

var paygContinue_off = new Image();
paygContinue_off.src = "/images/plans/selection_basket/btn_continue-off.gif";

var paygContinue_over = new Image();
paygContinue_over.src = "/images/plans/selection_basket/btn_continue-over.gif";

function filterPlans(n,val,trckId){
	if(n == ''){
		document.getElementById('filterByTopSellers').value = val;
		document.getElementById('trackingId').value = trckId;
	} else {
		eval("document.forms.directonline." + n + ".value =" +  val)
	}
	document.forms.directonline.submit();
}
function highlightNodes(className){	
	if(className != ""){
		var allLists = document.getElementsByTagName('li');	
		// alert(allLists.length);
		for(i = 0; i < allLists.length; i++){
			var inHtml = allLists[i].innerHTML;
			if(allLists[i].className == className || inHtml.indexOf("texts") > -1){
				 allLists[i].style.color = "#F60";
				 allLists[i].childNodes[0].style.color = '#F60' ;
			}
		}
	}
}
function changeSelectedButton(selectedButton) {
	var selectButtons = new Array();

	if (selectedButton.childNodes != null && selectedButton.childNodes.length > 0) {
		selectedButton = selectedButton.childNodes[0];
	} else if (selectedButton.children != null && selectedButton.children.length > 0) {
		selectedButton = selectedButton.children[0];
	} else {
		selectedButton = null;
	}

	if (selectedButton != null) {
		var isNull = false;
		while (!isNull) {
			var obj = getObj("selectButton" + selectButtons.length);
			if (obj != null) {
				selectButtons[selectButtons.length] = obj;
			} else {
				isNull = true;
			}
		}
		for (var i=0; i<selectButtons.length; i++) {
			var button = selectButtons[i];
			var copyButton = (selectedButton != button) ? selectButton_off : selectButton_on;

			button.src = copyButton.src;
			button.className = copyButton.className;
			button.alt = copyButton.alt;
		}
	}
}

function swapImages(oAnchor, sState) {
	var oButton = null;

	if (oAnchor.childNodes != null && oAnchor.childNodes.length > 0) {
		oButton = oAnchor.childNodes[0];
	} else if (oAnchor.children != null && oAnchor.children.length > 0) {
		oButton = oAnchor.children[0];
	}

	if (oButton != null) {
		if (oButton.src != selectButton_on.src) {
			if (sState == 'over') {
				oMouseOver(oButton);
			} else {
				oMouseOut(oButton);
			}
		}
	}
}

function togglePanel(planId,phonesPresent,isDevice){

	var objA = getObj('planDetailAnchor'+planId);
	var objDiv = getObj('planDetail'+planId);
	var showText = "show details";
	if (phonesPresent > 0) {
		showText += " &amp; "+((isDevice) ? "device" : "phone")+" price";
		if (phonesPresent > 1) {
			showText += "s";
		}
	}
	var hideText = "hide details"
	var showClass = "show sml";
	var hideClass = "hide sml"
	var objText = objA.innerHTML
	
	if (objDiv != null && objA != null) {
		if(objText==showText){
			objDiv.style.display = style_display_block;
			objA.innerHTML=hideText
			objA.parentNode.className=hideClass
		}
		else{
			objDiv.style.display = style_display_none;
			objA.innerHTML=showText
			objA.parentNode.className=showClass
		}
	}

}

function openDetails(planId) {

	var objDiv = getObj('planDetail'+planId);

	if (objDiv.style.display == "block")
		objDiv.style.display = "none";
	else
	{
		closeAllDetails();
		
	if (objDiv != null) {
		objDiv.style.display = style_display_block;
		}
	}

}

function closeDetails(planId) {

	var objDiv = getObj('planDetail'+planId);

	if (objDiv != null) {
		objDiv.style.display = style_display_none;
	}

}

function closeAllDetails() {

	var objDivs = getObjs("div");
	try {
		for (var i = 0; objDivs.length; i++) {
			if (objDivs[i].id != null && objDivs[i].id.match(/planDetail/)) {
				objDivs[i].style.display = style_display_none;
			}
		}
	} catch(e) {
	}

}
function activateBuyButton(id){
	var allSelects = getObjs('select');	
	for(i=1; i<allSelects.length; i++){
		var selectId = allSelects[i].id;
		if((selectId.indexOf('panther') > -1) && (selectId != id)){			
			getObj(selectId).selectedIndex = 0;
			activateSelectButton(selectId.substring(7, selectId.length),false);
		}
	}
	var planId = id.substring(7, id.length);
	objSelectList = getObj(id);
	if(objSelectList.options.selectedIndex > 0){
		activateSelectButton(planId,true);
	}else{
		activateSelectButton(planId,false);
	}
}	
function activateSelectButton(planId,state) {
	objActive = getObj('selBtn'+planId+'Active');
	objInactive = getObj('selBtn'+planId+'Inactive');
	// alert(objInactive);
	if (objActive != null && objInactive != null) {
		if (state == false) {
			objInactive.style.display = style_display_block;
			objActive.style.display = style_display_none;
		} else {
			objActive.style.display = style_display_block;
			objInactive.style.display = style_display_none;
		}
	}
}

function getObj(objId) {
	if (document.getElementById) {
		return document.getElementById(objId);
	} else if (document.all) {
		return document.all[objId];
	}
	return null;
}

function getObjs(tagId) {
	return document.getElementsByTagName(tagId);
}
function changeValue(){

	var objImg = getObj('paygContinue');

	if (objImg != null) {
	
		var imageSrc = getImageSrc('paygContinue');
		var planSelected = checkSelects("plansPanel");

		if(planSelected && (objImg.src == paygContinue_off.src)) {
			objImg.src = paygContinue_on.src;
			objImg.disabled = false;
		}
		else if(!planSelected && (objImg.src == paygContinue_on.src)) {
			objImg.src = paygContinue_off.src;
			objImg.disabled = true;			
		}

	}
}

function checkSelects(parentID) {

	var objDIV = getObj(parentID);

	if(objDIV != null){
		var objUls = getObjs("select");

		for (var i = 0; i < objUls.length; i++) { 
			if(objUls[i].selectedIndex != 0){
				return true;
			}
		}
		return false;
	}
}

function getImageSrc(imageId) {

	var objImage = getObj(imageId);
	if (objImage != null) {	
		var imageSrc = objImage.src;
		return imageSrc;
	}
	else return null;
}

if (window.attachEvent) {
    window.attachEvent('onload',  changeValue);
} 
else if (window.addEventListener) {
    window.addEventListener("load",  changeValue, false); 
}

function validateUnique(objForm) {
	var isHst = false;
	var isSvp = false;
	if (objForm.elements.handsetId[1] == null) {
		// only one Unique phone on the page
		isHst = objForm.elements.handsetId.checked;
	} else {
		// more than one Unique phones on the page
		for (var i = 0; i < objForm.elements.handsetId.length; i++) {
			if (objForm.elements.handsetId[i].checked) {
				isHst = true;
			}
		}
	}
	if (objForm.elements.servicePlanId[1] == null) {
		// only one Unique plan on the page
		isSvp = objForm.elements.servicePlanId.checked;
	} else {
		// more than one Unique plans on the page
		for (var i = 0; i < objForm.elements.servicePlanId.length; i++) {
			if (objForm.elements.servicePlanId[i].checked) {
				isSvp = true;
			}
		}
	}
	activateSelectButton('Unique',(isHst && isSvp));
}

function goUpsell(categoryId, contractDurationId) {
	var objForm = document.forms['upsell'+categoryId];
	if (objForm != null) {
		objForm.elements.contractDurationId.value = contractDurationId;
		objForm.submit();
	}
}

function selectDataPlan(objInput) {
	// first break out the selected options
	var idStub = 'contractDuration';
	var planType = objInput.id.substring(objInput.id.indexOf(idStub) + idStub.length, objInput.id.length - 2);
	var tenure = objInput.id.substring(objInput.id.length -2);
	
	//Now find the relevant forms to modify
	for (form in document.forms) {
		var objForm = document.forms[form];
		if (objForm.name != null && objForm.name.indexOf('get'+planType+'Plan') >= 0) {
			//check that the form contains the target input
			if (objForm.elements["servicePlanId"] != null) {
				var objTarget = objForm.elements["servicePlanId"];
				//Check that the form contains the source input
				if (objForm.elements["servicePlanId"+tenure] != null) {
					var objSource = objForm.elements["servicePlanId"+tenure];
					// Set target value = source value
					objTarget.value = objSource.value;
				}
			}
		}
	}
}