﻿//
// date: 2008/03/05
//
// jilusan@sympatico.ca
//

var markers = [];
var htmls = [];		
var	hits = [];
var map;			

// These variables are for saving the original background colors
var savedStates=new Array();
var savedStateCount=0;

/////////////////////////////////////////////////////
// This function takes an element as a parameter and 
//   returns an object which contain the saved state
//   of the element's background color.
/////////////////////////////////////////////////////
function saveBackgroundStyle(myElement)
{
  saved=new Object();
  saved.element=myElement;
  saved.className=myElement.className;
  saved.backgroundColor=myElement.style["backgroundColor"];
  return saved;   
}

/////////////////////////////////////////////////////
// This function takes an element as a parameter and 
//   returns an object which contain the saved state
//   of the element's background color.
/////////////////////////////////////////////////////
function restoreBackgroundStyle(savedState)
{
  savedState.element.style["backgroundColor"]=savedState.backgroundColor;
  if (savedState.className)
  {
    savedState.element.className=savedState.className;    
  }
}

/////////////////////////////////////////////////////
// This function is used by highlightTableRow() to find table cells (TD) node
/////////////////////////////////////////////////////
function findNode(startingNode, tagName)
{
  // on Firefox, the TD node might not be the firstChild node of the TR node
  myElement=startingNode;
  var i=0;
  while (myElement && (!myElement.tagName || (myElement.tagName && myElement.tagName!=tagName)))
  {
    myElement=startingNode.childNodes[i];
    i++;
  }  
  if (myElement && myElement.tagName && myElement.tagName==tagName)
  {
    return myElement;
  }
  // on IE, the TD node might be the firstChild node of the TR node  
  else if (startingNode.firstChild)
    return findNode(startingNode.firstChild, tagName);
  return 0;
}

/////////////////////////////////////////////////////
// Highlight table row.
// newElement could be any element nested inside the table
// highlightColor is the color of the highlight
/////////////////////////////////////////////////////
function highlightTableRow(myElement, highlightColor)
{
  var i=0;
  // Restore color of the previously highlighted row
  for (i; i<savedStateCount; i++)
  {
    restoreBackgroundStyle(savedStates[i]);          
  }
  savedStateCount=0;

  // To get the node to the row (ie: the <TR> element), 
  // we need to traverse the parent nodes until we get a row element (TR)
  // Netscape has a weird node (if the mouse is over a text object, then there's no tagName
  while (myElement && ((myElement.tagName && myElement.tagName!="TR") || !myElement.tagName))
  {
    myElement=myElement.parentNode;
  }

  // If you don't want a particular row to be highlighted, set it's id to "header"
  // If you don't want a particular row to be highlighted, set it's id to "header"
  if (!myElement || (myElement && myElement.id && myElement.id=="header") )
    return;
		  
  // Highlight every cell on the row
  if (myElement)
  {
    var tableRow=myElement;
    
    // Save the backgroundColor style OR the style class of the row (if defined)
    if (tableRow)
    {
	  savedStates[savedStateCount]=saveBackgroundStyle(tableRow);
      savedStateCount++;
    }

    // myElement is a <TR>, then find the first TD
    var tableCell=findNode(myElement, "TD");    

    var i=0;
    // Loop through every sibling (a sibling of a cell should be a cell)
    // We then highlight every siblings
    while (tableCell)
    {
      // Make sure it's actually a cell (a TD)
      if (tableCell.tagName=="TD")
      {
        // If no style has been assigned, assign it, otherwise Netscape will 
        // behave weird.
        if (!tableCell.style)
        {
          tableCell.style={};
        }
        else
        {
          savedStates[savedStateCount]=saveBackgroundStyle(tableCell);        
          savedStateCount++;
        }
        // Assign the highlight color
        tableCell.style["backgroundColor"]=highlightColor;

        // Optional: alter cursor
        tableCell.style.cursor='default';
        i++;
      }
      // Go to the next cell in the row
      tableCell=tableCell.nextSibling;
    }
  }
}

/////////////////////////////////////////////////////
// This function is to be assigned to a <table> mouse event handler.
// If the element that fired the event is within a table row,
//   this function will highlight the row.
/////////////////////////////////////////////////////
function trackTableHighlight(mEvent, highlightColor)
{
  if (!mEvent)
    mEvent=window.event;
		
  // Internet Explorer
  if (mEvent.srcElement)
  {
    highlightTableRow( mEvent.srcElement, highlightColor);
  }
  // Netscape and Firefox
  else if (mEvent.target)
  {
    highlightTableRow( mEvent.target, highlightColor);		
  }
}

