// JavaScript Document
var xmlHttp
var snCustNum
var region
var brand
var month
var intid
var rc


function storeChange(str,snCustNumVal,regionVal,brandVal,monthVal,intidVal){
	snCustNum = snCustNumVal;
	region = regionVal;
	brand = brandVal;
	month = monthVal;
	intid = intidVal;
	if(str=='' || str==null)
		str=0.00;
	
	str = str.toString().replace(/\$|\,/g,'');
	str = str.replace(/^[0]+/g,"");
		
	document.getElementById("eumsg").innerHTML="The change you requested is being processed.";
	qtr = document.getElementById("QTR_YEAR").value;

	xmlHttp=GetXmlHttpObject() // using the function in ant.js
	if (xmlHttp==null){
 		return;
 	}
	var url="forecastjslib.ici";
	url=url+"?sn_cust_num="+snCustNum;
	url=url+"&value="+str;
	url=url+"&brand="+brand;
	url=url+"&region="+region;
	url=url+"&month="+month;
	url=url+"&intid="+intid;
	url=url+"&qtr="+qtr;
	url=url+"&monthValueChange=1";
	url=url+"&sid="+Math.random();
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null); 
	xmlHttp.onreadystatechange=calculateChanges;
}

function calculateChanges(){
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 

		var limit = document.forecast.elements.length;
	//	for (i=0;i<limit;i++) {
	//      document.forecast.elements[i].disabled = true;
	//    }
		document.getElementById('prepage').style.visibility = "visible";
		
		month1 = document.getElementById("Month_0").value;
		month2 = document.getElementById("Month_1").value; 
		month3 = document.getElementById("Month_2").value;
		
		month1Val = document.getElementById(snCustNum+"_"+region+"_"+brand+"_MONTH_"+month1).value;
		month2Val = document.getElementById(snCustNum+"_"+region+"_"+brand+"_MONTH_"+month2).value;
		month3Val = document.getElementById(snCustNum+"_"+region+"_"+brand+"_MONTH_"+month3).value;
		
		month1 = month1.toString().replace(/\$|\,/g,'');
		month2 = month2.toString().replace(/\$|\,/g,'');
		month3 = month3.toString().replace(/\$|\,/g,'');
		month1Val = month1Val.toString().replace(/\$|\,/g,'');
		month2Val = month2Val.toString().replace(/\$|\,/g,'');
		month3Val = month3Val.toString().replace(/\$|\,/g,'');
		
		month1 = month1.replace(/^[0]+/g,"");
		month2 = month2.replace(/^[0]+/g,"");
		month3 = month3.replace(/^[0]+/g,"");
		month1Val = month1Val.replace(/^[0]+/g,"");
		month2Val = month2Val.replace(/^[0]+/g,"");
		month3Val = month3Val.replace(/^[0]+/g,"");
		
		if(/^-?\d+(\.\d+)?$/.test(month1Val))
			month1Val=month1Val;
		else
			month1Val=0;
		if(/^-?\d+(\.\d+)?$/.test(month2Val))
			month2Val=month2Val;
		else
			month2Val=0;
		if(/^-?\d+(\.\d+)?$/.test(month3Val))
			month3Val=month3Val;
		else
			month3Val=0;
			
		month1ValHid = document.getElementById(snCustNum+"_"+region+"_"+brand+"_MONTH_"+month1+"_HID").value;
		month2ValHid = document.getElementById(snCustNum+"_"+region+"_"+brand+"_MONTH_"+month2+"_HID").value;
		month3ValHid = document.getElementById(snCustNum+"_"+region+"_"+brand+"_MONTH_"+month3+"_HID").value;
				
		month1ValHid = month1ValHid.toString().replace(/\$|\,/g,'');
		month2ValHid = month2ValHid.toString().replace(/\$|\,/g,'');
		month3ValHid = month3ValHid.toString().replace(/\$|\,/g,'');
		
		month1ValHid = month1ValHid.replace(/^[0]+/g,"");
		month2ValHid = month2ValHid.replace(/^[0]+/g,"");
		month3ValHid = month3ValHid.replace(/^[0]+/g,"");
		
		NetTot1 = document.getElementById(brand+"_MONTH_"+month1+"_NET_TOTAL").innerHTML;
		NetTot2 = document.getElementById(brand+"_MONTH_"+month2+"_NET_TOTAL").innerHTML;
		NetTot3 = document.getElementById(brand+"_MONTH_"+month3+"_NET_TOTAL").innerHTML;
		
		NetTot1 = NetTot1.toString().replace(/\$|\,/g,'');
		NetTot2 = NetTot2.toString().replace(/\$|\,/g,'');
		NetTot3 = NetTot3.toString().replace(/\$|\,/g,'');
		
		NetTot1 = NetTot1.replace(/^[0]+/g,"");
		NetTot2 = NetTot2.replace(/^[0]+/g,"");
		NetTot3 = NetTot3.replace(/^[0]+/g,"");
		
		GrandTot1 = document.getElementById("MONTH_"+month1+"_GRAND_TOTAL").innerHTML;
		GrandTot2 = document.getElementById("MONTH_"+month2+"_GRAND_TOTAL").innerHTML;
		GrandTot3 = document.getElementById("MONTH_"+month3+"_GRAND_TOTAL").innerHTML;
		
		GrandTot1 = GrandTot1.toString().replace(/\$|\,/g,'');
		GrandTot2 = GrandTot2.toString().replace(/\$|\,/g,'');
		GrandTot3 = GrandTot3.toString().replace(/\$|\,/g,'');
		
		GrandTot1 = GrandTot1.replace(/^[0]+/g,"");
		GrandTot2 = GrandTot2.replace(/^[0]+/g,"");
		GrandTot3 = GrandTot3.replace(/^[0]+/g,"");
		
		if(month1ValHid != month1Val){
			
			if (NetTot1 == "" || NetTot1 == null || isNaN(NetTot1))
				NetTot1 = 0;
			if (GrandTot1 == "" || GrandTot1 == null || isNaN(GrandTot1))
				GrandTot1 = 0;
			if (month1ValHid == "" || month1ValHid == null || isNaN(month1ValHid))
				month1ValHid = 0;
			
			NetTot1 = parseInt(NetTot1)-parseInt(month1ValHid)+parseInt(month1Val);
			GrandTot1 = parseInt(GrandTot1)-parseInt(month1ValHid)+parseInt(month1Val);
		}
		if(month2ValHid != month2Val){
			
			if (NetTot2 == "" || NetTot2 == null || isNaN(NetTot2))
				NetTot2 = 0;
			if (GrandTot2 == "" || GrandTot2 == null || isNaN(GrandTot2))
				GrandTot2 = 0;
			if (month2ValHid == "" || month2ValHid == null || isNaN(month2ValHid))
				month2ValHid = 0;
			
			NetTot2 = parseInt(NetTot2)-parseInt(month2ValHid)+parseInt(month2Val);
			GrandTot2 = parseInt(GrandTot2)-parseInt(month2ValHid)+parseInt(month2Val);
		}
		
		if(month3ValHid != month3Val){
			
			if (NetTot3 == "" || NetTot3 == null || isNaN(NetTot3))
				NetTot3 = 0;
			if (GrandTot3 == "" || GrandTot3 == null || isNaN(GrandTot3))
				GrandTot3 = 0;
			if (month3ValHid == "" || month3ValHid == null || isNaN(month3ValHid))
				month3ValHid = 0;
			
			NetTot3 = parseInt(NetTot3)-parseInt(month3ValHid)+parseInt(month3Val);
			GrandTot3 = parseInt(GrandTot3)-parseInt(month3ValHid)+parseInt(month3Val);
		}
		
		document.getElementById(snCustNum+"_"+region+"_"+brand+"_MONTH_"+month1+"_HID").value=month1Val;
		document.getElementById(snCustNum+"_"+region+"_"+brand+"_MONTH_"+month2+"_HID").value=month2Val;
		document.getElementById(snCustNum+"_"+region+"_"+brand+"_MONTH_"+month3+"_HID").value=month3Val;
		
		budget = document.getElementById(snCustNum+"_"+region+"_"+brand+"_BUDGET").innerHTML;
		budget = budget.toString().replace(/\$|\,/g,'');
		
		budgetTot = document.getElementById(brand+"_BUDGET_TOTAL").innerHTML;
		budgetTot = budgetTot.toString().replace(/\$|\,/g,'');
		
		budgetGrandTot = document.getElementById("BUDGET_GRAND_TOTAL").innerHTML;
		budgetGrandTot = budgetGrandTot.toString().replace(/\$|\,/g,'');
		
		
		sales = document.getElementById(snCustNum+"_"+region+"_"+brand+"_QTD").innerHTML;
		sales = sales.toString().replace(/\$|\,/g,'');
		
		salesTot = document.getElementById(brand+"_QTD_TOTAL").innerHTML;
		salesTot = salesTot.toString().replace(/\$|\,/g,'');
		
		salesGrandTot = document.getElementById("QTD_GRAND_TOTAL").innerHTML;
		salesGrandTot = salesGrandTot.toString().replace(/\$|\,/g,'');
		
		
		backlog = document.getElementById(snCustNum+"_"+region+"_"+brand+"_BACKLOG").innerHTML;
		backlog = backlog.toString().replace(/\$|\,/g,'');
		
		backlogTot = document.getElementById(brand+"_BACKLOG_TOTAL").innerHTML;
		backlogTot = backlogTot.toString().replace(/\$|\,/g,'');
		
		backlogGrandTot = document.getElementById("BACKLOG_GRAND_TOTAL").innerHTML;
		backlogGrandTot = backlogGrandTot.toString().replace(/\$|\,/g,'');
		
		
		
		if (month1Val == "" || month1Val == null || isNaN(month1Val))
			month1Val = 0;
		if (month2Val == "" || month2Val == null || isNaN(month2Val))
			month2Val = 0;
		if (month3Val == "" || month3Val == null || isNaN(month3Val))
			month3Val = 0;
			
		tot = parseInt(month1Val)+parseInt(month2Val)+parseInt(month3Val);
		
		
		if (NetTot1 == "" || NetTot1 == null || isNaN(NetTot1))
			NetTot1 = 0;
		if (NetTot2 == "" || NetTot2 == null || isNaN(NetTot2))
			NetTot2 = 0;
		if (NetTot3 == "" || NetTot3 == null || isNaN(NetTot3))
			NetTot3 = 0;
			
		brandNetTot = parseInt(NetTot1)+parseInt(NetTot2)+parseInt(NetTot3);
		
		
		if (GrandTot1 == "" || GrandTot1 == null || isNaN(GrandTot1))
			GrandTot1 = 0;
		if (GrandTot2 == "" || GrandTot2 == null || isNaN(GrandTot2))
			GrandTot2 = 0;
		if (GrandTot3 == "" || GrandTot3 == null || isNaN(GrandTot3))
			GrandTot3 = 0;
			
		grandTot = parseInt(GrandTot1)+parseInt(GrandTot2)+parseInt(GrandTot3);
		
		toGoSales = parseInt(tot)-(parseInt(sales)+parseInt(backlog));
		if(budget >0)
			forecastPer = Math.round(tot / budget * 100 * 100)/100;
		else
			forecastPer = 0;
		
		toGoSalesTot = parseInt(brandNetTot)-(parseInt(salesTot)+parseInt(backlogTot));
		
		if(budgetTot >0)
			forecastPerTot = Math.round(parseInt(brandNetTot) / parseInt(budgetTot) * 100 * 100)/100;
		else
			forecastPerTot = 0;
					
		toGoSalesGrandTot = parseInt(grandTot)-(parseInt(salesGrandTot)+parseInt(backlogGrandTot));
		
		if(budgetGrandTot >0)
			forecastPerGrandTot = Math.round(parseInt(grandTot) / parseInt(budgetGrandTot) * 100 * 100)/100;
		else
			forecastPerGrandTot = 0;
			
	 	document.getElementById(snCustNum+"_"+region+"_"+brand+"_TOTAL").innerHTML=formatCurrency(tot);
	 	document.getElementById(snCustNum+"_"+region+"_"+brand+"_FORECAST_TO_PLAN").innerHTML=forecastPer+"%";
	 	document.getElementById(snCustNum+"_"+region+"_"+brand+"_TO_GO_SALES").innerHTML=formatCurrency(toGoSales);
		
	 	document.getElementById(brand+"_MONTH_"+month1+"_NET_TOTAL").innerHTML=formatCurrency(NetTot1);
	 	document.getElementById(brand+"_MONTH_"+month2+"_NET_TOTAL").innerHTML=formatCurrency(NetTot2);
	 	document.getElementById(brand+"_MONTH_"+month3+"_NET_TOTAL").innerHTML=formatCurrency(NetTot3);
	 	document.getElementById(brand+"_NET_TOTAL").innerHTML=formatCurrency(brandNetTot);
	 	document.getElementById(brand+"_FORECAST_TO_PLAN_TOTAL").innerHTML=forecastPerTot+"%";
	 	document.getElementById(brand+"_TO_GO_SALES_TOTAL").innerHTML=formatCurrency(toGoSalesTot);
		
	 	document.getElementById("MONTH_"+month1+"_GRAND_TOTAL").innerHTML=formatCurrency(GrandTot1);
	 	document.getElementById("MONTH_"+month2+"_GRAND_TOTAL").innerHTML=formatCurrency(GrandTot2);
	 	document.getElementById("MONTH_"+month3+"_GRAND_TOTAL").innerHTML=formatCurrency(GrandTot3);
	 	document.getElementById("GRAND_TOTAL").innerHTML=formatCurrency(grandTot);
	 	document.getElementById("FORECAST_TO_PLAN_GRAND_TOTAL").innerHTML=forecastPerGrandTot+"%";
	 	document.getElementById("TO_GO_SALES_GRAND_TOTAL").innerHTML=formatCurrency(toGoSalesGrandTot);
		
		document.getElementById('prepage').style.visibility = "hidden";
	//	for (i=0;i<limit;i++) {
	//      document.forecast.elements[i].disabled = false;
	//    }
		document.getElementById("eumsg").innerHTML="&nbsp;";
	}
	else
		document.getElementById("eumsg").innerHTML="Not completed successfully";
}

