/*Fonction ajax post*/
function goajaxPost(page, func)
{
    if(window.XMLHttpRequest)
      {
        theRequest = new XMLHttpRequest();
        if(theRequest.overrideMimeType)
          {
            theRequest.overrideMimeType('text/html; charset=ISO-8859-1');
          }
      }
    else if(window.ActiveXObject)
      {
        try
          {
            theRequest = new ActiveXObject("Msxml2.XMLHTTP");
          } catch (e) {
            try
              {
                theRequest = new ActiveXObject("Microsoft.XMLHTTP");
              } catch (e) {}
          }
      }
    if(!theRequest)
      {
        alert('Error: could not create XMLHTTP object.');
        return false;
      }
    theRequest.onreadystatechange = func;
    theRequest.open('POST', page, true);
    theRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    var str = "";
    for (var i = 0; document.forms[0].elements[i]; i++)
    {	
	if (document.forms[0].elements[i].type!="radio")
	{	str += document.forms[0].elements[i].name+"="+escape(document.forms[0].elements[i].value)+"&";		}
	else //si radiobutton : alors la valeur est celle qui a été cochée
	{
		if (document.forms[0].elements[i].checked==true)
		{	str += document.forms[0].elements[i].name+"="+escape(document.forms[0].elements[i].value)+"&";		}
	}
    }
    theRequest.send(str+null);
}
function parseResponse(div, content) //reinterprete le javascript situé dans content et place la réponse de la page dans le div
{
	var elem = document.getElementById(div);
	if (elem)
	{
		elem.innerHTML = content;
		var scripts	= elem.getElementsByTagName('script');
		for (i = 0; i < scripts.length; i++)
		{
			var newScript = document.createElement('script');
			for (j = 0; j < scripts[i].attributes.length; j++)
			{
				if (typeof(scripts[i].attributes[j]) != 'undefined'
					&& typeof(scripts[i].attributes[j].nodeName) != 'undefined'
					&& scripts[i].attributes[j].nodeValue != null
					&& scripts[i].attributes[j].nodeValue != '')
					newScript.setAttribute(scripts[i].attributes[j].nodeName, scripts[i].attributes[j].nodeValue);
			}
			newScript.text = scripts[i].text;
			scripts[i].parentNode.replaceChild(newScript, scripts[i]);
		}
	}
	return false;
}

/*Affiche dans le div infos_objet les informations sur l'objet dont l'id est passé en paramètre*/
function aff_objet(id_objet,titre)
{
	//~ document.getElementById('infos_objet').innerHTML="";
	var nav_path=document.getElementById('nav_path').value;
	var album=document.getElementById('album').value;

	var url=nav_path+"/inc.album_ajax.php?action=aff_objet&album="+album+"&id_objet="+id_objet;
	if (titre!="") { url+="&titre="+escape(titre); }
	//~ alert(url);
	goajaxPost(url,pt_fonction_ao);
}
pt_fonction_ao = function apres_ao()
{
	if (theRequest.readyState != 4 || theRequest.status != 200) return (false);
	var codehtml=theRequest.responseText;
	parseResponse('infos_objet',codehtml);
	aff_subzone(0); //affiche le sous menu
}


/*Affiche dans le cadre (div subzone), en dessous des informations sur l'objet soit les commentaires liés à cet objet si id_objet!=0, sinon quelques infos (dernier objet commenté etc)*/
function aff_subzone(id_objet)
{
	//~ document.getElementById('subzone').innerHTML="";
	var nav_path=document.getElementById('nav_path').value;
	var album=document.getElementById('album').value;
	var categorie=document.getElementById('categorie').value;

	var url=nav_path+"/inc.album_ajax.php?action=aff_subzone&album="+album+"&id_objet="+id_objet;
	if (id_objet!=0)   { url+="&id_objet="+id_objet; } //pour les commentaires
	if (categorie!="") { url+="&categorie="+categorie; } //pour les commentaires
	//~ alert(url);
	goajaxPost(url,pt_fonction_as);
}
pt_fonction_as = function apres_as()
{
	if (theRequest.readyState != 4 || theRequest.status != 200) return (false);
	var codehtml=theRequest.responseText;
	parseResponse('subzone',codehtml);
}


/*Note un objet*/
function note_star_submit(id_objet,nb)
{
	//~ document.getElementById('infos_objet').innerHTML="";
	var nav_path=document.getElementById('nav_path').value;
	var album=document.getElementById('album').value;

	var url=nav_path+"/inc.album_ajax.php?action=noter_objet&album="+album+"&id_objet="+id_objet+"&note="+nb;
	//~ alert(url);
	goajaxPost(url,pt_fonction_ao);
}