/////////////////////////////////////////////////////
// Highlight table row.
// newElement could be any element nested inside the table
// highlightColor is the color of the highlight
/////////////////////////////////////////////////////
function highlightTableRowVersionA(myElement, highlightColor)
{
  var i=0;
  // Restore color of the previously highlighted row
  for (i; i<savedStateCount; i++)
  {
    restoreBackgroundStyle(savedStates[i]);          
  }
  savedStateCount=0;

  // If you don't want a particular row to be highlighted, set it's id to "header"
  if (!myElement || (myElement && myElement.id && myElement.id=="header") )
    return;
		  
  // Highlight every cell on the row
  if (myElement)
  {
    var tableRow=myElement;
    
    // Save the backgroundColor style OR the style class of the row (if defined)
    if (tableRow)
    {
	  savedStates[savedStateCount]=saveBackgroundStyle(tableRow);
      savedStateCount++;
    }

    // myElement is a <TR>, then find the first TD
    var tableCell=findNode(myElement, "TD");    

    var i=0;
    // Loop through every sibling (a sibling of a cell should be a cell)
    // We then highlight every siblings
    while (tableCell)
    {
      // Make sure it's actually a cell (a TD)
      if (tableCell.tagName=="TD")
      {
        // If no style has been assigned, assign it, otherwise Netscape will 
        // behave weird.
        if (!tableCell.style)
        {
          tableCell.style={};
        }
        else
        {
          savedStates[savedStateCount]=saveBackgroundStyle(tableCell);        
          savedStateCount++;
        }
        // Assign the highlight color
        tableCell.style["backgroundColor"]=highlightColor;

        // Optional: alter cursor
        tableCell.style.cursor='default';
        i++;
      }
      // Go to the next cell in the row
      tableCell=tableCell.nextSibling;
    }
  }
}

var baseIcon = new GIcon();

baseIcon.iconSize = new GSize(20, 20);
baseIcon.iconAnchor = new GPoint(6, 20);
baseIcon.infoWindowAnchor = new GPoint(5, 1);

function createMarker(point, i, html, ref) {
	var icon = new GIcon(baseIcon);	
	icon.image = "http://www.mapemploiquebec.com/code/markers/markerEQ.png";
	var marker = new GMarker(point, icon);		
	GEvent.addListener(marker, "click", function() {
	marker.openInfoWindowHtml(html);
	});
	markers[i] = marker;
	htmls[i] = html;
	return marker;
}

function createMarkerEQ(point, i, html, ref) {
	var icon = new GIcon(baseIcon);	
	icon.image = "http://www.mapemploiquebec.com/code/markers/markerEQ.png";
	var marker = new GMarker(point, icon);		
	GEvent.addListener(marker, "click", function() {
	marker.openInfoWindowHtml(html);
	});
	markers[i] = marker;
	htmls[i] = html;
	return marker;
}

function createMarkerTag(point, i, html, ref) {
	var icon = new GIcon(baseIcon);	
	icon.image = "http://www.mapemploiquebec.com/code/markers/markerTag.png";
	var marker = new GMarker(point, icon);		
	GEvent.addListener(marker, "click", function() {
	marker.openInfoWindowHtml(html);
	});
	markers[i] = marker;
	htmls[i] = html;
	return marker;
}


function createMarkerFiche(point, i, html,annonce) {
	var icon = new GIcon(baseIcon);
	if(annonce>0)
		icon.image = "http://www.mapemploiquebec.com/code/markers/markerCE.png";
	else
		icon.image = "http://www.mapemploiquebec.com/code/markers/markerFiche.png";	
	var marker = new GMarker(point, icon);		
	GEvent.addListener(marker, "click", function() {
	marker.openInfoWindowHtml(html);
	});
	markers[i] = marker;
	htmls[i] = html;
	return marker;
}


// Creates a marker whose info window displays the given number
function annonceClick(i) {  

	hits[i]++;
		
	// recupere le zoom
	var zoom = map.getZoom(); 		
	switch (zoom){
		case 3: 
		inc= 11.;	
		break;				
		case 4: 
		inc= 7.;
		break;				
		case 5: 
		inc= 4.;					
		break;
		case 6: 
		inc=2.4;
		break;				
		case 7: 
		inc=1.2;
		break;									
		case 8: 
		inc=0.6;
		break;
		case 9: 
		inc=0.2;
		break;
		case 10: 
		inc=0.13;
		break;
		case 11: 
		inc=0.06;
		break;
		case 12: 
		inc=0.03;
		break;
		case 13: 
		inc=0.015;
		break;
		case 14: 
		inc=0.018;
		case 15: 
		inc=0.004;				
		break;								
		default :inc=0.0;

	}
	
	// Recupere les coordonnées et la carte se centre dessus.																										
	window.setTimeout(function() {
		var lat = markers[i].getPoint().lat();
		var lng = markers[i].getPoint().lng();     
		var dLat = lat + inc;
		var center = new GLatLng(dLat, lng);          
		map.panTo(center);  	  	  
		}, 1000);			
	markers[i].openInfoWindowHtml(htmls[i]);            
}	
	
