// JavaScript Document


//Function qui saisi la page 
function formHandler(form){
	var URL = document.form.RetailerCity.options[document.form.RetailerCity.selectedIndex].value;
	window.location.href = URL;
	}

//function qui saisi la variable passe dans le URL
function getParams() {
	var idx = document.URL.indexOf('?');
	var params = new Array();
	if (idx != -1) {
	var pairs = document.URL.substring(idx+1, document.URL.length).split('&');
	for (var i=0; i<pairs.length; i++) {
	nameVal = pairs[i].split('=');
	params[nameVal[0]] = nameVal[1];
	   }
	}
	return params;
	}
	params = getParams();
	//variables qui selectionne la ville et le retail store
	RetailerCity = unescape(params["RetailerCity"]);
	RetailerHead = unescape(params["H"]);
	RetailerLang = unescape(params["lang"]);
	
var xmlDoc;

// FONCTION QUI CHARGE LA PAGE XML EN MEMOIRE
function loadXmlDoc()
{	
  try
  {
	//POUR SAFARI
	if (jQuery.browser.safari) 
	{
 		req = new XMLHttpRequest();
		req.open("GET", "/cable/system/modules/com.equisoft.cogeco.customersupport/resources/xml/retail_o.xml", true);
		req.send(null);
		req.onreadystatechange = function() {
			if (req.readyState == 4) {
				xmlDoc = req.responseXML;
				getXmlData();
			}
		}
	}
	//POUR EXPLORER
	else if (window.ActiveXObject)
	{
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async = false;
		xmlDoc.load("/cable/system/modules/com.equisoft.cogeco.customersupport/resources/xml/retail_o.xml");
		getXmlData();
	}
	//POUR FIREFOX ET AUTRES
	else if (document.implementation && document.implementation.createDocument)	
	{
		xmlDoc = document.implementation.createDocument("","",null);
		xmlDoc.load("/cable/system/modules/com.equisoft.cogeco.customersupport/resources/xml/retail_o.xml");
		xmlDoc.onload=getXmlData;
	}
  }
  catch(err)
  {
	document.getElementById("box").innerHTML = "XML data is unavailable";
  }	
}

function getXmlData()
{
  if (RetailerCity != "undefined") 
  {
  // cherche chaque <city> element nodes.
  var nodeList = xmlDoc.getElementsByTagName("city");
  var nodeList2 = xmlDoc.getElementsByTagName("storename");
  // Declare trois variables.
  // pour le Storefornt, bureau general, pour afficher les details du storefront et les details du bureau chef
  var store, office, dataT="";
  if (RetailerLang == "en")
  	{
		// insere les images pour la section anglaise
		var data = "<P><img src='/cable/system/modules/com.equisoft.cogeco.customersupport/resources/images/retail_retailpartners_en.jpg' alt='Retails partners'>", data2 = "<img src='/cable/system/modules/com.equisoft.cogeco.customersupport/resources/images/retail_storefront_en.jpg' alt='Storefront'>";
	}
  else if (RetailerLang == "fr")
  	{
		// insere les images pour la section francaise
		var data = "<P><img src='/cable/system/modules/com.equisoft.cogeco.customersupport/resources/images/retail_retailpartners_fr.jpg' alt='D�taillants'>", data2 = "<img src='/cable/system/modules/com.equisoft.cogeco.customersupport/resources/images/retail_storefront_fr.jpg' alt='Point de vente Cogeco'>";
	}
  //***********************************************************************
  //AFFICHE STOREFRONT
  //***********************************************************************
  // Loop a travers tout les elements du node <storename>
  for(i=0; i< nodeList2.length; i++)
  {
    // Test la valeur du texte node pour qu'il match a la requete.
    if(nodeList2[i].firstChild.nodeValue == "<B>Cogeco</B>")  
    {
      // Enregistre l'info de <store> parent node qui match avec le requete de l'element <storename>
      store = nodeList2[i].parentNode;		
      // Loop a travers tout les child nodes contenu dans l'element <store>
      for( j = 0; j < store.childNodes.length; j++ )
      {		
		// Match seulement le contenu du element node <storename> et du id pour la region.
        if( (store.childNodes[j].nodeType ==1) && (store.getAttribute("id")==RetailerHead) && (store.getAttribute("lang")==RetailerLang) )
        {
          // Ajoute l'info. trouve pour node value (cogeco). 
          data2 += "<dt class=noirpetit>"+ store.childNodes[j].firstChild.nodeValue;          
        }	
      }	  
    }	
  }
  //insere une ligne entre le bloc storefront et les partners  
  data2 += "<P><img src=/cable/system/modules/com.equisoft.cogeco.customersupport/resources/images/dot_line_ccccccc.jpg>";
  //***********************************************************************
  //AFFICHE LOCAL RETAILERS
  //***********************************************************************
  // Loop a travers tout les elements du node <city>
  for(i=0; i< nodeList.length; i++)
  {
    // Test la valeur du texte node pour qu'il match a la requete.
    if(nodeList[i].firstChild.nodeValue == RetailerCity)  
    {
      // Enregistre l'info de <store> parent node qui match avec le requete de l'element <city>
      store = nodeList[i].parentNode;		
      // Loop a travers tout les child nodes contenu dans l'element <store>
      for( j = 0; j < store.childNodes.length; j++ )
      {		
		// selectionne seulement le contenu de <city> element node ou id=1 et en fonction de la langue choisi.
        if( (store.childNodes[j].nodeType ==1) && (store.getAttribute("id")==1) && (store.getAttribute("lang")==RetailerLang) )
        {
          // Ajout les information trouve pour chaque ville. 
          data += "<dt class='noirpetit'>"+ store.childNodes[j].firstChild.nodeValue;         
        }			
      }
	  // Ajoute un paragraphe apres chaque ville trouve 		
		data += "<p>";
    }
  }
  dataT += data2;
  dataT += data;
  //***********************************************************************
  //***********************************************************************
  // Ajoute les info trouve dans l'element box pour l'affiche sur la page HTML.
  document.getElementById("box").innerHTML = dataT;
  }
}

window.onload=loadXmlDoc;