function activateForecast(str,snCustNum,region,brand,intid){
	document.getElementById("eumsg").innerHTML="The change you requested is being processed.";
	qtr = document.getElementById("QTR_YEAR").value;
			
	xmlHttp=GetXmlHttpObject() // using the function in ant.js
	if (xmlHttp==null){
 		return;
 	}
	var url="forecastjslib.ici";
	url=url+"?sn_cust_num="+snCustNum;
	url=url+"&brand="+brand;
	url=url+"&region="+region;
	url=url+"&qtr="+qtr;
	url=url+"&intid="+intid;
	url=url+"&activate=1";
	url=url+"&sid="+Math.random();
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null); 
	document.getElementById("eumsg").innerHTML="&nbsp;";
}

function storeRegionChange(str,regionVal,brandVal,monthVal,intidVal){
	region = regionVal;
	brand = brandVal;
	month = monthVal;
	intid = intidVal;
	if(str=='' || str==null)
		str=0.00;
	
	str = str.toString().replace(/\$|\,/g,'');
	str = str.replace(/^[0]+/g,"");
		
	document.getElementById("eumsg").innerHTML="The change you requested is being processed.";
	qtr = document.getElementById("QTR_YEAR").value;
	
	xmlHttp=GetXmlHttpObject() // using the function in ant.js
	if (xmlHttp==null){
 		return;
 	}
	var url="forecastjslib.ici";
	url=url+"?region="+region;
	url=url+"&value="+str;
	url=url+"&brand="+brand;
	url=url+"&month="+month;
	url=url+"&intid="+intid;
	url=url+"&qtr="+qtr;
	url=url+"&regionSet=1";
	url=url+"&sid="+Math.random();
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null); 
	xmlHttp.onreadystatechange=calculateRegionChanges;
}

