window.addEventListener('DOMContentLoaded', function() {
	'use strict';
	var requestConsultPuntal=null;
	var indexlistDet=-1;
	var arrayListDetalle=new Array(objectListResult);
	
	var urlServer="";
	var idListado="";	
	var nameNeg=document.getElementById('nameNeg');
	var adressNeg=document.getElementById('adressNeg');
	var abreMapa=document.getElementById('abreMapa');
	var callFree=document.getElementById('callFree');
	var callPhone=document.getElementById('callPhone');
	var linkSuperPag=document.getElementById('linkSuperPag');
	var urlSitioWeb=document.getElementById('urlSitioWeb');
	var horariosNeg=document.getElementById('horariosNeg');
	var listProdcServ=document.getElementById('listProdcServ');
	var userEmail=document.getElementById('userEmail');
	//var contResultDetalle= document.getElementById('contResultDetalle');	
	var contTable=document.getElementById('contTable');
	var muestramapa=document.getElementById('muestramapa');
	var divcellsuperpagina=document.getElementById('divcellsuperpagina');
	var divcellcorreo=document.getElementById('divcellcorreo');
	var divcellSitioWeb=document.getElementById('divcellSitioWeb');
	var parrafomasInfo=document.getElementById('parrafomasInfo');
	
	var divlistHorario=document.getElementById('divlistHorario');
	var divmorePagos=document.getElementById('divmorePagos');
	var divallParrafo=document.getElementById('divallParrafo');
	//var divlinkpagos=document.getElementById('divlinkpagos');
	//var	divpservicios=document.getElementById('divpservicios');

	var loc = document.location.href;
	   var getString = loc.split('?')[1];
	   var GET = getString.split('&');
	   var get = {};//this object will be filled with the key-value pairs and returned.

	   for(var i = 0, l = GET.length; i < l; i++){
	      var tmp = GET[i].split('=');
	      get[tmp[0]] = unescape(decodeURI(tmp[1]));
	   }
	  //alert(get.id+" "+get.cuent);
	  idListado=get.listadoid;


	/*FINSION PARA BUSCAR*/
	var searchInput = document.getElementById('elqueb');	
	var search=document.querySelector('form[name="frmBuscar"]');

	search.addEventListener('submit', function(e) 
	 {

	     e.preventDefault();
	     GoSearch();
  	 }, false);

	function GoSearch()
	{			
		document.location = 'listResultSearch.html?q='+searchInput.value;  
	    document.location.href = 'listResultSearch.html?q='+searchInput.value;
	    searchInput.value="";
	}
	/*FIN DE FUNCION PARA BUSCAR*/

	 var retorna = document.querySelector('a[name="retorna"]');	
	 retorna.addEventListener('click', function(e) 
	 {
	     e.preventDefault();
	  //   enviarMail();
	  window.history.go(-1);
  	 }, false);

	if(idListado!="")
	{
	 	navigator.mozL10n.once(consultaPuntual(idListado));
	}

  	function consultaPuntual(idListado)
	{					
		var urlPuntual=serverDetalle(idListado);
		if(requestConsultPuntal && requestConsultPuntal.abort) {
	      requestConsultPuntal.abort();
	    }
	   requestConsultPuntal = new XMLHttpRequest({ mozSystem: true });
	   requestConsultPuntal.open('get', urlPuntual, true);
	   requestConsultPuntal.responseType = 'json';
	   requestConsultPuntal.addEventListener('error', onRequestError);
	   requestConsultPuntal.addEventListener('load', onRequestConsultaPuntual);
	   requestConsultPuntal.send();
	}

	function onRequestError() 
	{
			msnnotResult(); 
  	}

  	 function msnnotResult()
 	{
 		if(arrayListDetalle!=null)
 		{
	 		var centalistado=arrayListDetalle.length-1;
	 		if(centalistado>0)
	 		{
	 			notExistResult.hidden=false;
	 			//contResultDetalle.hidden = false;
	 			adressNeg.hidden=true;
	 			muestramapa.hidden=true;
	 			divcellsuperpagina.hidden=true;
				divcellcorreo.hidden=true;
				divcellSitioWeb.hidden=true;
				parrafomasInfo.hidden=true;				
				divlistHorario.hidden=true;
				divmorePagos.hidden=true;
				divallParrafo.hidden=true;
	 			//butonMas.hidden = false;
	 			nameNeg.textContent="No encontramos información para mostrar. Por favor intenta más tarde.";
	 		}
	 		else
	 		{
	 			adressNeg.hidden=true;
	 		    muestramapa.hidden=true; 
	 		    divcellsuperpagina.hidden=true;
				divcellcorreo.hidden=true;
				divcellSitioWeb.hidden=true;
				parrafomasInfo.hidden=true;
				divlistHorario.hidden=true;
				divmorePagos.hidden=true;
				divallParrafo.hidden=true;
			    notExistResult.hidden=false;
			    nameNeg.textContent="No encontramos información para mostrar. Por favor intenta más tarde.";
	 		}
 		}
 		else
 		{
 				muestramapa.hidden=true;
 				adressNeg.hidden=true;
 				divcellsuperpagina.hidden=true;
				divcellcorreo.hidden=true;
				divcellSitioWeb.hidden=true;
				parrafomasInfo.hidden=true;				
				divlistHorario.hidden=true;
				divmorePagos.hidden=true;
				divallParrafo.hidden=true;
			    notExistResult.hidden=false;
			    nameNeg.textContent="No encontramos información para mostrar. Por favor intenta más tarde.";
 		}

 			/*document.location = 'noHayResultados.html'  
			 document.location.href = 'noHayResultados.html'*/
 	}

  	function onRequestConsultaPuntual() {
		var jsonresult = requestConsultPuntal.response;
		var longitud=0;
		if(jsonresult!=null)
		{			
			longitud=jsonresult.ListRes.length;
		}
		else
		{
			msnnotResult();
			contTable.className = contTable.className + "";
		}
		if(longitud>0 && longitud!="undefined")
		{
			notExistResult.hidden=true;
			adressNeg.hidden=false;
			contTable.className = contTable.className + "divTable";
			muestramapa.hidden=false;
			divcellsuperpagina.hidden=false;
			divcellcorreo.hidden=false;
			divcellSitioWeb.hidden=false;		
			parrafomasInfo.hidden=false;	
			divlistHorario.hidden=false;
			divmorePagos.hidden=false;
			divallParrafo.hidden=false;
			//divlinkpagos.hidden=false;
			//divpservicios.hidden=false;
	 		//contResultDetalle.hidden = false;
			var arrayDetalle=null;
			arrayDetalle=jsonresult.ListRes;
			arrayDetalle.forEach(function(val) {
			indexlistDet=indexlistDet+1;
			var idDet=new objectListResult();
			idDet.listadoid=val.listadoid;
			arrayListDetalle[indexlistDet]=idDet;
			nameNeg.textContent=val.bn;
			var adressAll="";
			var state=val.statename
			var city=val.physicalcity;
			var colonia=val.colony;
			var direccion=val.fullstreet;
			var cp=val.zip;
			var telefono="";
			if(state!=null)
			{
				adressAll=state+".";
			}
			if (city!=null && state!=null)
			{
				adressAll=city+","+state+".";
			}
			if(direccion!=null && city!=null && state!=null)
			{
				adressAll=direccion+","+city+","+state+".";
			}
			if(adressAll=="")
			{
				adressAll="Dirección no disponible.";
			}
			
			adressNeg.textContent=adressAll;
			abreMapa.href="#?latitud="+val.lat+"&longitud="+val.lon;
				if(val.clicktocall!=null)
				{
					//var telgratis=val.clicktocall.replace('(','').replace(')','').replace('-','');
					callFree.href="clickToCall.html?listadoid="+val.listadoid;
				}
				else
				{
					callFree.href="";
				}
				if(val.phones!=null)
				{
					val.phones.forEach(function(telv) {
						if(telefono=="")
						{
							if(telv.type="tel")
							{
								telefono=telv.number;
							}else if(telv.type="tollfree")
							{
								telefono=telv.number;
							}
						}
					});
					if(telefono!="")
					{
					 telefono=telefono.replace('(','').replace(')','').replace('-','');
					 callPhone.href="tel:"+telefono;
					}
					else
					{
						callPhone.href="";
					}
				}
			if(val.paopwo!=null)
			{
				linkSuperPag.href=val.paopwo;
				//linkSuperPag.style.visibility="hidden";
			}
			else
			{
				linkSuperPag.href="";
			}

			if(val.url!=null)
			{
				urlSitioWeb.href=val.url;
				//urlSitioWeb.style.visibility="visible";
			}
			else
			{
				urlSitioWeb.href="";
			}
			//horarios
			if(val.txtschedule!=null)
			{ 
				var cont=0;
				var totalhoras=val.txtschedule.length;
				var hrsneg="";
				val.txtschedule.forEach(function(hrs) {
					 
					 if(cont<totalhoras-1)
					 {
					  hrsneg=hrsneg+hrs.text+", ";
					 }
					 else
					 {
					  hrsneg=hrsneg+hrs.text+".";
					 }
					 cont=cont+1;
				});
			horariosNeg.textContent=hrsneg;
			}
			else
			{
				horariosNeg.textContent="No disponible.";
			}

			//formas de pago
			if(val.paymenttype!=null)
			{
				var contpago=0;
				var totalpagos=val.paymenttype.length;
				var fPagos="";
				val.paymenttype.forEach(function(formP) {
					if(contpago<totalpagos-1)
					 {
					 	fPagos=fPagos+formP.text+", ";
					 }
					 else
					 {
					 	fPagos=fPagos+formP.text+".";
					 }
					 contpago=contpago+1;
				});
					formasPago.textContent=fPagos;			
			}
			else
				{
					formasPago.textContent="No disponible.";
				}

			//Productos y Servicios
			if(val.productservices!=null)
			{
				/*var contProdServ=0;
				var totalProServ=val.productservices.length;
				var proServ="";*/
				val.productservices.forEach(function(ps) {
					var li = document.createElement('li');
					li.textContent=ps.service;
	        		listProdcServ.appendChild(li);
					
				});
			}
			else
			{
				var li = document.createElement('li');
					li.textContent="No disponible.";
	        		listProdcServ.appendChild(li);
			}

			if(val.lke!=null)
			{
				userEmail.href="mailto:"+val.lke;
			}
			else
			{
				userEmail.href="";
			}
			
			});
		}
		else
		{
			msnnotResult();
			contTable.className = contTable.className + "";
		}
		
		//
		//
  	}


  	function enviarMail()
  	{  		
  		/*var phone = window.navigator.mozTelephony;
  		var call = navigator.mozTelephony.number('+1555332134');
		call.addEventListener('connected', function() {
		   call.hangUp();
		});*/

  	}

});