	
	var reportObj;
	function SAPReport()
	{
		var companyId = null;
		var companyName = null;		
		var creditTerms = null;
		var creditLimit = null;
		var currencyCode = null;
		var balance = null;
		var agingCurrency = null;		
		//this array saved as sapReportItem
		var sapReportAr = null;
	}
	function SAPReportItem ()
	{
		var code = null;
		var name = null;
		var amount = null;
	}
//---------------------------------------------------------------------------------------------------------
	function readSAPReportXML(cardCode)
	{
	   var xmlHttp = ajaxInit();
		xmlHttp.onreadystatechange = function() {
			if (xmlHttp.readyState == 4) {
				if(chkError(xmlHttp.responseXML))
				{
					laodSAPReport(xmlHttp.responseXML)
				}
			}
		};
		xmlHttp.open("GET", "/admin/approval.ashx?f=getAging&cardCode="+cardCode, true);		
		xmlHttp.send(null);
		return false;
	}	
//---------------------------------------------------------------------------------------------------------
	function laodSAPReport (docXML)
	{	
		if (docXML.documentElement.tagName != "SAPAging")
		{	
			return false;
		}		
		var rootXML = docXML.documentElement.childNodes[0];	
		var rootXML2 = docXML.documentElement.childNodes[1];
		
		//create sapReport object
		var sapReportObj = new SAPReport ();
		
		//getting company data
		if(rootXML.tagName != null)
		{
			sapReportObj.companyId = rootXML.childNodes[0].childNodes[0].nodeValue;
			sapReportObj.companyName =URLDecode(rootXML.childNodes[1].childNodes[0].nodeValue);
			sapReportObj.creditTerms = URLDecode(rootXML.childNodes[2].childNodes[0].nodeValue);
			sapReportObj.creditLimit = rootXML.childNodes[3].childNodes[0].nodeValue;
			sapReportObj.currencyCode = rootXML.childNodes[4].childNodes[0].nodeValue;
			sapReportObj.balance = rootXML.childNodes[5].childNodes[0].nodeValue;
			sapReportObj.agingCurrency = rootXML.childNodes[6].childNodes[0].nodeValue;			
		}		
		
		//getting aging Data, into a object array
		sapReportObj.sapReportAr = new Array();		
		for (var counter = 0 ; counter < 5; counter ++)
		{	
		    var sapItem = new SAPReportItem ();
			if (rootXML2.childNodes[0].tagName == "interval")
			{	
				sapItem.code = rootXML2.childNodes[counter].childNodes[0].childNodes[0].nodeValue;
				sapItem.name = URLDecode(rootXML2.childNodes[counter].childNodes[1].childNodes[0].nodeValue);
				sapItem.amount = rootXML2.childNodes[counter].childNodes[2].childNodes[0].nodeValue;
			}			
			//assign array as object's array
			sapReportObj.sapReportAr[counter] = sapItem;
		}
		//getting total
		if (docXML.documentElement.childNodes[1].tagName == "total")
		{
			sapReportObj.total = docXML.documentElement.childNodes[1].childNodes[0].nodeValue;
		}	
		//assing object into global variable
		reportObj = sapReportObj;
		//draw dynamic div
		drawSAPReport();
		//display report
		displaySAPReport();
	}
//---------------------------------------------------------------------------------------------------------
	function drawSAPReport ()
	{			
		if (document.getElementById('divSAPReport')) {
			document.getElementById('divSAPReport').parentNode.removeChild(document.getElementById('divSAPReport'));
		}
		//create dyanmic div with position
		var divSAPReport = document.createElement("div");
		divSAPReport.setAttribute('id','divSAPReport');
		divSAPReport.setAttribute('style','position:fixed;z-index:99; border:1px solid #0079c2;font-size:12px;');
		divSAPReport.style.bottom="50%";
		divSAPReport.style.right="5%";
		
		var tabSAPReport = document.createElement("table");
		tabSAPReport.setAttribute('id','tabSAPReport');
		tabSAPReport.setAttribute('class','prodTableWhite');
		tabSAPReport.setAttribute('style','border:1px;color:black;');
			//close Div
			var tr = document.createElement("tr");
			tr.setAttribute('style','text-align:right;color:red;font-weight:bold;');
				var td = document.createElement("td");
				td.setAttribute('onclick','closeSAPReportDiv();');
				td.setAttribute('style','padding:5px;');
				var a = document.createElement("a");
				a.setAttribute('style','color:red;font-weight:bold;cursor:pointer;');
				a.appendChild(document.createTextNode("Close"));
				td.appendChild(a);
				tr.appendChild(td);
			tabSAPReport.appendChild(tr);
			//company Name, its code
			var tr = document.createElement("tr");	
				var td = document.createElement("td");
				td.setAttribute('id','companyInfo');
				tr.appendChild(td);
			tabSAPReport.appendChild(tr);
			//terms, credit limit....
			var tr = document.createElement("tr");	
				var td = document.createElement("td");
				td.setAttribute('id','terms');
				tr.appendChild(td);
			tabSAPReport.appendChild(tr);
			//range
			var tr = document.createElement("tr");
			tr.setAttribute('style','height:20px;');
				var td = document.createElement("td");
				td.setAttribute('id','range');
				tr.appendChild(td);
			tabSAPReport.appendChild(tr);			
		divSAPReport.appendChild(tabSAPReport);
		document.body.appendChild(divSAPReport);		
	}