function calculateRegionChanges(){
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
		
		var limit = document.forecast.elements.length;
	//	for (i=0;i<limit;i++) {
	//      document.forecast.elements[i].disabled = true;
	//    }
		document.getElementById('prepage').style.visibility = "visible";
		
		month1 = document.getElementById("Month_0").value;
		month2 = document.getElementById("Month_1").value; 
		month3 = document.getElementById("Month_2").value;
		
		month1Val = document.getElementById("REGION_"+region+"_"+brand+"_MONTH_"+month1).value;
		month2Val = document.getElementById("REGION_"+region+"_"+brand+"_MONTH_"+month2).value;
		month3Val = document.getElementById("REGION_"+region+"_"+brand+"_MONTH_"+month3).value;
		
		month1 = month1.toString().replace(/\$|\,/g,'');
		month2 = month2.toString().replace(/\$|\,/g,'');
		month3 = month3.toString().replace(/\$|\,/g,'');
		month1Val = month1Val.toString().replace(/\$|\,/g,'');
		month2Val = month2Val.toString().replace(/\$|\,/g,'');
		month3Val = month3Val.toString().replace(/\$|\,/g,'');
		
		month1 = month1.replace(/^[0]+/g,"");
		month2 = month2.replace(/^[0]+/g,"");
		month3 = month3.replace(/^[0]+/g,"");
		month1Val = month1Val.replace(/^[0]+/g,"");
		month2Val = month2Val.replace(/^[0]+/g,"");
		month3Val = month3Val.replace(/^[0]+/g,"");
		
		if(/^-?\d+(\.\d+)?$/.test(month1Val))
			month1Val=month1Val;
		else
			month1Val=0;
		if(/^-?\d+(\.\d+)?$/.test(month2Val))
			month2Val=month2Val;
		else
			month2Val=0;
		if(/^-?\d+(\.\d+)?$/.test(month3Val))
			month3Val=month3Val;
		else
			month3Val=0;
		
		
		month1ValHid = document.getElementById("REGION_"+region+"_"+brand+"_MONTH_"+month1+"_HID").value;
		month2ValHid = document.getElementById("REGION_"+region+"_"+brand+"_MONTH_"+month2+"_HID").value;
		month3ValHid = document.getElementById("REGION_"+region+"_"+brand+"_MONTH_"+month3+"_HID").value;
		
		NetTot1 = document.getElementById("REGION_TOT_MONTH_"+month1).innerHTML;
		NetTot2 = document.getElementById("REGION_TOT_MONTH_"+month2).innerHTML;
		NetTot3 = document.getElementById("REGION_TOT_MONTH_"+month3).innerHTML;
		
		NetTot1 = NetTot1.toString().replace(/\$|\,/g,'');
		NetTot2 = NetTot2.toString().replace(/\$|\,/g,'');
		NetTot3 = NetTot3.toString().replace(/\$|\,/g,'');
		month1ValHid = month1ValHid.toString().replace(/\$|\,/g,'');
		month2ValHid = month2ValHid.toString().replace(/\$|\,/g,'');
		month3ValHid = month3ValHid.toString().replace(/\$|\,/g,'');
		
		NetTot1 = NetTot1.replace(/^[0]+/g,"");
		NetTot2 = NetTot2.replace(/^[0]+/g,"");
		NetTot3 = NetTot3.replace(/^[0]+/g,"");
		month1ValHid = month1ValHid.replace(/^[0]+/g,"");
		month2ValHid = month2ValHid.replace(/^[0]+/g,"");
		month3ValHid = month3ValHid.replace(/^[0]+/g,"");
		if(month1ValHid != month1Val){
			
			if (NetTot1 == "" || NetTot1 == null || isNaN(NetTot1))
				NetTot1 = 0;
			if (month1ValHid == "" || month1ValHid == null || isNaN(month1ValHid))
				month1ValHid = 0;
			
			NetTot1 = parseInt(NetTot1)-parseInt(month1ValHid)+parseInt(month1Val);
		}
		if(month2ValHid != month2Val){
			
			if (NetTot2 == "" || NetTot2 == null || isNaN(NetTot2))
				NetTot2 = 0;
			if (month2ValHid == "" || month2ValHid == null || isNaN(month2ValHid))
				month2ValHid = 0;
			
			NetTot2 = parseInt(NetTot2)-parseInt(month2ValHid)+parseInt(month2Val);
		}
		
		if(month3ValHid != month3Val){
			
			if (NetTot3 == "" || NetTot3 == null || isNaN(NetTot3))
				NetTot3 = 0;
			if (month3ValHid == "" || month3ValHid == null || isNaN(month3ValHid))
				month3ValHid = 0;
			
			NetTot3 = parseInt(NetTot3)-parseInt(month3ValHid)+parseInt(month3Val);
		}
		
		document.getElementById("REGION_"+region+"_"+brand+"_MONTH_"+month1+"_HID").value=month1Val;
		document.getElementById("REGION_"+region+"_"+brand+"_MONTH_"+month2+"_HID").value=month2Val;
		document.getElementById("REGION_"+region+"_"+brand+"_MONTH_"+month3+"_HID").value=month3Val;
		
		budget = document.getElementById("REGION_"+region+"_"+brand+"_BUDGET").innerHTML;
		budget = budget.toString().replace(/\$|\,/g,'');
		budgetTot = document.getElementById("REGION_TOT_BUDGET").innerHTML;
		budgetTot = budgetTot.toString().replace(/\$|\,/g,'');
		
		
		if (month1Val == "" || month1Val == null || isNaN(month1Val))
			month1Val = 0;
		if (month2Val == "" || month2Val == null || isNaN(month2Val))
			month2Val = 0;
		if (month3Val == "" || month3Val == null || isNaN(month3Val))
			month3Val = 0;
		
		tot = parseInt(month1Val)+parseInt(month2Val)+parseInt(month3Val);
		
		if(budget >0)
			forecastPer = Math.round(tot / budget * 100 * 100)/100;
		else
			forecastPer = 0;
		
		if (NetTot1 == "" || NetTot1 == null || isNaN(NetTot1))
			NetTot1 = 0;
		if (NetTot2 == "" || NetTot2 == null || isNaN(NetTot2))
			NetTot2 = 0;
		if (NetTot3 == "" || NetTot3 == null || isNaN(NetTot3))
			NetTot3 = 0;
				
		NetTot = parseInt(NetTot1)+parseInt(NetTot2)+parseInt(NetTot3);
		
		if(budgetTot >0)
			forecastPerTot = Math.round(parseInt(NetTot) / parseInt(budgetTot) * 100 * 100)/100;
		else
			forecastPerTot = 0;
			
	 	document.getElementById("REGION_"+region+"_"+brand+"_TOTAL").innerHTML=formatCurrency(tot);
	 	document.getElementById("REGION_"+region+"_"+brand+"_FORECAST_TO_PLAN").innerHTML=forecastPer+"%";
		
	 	document.getElementById("REGION_TOT_MONTH_"+month1).innerHTML=formatCurrency(NetTot1);
	 	document.getElementById("REGION_TOT_MONTH_"+month2).innerHTML=formatCurrency(NetTot2);
	 	document.getElementById("REGION_TOT_MONTH_"+month3).innerHTML=formatCurrency(NetTot3);
	 	document.getElementById("REGION_TOT_TOTAL").innerHTML=formatCurrency(NetTot);
	 	document.getElementById("REGION_TOT_FORECAST_TO_PLAN").innerHTML=forecastPerTot+"%";
		
		document.getElementById('prepage').style.visibility = "hidden";
	//	for (i=0;i<limit;i++) {
	//      document.forecast.elements[i].disabled = false;
	//    }
		document.getElementById("eumsg").innerHTML="&nbsp;";
	}
	else
		document.getElementById("eumsg").innerHTML="Not completed successfully";
}