function load() {

	var nbLimite = 100;
	
	if(language=='french') langJ='fr';
	if(language=='english') langJ='en';

	var dispo = "";
	if (language == "french"){ 
		dispo = " offre(s) d\'emploi."; 
	}
	else{
		dispo = " jobs available on the Map";	
	}
	
	var emplo = "";
	if (language == "french"){ 
		emplo = " fiche(s) entreprise."; 
	}
	else{
		emplo = " employers";	
	}	
	
	var details = "";
	if (language == "french"){ 
		details = " Plus de détails"; 
	}
	else{
		details = " More details";	
	}	

	var ami = "";
	if (language == "french"){ 
		ami = " Envoyer à un ami"; 
	}
	else{
		ami = " Send to a friend";	
	}	

	var repondre = "";
	if (language == "french"){ 
		repondre = " Répondre au message"; 
	}
	else{
		repondre = " Answer to the message";	
	}	

	document.getElementById('map').style.visibility='visible';
		
	map = new GMap2(document.getElementById("map"));
	
	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());
	
	map.enableContinuousZoom();
	map.enableDoubleClickZoom();
				
	map.setCenter(new GLatLng(cy,cx),zoom);
	
	var bounds = map.getBounds();
	var sw = bounds.getSouthWest();
	var ne = bounds.getNorthEast();
		
	var lngMin = sw.lng().valueOf();
	var latMin = sw.lat().valueOf();
	var lngMax = ne.lng().valueOf();
	var latMax = ne.lat().valueOf();

	document.formServices.lngMin.value = lngMin;
	document.formServices.latMin.value = latMin;
	document.formServices.lngMax.value = lngMax;
	document.formServices.latMax.value = latMax;
	document.formServices.zoom.value = zoom;	

	dataUrl ="http://www.mapemploiquebec.com/code/data.php?domempl="+domempl+"&language="+language+"&quoi="+quoi+"&region="+region+"&typeOptions="+typeOptions+"&latMin="+latMin+"&latMax="+latMax+"&lngMin="+lngMin+"&lngMax="+lngMax; 

	//alert(dataUrl);

	var html="";
	var msgText = "<table width='100%' onMouseOut='javascript:highlightTableRowVersionA(0);'>";
	var msgTitre = "";		
	
	var ii=0;
	var jj=0;
	
	//alert(dataUrl);

	GDownloadUrl(dataUrl, function(data) {
		var xml = GXml.parse(data);
		// je recuperer toutes les info du data (quoi)
		var markers = xml.documentElement.getElementsByTagName("marker");
		var nbMarkers = markers.length;

		//alert(nbMarkers);

		// offres par titre et nom d'employeur
		if (typeOptions==0){

			// offres par titre et nom d'employeur
			for (var i=0; i<nbMarkers; i++) {
			//for (var i=0; i<1; i++) {
				var lat = parseFloat(markers[i].getAttribute("lat"));
				var lng = parseFloat(markers[i].getAttribute("lng"));		
				if (lng >= lngMin && lng <= lngMax && lat >= latMin && lat <= latMax){
					// tant que ça ne dépasse pas la limite, je les visualise
					ii++;
					if(ii <= nbLimite){
						jj++;				
							var point = new GLatLng(lat, lng);
							var ref = markers[i].getAttribute("ref");
							var titre = markers[i].getAttribute("titre");
							var ville = markers[i].getAttribute("ville");	
							var employeur = markers[i].getAttribute("employeur");					
							var texte = markers[i].getAttribute("texte");		
							var web = markers[i].getAttribute("web");
							var date = markers[i].getAttribute("date");		
							var dateDebut = markers[i].getAttribute("dateDebut");		
							var dateFin = markers[i].getAttribute("dateFin");		
							var distance = markers[i].getAttribute("distance");		
							var type = markers[i].getAttribute("type");		
							var contact = markers[i].getAttribute("contact");		
							var courriel = markers[i].getAttribute("courriel");		
							var fax = markers[i].getAttribute("fax");		
							var tel = markers[i].getAttribute("tel");		
							var photo = markers[i].getAttribute("photo");	
							var provId = markers[i].getAttribute("provId");													
							var tag = markers[i].getAttribute("tag");													
	
							/////////////////////	
							// msgText 
							/////////////////////
							
							// EQ																																					
							if(type==0){			
								msgText += "<tr onMouseOver=\"javascript:highlightTableRowVersionA(this, '#E0F4CE');\">";
								msgText += "<td style='padding:2px;'>";			
								msgText += "<a class='liste' href='javascript:annonceClick("+ ii +")'>"+titre+"</a><br/> "+employeur+" <br/><font style='color:#A8354E'>"+ville+"</font>";									
								msgText += "</td></tr>";
								msgText += "<td><hr/></td></tr>";
							}
	
							// Annonce
							else if(type==1){
								msgText += "<tr onMouseOver=\"javascript:highlightTableRowVersionA(this, '#E0F4CE');\">";
								msgText += "<td style='padding:2px;'>";			
								if (tag==1) 
									msgText += "<a class='liste' href='javascript:annonceClick("+ ii +")'>++"<s>+titre+"</s></a><br/>"+employeur+" <br/><font style='color:#A8354E'>"+ville+"</font>";									
								else
									msgText += "<a class='liste' href='javascript:annonceClick("+ ii +")'>++"+titre+"</a><br/>"+employeur+" <br/><font style='color:#A8354E'>"+ville+"</font>";									
								msgText += "</td></tr>";
								msgText += "<td><hr/></td></tr>";
							}
																			
							// Parts
							else{
								msgText += "<tr onMouseOver=\"javascript:highlightTableRowVersionA(this, '#E0F4CE');\">";
								msgText += "<td style='padding:2px;'>";			
								if(employeur=='') employeur='-';
								msgText += "<a class='liste' href='javascript:annonceClick("+ ii +")'>+"+titre+"</a></br> "+employeur+" <br/><font style='color:#A8354E'>"+ville+"</font>";									
								msgText += "</td></tr>";
								msgText += "<td><hr/></td></tr>";
							}
	
							/////////////////////	
							// Markers 
							/////////////////////
																																																																						
							// EQ	
							if(type==0){
								var html = "<div class='windowAnnonce'><table>";
								html += "<tr><td><span class='ville'>"+ville+"</a></span></td></tr>";
								html += "<tr><td><span class='employeur'>"+employeur+"</a></span></td></tr>";					
								html += "<tr><td><span class='titre'>"+titre+"</a></span></td></tr>";									
								// Redirection vers emploiquebec 
								html += "<tr><td><a href='http://www.mapemploiquebec.com/code/redirect.php?ref="+ref+"&type=0&provId="+provId+"&lang="+language+"' target='blank' >"+details+"</a></td></tr>";
								html += "</table></div>";				
								map.addOverlay(createMarkerEQ(point, ii, html, ref));
							}
	
							// Annonce	
							else if(type==1){
								var html = "<div class='windowAnnonce'><table>";
								if (texte.length>170) texte = texte.substring(0,170) + '...';								
								html = "<div class='windowAnnonceEM'><table>";
								html += "<tr><td>Date de fin: "+dateFin+"</td></tr>";	
								html += "<tr><td><FONT face='Comic Sans MS' color='#000000' size=2><b>"+employeur+"</b></span></td></tr>";					
								html += "<tr><td><span class='employeur'>"+titre+"</span></td></tr>";		
								html += "<tr><td>"+texte+"</td></tr>";		
								html += "<tr><td><a href='index.php?option=com_content&task=view&task=view&Itemid=42&id="+ref+"'>"+details+"</a></td></tr>";						
								html += "<tr><td>---</td></tr>";				
								html += "</table></div>";				
								if (tag==1) 
									map.addOverlay(createMarkerTag(point, ii, html, ref));
								else 
									map.addOverlay(createMarkerEQ(point, ii, html, ref));
							}
	
							// Part 10: Bas-St-Laurent
							else if(type==10){
								var html = "<div class='windowAnnonce'><table>";
								html += "<tr><td><span class='ville'>"+ville+"</span></td></tr>";
								if(employeur=='') employeur='-';
								html += "<tr><td><span class='employeur'>"+employeur+"</span></td></tr>";			
								html += "<tr><td><span class='titre'>"+titre+"</a></span></td></tr>";									
								html += "<tr><td><a href='http://www.bas-saint-laurent.org/p_emploidirect.asp?id="+ref+"' target='blank' >"+details+"</a></td></tr>";
								html += "</table></div>";				
								map.addOverlay(createMarkerEQ(point, ii, html, ref));
							}						
		
					}
				}						
			} // 	for (var i=0; i<nbMarkers; i++) {
		}	
	
		// FICHE
 		else if(typeOptions==1){
			//alert("1");
			//alert(nbMarkers);
			for (var i=0; i<nbMarkers; i++) {
				var lat = parseFloat(markers[i].getAttribute("lat"));
				var lng = parseFloat(markers[i].getAttribute("lng"));
				var distrib = markers[i].getAttribute("distrib");		
				//alert(distrib);
				// je geolocalise tous les distrib 
				if ( (lng >= lngMin && lng <= lngMax && lat >= latMin && lat <= latMax) || (distrib==1) ){
					// tant que ça ne dépasse pas la limite, je les visualise
					ii++;
					if(ii <= nbLimite){
						jj++;																
						var point = new GLatLng(lat, lng);
						var ville = markers[i].getAttribute("ville");	
						var employeur = markers[i].getAttribute("employeur");					
						var cp = markers[i].getAttribute("cp");				
						var domaine = markers[i].getAttribute("domaine");				
						var id = markers[i].getAttribute("id");
						var distance = markers[i].getAttribute("distance");		
						var annonce = markers[i].getAttribute("annonce");	
						var type = markers[i].getAttribute("type");			
						var tel = markers[i].getAttribute("tel");	
						var fax = markers[i].getAttribute("fax");		
						var texte = markers[i].getAttribute("texte");			
						var courriel = markers[i].getAttribute("courriel");	
						var web = markers[i].getAttribute("web");			
						var titre = markers[i].getAttribute("titre");									
						var date = markers[i].getAttribute("date");				
						var photo = markers[i].getAttribute("photo");			
						var lieu = markers[i].getAttribute("lieu");			
						var adresse = markers[i].getAttribute("adresse");		
						var dateFin = markers[i].getAttribute("date");		
						var dateDebut = markers[i].getAttribute("dateDebut");								
						var domaine = markers[i].getAttribute("domaine");								
																		
						// les fiches 
						if(distrib==0 || distrib==3){ // lorsque la fiche est numerique, on veut lui mettre un format different		

							if(distrib==0){
								msgText += "<tr onMouseOver=\"javascript:highlightTableRowVersionA(this, '#E0F4CE');\">";	

								msgText += "<td style='padding:2px;'>";			
								msgText += "<a class='liste' href='javascript:annonceClick("+ ii +")'>"+employeur+"</a><br/><font style='color:#000000'>"+domaine+"</a><br/><font style='color:#A8354E'>"+ville+"</font><br/>";									
								msgText += "</td></tr>";																																																																																																																									
							}
							else if(distrib==3){																																	
								msgText += "<table align='center'><tr><td align='center'><a href='javascript:annonceClick("+ ii +")'><img style='border-color:#AFA574' vspace='5' hspace='5' src='http://www.mapemploiquebec.com/code/logo9.php?photo="+photo+"' border='1' alt=\"Géolocalisez "+employeur+"\"></a></td></tr>";
								msgText += "<tr><td align='center'><u><div style='padding:5px;color:#000000'>"+employeur+"<br/>"+ville+"</div></u></td></tr></table><br/>";					
								map.addOverlay(createMarkerFiche(point, ii, html));
							}								
																						
							var html = "<div class='windowAnnonce'><table>";					
							html += "<tr><td><span class='employeur'>"+employeur+"</span></td></tr>";																										
							html += "<tr><td>"+domaine+"</td></tr>";																										
							html += "<tr><td>"+adresse+"</td></tr>";																										
							html += "<tr><td>"+ville+"</td></tr>";
							html += "<tr><td><a href='index.php?option=com_content&task=view&task=view&Itemid=42&id="+id+"'>"+details+"</a></td></tr>";						

							//html += "<tr><td><a href=\"javascript:launchDetail("+id+");\">"+details+"</a></td></tr>";	
							//html += "<tr><td><a href='detail.php?id="+id+"'>Plus de détails</a></td></tr>";											
							html += "</table></div>";				
							map.addOverlay(createMarkerFiche(point, ii, html,annonce));
						}
												
						// et les annonces associées a la fiche numerique	(employeur==nom du distrib)
						else if(distrib==2){										
							msgText += "<font color='#cc0000'>&nbsp;&nbsp;•</font> <a href='javascript:annonceClick("+ ii +")'>"+titre+"</a> - "+ville+" *"+date+"*<br/><br/>";									
							if (texte.length>170) texte = texte.substring(0,170) + '...';	
							var html = "<div class='windowAnnonceEMShort'><table>";
							//html += "<tr><td><img align='left'  width='100' hspace='0' src='img/photos/"+photo+"' border='0' alt='"+titre+"'/></td></tr>";														
							html += "<tr><td>"+date+"</a></td></tr>";	
							//html += "<tr><td><span class='ville'>"+ville+"</a></span></td></tr>";
							html += "<tr><td><FONT face='Comic Sans MS' color='#000000' size=2><b>"+employeur+"</a></b></span></td></tr>";					
							html += "<tr><td><span class='titre'>"+titre+"</a></span></td></tr>";		
							html += "<tr><td><span class='texte'>"+texte+"</a></span></td></tr>";		
							html += "<tr><td><a href='index.php?option=com_content&task=view&task=view&Itemid=42&id="+id+"'>"+details+"</a></td></tr>";													
							html += "</table></div>";					
							map.addOverlay(createMarkerEQ(point, ii, html, ref));							
						}		

					}
				}  
			} // 	for (var i=0; i<nbMarkers; i++) {		
		}	/* fiche */ 
	
		msgText += "</table>";
		var nba = ii-1;
		if(typeOptions==0)
			document.getElementById("listeTexte").innerHTML = '&nbsp;&nbsp;Aujourd\'hui, <b>' + nba +'</b> offre(s) d\'emploi(s)<br/>'+ msgText;
		else
			document.getElementById("listeTexte").innerHTML = '&nbsp;&nbsp;<b>' + nba +'</b> entreprise(s) enregistrées<br/>'+ msgText;
	});
	
	GEvent.addListener(map, "moveend", function() {
	
		// 1- récuperer les frontieres latitude/longitudes et le zoom
		var bounds = map.getBounds();
		var sw = bounds.getSouthWest();
		var ne = bounds.getNorthEast();	
		var lngMin = sw.lng().valueOf();
		var latMin = sw.lat().valueOf();
		var lngMax = ne.lng().valueOf();
		var latMax = ne.lat().valueOf();

		var zoom = map.getZoom(); 
		var center = map.getCenter();
		var cx = center.lng();
		var cy = center.lat(); 
										
		// les mettre dans les inputs											
		document.formServices.lngMin.value = lngMin;
		document.formServices.latMin.value = latMin;
		document.formServices.lngMax.value = lngMax;
		document.formServices.latMax.value = latMax;
		document.formServices.zoom.value = zoom;
		document.formServices.cx.value = cx;
		document.formServices.cy.value = cy;
							
		var html="";
		var msgText = "<table width='100%' onMouseOut='javascript:highlightTableRowVersionA(0);'>";
		var msgTitre = "";							
		var ii=0;
		var jj=0;		
		
		GDownloadUrl(dataUrl, function(data) {
			var xml = GXml.parse(data);
			// je recuperer toutes les info du data (quoi)
			var markers = xml.documentElement.getElementsByTagName("marker");
			var nbMarkers = markers.length;
	
			//alert(nbMarkers);
	
			// offres par titre et nom d'employeur
			if (typeOptions==0){
	
				// offres par titre et nom d'employeur
				for (var i=0; i<nbMarkers; i++) {
				//for (var i=0; i<1; i++) {
					var lat = parseFloat(markers[i].getAttribute("lat"));
					var lng = parseFloat(markers[i].getAttribute("lng"));		
					if (lng >= lngMin && lng <= lngMax && lat >= latMin && lat <= latMax){
						// tant que ça ne dépasse pas la limite, je les visualise
						ii++;
						if(ii <= nbLimite){
							jj++;				
								var point = new GLatLng(lat, lng);
								var ref = markers[i].getAttribute("ref");
								var titre = markers[i].getAttribute("titre");
								var ville = markers[i].getAttribute("ville");	
								var employeur = markers[i].getAttribute("employeur");					
								var texte = markers[i].getAttribute("texte");		
								var web = markers[i].getAttribute("web");
								var date = markers[i].getAttribute("date");		
								var dateDebut = markers[i].getAttribute("dateDebut");		
								var dateFin = markers[i].getAttribute("dateFin");		
								var distance = markers[i].getAttribute("distance");		
								var type = markers[i].getAttribute("type");		
								var contact = markers[i].getAttribute("contact");		
								var courriel = markers[i].getAttribute("courriel");		
								var fax = markers[i].getAttribute("fax");		
								var tel = markers[i].getAttribute("tel");		
								var photo = markers[i].getAttribute("photo");	
								var provId = markers[i].getAttribute("provId");													
								var tag = markers[i].getAttribute("tag");													
		
								/////////////////////	
								// msgText 
								/////////////////////
								
								// EQ																																					
								if(type==0){			
									msgText += "<tr onMouseOver=\"javascript:highlightTableRowVersionA(this, '#E0F4CE');\">";
									msgText += "<td style='padding:2px;'>";			
									msgText += "<a class='liste' href='javascript:annonceClick("+ ii +")'>"+titre+"</a><br/> "+employeur+" <br/><font style='color:#A8354E'>"+ville+"</font>";									
									msgText += "</td></tr>";
									msgText += "<td><hr/></td></tr>";
								}
		
								// Annonce
								else if(type==1){
									msgText += "<tr onMouseOver=\"javascript:highlightTableRowVersionA(this, '#E0F4CE');\">";
									msgText += "<td style='padding:2px;'>";			
									if (tag==1) 
										msgText += "<a class='liste' href='javascript:annonceClick("+ ii +")'>++"<s>+titre+"</s></a><br/>"+employeur+" <br/><font style='color:#A8354E'>"+ville+"</font>";									
									else
										msgText += "<a class='liste' href='javascript:annonceClick("+ ii +")'>++"+titre+"</a><br/>"+employeur+" <br/><font style='color:#A8354E'>"+ville+"</font>";									
									msgText += "</td></tr>";
									msgText += "<td><hr/></td></tr>";
								}
																				
								// Parts
								else{
									msgText += "<tr onMouseOver=\"javascript:highlightTableRowVersionA(this, '#E0F4CE');\">";
									msgText += "<td style='padding:2px;'>";			
									if(employeur=='') employeur='-';
									msgText += "<a class='liste' href='javascript:annonceClick("+ ii +")'>+"+titre+"</a></br> "+employeur+" <br/><font style='color:#A8354E'>"+ville+"</font>";									
									msgText += "</td></tr>";
									msgText += "<td><hr/></td></tr>";
								}
		
								/////////////////////	
								// Markers 
								/////////////////////
																																																																							
								// EQ	
								if(type==0){
									var html = "<div class='windowAnnonce'><table>";
									html += "<tr><td><span class='ville'>"+ville+"</a></span></td></tr>";
									html += "<tr><td><span class='employeur'>"+employeur+"</a></span></td></tr>";					
									html += "<tr><td><span class='titre'>"+titre+"</a></span></td></tr>";									
									// Redirection vers emploiquebec 
									html += "<tr><td><a href='http://www.mapemploiquebec.com/code/redirect.php?ref="+ref+"&type=0&provId="+provId+"&lang="+language+"' target='blank' >"+details+"</a></td></tr>";
									html += "</table></div>";				
									map.addOverlay(createMarkerEQ(point, ii, html, ref));
								}
		
								// Annonce	
								else if(type==1){
									var html = "<div class='windowAnnonce'><table>";
									if (texte.length>170) texte = texte.substring(0,170) + '...';								
									html = "<div class='windowAnnonceEM'><table>";
									html += "<tr><td>Date de fin: "+dateFin+"</td></tr>";	
									html += "<tr><td><FONT face='Comic Sans MS' color='#000000' size=2><b>"+employeur+"</b></span></td></tr>";					
									html += "<tr><td><span class='employeur'>"+titre+"</span></td></tr>";		
									html += "<tr><td>"+texte+"</td></tr>";		
									html += "<tr><td><a href='index.php?option=com_content&task=view&task=view&Itemid=42&id="+ref+"'>"+details+"</a></td></tr>";						
									html += "<tr><td>---</td></tr>";				
									html += "</table></div>";				
									if (tag==1) 
										map.addOverlay(createMarkerTag(point, ii, html, ref));
									else 
										map.addOverlay(createMarkerEQ(point, ii, html, ref));
								}
		
								// Part 10: Bas-St-Laurent
								else if(type==10){
									var html = "<div class='windowAnnonce'><table>";
									html += "<tr><td><span class='ville'>"+ville+"</span></td></tr>";
									if(employeur=='') employeur='-';
									html += "<tr><td><span class='employeur'>"+employeur+"</span></td></tr>";			
									html += "<tr><td><span class='titre'>"+titre+"</a></span></td></tr>";									
									html += "<tr><td><a href='http://www.bas-saint-laurent.org/p_emploidirect.asp?id="+ref+"' target='blank' >"+details+"</a></td></tr>";
									html += "</table></div>";				
									map.addOverlay(createMarkerEQ(point, ii, html, ref));
								}						
			
						}
					}						
				} // 	for (var i=0; i<nbMarkers; i++) {
			}	
		
			// FICHE
			else if(typeOptions==1){
				//alert("1");
				//alert(nbMarkers);
				for (var i=0; i<nbMarkers; i++) {
					var lat = parseFloat(markers[i].getAttribute("lat"));
					var lng = parseFloat(markers[i].getAttribute("lng"));
					var distrib = markers[i].getAttribute("distrib");		
					//alert(distrib);
					// je geolocalise tous les distrib 
					if ( (lng >= lngMin && lng <= lngMax && lat >= latMin && lat <= latMax) || (distrib==1) ){
						// tant que ça ne dépasse pas la limite, je les visualise
						ii++;
						if(ii <= nbLimite){
							jj++;																
							var point = new GLatLng(lat, lng);
							var ville = markers[i].getAttribute("ville");	
							var employeur = markers[i].getAttribute("employeur");					
							var cp = markers[i].getAttribute("cp");				
							var domaine = markers[i].getAttribute("domaine");				
							var id = markers[i].getAttribute("id");
							var distance = markers[i].getAttribute("distance");		
							var annonce = markers[i].getAttribute("annonce");	
							var type = markers[i].getAttribute("type");			
							var tel = markers[i].getAttribute("tel");	
							var fax = markers[i].getAttribute("fax");		
							var texte = markers[i].getAttribute("texte");			
							var courriel = markers[i].getAttribute("courriel");	
							var web = markers[i].getAttribute("web");			
							var titre = markers[i].getAttribute("titre");									
							var date = markers[i].getAttribute("date");				
							var photo = markers[i].getAttribute("photo");			
							var lieu = markers[i].getAttribute("lieu");			
							var adresse = markers[i].getAttribute("adresse");		
							var dateFin = markers[i].getAttribute("date");		
							var dateDebut = markers[i].getAttribute("dateDebut");								
							var domaine = markers[i].getAttribute("domaine");								
																			
							// les fiches 
							if(distrib==0 || distrib==3){ // lorsque la fiche est numerique, on veut lui mettre un format different		
	
								if(distrib==0){
									msgText += "<tr onMouseOver=\"javascript:highlightTableRowVersionA(this, '#E0F4CE');\">";	
	
									msgText += "<td style='padding:2px;'>";			
									msgText += "<a class='liste' href='javascript:annonceClick("+ ii +")'>"+employeur+"</a><br/><font style='color:#000000'>"+domaine+"</a><br/><font style='color:#A8354E'>"+ville+"</font><br/>";									
									msgText += "</td></tr>";																																																																																																																									
								}
								else if(distrib==3){																																	
									msgText += "<table align='center'><tr><td align='center'><a href='javascript:annonceClick("+ ii +")'><img style='border-color:#AFA574' vspace='5' hspace='5' src='http://www.mapemploiquebec.com/code/logo9.php?photo="+photo+"' border='1' alt=\"Géolocalisez "+employeur+"\"></a></td></tr>";
									msgText += "<tr><td align='center'><u><div style='padding:5px;color:#000000'>"+employeur+"<br/>"+ville+"</div></u></td></tr></table><br/>";					
									map.addOverlay(createMarkerFiche(point, ii, html));
								}								
																							
								var html = "<div class='windowAnnonce'><table>";					
								html += "<tr><td><span class='employeur'>"+employeur+"</span></td></tr>";																										
								html += "<tr><td>"+domaine+"</td></tr>";																										
								html += "<tr><td>"+adresse+"</td></tr>";																										
								html += "<tr><td>"+ville+"</td></tr>";
								html += "<tr><td><a href='index.php?option=com_content&task=view&task=view&Itemid=42&id="+id+"'>"+details+"</a></td></tr>";						
	
								//html += "<tr><td><a href=\"javascript:launchDetail("+id+");\">"+details+"</a></td></tr>";	
								//html += "<tr><td><a href='detail.php?id="+id+"'>Plus de détails</a></td></tr>";											
								html += "</table></div>";				
								map.addOverlay(createMarkerFiche(point, ii, html,annonce));
							}
													
							// et les annonces associées a la fiche numerique	(employeur==nom du distrib)
							else if(distrib==2){										
								msgText += "<font color='#cc0000'>&nbsp;&nbsp;•</font> <a href='javascript:annonceClick("+ ii +")'>"+titre+"</a> - "+ville+" *"+date+"*<br/><br/>";									
								if (texte.length>170) texte = texte.substring(0,170) + '...';	
								var html = "<div class='windowAnnonceEMShort'><table>";
								//html += "<tr><td><img align='left'  width='100' hspace='0' src='img/photos/"+photo+"' border='0' alt='"+titre+"'/></td></tr>";														
								html += "<tr><td>"+date+"</a></td></tr>";	
								//html += "<tr><td><span class='ville'>"+ville+"</a></span></td></tr>";
								html += "<tr><td><FONT face='Comic Sans MS' color='#000000' size=2><b>"+employeur+"</a></b></span></td></tr>";					
								html += "<tr><td><span class='titre'>"+titre+"</a></span></td></tr>";		
								html += "<tr><td><span class='texte'>"+texte+"</a></span></td></tr>";		
								html += "<tr><td><a href='index.php?option=com_content&task=view&task=view&Itemid=42&id="+id+"'>"+details+"</a></td></tr>";													
								html += "</table></div>";					
								map.addOverlay(createMarkerEQ(point, ii, html, ref));							
							}		
	
						}
					}						
				} // 	for (var i=0; i<nbMarkers; i++) {		
			}	
		
			msgText += "</table>";
			var nba = ii-1;	
			if(typeOptions==0)
				document.getElementById("listeTexte").innerHTML = '&nbsp;&nbsp;Aujourd\'hui, <b>' + nba +'</b> offre(s) d\'emploi(s)<br/>'+ msgText;
			else
				document.getElementById("listeTexte").innerHTML = '&nbsp;&nbsp;<b>' + nba +'</b> entreprise(s) enregistrées<br/>'+ msgText;
			
		});
		
	});			
																													
} // load