	var orgtabledata = new Array();
	var orgtableSMSdata = new Array();

	var germanvat = 0.19;

	function stripNbsp(str)
	{
		while (str.substring(0,6)=="&nbsp;")
		{
			str = str.substring(6);
			//alert(str);
		}
		return str;
	}
	function formatCur(cur)
	{
		cur = (Math.round(cur * 1000))/1000;
		var ret = new String(cur);
		var ind = ret.lastIndexOf('.');
		if (ind!=-1)
		{
			if (ind==(ret.length-2))
			{
				ret = ret + "00";
			}
			else if (ind==(ret.length-3))
			{
				ret = ret + "0";
			}
		}
		else ret = ret + ".000";
		return ret;
	}

	function alterLink(txt, currency)
	{
		var re1='.*?';
		var re2='(".*?")';
		var re3='.*?';
		var re4='(".*?")';

		var p = new RegExp(re1+re2+re3+re4,["i"]);
		var m = p.exec(txt);
		var c = currency.toLowerCase();

		if (m && m.length>0)
		{
			var unixpath1=m[1];
			var unixpath2=m[2];
			txt = txt.replace(unixpath1.replace(/"/ig, ''), ''+unixpath2.replace(/"/ig, '')+'-'+c.replace('/sms', '')+'.html'+'');
		}
		return txt;
	}

	function alterRatesTables(factorctmin, revisedformat, currency_symbols) {

		var currentcurrency = alterRatesDial(factorctmin, revisedformat, currency_symbols);

		currentcurrency = currentcurrency.split('/');
		setCookie('preferredcurrency', currentcurrency[0], 60*60*24*365, '/');
	
	}

	function alterRatesDial(factorctmin, revisedformat, currency_symbols)
	{
		var tableelt = document.getElementById("ratesTableDial");
		var f = factorctmin.split(';');
		var factor = 1 / f[0];
		var ctmin = f[1];
		ctmin = ctmin.split(';');
		var curcountry = ctmin[1];
		ctmin = ctmin[0];

		// SMS bar
		var myString = new String(ctmin);
		var splitString = myString.split("/min");
		var smsResult = 0;
		var smsResultTemp = 0;
		currentcurrency = splitString[0];
		// SMS bar

		var currencySymbolWords = currentcurrency.split('/');
		currencySymbolWords = currencySymbolWords[0];

		if (tableelt!=null)
		{
			tableelt.rows[0].cells[3].innerHTML = ctmin;

			if (orgtabledata.length==0)
			{

				var i = 0;
				//keep array indeces the same
				var arraydummy = new Array();
				arraydummy.push("void");
				arraydummy.push("voided");
				orgtabledata.push(arraydummy);

				for (i=1;i<tableelt.rows.length; i++)
				{
					if (tableelt.rows[i].cells[0].className!="l")
					{
						if (((tableelt.rows[i].className=="even") || (tableelt.rows[i].className=="odd")) && (tableelt.rows[i].cells[3].className=="rate") && (tableelt.rows[i].cells[4].className=="tax"))
						{
							//save orgtabledata
							var arrayelt = new Array();
							arrayelt.push(tableelt.rows[i].cells[3].innerHTML);
							arrayelt.push(tableelt.rows[i].cells[4].innerHTML);
							orgtabledata.push(arrayelt);
							
							var price = stripNbsp(tableelt.rows[i].cells[3].innerHTML);
							var tax = stripNbsp(tableelt.rows[i].cells[4].innerHTML);
							
							if(price.indexOf(' ') != -1)
								price = price.substr(price.indexOf(' ')+1, price.length-1);
							if(tax.indexOf(' ') != -1)
								tax = tax.substr(tax.indexOf(' ')+1, tax.length-1);
							
							var incl = parseFloat(price);
							var excl = parseFloat(tax);
							
							if (!isNaN(incl))
							{
								// tableelt.rows[i].cells[0].innerHTML = alterLink(tableelt.rows[i].cells[0].innerHTML, currentcurrency);
								if(revisedformat == true)
								{
									if(currency_symbols[currencySymbolWords])
										currencySymbolWords = currency_symbols[currencySymbolWords];
									tableelt.rows[i].cells[3].innerHTML=currencySymbolWords+' '+(formatCur(incl*factor));
									tableelt.rows[i].cells[4].innerHTML="&nbsp;&nbsp;"+currencySymbolWords+' '+(formatCur(excl*factor));
								}
								else
								{
									
									if(!isNaN(excl)) {
										tableelt.rows[i].cells[3].innerHTML=(formatCur(incl*factor));
										tableelt.rows[i].cells[4].innerHTML="&nbsp;&nbsp;"+(formatCur(excl*factor));									} else {
											tableelt.rows[i].cells[3].innerHTML=(formatCur(incl*factor));
											tableelt.rows[i].cells[4].innerHTML="&nbsp;&nbsp;";
									}
								}
							}
						} else if ((tableelt.rows[i].className=="letter")) {
							tableelt.rows[i].cells[3].innerHTML = ctmin;
							orgtabledata.push(arraydummy);
						} else {
							orgtabledata.push(arraydummy);
						}
					} else {
						orgtabledata.push(arraydummy);
					}
				}
			} else { //use orgtabledata
				var i = 0;
				//tableelt.rows[0].cells[3].innerHTML = currentcurrency;//ctmin;
				for (i=1;i<tableelt.rows.length; i++) {
					if (tableelt.rows[i].cells[0].className!="l") {
						if (((tableelt.rows[i].className=="even") || (tableelt.rows[i].className=="odd")) && (tableelt.rows[i].cells[3].className=="rate") && (tableelt.rows[i].cells[4].className=="tax")) {

							var price = stripNbsp(orgtabledata[i][0]);
							var tax = stripNbsp(orgtabledata[i][1]);
							
							if(price.indexOf(' ') != -1)
								price = price.substr(price.indexOf(' ')+1, price.length-1);
							if(tax.indexOf(' ') != -1)
								tax = tax.substr(tax.indexOf(' ')+1, tax.length-1);
							
							var incl = parseFloat(price);
							var excl = parseFloat(tax);
							
							if (!isNaN(incl)) {
								//tableelt.rows[i].cells[0].innerHTML = alterLink(tableelt.rows[i].cells[0].innerHTML, currentcurrency);
								if(revisedformat == true) {
									if(currency_symbols[currencySymbolWords])
										currencySymbolWords = currency_symbols[currencySymbolWords];
									tableelt.rows[i].cells[3].innerHTML=currencySymbolWords+' '+(formatCur(incl*factor));
									tableelt.rows[i].cells[4].innerHTML="&nbsp;&nbsp;"+currencySymbolWords+' '+(formatCur(excl*factor));
								} else {
									if(!isNaN(excl)) {
										tableelt.rows[i].cells[3].innerHTML=(formatCur(incl*factor));
										tableelt.rows[i].cells[4].innerHTML="&nbsp;&nbsp;"+(formatCur(excl*factor));
									} else {
											tableelt.rows[i].cells[3].innerHTML=(formatCur(incl*factor));
											tableelt.rows[i].cells[4].innerHTML="&nbsp;&nbsp;";
									}
								}
							}
						} else if ((tableelt.rows[i].className=="letter")) {
							tableelt.rows[i].cells[3].innerHTML = ctmin;
						}
					}
				}
			}
		}
		
		return currentcurrency;
	}