function storeRCChange(str,rcVal,brandVal,monthVal,intidVal){
	rc = rcVal;
	brand = brandVal;
	month = monthVal;
	intid = intidVal;
	if(str=='' || str==null)
		str=0.00;
	
	str = str.toString().replace(/\$|\,/g,'');
	str = str.replace(/^[0]+/g,"");
		
	document.getElementById("eumsg").innerHTML="The change you requested is being processed.";
	qtr = document.getElementById("QTR_YEAR").value;
	
	xmlHttp=GetXmlHttpObject() // using the function in ant.js
	if (xmlHttp==null){
 		return;
 	}
	var url="forecastjslib.ici";
	url=url+"?rc="+rc;
	url=url+"&value="+str;
	url=url+"&brand="+brand;
	url=url+"&month="+month;
	url=url+"&intid="+intid;
	url=url+"&qtr="+qtr;
	url=url+"&rcSet=1";
	url=url+"&sid="+Math.random();
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null); 
	xmlHttp.onreadystatechange=calculateRCChanges;
}

function calculateRCChanges(){
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
		
		var limit = document.forecast.elements.length;
	//	for (i=0;i<limit;i++) {
	//      document.forecast.elements[i].disabled = true;
	//    }
		document.getElementById('prepage').style.visibility = "visible";
		
		month1 = document.getElementById("Month_0").value;
		month2 = document.getElementById("Month_1").value; 
		month3 = document.getElementById("Month_2").value;
		
		month1Val = document.getElementById("RC_"+rc+"_"+brand+"_MONTH_"+month1).value;
		month2Val = document.getElementById("RC_"+rc+"_"+brand+"_MONTH_"+month2).value;
		month3Val = document.getElementById("RC_"+rc+"_"+brand+"_MONTH_"+month3).value;
		
		month1 = month1.toString().replace(/\$|\,/g,'');
		month2 = month2.toString().replace(/\$|\,/g,'');
		month3 = month3.toString().replace(/\$|\,/g,'');
		month1Val = month1Val.toString().replace(/\$|\,/g,'');
		month2Val = month2Val.toString().replace(/\$|\,/g,'');
		month3Val = month3Val.toString().replace(/\$|\,/g,'');
		
		month1 = month1.replace(/^[0]+/g,"");
		month2 = month2.replace(/^[0]+/g,"");
		month3 = month3.replace(/^[0]+/g,"");
		month1Val = month1Val.replace(/^[0]+/g,"");
		month2Val = month2Val.replace(/^[0]+/g,"");
		month3Val = month3Val.replace(/^[0]+/g,"");
		
		if(/^-?\d+(\.\d+)?$/.test(month1Val))
			month1Val=month1Val;
		else
			month1Val=0;
		if(/^-?\d+(\.\d+)?$/.test(month2Val))
			month2Val=month2Val;
		else
			month2Val=0;
		if(/^-?\d+(\.\d+)?$/.test(month3Val))
			month3Val=month3Val;
		else
			month3Val=0;
		
		
		month1ValHid = document.getElementById("RC_"+rc+"_"+brand+"_MONTH_"+month1+"_HID").value;
		month2ValHid = document.getElementById("RC_"+rc+"_"+brand+"_MONTH_"+month2+"_HID").value;
		month3ValHid = document.getElementById("RC_"+rc+"_"+brand+"_MONTH_"+month3+"_HID").value;
		
		NetTot1 = document.getElementById("RC_TOT_MONTH_"+month1).innerHTML;
		NetTot2 = document.getElementById("RC_TOT_MONTH_"+month2).innerHTML;
		NetTot3 = document.getElementById("RC_TOT_MONTH_"+month3).innerHTML;
		
		NetTot1 = NetTot1.toString().replace(/\$|\,/g,'');
		NetTot2 = NetTot2.toString().replace(/\$|\,/g,'');
		NetTot3 = NetTot3.toString().replace(/\$|\,/g,'');
		month1ValHid = month1ValHid.toString().replace(/\$|\,/g,'');
		month2ValHid = month2ValHid.toString().replace(/\$|\,/g,'');
		month3ValHid = month3ValHid.toString().replace(/\$|\,/g,'');
		
		NetTot1 = NetTot1.replace(/^[0]+/g,"");
		NetTot2 = NetTot2.replace(/^[0]+/g,"");
		NetTot3 = NetTot3.replace(/^[0]+/g,"");
		month1ValHid = month1ValHid.replace(/^[0]+/g,"");
		month2ValHid = month2ValHid.replace(/^[0]+/g,"");
		month3ValHid = month3ValHid.replace(/^[0]+/g,"");
		if(month1ValHid != month1Val){
			
			if (NetTot1 == "" || NetTot1 == null || isNaN(NetTot1))
				NetTot1 = 0;
			if (month1ValHid == "" || month1ValHid == null || isNaN(month1ValHid))
				month1ValHid = 0;
			
			NetTot1 = parseInt(NetTot1)-parseInt(month1ValHid)+parseInt(month1Val);
		}
		if(month2ValHid != month2Val){
			
			if (NetTot2 == "" || NetTot2 == null || isNaN(NetTot2))
				NetTot2 = 0;
			if (month2ValHid == "" || month2ValHid == null || isNaN(month2ValHid))
				month2ValHid = 0;
			
			NetTot2 = parseInt(NetTot2)-parseInt(month2ValHid)+parseInt(month2Val);
		}
		
		if(month3ValHid != month3Val){
			
			if (NetTot3 == "" || NetTot3 == null || isNaN(NetTot3))
				NetTot3 = 0;
			if (month3ValHid == "" || month3ValHid == null || isNaN(month3ValHid))
				month3ValHid = 0;
			
			NetTot3 = parseInt(NetTot3)-parseInt(month3ValHid)+parseInt(month3Val);
		}
		
		document.getElementById("RC_"+rc+"_"+brand+"_MONTH_"+month1+"_HID").value=month1Val;
		document.getElementById("RC_"+rc+"_"+brand+"_MONTH_"+month2+"_HID").value=month2Val;
		document.getElementById("RC_"+rc+"_"+brand+"_MONTH_"+month3+"_HID").value=month3Val;
		
		budget = document.getElementById("RC_"+rc+"_"+brand+"_BUDGET").innerHTML;
		budget = budget.toString().replace(/\$|\,/g,'');
		budgetTot = document.getElementById("RC_TOT_BUDGET").innerHTML;
		budgetTot = budgetTot.toString().replace(/\$|\,/g,'');
		
		if (month1Val == "" || month1Val == null || isNaN(month1Val))
			month1Val = 0;
		if (month2Val == "" || month2Val == null || isNaN(month2Val))
			month2Val = 0;
		if (month3Val == "" || month3Val == null || isNaN(month3Val))
			month3Val = 0;
		
		tot = parseInt(month1Val)+parseInt(month2Val)+parseInt(month3Val);
		
		if(budget >0)
			forecastPer = Math.round(tot / budget * 100 * 100)/100;
		else
			forecastPer = 0;
		
		if (NetTot1 == "" || NetTot1 == null || isNaN(NetTot1))
			NetTot1 = 0;
		if (NetTot2 == "" || NetTot2 == null || isNaN(NetTot2))
			NetTot2 = 0;
		if (NetTot3 == "" || NetTot3 == null || isNaN(NetTot3))
			NetTot3 = 0;
				
		NetTot = parseInt(NetTot1)+parseInt(NetTot2)+parseInt(NetTot3);
		
		if(budgetTot >0)
			forecastPerTot = Math.round(parseInt(NetTot) / parseInt(budgetTot) * 100 * 100)/100;
		else
			forecastPerTot = 0;
			
	 	document.getElementById("RC_"+rc+"_"+brand+"_TOTAL").innerHTML=formatCurrency(tot);
	 	document.getElementById("RC_"+rc+"_"+brand+"_FORECAST_TO_PLAN").innerHTML=forecastPer+"%";

	 	document.getElementById("RC_TOT_MONTH_"+month1).innerHTML=formatCurrency(NetTot1);
	 	document.getElementById("RC_TOT_MONTH_"+month2).innerHTML=formatCurrency(NetTot2);
	 	document.getElementById("RC_TOT_MONTH_"+month3).innerHTML=formatCurrency(NetTot3);
	 	document.getElementById("RC_TOT_TOTAL").innerHTML=formatCurrency(NetTot);
	 	document.getElementById("RC_TOT_FORECAST_TO_PLAN").innerHTML=forecastPerTot+"%";
		
		document.getElementById('prepage').style.visibility = "hidden";
	//	for (i=0;i<limit;i++) {
	//      document.forecast.elements[i].disabled = false;
	//    }
		document.getElementById("eumsg").innerHTML="&nbsp;";
	}
	else
		document.getElementById("eumsg").innerHTML="Not completed successfully";
}

