
var country_prices_arr= new Array();
var country_arr = new Array();

//set prices object
function prices(talk_day_lan, talk_even_lan, talk_day_mob, talk_even_mob, stand_day_lan, stand_day_mob, stand_even_lan, stand_even_mob)
{
	// TALK
	this.talk_day_lan		= talk_day_lan;
	this.talk_day_mob		= talk_day_mob;
	this.talk_even_lan		= talk_even_lan;
	this.talk_even_mob		= talk_even_mob;
	// STANDARD
	this.stand_day_lan		= stand_day_lan;
	this.stand_day_mob		= stand_day_mob;
	this.stand_even_lan		= stand_even_lan;
	this.stand_even_mob		= stand_even_mob;	
}

// load the calculator xml and then parse it
function loadTariffXML()
{
	var tariffPlan = document.getElementById('internationalRates');

	if( tariffPlan == null){
		return;
	}
	var oOptions = {
		url : LBI.Data.tariffsXML + "calculator.xml",
		timer : 60000,
		dataType : "xml",
		coreObj : this,
		errorLog : function() {
			alert("not working");
		},
		successLog : function(data) {
			xmlDoc = data;
			parsenewXML();			
		}
	};
	/* This is a method set in main.js */	
	LBI.Common.ajaxLoader(oOptions);
}

// parse/sort xml file - create object array and populate dropdown
function parsenewXML()
{
	var x = xmlDoc.getElementsByTagName('country');
	
	for (i=0;i<x.length;i++)
	{
		var country = x[i].getAttribute('id');
		country_arr.push(country);
		
		var country_str = x[i].getAttribute('text');
		addOptionNew(country_str,i);
		
		var temp_cost = new Array();
		for (j=0; j<x[i].childNodes.length; j++)
		{
			if (x[i].childNodes[j].nodeType != 1) continue;
			temp_cost.push(x[i].childNodes[j].firstChild.nodeValue);
		}

		eval("var " + country + "_object = new prices(" + temp_cost.toString() + ")");

		var temp_country = eval(country + "_object");
		country_prices_arr.push(temp_country);	
	}
	// Initial load set to USA	
	displayPrices(57);	
}


// populate dropdown list
function addOptionNew(_country,_value)
{	
	var element_option = document.createElement('option');
    element_option.text = _country;
    element_option.value = _value;
	
	var element_selection = document.getElementById('countrySelection');

	try
	{
		element_selection.add(element_option, null);	//standard compliant
	}
	catch(ex)
	{
		element_selection.add(element_option);			//ie
	}
	
	// Initial load set to USA
	element_selection.value = 57;
	
	//add function to onchange events
	element_selection.onchange = function() {
		displayPrices(this.value);
	}
}

// display prices based on value of dropdown
function displayPrices(_i)
{	
	// Country title
	var ddIndex = document.getElementById('countrySelection').selectedIndex;	
	var ddValue = document.getElementById('countrySelection')[ddIndex].text;
	var title = document.getElementById("countryTitle");
	var pmin = "p/min";
	// Values
	var tdl = document.getElementById("talkDayLan");
	var tdm = document.getElementById("talkDayMob");
	var tel = document.getElementById("talkEvenLan");
	var tem = document.getElementById("talkEvenMob");	
	var sdl = document.getElementById("standDayLan");
	var sdm = document.getElementById("standDayMob");
	var sel = document.getElementById("standEvenLan");
	var sem = document.getElementById("standEvenMob");	
	
	if (_i != "null")
	{
		// Set the title
		title.innerHTML =  "Call rates to " + ddValue;
		// Set the values
		tdl.innerHTML = country_prices_arr[_i].talk_day_lan + pmin;
		tdm.innerHTML = country_prices_arr[_i].talk_day_mob + pmin;
		tel.innerHTML = country_prices_arr[_i].talk_even_lan + pmin;
		tem.innerHTML = country_prices_arr[_i].talk_even_mob + pmin;
		sdl.innerHTML = country_prices_arr[_i].stand_day_lan + pmin;
		sdm.innerHTML = country_prices_arr[_i].stand_day_mob + pmin;
		sel.innerHTML = country_prices_arr[_i].stand_even_lan + pmin;
		sem.innerHTML = country_prices_arr[_i].stand_even_mob + pmin;
	}
	else
	{
		// Set an empty title
		title.innerHTML =  "Choose a destination";
		// Set empty values		
		tdl.innerHTML = "&ndash;";
		tdm.innerHTML = "&ndash;";
		tel.innerHTML = "&ndash;";
		tem.innerHTML = "&ndash;";
		sdl.innerHTML = "&ndash;";
		sdm.innerHTML = "&ndash;";
		sel.innerHTML = "&ndash;";
		sem.innerHTML = "&ndash;";
	}
}

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
//loadXML();
