<!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function selectChange(thisField, targetField) {
	if (thisField.value == "No") {
	
		MMDiv.style.visibility='visible';
	}
	else
	{
		MMDiv.style.visibility='hidden';
	}
}
function selectChange2(thisField, targetField) {
	if (thisField.value == "No") {
	
		MMDiv2.style.visibility='visible';
	}
	else
	{
		MMDiv2.style.visibility='hidden';
	}
}

function round(number,X) {
		// rounds number to X decimal places, defaults to 2
		X = (!X ? 2 : X);
		return Math.round(number*Math.pow(10,X))/Math.pow(10,X);
	}
	
function format_number(p,d) 
{
  var r;
  if(p<0){p=-p;r=format_number2(p,d);r="-"+r;}
  else   {r=format_number2(p,d);}
  return r;
}
function format_number2(pnumber,decimals) 
{
  var strNumber = new String(pnumber);
  var arrParts = strNumber.split('.');
  var intWholePart = parseInt(arrParts[0],10);
  var strResult = '';
  if (isNaN(intWholePart))
    intWholePart = '0';
  if(arrParts.length > 1)
  {
    var decDecimalPart = new String(arrParts[1]);
    var i = 0;
    var intZeroCount = 0;
     while ( i < String(arrParts[1]).length )
     {
       if( parseInt(String(arrParts[1]).charAt(i),10) == 0 )
       {
         intZeroCount += 1;
         i += 1;
       }
       else
         break;
    }
    decDecimalPart = parseInt(decDecimalPart,10)/Math.pow(10,parseInt(decDecimalPart.length-decimals-1)); 
    Math.round(decDecimalPart); 
    decDecimalPart = parseInt(decDecimalPart)/10; 
    decDecimalPart = Math.round(decDecimalPart); 

    //If the number was rounded up from 9 to 10, and it was for 1 'decimal' 
    //then we need to add 1 to the 'intWholePart' and set the decDecimalPart to 0. 

    if(decDecimalPart==Math.pow(10, parseInt(decimals)))
    { 
      intWholePart+=1; 
      decDecimalPart="0"; 
    } 
    var stringOfZeros = new String('');
    i=0;
    if( decDecimalPart > 0 )
    {
      while( i < intZeroCount)
      {
        stringOfZeros += '0';
        i += 1;
      }
    }
    decDecimalPart = String(intWholePart) + "." + stringOfZeros + String(decDecimalPart); 
    var dot = decDecimalPart.indexOf('.');
    if(dot == -1)
    {
      decDecimalPart += '.'; 
      dot = decDecimalPart.indexOf('.'); 
    } 
    var l=parseInt(dot)+parseInt(decimals); 
    while(decDecimalPart.length <= l) 
    {
      decDecimalPart += '0'; 
    }
    strResult = decDecimalPart;
  }
  else
  {
    var dot; 
    var decDecimalPart = new String(intWholePart); 

    decDecimalPart += '.'; 
    dot = decDecimalPart.indexOf('.'); 
    var l=parseInt(dot)+parseInt(decimals); 
    while(decDecimalPart.length <= l) 
    {
      decDecimalPart += '0'; 
    }
    strResult = decDecimalPart;
  }
  return strResult;
}

	
function writit(text,id)
{
var x
	if (document.getElementById)
	{
		x = document.getElementById(id);
		x.innerHTML = '';
		x.innerHTML = text;
	}
	else if (document.all)
	{
		x = document.all[id];
		x.innerHTML = text;
	}
	else if (document.layers)
	{
		x = document.layers[id];
		text2 = '<P CLASS="testclass">' + text + '</P>';
		x.document.open();
		x.document.write(text2);
		x.document.close();
	}
}

function calculateLocal () {

	var minutes = 0
	var costperMin = 0
	var costMin = 0
	var ourCostMin = 0
	var and = 0
	var percent = 0
	var percentFinal = 0
	var ourOverallCost = 0
	
	// ignore this variable, just use it to check I can 
	// used the toFixed function otherwise I format_number it, format_number doesn't
	// work as well as toFixed on some digits.	
	var profits=2489.8237
	
	minutes = eval(local.frmLocalHours.value * 60)
	minutes += eval(local.frmLocalMins.value)
	
	costPerMin = eval((local.frmLocalCost.value)/minutes)
	costMin = eval(costPerMin*100)
		
	ourCostMin = (eval(local.frmLocalSearch.value)/100)
	ourOverallCost = eval(minutes*ourCostMin)
	
	and = eval(costPerMin-ourCostMin)
	percent = eval(and/costPerMin)
	percentFinal = eval(percent*100)
	
	local.frmLocalSaving.value = Math.round(percentFinal)
	
	if (profits.toFixed)  // browser supports toFixed
		{local.frmLocalOurCosts.value = (ourOverallCost).toFixed(2)}
	else{local.frmLocalOurCosts.value = format_number(ourOverallCost,2)
	}
	
	if (profits.toFixed) // browser supports toFixed
		{local.frmLocalSavingOveral.value = (local.frmLocalCost.value-ourOverallCost).toFixed(2)}
	else{
	local.frmLocalSavingOveral.value = format_number(local.frmLocalCost.value-ourOverallCost,2)
	}
	
	if (profits.toFixed) // browser supports toFixed
		{writit("COST PER MINUTE (pence): <strong>"+(costMin).toFixed(2)+"</strong>",'cost');}
	else{writit("COST PER MINUTE (pence): <strong>"+format_number(costMin,2)+"</strong>",'cost');
	}

}

function calculateNational () {

	var minutes = 0
	var costperMin = 0
	var costMin = 0
	var ourCostMin = 0
	var and = 0
	var percent = 0
	var percentFinal = 0
	var ourOverallCost = 0

	// ignore this variable, just use it to check I can 
	// used the toFixed function otherwise I format_number it, format_number doesn't
	// work as well as toFixed on some digits tho.	
	var profits=2489.8237
	
	minutes = eval(national.frmNationalHours.value * 60)
	minutes += eval(national.frmNationalMins.value)
	
	costPerMin = eval((national.frmNationalCost.value)/minutes)
	costMin = eval(costPerMin*100)
		
	ourCostMin = eval((national.frmNationalSearch.value)/100)
	ourOverallCost = eval(minutes*ourCostMin)
	
	and = eval(costPerMin-ourCostMin)
	percent = eval(and/costPerMin)
	percentFinal = eval(percent*100)
	
	national.frmNationalSaving.value = Math.round(percentFinal)
	
	if (profits.toFixed)  // browser supports toFixed
		{national.frmNationalOurCosts.value = (ourOverallCost).toFixed(2)}
	else{national.frmNationalOurCosts.value = format_number(ourOverallCost,2)
	}
		
	if (profits.toFixed) // browser supports toFixed
		{national.frmNationalSavingOveral.value = (national.frmNationalCost.value-ourOverallCost).toFixed(2)}
	else{
	national.frmNationalSavingOveral.value = format_number(national.frmNationalCost.value-ourOverallCost,2)
	}
	
	if (profits.toFixed) // browser supports toFixed
		{writit("COST PER MINUTE (pence): <strong>"+(costMin).toFixed(2)+"</strong>",'cost2');}
	else{writit("COST PER MINUTE (pence): <strong>"+format_number(costMin,2)+"</strong>",'cost2');
	}

}

//-->