function storeRCEXECChange(str,rcVal,brandVal,monthVal,intidVal){
	rc = rcVal;
	brand = brandVal;
	month = monthVal;
	intid = intidVal;
	if(str=='' || str==null)
		str=0.00;
	
	str = str.toString().replace(/\$|\,/g,'');
	str = str.replace(/^[0]+/g,"");
		
	document.getElementById("eumsg").innerHTML="The change you requested is being processed.";
	qtr = document.getElementById("QTR_YEAR").value;
	
	xmlHttp=GetXmlHttpObject() // using the function in ant.js
	if (xmlHttp==null){
 		return;
 	}
	var url="forecastjslib.ici";
	url=url+"?rc="+rc;
	url=url+"&value="+str;
	url=url+"&brand="+brand;
	url=url+"&month="+month;
	url=url+"&intid="+intid;
	url=url+"&qtr="+qtr;
	url=url+"&rcExecSet=1";
	url=url+"&sid="+Math.random();
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null); 
	xmlHttp.onreadystatechange=calculateRCEXECChanges;
}

function calculateRCEXECChanges(){
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
		
		var limit = document.forecast.elements.length;
	//	for (i=0;i<limit;i++) {
	//      document.forecast.elements[i].disabled = true;
	//    }
		document.getElementById('prepage').style.visibility = "visible";
		
		month1 = document.getElementById("Month_0").value;
		month2 = document.getElementById("Month_1").value; 
		month3 = document.getElementById("Month_2").value;
		
		month1Val = document.getElementById("RC_EXEC_"+rc+"_"+brand+"_MONTH_"+month1).value;
		month2Val = document.getElementById("RC_EXEC_"+rc+"_"+brand+"_MONTH_"+month2).value;
		month3Val = document.getElementById("RC_EXEC_"+rc+"_"+brand+"_MONTH_"+month3).value;
		
		month1 = month1.toString().replace(/\$|\,/g,'');
		month2 = month2.toString().replace(/\$|\,/g,'');
		month3 = month3.toString().replace(/\$|\,/g,'');
		month1Val = month1Val.toString().replace(/\$|\,/g,'');
		month2Val = month2Val.toString().replace(/\$|\,/g,'');
		month3Val = month3Val.toString().replace(/\$|\,/g,'');
		
		month1 = month1.replace(/^[0]+/g,"");
		month2 = month2.replace(/^[0]+/g,"");
		month3 = month3.replace(/^[0]+/g,"");
		month1Val = month1Val.replace(/^[0]+/g,"");
		month2Val = month2Val.replace(/^[0]+/g,"");
		month3Val = month3Val.replace(/^[0]+/g,"");
		
		if(/^-?\d+(\.\d+)?$/.test(month1Val))
			month1Val=month1Val;
		else
			month1Val=0;
		if(/^-?\d+(\.\d+)?$/.test(month2Val))
			month2Val=month2Val;
		else
			month2Val=0;
		if(/^-?\d+(\.\d+)?$/.test(month3Val))
			month3Val=month3Val;
		else
			month3Val=0;
		
		month1ValHid = document.getElementById("RC_EXEC_"+rc+"_"+brand+"_MONTH_"+month1+"_HID").value;
		month2ValHid = document.getElementById("RC_EXEC_"+rc+"_"+brand+"_MONTH_"+month2+"_HID").value;
		month3ValHid = document.getElementById("RC_EXEC_"+rc+"_"+brand+"_MONTH_"+month3+"_HID").value;
		
		NetTot1 = document.getElementById("RC_EXEC_TOT_MONTH_"+month1).innerHTML;
		NetTot2 = document.getElementById("RC_EXEC_TOT_MONTH_"+month2).innerHTML;
		NetTot3 = document.getElementById("RC_EXEC_TOT_MONTH_"+month3).innerHTML;
		
		NetTot1 = NetTot1.toString().replace(/\$|\,/g,'');
		NetTot2 = NetTot2.toString().replace(/\$|\,/g,'');
		NetTot3 = NetTot3.toString().replace(/\$|\,/g,'');
		month1ValHid = month1ValHid.toString().replace(/\$|\,/g,'');
		month2ValHid = month2ValHid.toString().replace(/\$|\,/g,'');
		month3ValHid = month3ValHid.toString().replace(/\$|\,/g,'');
		
		NetTot1 = NetTot1.replace(/^[0]+/g,"");
		NetTot2 = NetTot2.replace(/^[0]+/g,"");
		NetTot3 = NetTot3.replace(/^[0]+/g,"");
		month1ValHid = month1ValHid.replace(/^[0]+/g,"");
		month2ValHid = month2ValHid.replace(/^[0]+/g,"");
		month3ValHid = month3ValHid.replace(/^[0]+/g,"");
		if(month1ValHid != month1Val){
			
			if (NetTot1 == "" || NetTot1 == null || isNaN(NetTot1))
				NetTot1 = 0;
			if (month1ValHid == "" || month1ValHid == null || isNaN(month1ValHid))
				month1ValHid = 0;
			
			NetTot1 = parseInt(NetTot1)-parseInt(month1ValHid)+parseInt(month1Val);
		}
		if(month2ValHid != month2Val){
			
			if (NetTot2 == "" || NetTot2 == null || isNaN(NetTot2))
				NetTot2 = 0;
			if (month2ValHid == "" || month2ValHid == null || isNaN(month2ValHid))
				month2ValHid = 0;
			
			NetTot2 = parseInt(NetTot2)-parseInt(month2ValHid)+parseInt(month2Val);
		}
		
		if(month3ValHid != month3Val){
			
			if (NetTot3 == "" || NetTot3 == null || isNaN(NetTot3))
				NetTot3 = 0;
			if (month3ValHid == "" || month3ValHid == null || isNaN(month3ValHid))
				month3ValHid = 0;
			
			NetTot3 = parseInt(NetTot3)-parseInt(month3ValHid)+parseInt(month3Val);
		}
		
		document.getElementById("RC_EXEC_"+rc+"_"+brand+"_MONTH_"+month1+"_HID").value=month1Val;
		document.getElementById("RC_EXEC_"+rc+"_"+brand+"_MONTH_"+month2+"_HID").value=month2Val;
		document.getElementById("RC_EXEC_"+rc+"_"+brand+"_MONTH_"+month3+"_HID").value=month3Val;
		
		budget = document.getElementById("RC_EXEC_"+rc+"_"+brand+"_BUDGET").innerHTML;
		budget = budget.toString().replace(/\$|\,/g,'');
		budgetTot = document.getElementById("RC_EXEC_TOT_BUDGET").innerHTML;
		budgetTot = budgetTot.toString().replace(/\$|\,/g,'');
		
		if (month1Val == "" || month1Val == null || isNaN(month1Val))
			month1Val = 0;
		if (month2Val == "" || month2Val == null || isNaN(month2Val))
			month2Val = 0;
		if (month3Val == "" || month3Val == null || isNaN(month3Val))
			month3Val = 0;
		
		tot = parseInt(month1Val)+parseInt(month2Val)+parseInt(month3Val);
		
		if(budget >0)
			forecastPer = Math.round(tot / budget * 100 * 100)/100;
		else
			forecastPer = 0;
		
		if (NetTot1 == "" || NetTot1 == null || isNaN(NetTot1))
			NetTot1 = 0;
		if (NetTot2 == "" || NetTot2 == null || isNaN(NetTot2))
			NetTot2 = 0;
		if (NetTot3 == "" || NetTot3 == null || isNaN(NetTot3))
			NetTot3 = 0;
				
		NetTot = parseInt(NetTot1)+parseInt(NetTot2)+parseInt(NetTot3);
		
		if(budgetTot >0)
			forecastPerTot = Math.round(parseInt(NetTot) / parseInt(budgetTot) * 100 * 100)/100;
		else
			forecastPerTot = 0;
			
	 	document.getElementById("RC_EXEC_"+rc+"_"+brand+"_TOTAL").innerHTML=formatCurrency(tot);
	 	document.getElementById("RC_EXEC_"+rc+"_"+brand+"_FORECAST_TO_PLAN").innerHTML=forecastPer+"%";
		
	 	document.getElementById("RC_EXEC_TOT_MONTH_"+month1).innerHTML=formatCurrency(NetTot1);
	 	document.getElementById("RC_EXEC_TOT_MONTH_"+month2).innerHTML=formatCurrency(NetTot2);
	 	document.getElementById("RC_EXEC_TOT_MONTH_"+month3).innerHTML=formatCurrency(NetTot3);
	 	document.getElementById("RC_EXEC_TOT_TOTAL").innerHTML=formatCurrency(NetTot);
	 	document.getElementById("RC_EXEC_TOT_FORECAST_TO_PLAN").innerHTML=forecastPerTot+"%";
		
		document.getElementById('prepage').style.visibility = "hidden";
	//	for (i=0;i<limit;i++) {
	//      document.forecast.elements[i].disabled = false;
	//    }
		document.getElementById("eumsg").innerHTML="&nbsp;";
	}
	else
		document.getElementById("eumsg").innerHTML="Not completed successfully";
}

function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
		num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + '$' + num);
}
