var xhr = new XHRConnection();
var xml = xhr.createXMLObject();

function recalc(p)
{
	tf = 0;
	tr = 0;
	tc = 0;

	if (xml)
	{
		if (f = document.getElementById('f'))
		{
            if (document.getElementById('f').options.length > 0){
                f = document.getElementById('f').options[document.getElementById('f').options.selectedIndex].value;
                structures = xml.getElementsByTagName('structure');
                for (i=0; i<structures.length; i++)
                {
                    if (structures[i].getAttribute('no') == f)
                    {
                        tf = structures[i].getAttribute('prix');
                    }
                }
            }
		}
		
		if (document.getElementById('r'))
		{
            if (document.getElementById('r').options.length > 0){
                r = document.getElementById('r').options[document.getElementById('r').options.selectedIndex].value;
                revetements = xml.getElementsByTagName('revetement');
                for (i=0; i<revetements.length; i++)
                {
                    if (revetements[i].getAttribute('no') == r)
                    {
                        tr = revetements[i].getAttribute('prix');
                    }
                }
            }
		}
		
		if (document.getElementById('c'))
		{
            if(document.getElementById('c').options.length > 0){
                c = document.getElementById('c').options[document.getElementById('c').options.selectedIndex].value;
                couleurs = xml.getElementsByTagName('couleur');
                for (i=0; i<couleurs.length; i++)
                {
                    if (couleurs[i].getAttribute('no') == c)
                    {
                        tc = couleurs[i].getAttribute('prix');
                    }
                }
            }
		}
		total = Math.round(((p*(100+Number(tf))/100)*(100+Number(tr))/100)*(100+Number(tc))/100);
        return total;
	}
	return 0;
}

function emptyList(id)
{
	while (document.getElementById(id).options.length > 0)
	{
		document.getElementById(id).options[document.getElementById(id).options.length-1] = null;
	}
}

function hdlf()
{
	f = this.options[this.options.selectedIndex].value;
	tf = 0;
	tr = 0;
	tc = 0;

	if (xml)
	{
		structures = xml.getElementsByTagName('structure');
		//on charge les structures
		for (i=0; i<structures.length; i++)
		{
			if (structures[i].getAttribute('no') == f)
			{
				//on charge les revetements
				if (document.getElementById('r'))
				{
					revetements = structures[i].getElementsByTagName('revetement');
					emptyList('r');
					for (k=0; k<revetements.length; k++)
					{
						document.getElementById('r').options[document.getElementById('r').options.length]=
						new Option(
							revetements[k].getAttribute('lib'),
							revetements[k].getAttribute('no'),
							false,
							false
							);
					}
					//on charge les couleurs
					if (document.getElementById('c'))
					{
						couleurs = revetements[0].getElementsByTagName('couleur');
						emptyList('c');
						for (k=0; k<couleurs.length; k++)
						{
							document.getElementById('c').options[document.getElementById('c').options.length]=
							new Option(
								couleurs[k].getAttribute('lib'),
								couleurs[k].getAttribute('no'),
								false,
								false
								);
						}
					}
				}
			}
		}
		document.getElementById('prix').innerHTML = (recalc(productPrice));
	}
	/*else
	{
		window.location.href = 'fiche.php?id='+productId+'&f='+f;
	}*/
}

function hdlr()
{
	f = document.getElementById('f').options[document.getElementById('f').options.selectedIndex].value;
	r = this.options[this.options.selectedIndex].value;
	if (xml)
	{
		structures = xml.getElementsByTagName('structure');
		//on charge les structures
		for (i=0; i<structures.length; i++)
		{
			if (structures[i].getAttribute('no') == f)
			{
				revetements = structures[i].getElementsByTagName('revetement');
				//on charge les revetements
				for (j=0; j<revetements.length; j++)
				{
					if (revetements[j].getAttribute('no') == r)
					{
						//on charge les couleurs s'il y en a
						if (!document.getElementById('c')){
                        
                        }
						if (document.getElementById('c'))
						{
							couleurs = revetements[j].getElementsByTagName('couleur');
							
							//vidage de la liste des couleurs
							emptyList('c');
							for (k=0; k<couleurs.length; k++)
							{
								document.getElementById('c').options[document.getElementById('c').options.length]=
								new Option(
									couleurs[k].getAttribute('lib'),
									couleurs[k].getAttribute('no'),
									false,
									false
									);
							}
						}
					}
				}
			}
		}
		document.getElementById('prix').innerHTML = (recalc(productPrice));
	}
	/*else
	{
		window.location.href = 'fiche.php?id='+productId+'&f='+f+'&r='+r;
	}*/
}

function hdlc()
{
	f = document.getElementById('f').options[document.getElementById('f').options.selectedIndex].value;
	r = document.getElementById('r').options[document.getElementById('r').options.selectedIndex].value;
	c = this.options[this.options.selectedIndex].value;
	if (xml)
	{
		document.getElementById('prix').innerHTML = (recalc(productPrice));
	}
	/*else
	{
		window.location.href = 'fiche.php?id='+productId+'&f='+f+'&r='+r+'&c='+c;
	}*/
}

function init()
{
    //bodyElt = document.getElementsByTagName('body')[0];
    if (xhr)
	{
		xhr.setXMLObject(xml);
        //AddClass(bodyElt, 'wait');
        xhr.sendAndLoad("/syndication/xml-options.php?id="+productId, "GET", null);
		//alert("/syndication/xml-options.xml");
        //xhr.sendAndLoad("/syndication/xml-options.xml", "GET");
        //KillClass(bodyElt, 'wait');
	}
	if (document.getElementById('f'))
	{
		document.getElementById('f').onchange = hdlf;
	}
	if (document.getElementById('r'))
	{
		document.getElementById('r').onchange = hdlr;
        //document.getElementById('r').onchange();
	}
	if (document.getElementById('c'))
	{
		document.getElementById('c').onchange = hdlc;
        //document.getElementById('c').onchange();
	}
}

//window.onload = init;
//AttachEvent(window,'load',init,false);
addLoadEvent(init);