//---------------------------------------------------------------------------------------------------------
	function displaySAPReport ()
	{
		//company Name
		var p = document.createElement("p");
			p.setAttribute('style','width:600px; padding-left:5px;height:5px;');
			var span = document.createElement("span");
			span.appendChild(document.createTextNode("Company Name: "));
			p.appendChild(span);
			var span = document.createElement("span");
			span.setAttribute('style','color:#0079c2; font-weight:bold;');
			span.appendChild(document.createTextNode(reportObj.companyName));
			p.appendChild(span);
		//spacing
			var spacing = document.createElement("span");
			spacing.setAttribute('style','padding-left:20px;');
			p.appendChild(spacing);
		//companyId
			var span = document.createElement("span");
			span.appendChild(document.createTextNode("Company Id: "));
			p.appendChild(span);
			var span = document.createElement("span");
			span.setAttribute('style','color:#0079c2; font-weight:bold;');
			span.appendChild(document.createTextNode(reportObj.companyId));
			p.appendChild(span);		
		document.getElementById('companyInfo').appendChild(p);
		
		//company Name, its code
		var p = document.createElement("p");
			p.setAttribute('style','padding-left:5px;height:5px;');
			var span = document.createElement("span");
			span.appendChild(document.createTextNode("Credit Terms: "));
			p.appendChild(span);
			var span = document.createElement("span");
			span.setAttribute('style','color:#0079c2; font-weight:bold;');
			span.appendChild(document.createTextNode(reportObj.creditTerms));
			p.appendChild(span);
		//spacing
			var spacing = document.createElement("span");
			spacing.setAttribute('style','padding-left:20px;');
			p.appendChild(spacing);
		//companyId
			var span = document.createElement("span");
			span.appendChild(document.createTextNode("Credit Limit: "));
			p.appendChild(span);
			var span = document.createElement("span");
			span.setAttribute('style','color:#0079c2; font-weight:bold;');
			span.appendChild(document.createTextNode(formatCurrency(reportObj.creditLimit)));
			p.appendChild(span);		
		//spacing
			var spacing = document.createElement("span");
			spacing.setAttribute('style','padding-left:20px;');
			p.appendChild(spacing);
		//currency code
			var span = document.createElement("span");
			span.appendChild(document.createTextNode("Currency Code: "));
			p.appendChild(span);
			var span = document.createElement("span");
			span.setAttribute('style','color:#0079c2; font-weight:bold;');
			span.appendChild(document.createTextNode(reportObj.currencyCode));
			p.appendChild(span);
		//spacing
			var spacing = document.createElement("span");
			spacing.setAttribute('style','padding-left:20px;');
			p.appendChild(spacing);
		//total balance		
			var span = document.createElement("span");
			span.appendChild(document.createTextNode("Total Balance: "));
			p.appendChild(span);
			var span = document.createElement("span");
			span.setAttribute('style','color:red; font-weight:bold;');
			span.appendChild(document.createTextNode(formatCurrency(reportObj.balance)));
			p.appendChild(span);			
		document.getElementById('terms').appendChild(p);
			
		//range	and amount
		var table = document.createElement('table');
		table.setAttribute('style','padding:5px;border:solid 1px #0079c2;text-align:center');
		var tr = document.createElement('tr');
		tr.setAttribute('style','padding:5px;border:solid 1px #0079c2;');
		for (var counter = 0; counter < 5; counter ++)
		{
			var td = document.createElement('td');
			td.setAttribute('style','width:110px;padding:5px;border:solid 1px #0079c2;');
			td.appendChild(document.createTextNode(reportObj.sapReportAr[counter].name + " Days"));
			tr.appendChild(td);
		}
		table.appendChild(tr);		
		var tr = document.createElement('tr');
		for (var counter = 0; counter < 5; counter ++)
		{
			var td = document.createElement('td');
			td.setAttribute('style','width:105px; font-weight:bold;padding:5px;border:solid 1px #0079c2;');
			td.appendChild(document.createTextNode(reportObj.agingCurrency + ": " + formatCurrency(reportObj.sapReportAr[counter].amount)));
			tr.appendChild(td);
		}		
		table.appendChild(tr);
		document.getElementById('range').appendChild(table);	
	}
//---------------------------------------------------------------------------------------------------------
	function closeSAPReportDiv()
	{
		if (document.getElementById('divSAPReport')) {
				document.getElementById('divSAPReport').parentNode.removeChild(document.getElementById('divSAPReport'));
			}
	}
//---------------------------------------------------------------------------------------------------------
function formatCurrency (amount)
	{	
		//amount is zero not need to insert ','
		if (amount == 0)
		{
			amount = '-'
			return amount;
		}
		// replace comma
		var delimiter = ","; 
		var a, tempDecimal;
		a = amount.split('.',2)		
		tempDecimal = a[1];
		var integer = parseInt(a[0]);		
		var minus = '';		
		integer = Math.abs(integer);
		var number = new String(integer);
		var a = [];
		while(number.length > 3)
		{
			var nn = number.substr(number.length-3);
			a.unshift(nn);
			number = number.substr(0,number.length-3);
		}
		if(number.length > 0) { a.unshift(number); }
		number = a.join(delimiter);
		//if the number is Full Integer, not need to combine with tempDecimal
		if(isNaN(tempDecimal))
		{					
			amount = number; 
		}
		else
		{		
			amount = number + '.' + tempDecimal;
		}		
		return amount;
	}
//---------------------------------------------------------------------------------------------------------
