	//Global Definitons for data usage.
	var block     = 10;    //KB
	
	//Monthly fee, [$] "Dollars"
	var mEDDatac  = 0;    //Every Day Casual Data
	var mEDData1  = 5;    //Every Day Data 1
	var mEDData3  = 10;   //Every Day Data 3
	var mEDData5  = 15;   //Every Day Data 5
	var mEDData15 = 30;   //Every Day Data 15
	var mEDData25 = 45;   //Every Day Data 25
	var mEDData50 = 80;   //Every Day Data 50
	
	//Included Data per plan, Mb "Mega bites"
	var iEDDatac  = 0;       //Every Day Casual Data
	var iEDData1  = 1000;    //Every Day Data 1
	var iEDData3  = 3000;    //Every Day Data 3
	var iEDData5  = 5000;    //Every Day Data 5
	var iEDData15 = 15000;   //Every Day Data 15
	var iEDData25 = 25000;   //Every Day Data 25
	var iEDData50 = 50000;   //Every Day Data 50	
	
	//Excess usage Price / Block [$] "Dollars"
	var eEDDatac  = 0.1;  //Every Day Casual Data
	var eEDData1  = 0.06; //Every Day Data 1
	var eEDData3  = 0.06; //Every Day Data 3
	var eEDData5  = 0.05; //Every Day Data 5
	var eEDData15 = 0.04; //Every Day Data 15
	var eEDData25 = 0.03; //Every Day Data 25
	var eEDData50 = 0.02; //Every Day Data 50
	
	function estDDatac(usage){
		var result = mEDDatac + (eEDDatac * (usage / block));
		document.frmPlanEst.txtEDDatac.value = "$ " + result;
		
		recmValue = result;
		recmPlan = "EDDc";
	}
	
	function estDData1(usage){
		var result, excess;
		
		if(usage > iEDData1) excess = usage - iEDData1;
		else excess = 0;
		
		result = mEDData1 + ((excess / block) * eEDData1);
		document.frmPlanEst.txtEDData1.value = "$ " + result;
		
		if(result < recmValue){
			recmValue = result;
			recmPlan = "EDD1";
		}		
	}
	
	function estDData3(usage){
		var result, excess;
		
		if(usage > iEDData3) excess = usage - iEDData3;
		else excess = 0;
		
		result = mEDData3 + ((excess / block) * eEDData3);
		document.frmPlanEst.txtEDData3.value = "$ " + result;
		
		if(result < recmValue){
			recmValue = result;
			recmPlan = "EDD3";
		}		
	}	
	
	function estDData5(usage){
		var result, excess;
		
		if(usage > iEDData5) excess = usage - iEDData5;
		else excess = 0;
		
		result = mEDData5 + ((excess / block) * eEDData5);
		document.frmPlanEst.txtEDData5.value = "$ " + result;
		
		if(result < recmValue){
			recmValue = result;
			recmPlan = "EDD5";
		}		
	}
	
	function estDData15(usage){
		var result, excess;
		
		if(usage > iEDData15) excess = usage - iEDData15;
		else excess = 0;
		
		result = mEDData15 + ((excess / block) * eEDData15);
		document.frmPlanEst.txtEDData15.value = "$ " + result;
		
		if(result < recmValue){
			recmValue = result;
			recmPlan = "EDD15";
		}		
	}
	
	function estDData25(usage){
		var result, excess;
		
		if(usage > iEDData25) excess = usage - iEDData25;
		else excess = 0;
		
		result = mEDData25 + ((excess / block) * eEDData25);
		document.frmPlanEst.txtEDData25.value = "$ " + result;
		
		if(result < recmValue){
			recmValue = result;
			recmPlan = "EDD25";
		}		
	}
	
	function estDData50(usage){
		var result, excess;
		
		if(usage > iEDData50) excess = usage - iEDData50;
		else excess = 0;
		
		result = mEDData50 + ((excess / block) * eEDData50);
		document.frmPlanEst.txtEDData50.value = "$ " + result;
		
		if(result < recmValue){
			recmValue = result;
			recmPlan = "EDD50";
		}		
	}
	
	function calcData() {
		var result = 0;
		
		if(document.frmDataCalc.email.value != ""){
			result=(result+((5*document.frmDataCalc.email.value)*.001));
		}
		
		if(document.frmDataCalc.emailatt.value != ""){
			result=(result+((85*document.frmDataCalc.emailatt.value)*.001));
		}
		if(document.frmDataCalc.music.value != ""){
			result=(result+((200*document.frmDataCalc.music.value)*.001));
		}		
		
		if(document.frmDataCalc.movie.value != ""){
			result=(result+((33330*document.frmDataCalc.movie.value)*.001));
		}
		
		if(document.frmDataCalc.gaming.value != ""){
			result=(result+((20000*document.frmDataCalc.gaming.value)*.001));
		}
		
		if(document.frmDataCalc.stream.value != ""){
			result=(result+((200000*document.frmDataCalc.stream.value)*.001));
		}
		
		if(document.frmDataCalc.webpages.value != ""){
			result=(result+((125*document.frmDataCalc.webpages.value)*.001));
		}
		
		if(document.frmDataCalc.digimages.value != ""){
			result=(result+((200*document.frmDataCalc.digimages.value)*.001));
		}
		
		if(document.frmDataCalc.specific.value != ""){
			result=( result+(document.frmDataCalc.specific.value) );
		}				
			
		var finalResult = (((Math.round(result*Math.pow(10,6)))/Math.pow(10,6))/document.frmDataCalc.selUseBasis.value);
		
		if(!isNaN(finalResult)){
			var roundedResult = roundTo2dp(finalResult*30)
			document.frmDataCalc.txtResult.value=roundedResult;
			displayResult(roundedResult);
		}else{
			document.frmDataCalc.txtResult.value="0";
		}
	}
	
	//function that rounds to 2 decimal placres
	function roundTo2dp(X) { return Math.round(X*100)/100 }
	
	function frmSubmit(){
		document.frmDataCalc.submit();
	}
	
	function calcAndSuggest(){
		calcData();
		frmSubmit();
	}
	
	function displayResult(result){
		var strInnerHtml = "<div class=\"estimateResult\">Based on your estimates we would expect your usage to be around <font color=\"#FF0000\">"+result+"MB</font> per month.</div>";
		strInnerHtml = strInnerHtml+"<br /><span class=\"note\">This figure does not take into account additional multimedia applications such as video files, ";
		strInnerHtml = strInnerHtml+"sound files or images which you may download as these vary greatly in size. ";
		strInnerHtml = strInnerHtml+"You will need to add the additional MB for your specific additional daily usage.</span>";
		document.getElementById("estimateResult").innerHTML = strInnerHtml;
	}
