function loadXMLDoc(dname){   
    var xmlDoc;
    try{
    if (window.XMLHttpRequest){
        xmlDoc=new window.XMLHttpRequest();
        xmlDoc.open("GET",dname,false);
        xmlDoc.send("");
        return xmlDoc.responseXML;
    }
    // IE 5 and IE 6
    else if (ActiveXObject){
        try{
        xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async=false;
        xmlDoc.load(dname);
        }catch(e){alert(e.description);}
        return xmlDoc;
    }
    }
    catch(ee){alert(dname); alert("Error loading XML document"+ee.description);}
    return null;
}

function getSet(xml, origin){
    if (origin == undefined){
        origin = "NA";
    }
    var xmlDoc = loadXMLDoc(xml);
    var tmp = new Array();
    var ch=xmlDoc.getElementsByTagName("set");
    var val;
    tmp.push(origin);
    for (i=0; i<ch.length; i++){
        val=ch[i].getAttribute("toolText");
        tmp.push(val.substring(0,val.length-1));
    }
    return tmp;
}

function getHead(xml){
    var xmlDoc = loadXMLDoc(xml);
    var tmp = new Array();
    var ch=xmlDoc.getElementsByTagName("set");
    for (i=0; i<ch.length; i++){
        tmp.push(ch[i].getAttribute("label"));
    }
    //alert(tmp);
    return tmp;
}

var _data = new Array();
var header = new Array();

function FC_Rendered(domId){			
    if (domId=="chart1Id"){			
	    this.document.productSelector.disabled = false;
		chartLoaded = true;
		var chartObj = getChartFromId(domId);
		chartObj.setDataXML(generateXML(true));
	    }			
	return true;			
}

function updateChart(domId){			
    if (chartLoaded){
        var chartObj = getChartFromId(domId);
        chartObj.setDataXML(generateXML(this.document.productSelector.AnimateChart.checked));
	}
}

function generateXML(cmpx, cmpy){			
    var strXML;
    strXML = "<chart caption='Compare "+cmpx + " to " + cmpy +"'"+ "decimals='2' formatNumberScale='0' animation='0' showValues='0' toolText='0' useRoundEdges='1' numberPostfix='%'>";
	strXML = strXML + "<categories>";
    for (h=0; h<header.length; h++){
        strXML = strXML + "<category name='" + header[h] + "' />";
    }	
    strXML = strXML + "</categories>";
			
    strXML = strXML + getProductXML(0);
    strXML = strXML + getProductXML(1);
    strXML = strXML + "<trendlines><line startValue='26000' color='91C728' displayValue='Target' showOnTop='1'/></trendlines><styles><definition><style name='CanvasAnim' type='animation' param='_xScale' start='0' duration='1' /></definition><application><apply toObject='Canvas' styles='CanvasAnim' /></application></styles>"
    strXML = strXML + "</chart>";
			
    return strXML;			
}

function getProductXML(productIndex){		
    var productXML; 
    productXML = "<dataset seriesName='" + _data[productIndex][0] + "' >";			
    for (var i=1; i<=_data[productIndex].length; i++){
        productXML = productXML + "<set value='" + _data[productIndex][i] + "' />";
    }
    productXML = productXML + "</dataset>";
    return productXML;			
}

var header;

function merge_xml(x1, x2, cmpx, cmpy)
{
_data.push(getSet(x1, cmpx));
_data.push(getSet(x2, cmpy));
header=getHead(x1);
var retval=generateXML(cmpx, cmpy);
_data=new Array();
return retval;
}

