

var prices = new Array();
var providers = new Array();

//set prices object
function price(day_a, even_a, day_b, even_b)
{
	this.day_a		= day_a;
	this.even_a		= even_a;
	this.day_b		= day_b;
	this.even_b		= even_b;	
}

// on loading of the page
function loadPage()
{
	// Set the selection on second drop down
	var dropDownId = "p1";
	var dropDownIndex = 1;
	
	document.getElementById(dropDownId).selectedIndex = dropDownIndex;	
	
	displayPrices(dropDownId, dropDownIndex);
}

//on Change of heading as per the options for drop down
function changeHeading(headingId){
	var columnHeader = document.getElementById(headingId +"_heading");
	var optionText =  $('#' + headingId + ' option:selected').text();
	columnHeader.innerHTML = optionText;
}

//showing the dropdown on hover
function changeDrop(){
	var changeLink = $('.PE_dropDown div');
	var optionLinkCollection = $('.PE_dropDown ul li a');
	
	for (var i = 0; i < optionLinkCollection.length; i++) {
		optionLinkCollection[i].onclick = function() {
			return false;
		};
	}
	
	//populating the ul's with relevant li's
	
	for (var i=0; i<changeLink.length; i++){
		var selectField = '#' + 'p' + i;
		
		var optionsNumber = $(selectField).children();
		var dummyListContainer = document.createElement("ul");
		dummyListContainer.className = "options hideOptions";
		dummyListContainer.id = "options"+(i+1);
		for (k=0; k<optionsNumber.length; k++){
			var optionText = optionsNumber[k].innerHTML;
			$(dummyListContainer).append("<li><a href = javascript:void(0) rel =" + k + ">" + optionText + "</a></li>");
		}
		$(changeLink[i]).append("<a href='#' class='changeOptions'>Change</a>");
		$(changeLink[i]).append(dummyListContainer);		
	}
	
	changeLink.hover( 
	function(){
		$(this).find("ul").removeClass("hideOptions");
		$(this).addClass("dropsDecor");	

		var dummyOptions = $(this).find("li");
		dummyOptions.each(function(linkIndex) {
			this.onclick = function() {
				var selectBox = $(this).parent().parent().parent().parent().find("select");
	
				selectBox[0].selectedIndex = linkIndex;				
				
				//on Change of providers change display prices
				var dropDownId = selectBox[0].getAttribute("id");
				displayPrices(dropDownId, linkIndex);
				
				//on Change of heading as per the options
				var columnHeader = document.getElementById(dropDownId +"_heading");
				var optionText =  $('#' + dropDownId + ' option:selected').text();
				columnHeader.innerHTML = optionText;
				
				$(this).parent().addClass("hideOptions");
				$(this).parent().parent().removeClass("dropsDecor");
			}
		});		
	},
	function(){
		$(this).find("ul").addClass("hideOptions");
		$(this).removeClass("dropsDecor");
	}
	)
}

//changing the select box value on click of links

// load the xml and then parse it
function loadCompareXML()
{
	var tariffPlan = document.getElementById('compareTariff');

	if( tariffPlan == null){
		return;
	}
	var oOptions = {
		url : LBI.Data.tariffsXML + "nonGeoNumbers.xml",
		timer : 60000,
		dataType : "xml",
		coreObj : this,
		errorLog : function() {
			alert("not working");
		},
		successLog : function(data) {
			xmlDoc = data;
			parseXML();
		}
	};
	/* This is a method set in main.js */	
	LBI.Common.ajaxLoader(oOptions);
}

// parse/sort xml file - create object array and populate dropdown
function parseXML()
{
    var prov = xmlDoc.getElementsByTagName("provider");	
	// for each provider element
	for (var i=0;i<prov.length;i++)
	{		
		// get the provider id/name and create the drop down element
		var prov_id = prov[i].getAttribute("id");
		var prov_str = prov[i].getAttribute("text");	
		addOption(prov_str,prov_id,i);
		
		
		var temp_price = new Array();
		for (var j=0; j<prov[i].childNodes.length; j++)
		{
			if (prov[i].childNodes[j].nodeType != 1) continue;
			temp_price.push(prov[i].childNodes[j].firstChild.nodeValue);
		}
		eval("var " + prov_id + "_object = new price(" + temp_price.toString() + ")");
		var temp_price = eval(prov_id + "_object");
		prices.push(temp_price);		
	}
	
	//loads the fuction to default the 2nd dropdwon
	loadPage();
	changeDrop();
}

// populate dropdown lists
function addOption(_provider,_id,_value)
{	
	for(j=0;document.getElementById("p"+j);j++)
	{
		var element_option = document.createElement("option");
		
		element_option.text = _provider;	
		element_option.id = _id;			
		element_option.value = _value;		
		
		var element_selection = document.getElementById("p"+j);
		var provider_selection = document.getElementById("option"+j);

		try
		{
			element_selection.add(element_option, null);	//standard compliant
		}
		catch(ex)
		{
			element_selection.add(element_option);			//ie
		}
	}
}

// display prices based on value of dropdown
function displayPrices(elementId, elementVal)
{
	var pmin = "p";
	var day_a = document.getElementById(elementId + "_day_a");
	var even_a = document.getElementById(elementId + "_even_a");
	var day_b = document.getElementById(elementId + "_day_b");
	var even_b = document.getElementById(elementId + "_even_b");
	
	// Set the values
	day_a.innerHTML = prices[elementVal].day_a + pmin;
	even_a.innerHTML = prices[elementVal].even_a + pmin;
	day_b.innerHTML = prices[elementVal].day_b + pmin;
	even_b.innerHTML = prices[elementVal].even_b + pmin;

}

function addEvent(obj, evType, fn){ 
 if (obj.addEventListener){ 
   obj.addEventListener(evType, fn, false); 
   return true; 
 } else if (obj.attachEvent){ 
   var r = obj.attachEvent("on"+evType, fn); 
   return r; 
 } else { 
   return false; 
 } 
}

// init
//addEvent(window, "load", loadPage);

//loadCompareXML();

