﻿ $(document).ready(function(){
	$('#tabber').billy({
		slidePause: 8000,
		indicators: $('ul#tabber_tabs'),
		customIndicators: true,
		autoAnimate: true,
		noAnimation: false
	});
	
	$('#resultsTD').hide('slide', 'fast'); 
	$("#accordion").accordion({
		fillSpace: true,
		collapsible: true,
		active: 1
	});
	$("#printDiv").dialog({
		autoOpen: false,
		width:1012,
		height:510,
		modal:true,
		resizable: false,
		buttons: {"Cerrar": function() {$(this).dialog("close");}, "Imprimir": function() {sendMapToPrint();}}
	});
	$("#mailDiv").dialog({
	   autoOpen: false,
	   width:455,
	   height:390,                                                        
	   modal:true,
	   resizable: false,
	   buttons: {"Enviar": function() {sendMapToMail();}, "Cerrar": function() {$(this).dialog("close");}}
    });
	$("#refineDiv").dialog({
	   autoOpen: false,
	   title: 'Refinar Búsqueda',
	   width:455,
	   height:390,                                                        
	   modal:true,
	   resizable: false,
	   closeOnEscape: false,
	   buttons: {"Cerrar": function() {$('#Res').html('Resultados');toggleAccordion(1);/*$("#accordion").accordion("option", "active", 1);*/$("#Results").html('');$(this).dialog("close");}}
    }).parent('.ui-dialog').find('.ui-dialog-titlebar-close').hide(); //-->Esto es para quitar la x del dialogo...
	$("#loadingDiv").dialog({
	   autoOpen: false,
	   title: 'Cargando',
	   //width:455,
	   //height:390,                                                        
	   modal:true,
	   resizable: false,
	   closeOnEscape: false
    }).parent('.ui-dialog').find('.ui-dialog-titlebar-close').hide(); //-->Esto es para quitar la x del dialogo...

	$( "#txtCity" ).autocomplete({
		source: "search/autocompletePAC.php?type=where"
		,delay: 2
		,open: function(event, ui) { 
		if(!document.frmEmpresas.txtCity.hasFocus ){$("#txtCity").autocomplete("close");}}
		
	});           
	
	$( "#txtName" ).autocomplete({
		source: "search/autocompletePAC.php?type=what"
		,delay: 2
		,open: function(event, ui) { 
		if(!document.frmEmpresas.txtName.hasFocus ){$("#txtName").autocomplete("close");}}
	});   

	$("#Message").dialog({
		autoOpen: false,
		modal:true,
		resizable: false,
		buttons: {"Cerrar": function() {$(this).dialog("close");}}
	});   
	loadcopyright();
	$('#mailDiv2').css("left","20px");
	$('#mailDiv2').css("top","85px");
	$( "#txtSource" ).autocomplete({					   
		source: function(request, response) {
			var data = {};
			if($(this).data('xhr')) {
				$(this).data('xhr').abort();
			}
			$(this).data('xhr', $.ajax({
				url: "search/autocompleteRoute.php?type=where",
				data: 'term='+request.term,
				dataType: "json",
				beforeSend: function(jqXHR, settings){
					autocompletesShowRoute+=1;
				},	
				success: function(dataRequest){
					if (dataRequest!= null){
						if (dataRequest.length>0){
							assignPoint(1,dataRequest[0].label,dataRequest[0].id);
							response(dataRequest);
							$('#txtSource').css('color','#000000');  
						}
						else{
							$("#txtSource").css("color","#CC1100"); 
							$("#txtRoute1Accord").val(''); 
							pointsArray[1] = undefined ;
							myLoc2.removeFeatures(myLoc2.getFeatureByFid(11));
						}
					}					
				},
				complete:function(jqXHR, textStatus){
					autocompletesShowRoute-=1;
				}
			}));
		}
		,delay: 2
		,select: function(event, ui) {
			assignPoint(1,ui.item.label,ui.item.id);
			$('#txtSource').css('color','#000000'); 
		}
		,open: function(event, ui) { 
			var autocomplete = $( this ).data( "autocomplete" ),
			menu = autocomplete.menu;
			menu.activate( $.Event({ type: "mouseenter" }), menu.element.children().first() );		
			if(!document.frmEmpresas1.txtSource.hasFocus ){
				$("#txtSource").autocomplete("close");
			}
		}/*,
		focus: function(event, ui) {
			assignPoint(1,ui.item.label,ui.item.id);
			$('#txtSource').css('color','#000000');
		}*/
	}); 
	$( "#txtDest" ).autocomplete({					   
		source: function(request, response) {
			var data = {};
			if($(this).data('xhr')) {
				$(this).data('xhr').abort();
			}
			$(this).data('xhr', $.ajax({
				url: "search/autocompleteRoute.php?type=where",
				data: 'term='+request.term,
				dataType: "json",
				beforeSend: function(jqXHR, settings){
					autocompletesShowRoute+=1;
				},	
				success: function(dataRequest){
					if (dataRequest!= null){
						if (dataRequest.length>0){
							assignPoint(2,dataRequest[0].label,dataRequest[0].id);
							response(dataRequest);
							$('#txtDest').css('color','#000000');  
						}
						else{
							$("#txtRoute"+(letter-1)+"Accord").val('');
							$("#txtDest").css("color","#CC1100"); 
							pointsArray[2] = undefined ;
							myLoc2.removeFeatures(myLoc2.getFeatureByFid(12));
						}
					}					
				},
				complete:function(jqXHR, textStatus){
					autocompletesShowRoute-=1;
				}
			}));
		}
		,delay: 2
		,select: function(event, ui) {
			assignPoint(2,ui.item.label,ui.item.id);
			$('#txtDest').css('color','#000000'); 
		}
		,open: function(event, ui) { 
			var autocomplete = $( this ).data( "autocomplete" ),
			menu = autocomplete.menu;
			menu.activate( $.Event({ type: "mouseenter" }), menu.element.children().first() );		
			if(!document.frmEmpresas1.txtDest.hasFocus ){
				$("#txtDest").autocomplete("close");
			}
		}/*,
		focus: function(event, ui) {
			assignPoint(2,ui.item.label,ui.item.id);
			$('#txtSource').css('color','#000000');
		}*/
	}); 
	initializeAutocomplete(1);
	initializeAutocomplete(2);
});

jQuery.extend(jQuery.expr[':'], {
	focus: "a == document.activeElement"
});

var map, gsat, lay_Base, queryLayer;	
var selectedItem=0;
var PagIng=0;
var gPageY, gPageR = 1;
var auto1 = false;
////////////////////////////////////////////// Variables para herramientas geograficas ////////////////////////////////////////////////////
var pan, zoomR, infoPopUp=null, popUpSearch =null, popUpNB=null, markers, markersNB, markersMYP, markerSelected=null, pointerMarker, icon, info, routeMarker;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var control = new OpenLayers.Control();
var mPosition, mouseLoc, lonLatPos;															// Variables para la localización del Mouse
var vType = 'show', searchType = 'services';	
var sXNB,sYNB,sVNB, arrayMyYellow = new Array();
//////////////////////////////////////////////////////// Otras variables... //////////////////////////////////////////////////////////////
var proj4326,projgoogle, urlNext='', urlPrevious='',urlNextNB='', urlPreviousNB='', myYellow = false, sessionID=null, session=null, userName='', sessionLoaded=false, myYellowID=null, nbFlag = false, myYellowType='', typesTable='',letter =3, autocompleteFlag = 0, autoFlag = false, addPoint = false; 
var pointsArray = null;
//////////////////////////////////////////////////////// Otras variables... //////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////// Ruteo... //////////////////////////////////////////////////////////////
var myLocationLayer,myLoc2,lineString;  
var routeFlag =autocompletesShowRoute = 0 ;
//////////////////////////////////////////////////////// Rteo //////////////////////////////////////////////////////////////
function init(){
	OpenLayers.Tile.Image.prototype = OpenLayers.Class.inherit( OpenLayers.Tile.Image, { checkImgURL: function() {} });
	bounds = new OpenLayers.Bounds();
	var lonlat1 = new OpenLayers.LonLat(-77.202776,0.635665);
	var lonlat2 = new OpenLayers.LonLat(-56.077208,13.207839);
	bounds.extend(lonlat1);
	bounds.extend(lonlat2);
	proj4326 = new OpenLayers.Projection("EPSG:4326");
	projgoogle = new OpenLayers.Projection("EPSG:900913");
	bounds.transform(proj4326,projgoogle);
	var options = {
		units: "m",
		maxExtent: bounds,
		allOverlays: true,
		restrictedExtent: bounds ,
		projection: projgoogle,
		displayProjection: proj4326,
		maxResolution: 0.001, //439453125,
		minResolution: 0.001, //"auto",
		tileSize: new OpenLayers.Size(256,280)
	};
	map = new OpenLayers.Map('map', options);  
  
	lay_Base= new OpenLayers.Layer.WMS("Inicial","http://200.109.126.56/cgi-bin/mapserv?map=/planos/config/Caveguias.map",{layers:'PaisesVecinos,PaisesVecinos_txt,HidroLejos_polyline,HidroLejos_region,Lagos,Area_Ciudad_Reg,Estados,Orografia,Venezuela_Perimetro,Carreteras,Autopistas,CiudadesVEN,Ciudad_text,MarcosVEN_reg,Costas,Ptos_Poblados_Prin,Ptos_Poblados,Poblaciones,Parroquias_hidden,Vias_dbl_pol,Vias_dbl,ViasCC1,Referencias,LagosCC1,RiosCC1,Sectores,TextoRef,Sectores_txt,ViasCC1_txt', 'format': 'image/png'},{isBaseLayer:true,visibility:true});
   
	var is_ie6 = (
		window.external &&
        typeof window.XMLHttpRequest == "undefined"
    );
	
	lay_Sat = new OpenLayers.Layer.WMS("Sat",
  "http://200.109.126.56/cgi-bin/mapserv?map=/planos/config/Caveguias.map",{layers:'Sat_Estados,Sat_Brasil_Colombia,Sat_Estados_txt,Sat_Ptos_Poblados_Prin,Parroquias_hidden,Sat_Ciudad_text,Sat_Ptos_Poblados,Sat_Poblaciones,Sat_ViasCC1,Sat_ViasCC1_txt', 'transparent': 'true', 'format': 'image/gif'},{isBaseLayer:true,visibility:true});		
  
	queryLayer = new OpenLayers.Layer.WMS("queryLayer", 
   "http://200.109.126.56/cgi-bin/mapserv?map=/planos/config/Caveguias.map",{layers:'Lagos,CiudadesVEN,Ptos_Poblados,Poblaciones,Parroquias_hidden,ViasCC1,Referencias,LagosCC1,RiosCC1,Sectores', 'transparent': 'true', 'format': 'image/gif'},{isBaseLayer:false,visibility:false}); 
   										 
	gsat = new OpenLayers.Layer.Google(
		"Mapa Satelital",
		{
			type: google.maps.MapTypeId.SATELLITE, 
			'sphericalMercator': true, 
			minZoomLevel: 6, numZoomLevels: 14
		}
	);

	var strategyBBOX1 = new OpenLayers.Strategy.BBOX({
		layer:gsat
	});
	var strategyBBOX2 = new OpenLayers.Strategy.BBOX({
		layer:lay_Sat
	});
	var strategyBBOX3 = new OpenLayers.Strategy.BBOX({
		layer:lay_Base
	});

	aliasproj = new OpenLayers.Projection ("EPSG:3857");
	gsat.projection = lay_Base.projection =  lay_Sat.projection = queryLayer.projection = aliasproj;
	
	OpenLayers.Projection.addTransform("EPSG:4326", "EPSG:3857", OpenLayers.Layer.SphericalMercator.projectForward);
	OpenLayers.Projection.addTransform("EPSG:3857", "EPSG:4326", OpenLayers.Layer.SphericalMercator.projectInverse);
	
	PlaceControl(); 
	
	map.addLayers([gsat, lay_Base, lay_Sat, queryLayer]); 
	
	gsat.setVisibility(false);
	lay_Sat.setVisibility(false);
	queryLayer.setVisibility(false);
	
	var lon =-66.54492;
	var lat = 8.3;
	var zoom = 0;
	var lonLat = new OpenLayers.LonLat(lon, lat).transform(proj4326, map.getProjectionObject());
	map.setCenter(lonLat, zoom);
	//////////////////////////// Zoom Rect /////////////////////////////////////////
	zoomR = new OpenLayers.Control.ZoomBox({
		map: this.map
	});
	OpenLayers.Util.extend(control, {
		draw: function () {
			this.box = new OpenLayers.Handler.Box(control, {"done": this.notice});
			this.box.activate();
		},
			notice: function (bounds) {
			zoomR.zoomBox(bounds);
		},
		clear: function (){
			if (control.active){
				this.box.deactivate();
				control.deactivate();
			}
		}
	}); 
    //////////////////////////// Zoom Rect    ////////////////////////////////////////
    ////////////////////////////   Paneo      ////////////////////////////////////////
	pan = new OpenLayers.Control.Navigation();
	map.addControl(pan);
    ////////////////////////////   Paneo    ////////////////////////////////////////    
	myLocationLayer = new OpenLayers.Layer.Vector( "Routing" );
	map.addLayers([myLocationLayer]);	                          
    ////////////////////////////   Markers  ////////////////////////////////////////
	markersNB = new OpenLayers.Layer.Markers( "MarkersNearbyBusiness" );
	markersNB.setVisibility(false);
	map.addLayer(markersNB);
	markers = new OpenLayers.Layer.Markers( "Markers" );
	map.addLayer(markers);	
	markersMYP = new OpenLayers.Layer.Markers( "MarkersMyYellowPages" );
	map.addLayer(markersMYP);
	pointerMarker = new OpenLayers.Layer.Markers( "PointerMarker" );
	map.addLayer(pointerMarker);
	markerSelected = new OpenLayers.Layer.Markers( "SelectedMarker" );
	map.addLayer(markerSelected);		
	myLoc2= new OpenLayers.Layer.Vector( "Rout2" );
	map.addLayers([myLoc2]);	
	////////////////////////////   Markers  ////////////////////////////////////////
	///////// Verifica si viene con algún ID de cliente en el URL //////////////////
	loadSession();
	searchClient();
	searchObjs();
	geoTools("info");
	listMyYellowTypes();
	preloadImages(); 
	////////////////////////////////////////////////////////////////////////////////
} // Fin del function init()

function gotoLogin(){
	document.location.href = "http://www.pac.com.ve/index.php?option=com_jumi&fileid=52&Itemid=221";
}
function closeSession(){
	document.location.href = "http://www.pac.com.ve/usuariocerrar.php?session="+session;
}
function setAlpha(imageformat)
{
	var filter = false;
	if (imageformat.toLowerCase().indexOf("png") > -1) {
		filter = OpenLayers.Util.alphaHack(); 
	}
	return filter;
}

function geoTools(type){
	switch (type){
		case 'zoomIn':	
			//control.clear();
			//map.events.unregister('click', map, findLayerClick);
			closePopUps();
			map.zoomIn();
			//map.addControl(pan);
		break;
		
		case 'zoomOut':	
			//control.clear();
			//map.events.unregister('click', map, findLayerClick);
			closePopUps();
			map.zoomOut();
			//map.addControl(pan);
		break;
						
		case 'pan':		
			control.clear();
			map.events.unregister('click', map, findLayerClick);
			closePopUps();
			map.addControl(pan);
		break;
						
		case 'allLayers': 	
			control.clear();
			map.events.unregister('click', map, findLayerClick);
			closePopUps();
			map.zoomToMaxExtent();
			map.addControl(pan);
		break;	
		
		case 'zoomRect':	
			map.events.unregister('click', map, findLayerClick);
			closePopUps();
			zoomRect();
		break;
							
		case 'info':	
			myYellow = false;
			map.events.unregister('click', map, findLayerClick);
			closePopUps();
			control.clear();
			zoomR.deactivate();
			map.events.register('click', map, findLayerClick);
		break;
		
		case 'addMyYellow':	
			myYellow = true;
			map.events.unregister('click', map, findLayerClick);
			closePopUps();
			control.clear();
			zoomR.deactivate();
			map.events.register('click', map, findLayerClick);
		break;
	}
}

function closePopUps(){
	if (popUpSearch!=null){
		closeSearchInfo();
	}
	if (infoPopUp !=null){
		closeInfoPopUp();
	}
	if (popUpNB!=null){
		closeNBPopUp();
	}
}

function closeSearchInfo(){
	map.removePopup(popUpSearch);
	popUpSearch.destroy();
	popUpSearch = null;
}

function closeInfoPopUp(){
	map.removePopup(infoPopUp);
	infoPopUp.destroy();
	infoPopUp = null;
}

function closeNBPopUp(){
	map.removePopup(popUpNB);
	popUpNB.destroy();
	popUpNB = null;	
}

function setHTML(response){
	var string = response.responseText;
	closePopUps();
	if (response.responseText.indexOf('no results') == -1){
		var urlajax = 'lib/infoQuery.php';
		var dataajax = 'string='+string;
		$.ajax({
		   type: "POST",
		   url: urlajax,
		   data: dataajax,
		   dataType: "html",
		   cache: false,
		   success: function(XMLhtml){
				var html = '<table width="100%"><tr><td>'+XMLhtml+'</td></tr>'+
								'<tr>'+
									'<td class="text">'+
										'<a href="#" onclick="sNBPAC();">Empresas Cercanas</a>'+
									'</td>'+
								'</tr>'+	
								'<tr>'+
									'<td><a href="#" onclick="saveFromInfo(\''+XMLhtml+'\');">Guardar en mis Lugares</a></td>'+
									'<td><a href="">Reportar Error</a></td>'+
								'</tr>'+
						  '</table>';
				createPopUp('infoPopUp', mouseLoc, html);
		   }
		});
		//createPopUp('infoPopUp', mouseLoc, html);
	}
	else{
		if (infoPopUp !=null){
			closeInfoPopUp();
		}
	} 
}

function saveFromInfo(aux, forSave, infoType){
	myYellowType = '';
	if (sessionID!=0 && sessionID!=null){
		var stringDirection='';
		closePopUps();
		aux = aux.split('|');
		html = '<table width="100%" cellspacing="10">';
		html = html+'<tr>';
		html = html+'<td align="left">Agregar a Mis Lugares:<br/></td>';
		html = html+'</tr>';			
		html = html+'<tr>';
		html = html+'<td><input type="text" maxlength="40" id="txtMyYellowName" onkeypress="return NoSpecialChar(event, \'fromSPage\', \'\');" style="width:100%" value="'+aux[0]+'"/></td>'; 									//aux[0] = Nombre de la referencia...
		html = html+'</tr>';
		if (aux[4]!=''){														//aux[4] = Dirección. Si viene de PAC ya está construida...
			if (aux[5]!='fromPAC'){

					if (aux[9]!='fromSpecial' && aux[9]!='fromCarto'){
						aux[9]='';	
					}
				stringDirection = stringDirection+''+aux[4];				// Si no viene de PAC, se construye la dirección...
			} else {
				stringDirection = stringDirection+aux[4];
			}
		}

		if (aux[5]!='' && aux[5]!='fromING' && aux[5]!='fromPAC'){
			stringDirection = stringDirection+', ciudad '+aux[5];				// Si no viene de PAC, se construye la dirección...
		}

		if (aux[6]!='' && aux[6]!='fromING' && aux[6]!='fromPAC'){
			stringDirection = stringDirection+', sector '+aux[6];				// Si no viene de PAC, se construye la dirección...
		}
		html = html+'<input type="hidden" id="txtMyYellowPhone" value="'+aux[7]+'">';
		html = html+'<input type="hidden" id="txtMyYellowProfile" value="'+aux[8]+'">';
		html = html+'<input type="hidden" id="txtMyYellowFaceAndTweet" value="'+aux[9]+'">';
		html = html+'<input type="hidden" id="txtMyYellowID" value="'+aux[10]+'">';
		html = html+'<input type="hidden" id="txtMyYellowTweet" value="'+aux[11]+'">';
		html = html+'<input type="hidden" id="txtMyYellowFace" value="'+aux[12]+'">';
		html = html+'<input type="hidden" id="txtMyYellowDirec" value="'+stringDirection+'">';
		html = html+'<tr>';
		html = html+'<td>';
		html = html+typesTable;
		html = html+'</td>';
		html = html+'</tr>';
		html = html+'<tr>';
		html = html+'<td align="right"> <table> <tr> <td><a href="#"><img src="./images/Buttons/saveMyYellow.png" border="0" onclick="saveMyYellowPage(2);" value="Guardar" alt="Guardar" title="Guardar"/></a></td> <td><a href="#"><img src="./images/Buttons/cancel.png" border="0" onclick="listMyYellowPages(1);" value="Cancelar" alt="Cancelar" title="Cancelar"/></a></td></tr></table> </td>';
		html = html+'</tr>';
		html = html+'</table>';
		var x = aux[2];
		var y = aux[3];
		var coords = new OpenLayers.LonLat(x, y).transform(proj4326,map.getProjectionObject());
		lonLatPos = coords;
		mouseCoords = map.getPixelFromLonLat(coords);
		$("#myYellowPages").html(html);	
		toggleAccordion(5);
	} else {
		for (var j=1; j>0; j++){
			var paramSize = aux.length;
			if (paramSize>1000){
				$.cookie('param'+j, aux.substr(0, 1000));
				aux = stringForSave.substr(1000);
			} else {
				$.cookie('param'+j, aux.substr(0));
				$.cookie('paramParts', j);
				j = -2;
			}
		}
		var forSaveAux = forSave;
		for (var k=1; k>0; k++){
			var forSSize = forSaveAux.length;
			if (forSSize>1000){
				$.cookie('forSave'+k, forSaveAux.substr(0, 1000));
				forSaveAux = forSaveAux.substr(1000);
			} else {
				$.cookie('forSave'+k, forSaveAux.substr(0));
				$.cookie('forSParts', k);
				k = -2;
			}
		}
		//$.cookie('forSave', forSave);
		$.cookie('cookiesType', 'info');
		$.cookie('infoType', infoType);
		if (infoType=='info'){
			var stringForSave = $('#infoTool_contentDiv').html();
			for (var i=1; i>0; i++){
				var size = stringForSave.length;
				//var newSize = size - 1000;
				if (size>1000){
					$.cookie('infoHtml'+i, stringForSave.substr(0, 1000));
					stringForSave = stringForSave.substr(1000);
				} else {
					$.cookie('infoHtml'+i, stringForSave.substr(0));
					$.cookie('infoParts', i);
					i = -2;
				}
			}
			
			var auxArray = forSave.split('|');
			$.cookie('xInfo', auxArray[0]);
			$.cookie('yInfo', auxArray[1]);
		} else {
			$.cookie('infoHtml', forSave);
		}
		gotoLogin();
	}
}

function listMyYellowTypes(){
	var urlajax = 'lib/MyYellowPagesAction.php';
	var dataajax = 'actionType=types';
	var string ='';
	$.ajax({
	   type: "POST",
	   url: urlajax,
	   data: dataajax,
	   dataType: "html",
	   cache: false,
	   success: function(XMLhtml){
		   typesTable = XMLhtml;
	   }
	});
}


function deleteMyYellowPage(ObjectName, id){
	$("#Message2").html("¿Esta seguro de querer eliminar este lugar?");
	$("#Message").dialog("option", "height", 125);
	$("#Message").dialog("option", "buttons", {"Aceptar":function(){confirmDelete(id);}, "Cancelar": function() {$(this).dialog("close");}});
	$("#Message").dialog("open");	
}

function confirmDelete(id){
	
	var dataAjax = "actionType=delete&myYellowId="+id;
	$.ajax({
		type: "POST",
		url:  'lib/MyYellowPagesAction.php',
		data: dataAjax,
		dataType: "html",
		cache: false,
		success: function(XMLhtml){
			markersMYP.clearMarkers();
			markerSelected.clearMarkers();				
			listMyYellowPages(gPageY);
			$("#Message2").html("Lugar eliminado exitosamente.");
			$("#Message").dialog("option", "height", 125);
			$("#Message").dialog("option", "buttons", {"Cerrar": function() {$(this).dialog("close");}});			
			closePopUps();
		}
	});	
}


function NoSpecialChar(e, from, id){
	//Mayusculas 65-90
	//Minusculas 97-122
	// 209,  241
	//Enter 13
	// # (key == 35 && string.indexOf(char)==-1) || 
	var key; 
	var value= true;
	var char; 
	var key = window.event ? e.keyCode : e.which;
	if (from != 'fromSPage' && from != 'fromSRoute' && from != 'fromUPage'){
		if (key == 8){
			switch (id){
				case 'txtSource': 	myLoc2.removeFeatures(myLoc2.getFeatureByFid(11));
									pointsArray.splice(1,1);
									break;
				case 'txtDest':		var inputCounter = 0;
									$("input[id^='txtRoute']").each(function(index){
										inputCounter++;
									});
									myLoc2.removeFeatures(myLoc2.getFeatureByFid(10+inputCounter));
									pointsArray.splice(inputCounter,1);
									break;
				default: 			myLoc2.removeFeatures(myLoc2.getFeatureByFid(10+from));
									pointsArray.splice(from,1);
									break;
			}
			if (from==1){
				switch(id){
					case 'txtSource':	var strVal = $("#txtSource").val();
										$("#txtRoute1Accord").val("");
										break;
					case 'txtRoute1Accord':	var strVal = $("#txtRoute1Accord").val();
											$("#txtSource").val("");
											break;
				}
			} else {
				var inputCounter = 0;
				$("input[id^='txtRoute']").each(function(index){
					inputCounter++;
				});
				if (id == 'txtDest'){
					$("#txtRoute"+inputCounter+"Accord").val("");
				} else {
					if (from==inputCounter){
						$("#txtDest").val("");
					}
				}
			}
		}			
		if (key==13){////////////// Modificado el 11/11/11 para hacer ruteo si ya se tienen origen y destino y se presiona enter... ////////////
			if (pointsArray[1] != undefined && pointsArray[2] != undefined){
				if('txtDest'){
					showRoute(false);				
				}
			}
		}///////////////////////// Modificado el 11/11/11 para hacer ruteo si ya se tienen origen y destino y se presiona enter... ////////////
	} else {
		if (key == 13){
			switch (from){
				case 'fromSPage': 	saveMyYellowPage(2);
									break;
				case 'fromSRoute':	saveMyRoute();
									break;
				case 'fromUPage':	saveMyYellowPage(1);
									break;								
			}
		}
	}
	if (key == 39 || key ==34){
		 value= false;
	}
	return value;
}

function modifyMyYellowPage(x, y, name, direction, phone, id, profile, faceAndTweet, icon, acountID, face, tweet){
	//closePopUps();
	myYellowID = id;
	myYellowType = icon;
	var stringDirection='';
	closePopUps();
	//geoTools('pan');
	html = '<table width="100%" cellspacing="10">';
	html = html+'<tr>';
	html = html+'<td align="left">Agregar a Mis Lugares:<br/></td>';
	html = html+'</tr>';			
	html = html+'<tr>';
	html = html+'<td><input type="text" maxlength="40" id="txtMyYellowName" onkeypress="return NoSpecialChar(event, \'fromUPage\', \'\');" style="width:100%" value="'+name+'"/></td>';
	html = html+'</tr>';
	html = html+'<input type="hidden" id="txtMyYellowPhone" value="'+phone+'">';
	html = html+'<input type="hidden" id="txtMyYellowProfile" value="'+profile+'">';
	html = html+'<input type="hidden" id="txtMyYellowFaceAndTweet" value="'+faceAndTweet+'">';
	html = html+'<input type="hidden" id="txtMyYellowID" value="'+acountID+'">';
	html = html+'<input type="hidden" id="txtMyYellowTweet" value="'+tweet+'">';
	html = html+'<input type="hidden" id="txtMyYellowFace" value="'+face+'">';
	html = html+'<input type="hidden" id="txtMyYellowDirec" value="'+direction+'">';
	html = html+'<tr>';
	html = html+'<td>';
	html = html+typesTable;
	html = html+'</td>';
	html = html+'</tr>';
	html = html+'<tr>';
	html = html+'<td align="right"> <table> <tr> <td><a href="#"><img src="./images/Buttons/saveMyYellow.png" border="0" onclick="saveMyYellowPage(1);" value="Guardar" alt="Guardar" title="Guardar"/></a></td> <td><a href="#"><img src="./images/Buttons/cancel.png" border="0" onclick="listMyYellowPages(1);" value="Cancelar" alt="Cancelar" title="Cancelar"/></a></td></tr></table> </td>';
	html = html+'</tr>';
	html = html+'</table>';
	var coords = new OpenLayers.LonLat(x, y).transform(proj4326,map.getProjectionObject());
	lonLatPos = coords;
	mouseCoords = map.getPixelFromLonLat(coords);
	$("#myYellowPages").html(html);	
	$('input[id='+icon+']').attr('checked', true);
}

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}

function saveMyYellowPage(id){
	myYellow = false;
	var height = $("#Message").dialog("option", "height");
	$("#Message").dialog("option", "height", 75);
	$("#Message2").html("Por favor espere...");
	$("#Message").dialog("option", "buttons", {});
	$("#Message").dialog("open");
	var txtName = ($("#txtMyYellowName").val()).trim();
	txtName = encodeURIComponent(txtName);
	var txtPhone = encodeURIComponent($("#txtMyYellowPhone").val());
	var txtDirect = encodeURIComponent($("#txtMyYellowDirec").val());
	var txtProfile = encodeURIComponent($("#txtMyYellowProfile").val());
	var txtFaceAndTweet = encodeURIComponent($("#txtMyYellowFaceAndTweet").val());
	var txtTweet = encodeURIComponent($("#txtMyYellowTweet").val());
	var txtFace = encodeURIComponent($("#txtMyYellowFace").val());
	var txtID = encodeURIComponent($("#txtMyYellowID").val());
	var rdoType = myYellowType;
	if (txtName==''){
	   $("#Message").dialog("option", "height", height);
	   $("#Message2").html("Debe ingresar el nombre del lugar");
	   $("#Message").dialog("option", "buttons", {"Aceptar": function() {$(this).dialog("close");}});
	} else if (rdoType=='') {
	   $("#Message").dialog("option", "height", height);
	   $("#Message2").html("Debe escoger la categoría del lugar");
	   $("#Message").dialog("option", "buttons", {"Aceptar": function() {$(this).dialog("close");}});                 
	}else{
		switch (id){
case 0: var thisCoords = map.getLonLatFromPixel(mouseLoc);
thisCoords.transform(map.getProjectionObject(), proj4326);
var dataAjax = "actionType=add&name="+txtName+"&phone="+txtPhone+"&direction="+txtDirect+"&desc="+txtDesc+"&x="+thisCoords.lon+"&y="+thisCoords.lat+"&userId="+sessionID;// -----------------> OJO CAMBIAR EL USER ID POR EL REAL...
break;
case 1: var thisCoords = lonLatPos.transform(map.getProjectionObject(), proj4326);

//alert('Desde saveMyYellowPage: '+coords);
var dataAjax = "actionType=modify&name="+txtName+"&phone="+txtPhone+"&direction="+txtDirect+"&profile="+txtProfile+"&x="+thisCoords.lon+"&y="+thisCoords.lat+"&faceAndTweet="+txtFaceAndTweet+"&type="+rdoType+"&tweet="+txtTweet+"&face="+txtFace+"&objectID="+txtID+"&myYellowId="+myYellowID+"&userId="+sessionID;// -----------------> OJO CAMBIAR EL USER ID POR EL REAL...
lonLatPos.transform(proj4326, map.getProjectionObject());
break;
case 2: var thisCoords = lonLatPos.transform(map.getProjectionObject(), proj4326);

//alert('Desde saveMyYellowPage: '+coords);
var dataAjax = "actionType=add&name="+txtName+"&phone="+txtPhone+"&direction="+txtDirect+"&profile="+txtProfile+"&x="+thisCoords.lon+"&y="+thisCoords.lat+"&faceAndTweet="+txtFaceAndTweet+"&type="+rdoType+"&tweet="+txtTweet+"&face="+txtFace+"&objectID="+txtID+"&userId="+sessionID;// -----------------> OJO CAMBIAR EL USER ID POR EL REAL...
lonLatPos.transform(proj4326, map.getProjectionObject());
break;                                                  
		}
	   $.ajax({
		 type: "POST",
		 url: 'lib/MyYellowPagesAction.php',
		 data: dataAjax,
		 dataType: "html",
		 cache: false,
		 success: function(XMLhtml){
		   if (XMLhtml=='t' || XMLhtml==''){
			  listMyYellowPages(gPageY);
			  $("#Message").dialog( "option", "closeOnEscape", true);
			  $("#Message").dialog("option", "height", height);                                        
			  $("#Message2").html("Lugar guardado exitosamente.");
			  $("#Message").dialog("option", "buttons", {"Cerrar": function() {$(this).dialog("close");}});
			  closeInfoPopUp();                                                                        
		   } else {
			  $("#Message").dialog( "option", "closeOnEscape", true);
			  $("#Message").dialog("option", "height", height);         
			  txtType = '';
			  switch (rdoType){
				case "typeHouse.png": txtType = 'Casa';             		break;
				case "typeWork.png": txtType = 'Trabajo';         			break;
				case "typeEntertaiment.png": txtType = 'Entretenimiento';   break;
				case "typeSubway.png": txtType = 'Centros Comerciales';     break;
				case "typeGarage.png": txtType = 'Taller';          		break;
				case "typeGirlfriend.png": txtType = 'Casa Novia/o';     	break;
				case "typeRestaurant.png": txtType = 'Restaurante';    		break;
				case "typeCollege.png": txtType = 'Colegio / Guarderia';    break;
				case "typeGym.png": txtType = 'Gimnasio';       			break;
				case "typeMedic.png": txtType = 'Medico';					break;
			  }
			$("#Message2").html("El lugar \""+decodeURIComponent(txtName)+"\" de categoría  \""+decodeURIComponent(txtType)+"\", ya existe.");
			$("#Message").dialog("option", "buttons", {"Cerrar": function() {$(this).dialog("close");}});
		   }
		 }
	   });
  }
}

function showUser(){
	if (sessionID==null){
		setTimeout('showUser()', 3000);
	} else {
		if (sessionID!=0){
			$('#session').html(' <a href="#" id="noneA"><span>'+userName+'</span> | <span onclick="closeSession();">Cerrar Sesión</span></a>');
		}
		else{
			$('#session').html('<a href="#" id="noneA"><span onclick="toggleAccordion(5);">Mis Páginas Amarillas</span> | <span onclick="gotoLogin();">Inicia Sesión</span></a> ');
		}
	}
}

function listMyYellowPages(page){
	gPageY = page;
	if (sessionID==null){
		setTimeout('listMyYellowPages(page)', 3000);
	} else {
		if (sessionID!=0){
			$("#myYellowPages").html("<table><tr><td><img src='images/progress.gif'></td><td>Por favor espere... </td></tr></table>");		
			var dataAjax = "actionType=list&userId="+sessionID+"&page="+gPageY;
			$.ajax({
				type: "POST",
				url: 'lib/MyYellowPagesAction.php',
				data: dataAjax,
				dataType: "html",
				cache: false,
				success: function(XMLhtml){
					if (XMLhtml==''){
						XMLhtml = "<table><tr><td>No posee lugares guardados...</td></tr></table>"
					}
					$("#myYellowPages").html(XMLhtml);
				}
			});
		} else {
			$("#myYellowPages").html('<center><p>Debe <a href="http://www.pac.com.ve/index.php?option=com_jumi&fileid=52&Itemid=221">Iniciar Sesión</a> para visualizar sus lugares.</p></center>');
		}
	}
}

var routeSelected = '';
var actualClass = '';
function listMyYellowRoutes(page){
	gPageR = page;
	if (sessionID==null){
		setTimeout('listMyYellowRoutes(page)', 3000);
	} else {
		if (sessionID!=0){
			$("#myYellowRoutes").html("<table><tr><td><img src='images/progress.gif'></td><td>Por favor espere... </td></tr></table>");		
			var dataAjax = "actionType=list&userId="+sessionID+"&page="+gPageR;
			$.ajax({
				type: "POST",
				url: 'lib/SaveMyRuteAction.php',
				data: dataAjax,
				dataType: "html",
				cache: false,
				success: function(XMLhtml){
					if (XMLhtml==''){
						XMLhtml = "<table><tr><td>No posee rutas guardadas...</td></tr></table>"
					}					
					$("#myYellowRoutes").html(XMLhtml);
				}
			});
		} else {
			$("#myYellowRoutes").html('<center><p>Debe <a href="http://www.pac.com.ve/index.php?option=com_jumi&fileid=52&Itemid=221">Iniciar Sesión</a> para visualizar sus rutas.</p></center>');
		}
	}
}

function selectRecord(actClass, id){
	if (routeSelected==''){
		routeSelected = id;
		actualClass = actClass;
	} else {
		$('#'+routeSelected).attr("class", actualClass);
		routeSelected = '';
		actualClass = '';
		selectRecord(actClass, id)
	}
	$('#'+routeSelected).attr("class", "selectedRow");
}

function createFaTwIn(name,typeSpecial,sX,sY,estate,city,sect) {
	var Tweet = encodeURIComponent('http://'+location.host+'/index.php?NameSpecial='+removeAccents(name.replace(/[ ]/gi,'*'))+'&typeSpecial='+removeAccents(typeSpecial.replace(/[ ]/gi,'*'))+'&sX='+sX+'&sY='+sY+'&sta='+removeAccents(estate.replace(/[ ]/gi,'*'))+'&cit='+removeAccents(city.replace(/[ ]/gi,'*'))+'&sect='+removeAccents(sect.replace(/[ ]/gi,'*')));


	var faceAndTweet = encodeURIComponent('http://'+location.host+'/index.php?NameSpecial='+name+'&typeSpecial='+typeSpecial+'&sX='+sX+'&sY='+sY+'&sta='+estate+'&cit='+city+'&sect='+sect);
	var faceURL ='?s=100&amp;p[url]='+faceAndTweet+'&amp;p[images][0]=http://200.109.126.56/images/logoPaginasAmarillas.jpg&amp;p[title]='+name+'&amp;p[summary]='+name; 
	
	
	var factw = '<table><td width="22px"></td>' 
				+'<td class="text" style="width:20%" align="left">Compartir '
				+'</td>'+'<td  style="width:10px">'+
'<a href="http://www.facebook.com/sharer.php'+faceURL+'&amp;t='+name+'" rel="nofollow" title="Compartir en Facebook - '+name+'" target="_blank">'+
												'<img src="./images/Facebook-icon.png" border="0"/>'+
'</a>'+
											'</td>'+
											'<td>'+
'<a href="http://twitter.com/share?url='+Tweet+'&amp;text='+name+'" rel="nofollow" title="Compartir en Twitter - '+name+'" target="_blank">'+
													'<img src="./images/Twitter-icon.png" border="0"/>'+
												'</a>'+
											'</td></table>';
	return factw;
}
function zoomRect(){
	control.activate();
	map.addControl(control);
}

function showHideDiv(type){
	switch (type){
		case 'show':	if($('#resultsTD').css('display')=='none'){
							$('#resultsTD').show('slide', 'slow');
							$('#map').css('width', '670');
							map.updateSize();
							vType = 'hide';
						}
						break;
		case 'hide':	$('#resultsTD').hide('slide', 'slow',resizeMap);
						vType = 'show';
						break;
	}
	
}

function resizeMap(){
	$('#map').css('width', '970');
	map.updateSize();
}

function toggleAccordion(index){
	if (index==3){
		markersNB.setVisibility(true);
	}
	showHideDiv('show');
	var actAccordion = $("#accordion").accordion("option", "active");
	if (actAccordion!=index || actAccordion===false){
		$("#accordion").accordion("option", "active", index);
	}
}

function LocatePacMYP(x, y, name, direction, phone, index, profile, faceAndTweet, icon, id, face, tweet){
	PacReload (); //Para mantener la sesión activa...
	if (infoPopUp !=null){
		closeInfoPopUp();
	}
	if (popUpSearch!=null){
		closeSearchInfo()
	}
	if (popUpNB!=null){
		closeNBPopUp();
	}
	var i = index;
	index = index +1;
	var imgURL = 'images/Buttons/'+icon;
	var html =  '<table width="99%">'+
		  			'<tr>'+
						'<td width="22px"><img src="'+imgURL+'.png"/></td>'+
						'<td class="text" style="text-transform:uppercase">'+
							'<b class="text">'+name+'</b>'+
						'</td>'+
					'</tr>'+
					'<tr>'+
						'<td>&nbsp;</td>'+
						'<td>&nbsp;</td>'+
					'</tr>'+					
					'<tr>'+
						'<td>&nbsp;</td>'+					
						'<td class="text">'+direction+'<br/><br/></td>'+
					'</tr>';
	if (phone!=''){
		html = html+'<tr>'+
						'<td>&nbsp;</td>'+		
						'<td class="text" style="color:#FF6600"><b>Tel: '+phone+'</b><br/><br/></td>'+
					'</tr>';
	}
	if (profile!=''){
		html = html+'<tr>'+
						'<td>&nbsp;</td>'+		
						'<td><a href="'+unescape(profile)+'" target="_blank" class="text">Ver Perfil</a></td>'+
					'</tr>'
	} 
	html = html + '<tr>'+
					  '<td>&nbsp;</td>';
					if (routesFlag<=6){
						if($("#txtRoute2Accord").val() == null || $("#txtRoute2Accord").val()==""){
					  html = html +'<td><a href="#" class="text" onclick="addPointForRoute('+x+','+y+',\''+name+'\', false)">Cómo llegar</a></td>';
						} else if(($("#txtRoute1Accord").val()==null || $("#txtRoute1Accord").val()=="") && ($("#txtRoute2Accord").val() != null || $("#txtRoute2Accord").val()!="")) {
html += '<td><a href="#" class="text" onclick="addStartPoint('+x+','+y+',\''+name+'\')">Agregar a Origen</a></td>';							
						} else {
		  html = html +'<td><a href="#" class="text" onclick="addPointForRoute('+x+','+y+',\''+name+'\', false)">Agregar a destino</a></td>';						
						}
					} else {
						html += '<td></br></br></td>';
					}						  
				  '</tr>';																				  	
	var stateCity = '';
	var type = '';
		html = html + '<tr>'+
						  '<td>&nbsp;</td>'+		
						  '<td align="left">';
	if (faceAndTweet!='fromCarto'){
		if (faceAndTweet!=''){
			if (faceAndTweet!='fromSpecial'){
				html = html + createFaTwPAC(x,y,name,direction,stateCity,phone,profile,faceAndTweet,type,id);			
			} else {
				var aux = face.split('·');
				var ftIng = createFaTwIn(aux[0],aux[1],aux[2],aux[3],aux[4],aux[5],aux[6]);
				html = html + ftIng;
			}
		} else {
			html = html + createFaTwIng(face, tweet, name);
		}
	}
		html = html + '</td>'+
					  '</tr>'+								
				   '</table>';
	infoPopUp = new OpenLayers.Popup(
                        "popUpSearch", 
                        new OpenLayers.LonLat(x, y).transform(proj4326,map.getProjectionObject()),
                        new OpenLayers.Size(250, 195),
                        html,
                        true,
                        null
                    );
	addSelectedMarker(x,y,index, imgURL,'PACMYP');
	map.addPopup(infoPopUp);	
	map.setCenter(new OpenLayers.LonLat(x, y).transform(proj4326,map.getProjectionObject()),11);
}

function addMarker(x,y,index){
	index = index + 1;
	var size = new OpenLayers.Size(21,32);
	var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
	icon = new OpenLayers.Icon('http://200.109.126.56/images/Buttons/Ing'+index+'_.png', size, offset);
	markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(x, y).transform(proj4326,map.getProjectionObject()),icon));
}

function addPointerMarker(x,y){
	var size = new OpenLayers.Size(15,20);
	var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
	icon = new OpenLayers.Icon('http://200.109.126.56/images/Buttons/hereIcon.png', size, offset);
	pointerMarker.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(x, y).transform(proj4326,map.getProjectionObject()),icon));
}

function addMarkerPac(x,y,index, type){
	index = index + 1;	
	var imgURL;
	switch(type){
		case "MDI": imgURL = 'images/Buttons/Oro'+index+'_.png';
					break;
		case "SDI": imgURL = 'images/Buttons/Plata'+index+'_.png';
					break;
		case "DI": 	imgURL = 'images/Buttons/Bronce'+index+'_.png';
					break
		default: 	imgURL = 'images/Buttons/Free'+index+'_.png';
					break;
	}
	var size = new OpenLayers.Size(21,32);
	var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
	icon = new OpenLayers.Icon('http://200.109.126.56/'+imgURL, size, offset);
	markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(x, y).transform(proj4326,map.getProjectionObject()),icon));
}

function addSelectedMarker(x,y,index,type,searchType){
	//markersMYP.clearMarkers();
	//markerSelected.clearMarkers();	
	var imgURL;
	if (searchType=='PAC'){
		pointerMarker.clearMarkers();
		$('#coordsDiv').html('');	
		switch(type){
			case "MDI": imgURL = 'images/Buttons/Oro'+index+'_.png';
						break;
			case "SDI": imgURL = 'images/Buttons/Plata'+index+'_.png';
						break;
			case "DI": 	imgURL = 'images/Buttons/Bronce'+index+'_.png';
						break;
			default: 	imgURL = 'images/Buttons/Free'+index+'_.png';
						break;
		}
		var size = new OpenLayers.Size(21,32);
		var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
		icon = new OpenLayers.Icon('http://200.109.126.56/'+imgURL, size, offset);
		markerSelected.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(x, y).transform(proj4326,map.getProjectionObject()),icon));
	} else if (searchType=='PACNB'){
		switch(type){
			case "MDI": imgURL = 'images/NearBusiness/GoldMarker/GoldMarker'+index+'.png';
						break;
			case "SDI": imgURL = 'images/NearBusiness/SilverMarker/SilverMarker'+index+'.png';
						break;
			case "DI": 	imgURL = 'images/NearBusiness/BronzeMarker/BronzeMarker'+index+'.png';
						break;
			default: 	imgURL = 'images/NearBusiness/FreeMarker/FreeMarker'+index+'.png';
						break;
		}
		var size = new OpenLayers.Size(21,32);
		var offset = new OpenLayers.Pixel(-(size.w/2), -size.h, offset);
		icon = new OpenLayers.Icon('http://200.109.126.56/'+imgURL, size, offset);
		markerSelected.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(x, y).transform(proj4326,map.getProjectionObject()),icon));
	} else if (searchType=='PACMYP'){
		pointerMarker.clearMarkers();
		$('#coordsDiv').html('');
		imgURL = type;
		var size = new OpenLayers.Size(30,30);
		var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
		icon = new OpenLayers.Icon('http://200.109.126.56/'+imgURL+'Marker.png', size, offset);
		markerSelected.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(x, y).transform(proj4326,map.getProjectionObject()),icon));
		addMarkerMyYellowPage(x, y, imgURL);
	} else if (searchType=='ING'){
		pointerMarker.clearMarkers();
		$('#coordsDiv').html('');
		var size = new OpenLayers.Size(21,32);
		var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
		icon = new OpenLayers.Icon('http://200.109.126.56/images/Buttons/Ing'+index+'_.png', size, offset);
		markerSelected.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(x, y).transform(proj4326,map.getProjectionObject()),icon));
	} 
}

function addMarkerPacNearBusiness(x,y,index, type){
	index = index + 1;	
	var imgURL;
	switch(type){
		case "MDI": imgURL = 'images/NearBusiness/GoldMarker/GoldMarker'+index+'.png';
					break;
		case "SDI": imgURL = 'images/NearBusiness/SilverMarker/SilverMarker'+index+'.png';
					break;
		case "DI": 	imgURL = 'images/NearBusiness/BronzeMarker/BronzeMarker'+index+'.png';
					break;
		default: 	imgURL = 'images/NearBusiness/FreeMarker/FreeMarker'+index+'.png';
					break;
	}
	var size = new OpenLayers.Size(21,32);
	var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
	icon = new OpenLayers.Icon('http://200.109.126.56/'+imgURL, size, offset);
	markersNB.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(x, y).transform(proj4326,map.getProjectionObject()),icon));
}

function createPopUp(type, xy, html){
	//html2 = //'<div style="z-index:50;">'+
	//'<iframe style="width:250px; height:145px;z-index:100;position:absolute;left: 1px;top: 1px;" ></iframe>'+
	//'<div id="idtxtInfo" style="z-index:250;position:absolute;width:250px;height:120px;overflow-y:auto;left: 8px;top: 20px;"></div>';
	if (infoPopUp !=null){
		closeInfoPopUp();
	}
	switch (type){
	case 'infoPopUp':		infoPopUp = new OpenLayers.Popup(
										"infoTool", 
										map.getLonLatFromPixel(xy),
                       					new OpenLayers.Size(250, 160),
										html,
										true,
										null
							);
							map.addPopup(infoPopUp);
							break;
	case 'addYellowPopUp':	addMarkerMyYellowPage(xy);
							infoPopUp = new OpenLayers.Popup(
										"infoTool", 
										map.getLonLatFromPixel(xy),
                       					new OpenLayers.Size(280, 270),
										html,
										true,
										null
							);
							map.addPopup(infoPopUp);
							break;
	}
	//$("#idtxtInfo").html(html);
}

function toggleMap(){
	if (gsat.visibility){
		$('#CopyRight').css("bottom", "10px");
		gsat.setVisibility(false);
		lay_Sat.setVisibility(false);
		lay_Base.setVisibility(true);
		control.clear();
		//closePopUps();
	}
}

function toggleSatelital(){
	if (!gsat.visibility){
		$('#CopyRight').css("bottom", "33px");
		lay_Base.setVisibility(false);
		gsat.setVisibility(true);
		lay_Sat.setVisibility(true);
		control.clear();
		//closePopUps();
	}
}

function ChangeImage(){
	if ($('#triangulo').attr("src") == 'images/trian_right.png'){
		$('#triangulo').attr("src", "images/trian_left.png");
	}
	else{
		$('#triangulo').attr("src", "images/trian_right.png");
	}
}

function printMap() {
	var activelayers = [];
	var layers  = map.getLayersBy("visibility", true);
	for (i in layers) {
	if (!layers[i].getVisibility()) continue;
	if (!layers[i].calculateInRange()) continue;
		if (layers[i].name != ''){
			if(layers[i].name!='Sat'){
				activelayers[activelayers.length] = translateLayer(layers[i].name);
			}
			else{
				activelayers[activelayers.length] = translateLayer('Inicial');
			}
		}
	}     
	var idTemp = postParamsRouting(); 															//&sX='+sX+'&sY='+sY+'&lS='+routes;
	var dataajax = 'LAYERS=' + (activelayers) + '&BBOX='+map.getExtent().toBBOX()+'&OPTION=PRINT&idTemp='+idTemp;
	var urlajax = 'lib/Ajax.php';         
	var ventana = window.open(urlajax+'?'+dataajax, "", "");
}


function postParamsRouting(){
	var DD = '';
	DD=$("#routPoints3").html();
	var routes,sX,sY;
	routes=sX=sY = '';
	for (var i=0 ;i< myLocationLayer.features.length;i++ ){
		routes+= '{'+myLocationLayer.features[i].geometry.transform(projgoogle,proj4326).components[0].toString();
		myLocationLayer.features[i].geometry.transform(proj4326,projgoogle);
	} 
	for (var i=1; i<7; i++){
		if(pointsArray!=null){
			if (pointsArray[i]!=undefined){
				if (pointsArray[i][2]!='' && pointsArray[i][2]!=null){
					sX += '{'+pointsArray[i][0];
					sY += '{'+pointsArray[i][1];
				}
			}
		}
	}              
	var urlajax = 'lib/Ajax.php';
	var TypRut =  $("input[name='chkTypeRoute']:checked").val();
	if($("#routPoints3").is(':visible')){
		var dataajax = '&OPTION=POSTParams&sX='+sX+'&sY='+sY+'&lS='+routes+'&DD='+DD+'&TypeRoute='+TypRut;            
	}
	else{
		var dataajax = '&OPTION=POSTParams&sX='+sX+'&sY='+sY+'&lS='+routes;      
	}
	var idTemp = 0;
	$.ajax({
		type: "POST",
		url: urlajax,
		data: dataajax,
		dataType: "html", 
		async: false,
		cache: false,
		success: function(XMLhtml){
			idTemp = XMLhtml;
		}
	});
	return idTemp;
}


function sendMapToPrint(){
	var ventana = window.open("", "", "");
	var contenido = "<html><body onload='window.print();window.close();'>";
	contenido = contenido + document.getElementById("printDiv").innerHTML + "</body></html>";
	ventana.document.open();
	ventana.document.write(contenido);
	ventana.document.close();
}

function sendMapToSave(){
	var activelayers = [];
	var layers  = map.getLayersBy("visibility", true);
	for (i in layers) {
		if (!layers[i].getVisibility()) continue;
		if (!layers[i].calculateInRange()) continue;
		if (layers[i].name != ''){
			if(layers[i].name!='Sat'){
				activelayers[activelayers.length] = translateLayer(layers[i].name);
			}
			else{
				activelayers[activelayers.length] = translateLayer('Inicial');
			}
		}
	}
	var idTemp = postParamsRouting();
	var urlajax = 'lib/Ajax.php';
	var dataajax = 'LAYERS=' + (activelayers) + '&BBOX='+map.getExtent().toBBOX()+'&OPTION=SAVE&idTemp='+idTemp;
	window.location=urlajax+'?'+dataajax;
}

function mailMap(){ 
	$("#mailDiv").dialog('open');
}

function sendMapToMail(){
	var txtFrom = $("#txtMailFrom").val();
	var txtTo = $("#txtMailTo").val();
	var txtMess = $("#txtMessage").val();
	var txtNameFrom =$("#txtNameFrom").val();
	var errorFlag = 0;
	if(!isValidEmail(txtTo)){
		errorFlag = 1;
	}
	if(!isValidEmail(txtFrom)){
		errorFlag = 2;
	}
	if (errorFlag != 0){
		switch(errorFlag){
			case 1:
				$("#Message2").html("Formato de correo electrónico remitente inválido.");
				$("#Message").dialog("option", "height", 125);
				$("#Message").dialog("option", "buttons", {"Cerrar": function() {$(this).dialog("close");}});
				$("#Message").dialog("open");
			break;
			case 2:              
				$("#Message2").html("Formato de correo electrónico destino inválido.");
				$("#Message").dialog("option", "height", 125);
				$("#Message").dialog("option", "buttons", {"Cerrar": function() {$(this).dialog("close");}});
				$("#Message").dialog("open");
			break;                                                  
		}                             
	}
	else{
		txtFrom = encodeURIComponent (txtFrom);
		txtTo = encodeURIComponent (txtTo);
		txtMess = encodeURIComponent (txtMess);
		txtNameFrom = encodeURIComponent (txtNameFrom);
		var activelayers = [];
		var layers  = map.getLayersBy("visibility", true);
		for (i in layers) {
			if (!layers[i].getVisibility()) continue;
			if (!layers[i].calculateInRange()) continue;
			if (layers[i].name != ''){
				if(layers[i].name!='Sat'){
					  activelayers[activelayers.length] = translateLayer(layers[i].name);
				}
				else{
					  activelayers[activelayers.length] = translateLayer('Inicial');
				}
			}
		}
		var idTemp = postParamsRouting();                  
		var urlajax = 'lib/Ajax.php';
		var dataajax = 'LAYERS=' + (activelayers) + '&BBOX='+map.getExtent().toBBOX()+'&OPTION=MAIL&txtFrom='+txtFrom+'&txtTo='+txtTo+'&txtMess='+txtMess+'&txtNameFrom='+txtNameFrom+'&idTemp='+idTemp;
		$.ajax({
			type: "POST",
			url: urlajax,
			data: dataajax,
			dataType: "html",
			cache: false,
			beforeSend: function(XMLhtml){
				$("body").css("cursor", "progress");
			},
			success: function(XMLhtml){
				$("#mailDiv").dialog("close");
				$("#txtMailFrom").val("");
				$("#txtMailTo").val("");
				$("#txtMessage").val("");
				$("body").css("cursor", "auto");
				$("#Message").dialog("option", "height", 125);
				$("#Message").dialog("option", "buttons", {"Cerrar": function() {$(this).dialog("close");}});
				$("#Message2").html("Gracias por utilizar la aplicación Planos en Línea de Cantv. El plano ha sido enviado exitosamente.");
				$("#Message").dialog("open");
			},
			error: function(XMLhtml, textStatus, errorThrown){
				$("body").css("cursor", "auto");
			}
		});
	} 
}

function isValidEmail(email){
	var REG_EXP_EMAIL = /^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/;
	var myRegExp = new RegExp(REG_EXP_EMAIL);
	return myRegExp.test(email);
}

function clearMap(){
	var lon =-66.54492;
   	var lat = 8.3;
   	var zoom = 0;
   	var lonLat = new OpenLayers.LonLat(lon, lat).transform(proj4326, map.getProjectionObject());
	map.setCenter(lonLat, zoom);
	closePopUps(); 
	pointerMarker.clearMarkers();
	$('#coordsDiv').html('');
	markers.clearMarkers();
	markersNB.clearMarkers();
	markerSelected.clearMarkers();
	markersMYP.clearMarkers();
	Restore();
	arrayMyYellow = null;
	var urlajax = 'lib/Ajax.php';
	var dataajax = 'OPTION=CLEAR';
	$.ajax({
		 type: "POST",
		 url: urlajax, 
		 data: dataajax, 
		 dataType: "html",
		 cache: false,
		 success: function(XMLhtml){
		 }
	})
}

function changeSearchType(type){
	searchType = type;
	switch(searchType){
		case 'roads':
			$('#searching').css("visibility", "visible");
			$('#searching').css("display", "block");
			$('#routing').css("visibility", "hidden");
			$('#routing').css("display", "none");     
			document.getElementById('roadsTab').className = 'selected';
			document.getElementById('servicesTab').className = '';
			document.getElementById('routingTab').className = '';
			$("#txtCity").autocomplete( "enable" );
			$( "#txtCity" ).autocomplete({source: "search/autocomplete.php"});  
			$("#txtName").autocomplete( "disable" );
			checkCity();
			$('#OurCity').show();
		break;
		case 'services':
			$('#searching').css("visibility", "visible");
			$('#searching').css("display", "block");
			$('#routing').css("visibility", "hidden");
			$('#routing').css("display", "none");     		
			$('#txtCity').css('color','#000000');
			document.getElementById('servicesTab').className = 'selected';
			document.getElementById('roadsTab').className = '';
			document.getElementById('routingTab').className = '';
			$("#txtCity").autocomplete( "enable" );
			$( "#txtCity" ).autocomplete({source: "search/autocompletePAC.php?type=where"});
			$("#txtName").autocomplete( "enable" );
			$('#OurCity').hide();
		break;
		case 'routing':
			$("#txtName").autocomplete( "disable" );
			$("#txtCity").autocomplete( "disable" );
			$('#searching').css("visibility", "hidden");
			$('#searching').css("display", "none");
			$('#routing').css("visibility", "visible");
			$('#routing').css("display", "block");
			document.getElementById('routingTab').className = 'selected';
			document.getElementById('servicesTab').className = '';
			document.getElementById('roadsTab').className = '';
			if (pointsArray == null){
				pointsArray = new Array();
			}
		break;
	}
}

function searchAction(){
	if (routeFlag==1){
		Restore();
	}	
	$("#categoriesFilter").html("");
	$("#nearbyBusiness").html("");
	geoTools("info");
	$("#geotools")[0].contentWindow.turnButtons("images/Buttons/InfoButton.png","InfoButton");
	$("#txtCity").autocomplete("close");
	$("#txtName").autocomplete("close");
	if (($("#txtCity").val()).trim() == ''){
		$("#Message2").html("Por favor introduzca una ubicación");
		$("#Message").dialog("option", "buttons", {"Cerrar": function() {$(this).dialog("close");}});
		$("#Message").dialog("option", "height", 125);
		$("#Message").dialog("open");
	} else if (($("#txtName").val()).trim() == ''){
		$("#Message2").html("Por favor introduzca qué desea buscar");
		$("#Message").dialog("option", "buttons", {"Cerrar": function() {$(this).dialog("close");}});
		$("#Message").dialog("option", "height", 125);
		$("#Message").dialog("open");
	}
	else{
		switch(searchType){
			case 'roads': 	
				Search(1);
			break;
			case 'services':	
				searchPAC();
			break;
		}
		toggleAccordion(0);
	}
}

function PlaceControl(){
	var urlajax = 'lib/Ajax.php';
	var dataajax = 'OPTION=PLACE';
	$.ajax({
		 type: "POST",
		 url: urlajax, 
		 data: dataajax, 
		 dataType: "html",
		 cache: false,
		 success: function(XMLhtml){
			 $("#PlaceDiv").html(XMLhtml);
			 searchEsp();
		 }
	})
}

function getParams(name){
	var regexS = "[\\?&]"+name+"=([^&#]*)";
	var regex = new RegExp ( regexS );
	var tmpURL = window.location.href;
	var results = regex.exec( tmpURL );
	if( results == null )
		return"";
	else
		return results[1];
}

function OnlyLetterS(evt, string){
	var key; 
	var value= true;
	var char; 
	if(window.event){ // IE
		key = evt.keyCode;
	}
	else if(evt.which){ // Netscape/Firefox/Opera
		key = evt.which;
	}
	if (key){
		if (key == 33 || key == 34    ||key == 38   ||key == 39   ||key == 40 ||key == 41 || key == 124   ){
			value= false;
		}
		else if(key == 13){
			searchAction();
			value= false;
		}
	}
	return value;
}

function loadSession(){
	session = getParams('session');
	if (session != null && session!=''){
		var urlajax = 'lib/sessionAjax.php';
		var dataajax = 'id='+session;
		$.ajax({
			 type: "POST",
			 url: urlajax, 
			 data: dataajax, 
			 dataType: "html",
			 cache: false,
			 success: function(XMLhtml){
				var aux = XMLhtml.split('*');
				if (aux[0]!=''){
					sessionID = aux[0];
					userName = aux[1];
					if ($.cookie('cookiesType')!=null){
						if ($.cookie('cookiesType')=='info'){
							$.cookie('cookiesType', null);
							if ($.cookie('infoType')!=null){
								var infoType = $.cookie('infoType');
								$.cookie('infoType', null);
								switch(infoType){
		
		case 'PacNB':
					var infoCookie = $.cookie('infoHtml');
					$.cookie('infoHtml', null);
					var iArray = infoCookie.split('|');
					var index = parseInt(iArray[7])-1;	//No se por qué, pero por alguna razón hay que hacer un parseo de este valor y restarle uno..
					LocatePacNB(iArray[0],iArray[1],iArray[2],iArray[3],iArray[4],iArray[5],iArray[6],index,iArray[8],iArray[9],iArray[10], iArray[11]);
					var paramParts = $.cookie('paramParts');
					$.cookie('paramParts', null);	
					var params = '';				
					for (var i = 1; i<=paramParts; i++){
						params += $.cookie('param'+i);
						$.cookie('param'+i, null);
					}
					var forSParts = $.cookie('forSParts');
					$.cookie('forSParts', null);	
					var forSave = '';				
					for (var j = 1; j<=forSParts; j++){
						forSave += $.cookie('forSave'+j);
						$.cookie('forSave'+j, null);
					}
					saveExt(params, forSave, 'PacNB');
					break;
					
		case 'ING':	
					var infoCookie = $.cookie('infoHtml');
					$.cookie('infoHtml', null);
					var iArray = infoCookie.split('|');
					var index = parseInt(iArray[7])-1;	//No se por qué, pero por alguna razón hay que hacer un parseo de este valor y restarle uno..
					Locate(iArray[0],iArray[1],iArray[2],iArray[3],iArray[4],iArray[5],iArray[6],index,iArray[8]);
					var paramParts = $.cookie('paramParts');
					$.cookie('paramParts', null);	
					var params = '';				
					for (var i = 1; i<=paramParts; i++){
						params += $.cookie('param'+i);
						$.cookie('param'+i, null);
					}
					var forSParts = $.cookie('forSParts');
					$.cookie('forSParts', null);	
					var forSave = '';				
					for (var j = 1; j<=forSParts; j++){
						forSave += $.cookie('forSave'+j);
						$.cookie('forSave'+j, null);
					}
					saveExt(params, forSave, 'ING');

					break;
		case 'PAC':	
					var infoCookie = $.cookie('infoHtml');
					$.cookie('infoHtml', null);
					var iArray = infoCookie.split('|');
					var index = parseInt(iArray[7])-1;	//No se por qué, pero por alguna razón hay que hacer un parseo de este valor y restarle uno..
					LocatePac(iArray[0],iArray[1],iArray[2],iArray[3],iArray[4],iArray[5],iArray[6],index,iArray[8],iArray[9],iArray[10], iArray[11]);
					var paramParts = $.cookie('paramParts');
					$.cookie('paramParts', null);	
					var params = '';				
					for (var i = 1; i<=paramParts; i++){
						params += $.cookie('param'+i);
						$.cookie('param'+i, null);
					}
					var forSParts = $.cookie('forSParts');
					$.cookie('forSParts', null);	
					var forSave = '';				
					for (var j = 1; j<=forSParts; j++){
						forSave += $.cookie('forSave'+j);
						$.cookie('forSave'+j, null);
					}
					saveExt(params, forSave, 'PAC');

					break;
		case 'info': 
					var infoParts = $.cookie('infoParts');
					$.cookie('infoParts', null);
					var stringHtml = '';
					var x = $.cookie('xInfo');
					$.cookie('xInfo', null);
					var y = $.cookie('yInfo');
					$.cookie('yInfo', null);
					for (var i = 1; i<=infoParts; i++){
						stringHtml += $.cookie('infoHtml'+i);
						$.cookie('infoHtml'+i, null);
					}
					map.setCenter(new OpenLayers.LonLat(x, y).transform(proj4326,map.getProjectionObject()),11);			
					addPointerMarker(x,y);
					infoPopUp = new OpenLayers.Popup(
						  "infoTool", 
						  new OpenLayers.LonLat(x,y).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()),
						  new OpenLayers.Size(250, 160),
						  stringHtml,
						  true,
						  null
					);
					map.addPopup(infoPopUp);
										var paramParts = $.cookie('paramParts');
					$.cookie('paramParts', null);	
					var params = '';				
					for (var i = 1; i<=paramParts; i++){
						params += $.cookie('param'+i);
						$.cookie('param'+i, null);
					}
					var forSParts = $.cookie('forSParts');
					$.cookie('forSParts', null);	
					var forSave = '';				
					for (var j = 1; j<=forSParts; j++){
						forSave += $.cookie('forSave'+j);
						$.cookie('forSave'+j, null);
					}
					saveExt(params, forSave, 'INFO');
					break;
								}//switch
								listMyYellowRoutes(gPageR);
								showUser();
							}
						} else if ($.cookie('cookiesType')=='route'){
							$.cookie('cookiesType', null);
							var names = $.cookie('routesNames');
							$.cookie('routesNames', null);
							var xCoords = $.cookie('xRCoords');
							$.cookie('xRCoords', null);
							var yCoords = $.cookie('yRCoords');
							$.cookie('yRCoords', null);
							setPointsArray(xCoords, yCoords, names, false);
							listMyYellowPages(gPageY);
							showUser();
						}
					} else if ($.cookie('cookiesType')==null){
						sessionLoaded=true;	
						gPageY = 1;
						gPageR = 1;
						listMyYellowPages(gPageY);
						listMyYellowRoutes(gPageR);
						showUser();
					}
				} else {
					sessionID = 0;
					sessionLoaded=true;	
					gPageY = 1;
					gPageR = 1;
					listMyYellowPages(gPageY);
					listMyYellowRoutes(gPageR);
					showUser();					
				}
			 }
		});
	} else {
		sessionID = 0;
		sessionLoaded=true;	
		gPageY = 1;
		gPageR = 1;
		listMyYellowPages(gPageY);
		listMyYellowRoutes(gPageR);
		showUser();
	}
}

function saveExt(params, forSave, type){
	if (typesTable!=''){
		saveFromInfo(params, forSave, type);
	} else {
		listMyYellowTypes();
		setTimeout(saveExt(params, forSave, type), 3000);
	}
}

function searchEsp(){
	/*NameSpecial='+name+'&typeSpecial='+typeSpecial+'&sX='+sX+'&sY='+sY*/
	if (typeof(map)=='undefined'){
		setTimeout('searchEsp()', 3000);
  	}
	else{
		var NameSpecial = decodeURIComponent(getParams('NameSpecial'));
		var typeSpecial = decodeURIComponent(getParams('typeSpecial'));
		var sta = decodeURIComponent(getParams('sta'));
		var cit = decodeURIComponent(getParams('cit'));
		var sect = decodeURIComponent(getParams('sect'));
		var sX = getParams('sX');
		var sY = getParams('sY');
		
		NameSpecial=unescape(NameSpecial).replace(/[+]/g," ");
		typeSpecial=unescape(typeSpecial).replace(/[+]/g," ");
		sta=unescape(sta).replace(/[+]/g," ");
		cit=unescape(cit).replace(/[+]/g," ");
		sect=unescape(sect).replace(/[+]/g," ");
		NameSpecial=unescape(NameSpecial).replace(/[*]/g," ");
		typeSpecial=unescape(typeSpecial).replace(/[*]/g," ");
		sta=unescape(sta).replace(/[*]/g," ");
		cit=unescape(cit).replace(/[*]/g," ");
		sect=unescape(sect).replace(/[*]/g," ");
		if(NameSpecial!='' && typeSpecial!='' && sX!='' && sY!=''){
			var html = '';
			var ftIng = createFaTwIn(NameSpecial,typeSpecial,sX,sY,sta,cit,sect);
			html = '<table width="100%">';
			html = html+'<tr>';
			html = html+'<td>';
			html = html+'<div   style="width:22px;float:left">';
			html = html+'<img src="images/Map/Symbols/'+typeSpecial+'.png"/>';
			html = html+'</div>';
			html = html+'</td>';
			html = html+'<td colspan="3">';
			html = html+'<div style="width:200px;float:left">';
			html = html+'<b>'+NameSpecial+'</b>';
			html = html+'</div>';
			html = html+'</tr>';
			
			html = html+'<tr>';
			html = html+'<td>';
			html = html+'</td>'
			html = html+'<td colspan="3" class="text">';
			html = html+'Estado '+sta+', Ciudad '+cit+', Sector '+sect;
			html = html+'</td>';
			html = html+'</tr>';
			
			html = html+'<tr>';
			html = html+'<td>';
			html = html+'</td>';
			html = html+'<td colspan="3" class="text">';
			html = html+'<a href="#" onclick="sNBPAC();">Empresas Cercanas</a>';
			html = html+'</td>';
			html = html+'</tr>';
			
			html = html+'<tr>';
			html = html+'<td>';
			html = html+'</td>';
			html = html+'<td colspan="3" >';
			html = html+ftIng+'</td>';
			html = html+'</tr>';
			html = html+'</table>';

			toggleAccordion(1);
			$("#"+typeSpecial).attr("checked", true);
			getLayer(typeSpecial);

			map.setCenter(new OpenLayers.LonLat(sX, sY).transform(proj4326,map.getProjectionObject()),11);
			//findCategories(sX, sY);
			//nearbyBusiness(sX, sY, '');
			sXNB = sX;
			sYNB = sY;
			infoPopUp = new OpenLayers.Popup(
							"infoTool", 
							new OpenLayers.LonLat(sX, sY).transform(proj4326,map.getProjectionObject()),
							null,
							html,
							true,
							null
						);
			map.addPopup(infoPopUp);
		}
		else{
			var NamePac = decodeURIComponent(getParams('NamePac'));
			var direc = decodeURIComponent(getParams('direc'));
			var stacit = decodeURIComponent(getParams('stacit'));
			var prof = decodeURIComponent(getParams('prof'));
			var FacAndT = decodeURIComponent(getParams('FacAndT'));
			var Typ = decodeURIComponent(getParams('Typ'));
			var phonePac = decodeURIComponent(getParams('phonePac'));
			var spX = getParams('spX');
			var spY = getParams('spY');
			
			NamePac=unescape(NamePac).replace(/[+]/g," ");
			NamePac=unescape(NamePac).replace(/[*]/g," ");	
			
			direc=unescape(direc).replace(/[+]/g," ");
			direc=unescape(direc).replace(/[*]/g," ");
			
			stacit=unescape(stacit).replace(/[+]/g," ");
			stacit=unescape(stacit).replace(/[*]/g," ");
			prof=unescape(prof).replace(/[+]/g," ");
			prof=unescape(prof).replace(/[*]/g," ");
			phonePac=unescape(phonePac).replace(/[+]/g," ");
			phonePac=unescape(phonePac).replace(/[*]/g," ");			
			if(NamePac!='' && direc!='' && spX!='' && spY!='' && phonePac!='' && FacAndT!='' && Typ!=''){
				LocatePac(spX,spY,NamePac,direc,stacit,phonePac,prof,0,FacAndT,Typ, id);
			}
		}
	}

}

function getLayer(typeSpecial){
	if (typeof(layercontrol)=='function'){
		layercontrol(typeSpecial);
	}
	else{
		setTimeout('getLayer("'+typeSpecial+'")', 3000);
	}	
}

function checkCity(){
	if(searchType=='roads'){
		var txtCity = $('#txtCity').attr("value");
		var urlajax = 'lib/Ajax.php';
		var dataajax = 'OPTION=CHECKCITY&CitNam='+txtCity;
		$.ajax({
			type: "POST",
			url: urlajax,
			data: dataajax,
			dataType: "html",
			cache: false,
			success: function(XMLhtml){
				if(XMLhtml=='-1'){
					if(searchType=='roads'){
						$("#txtCity").css("color","#CC1100");
					}
				}
			}
		})
	}
}

function createFaTwPAC(x,y,name,direction,stateCity,phone,profile,faceAndTweet,type,id) {
	
	//var Tweet = encodeURIComponent('http://'+location.host+'/index.php?NamePac='+removeAccents(name.replace(/[ ]/gi,'*'))+'&spX='+x+'&spY='+y+'&direc='+removeAccents(direction.replace(/[ ]/gi,'*'))+'&stacit='+removeAccents(stateCity.replace(/[ ]/gi,'*'))+'&prof='+removeAccents(profile.replace(/[ ]/gi,'*'))+'&FacAndT='+faceAndTweet+'&Typ='+type+'&phonePac='+ phone.replace(/[ ]/gi,'*'));	
	
	
	var Tweet = encodeURIComponent('http://'+location.host+'/index.php?n='+removeAccents(name.replace(/[ ]/gi,'*'))+'&id='+ id.replace(/[ ]/gi,'*'));
	var faceAndTweet = encodeURIComponent('http://'+location.host+'/index.php?n='+name+'&id='+id);
	var faceURL ='?s=100&amp;p[url]='+faceAndTweet+'&amp;p[images][0]=http://200.109.126.56/images/logoPaginasAmarillas.jpg&amp;p[title]='+name+'&amp;p[summary]='+name; 
	var factw = '<table></td>'
				+'<td class="text" style="width:20%" align="left">Compartir '
				+'</td>'+'<td  style="width:10px">'+
'<a href="http://www.facebook.com/sharer.php'+faceURL+'&amp;t='+name+'" rel="nofollow" title="Compartir en Facebook - '+name+'" target="_blank">'+
												'<img src="./images/Facebook-icon.png" border="0"/>'+
'</a>'+
											'</td>'+
											'<td>'+
'<a href="http://twitter.com/share?url='+Tweet+'&amp;text='+name+'" rel="nofollow" title="Compartir en Twitter - '+name+'" target="_blank">'+
													'<img src="./images/Twitter-icon.png" border="0"/>'+
												'</a>'+
											'</td></table>';	
	return factw;
}

function createFaTwIng(face, tweet, name){
		var factw = '<table></td>'
				+'<td class="text" style="width:20%" align="left">Compartir '
				+'</td>'+'<td  style="width:10px">'+
'<a href="http://www.facebook.com/sharer.php'+face+'&amp;t='+name+'" rel="nofollow" title="Compartir en Facebook - '+name+'" target="_blank">'+
												'<img src="./images/Facebook-icon.png" border="0"/>'+
'</a>'+
											'</td>'+
											'<td>'+
'<a href="http://twitter.com/share?url='+tweet+'&amp;text='+name+'" rel="nofollow" title="Compartir en Twitter - '+name+'" target="_blank">'+
													'<img src="./images/Twitter-icon.png" border="0"/>'+
												'</a>'+
											'</td></table>';
return factw;
}

function removeAccents(strAccents){
    strAccents = strAccents.split('');
    strAccentsOut = new Array();
    strAccentsLen = strAccents.length;
    var accents = 'ÀÁÂÃÄÅàáâãäåÒÓÔÕÕÖØòóôõöøÈÉÊËèéêëðÇçÐÌÍÎÏìíîïÙÚÛÜùúûüÑñŠšŸÿýŽžÑñ';
    var accentsOut = ['A','A','A','A','A','A','a','a','a','a','a','a','O','O','O','O','O','O','O','o','o','o','o','o','o','E','E','E','E','e','e','e','e','e','C','c','D','I','I','I','I','i','i','i','i','U','U','U','U','u','u','u','u','N','n','S','s','Y','y','y','Z','z','N','n'];
    for (var y = 0; y < strAccentsLen; y++) {
        if (accents.indexOf(strAccents[y]) != -1) {
            strAccentsOut[y] = accentsOut[accents.indexOf(strAccents[y])];
        }
        else
            strAccentsOut[y] = strAccents[y];
    }
    strAccentsOut = strAccentsOut.join('');
    return strAccentsOut;
}
function sNBPAC(){
	$("#categoriesFilter").html("");
	$("#nearbyBusiness").html("");
	findCategories(sXNB, sYNB);
	nearbyBusiness(sXNB, sYNB, '');
	toggleAccordion(3);
}
function showHideRoutes(div, action, from)
{
	if (action == 'show'){
		var indexFlag = letter-1;
		var strVal =  $("#txtRoute"+indexFlag+'Accord').val();
		if (strVal!='' && strVal!=undefined){
			if(div<=6){
				var html =  '<tr id="routePoint-'+letter+'">'+
								'<td width="100%">'+
									'<table width="100%">'+
										'<tr>'+
									'<td width="23px"><img width="21" height="20" id="imgRoute-'+letter+'" src="images/Route/Route'+letter+'.png"></td>'+
											'<td width="202" align="left">Hasta</td>'+
											'<td id="swapper-'+letter+'" width="13px">&nbsp;</td>'+
										'</tr>'+
										'<tr>'+
											'<td colspan="2">'+
												'<input type="text" style="width:98%" id="txtRoute'+letter+'Accord"  onfocus="this.hasFocus=true" onblur="this.hasFocus=false" onkeypress="return NoSpecialChar(event, '+letter+', this.id);" >'+
											'</td>'+
											'<td id="deleteRow-'+letter+'">'+
						'<a href="#" id="closeRoutePoint-'+letter+'" onclick="showHideRoutes('+letter+', \'hide\')" style="text-decoration:none">x</a>'+
											'</td>'+
										'</tr>'+                                
									'</table>'+
								'</td>'+
							'</tr>';
				$("#tblRoutePoints").append(html);
				$("#txtDest").val("");
				initializeAutocomplete(letter);
				letter++;
				var inputCounter=0;// Colocar las "x" para eliminar los puntos de parada...
				$("input[id^='txtRoute']").each(function(index){
					inputCounter++;
				});					
				if (inputCounter>2){ 
					$("#swapper-2").html('');
					$("td[id^='deleteRow-']").each(function(index){
						var i = index+1;
					var closure = '<a href="#" id="closeRoutePoint-"'+i+' onclick="showHideRoutes('+i+', \'hide\')" style="text-decoration:none">x</a>';
						$("#deleteRow-"+i).html(closure);
					});
				} 					// Colocar las "x" para eliminar los puntos de parada...
				if (letter>6){		// Quitar el agregar destino...
					$('#routesMenu').html('<a href="#" onclick="Restore();">Restablecer</a>');
				}					// Quitar el agregar destino...
			}
		} else {
			$("#Message2").html("Debe ingresar un destino antes de agregar otra parada");
			$("#Message").dialog("option", "height", 125);
			$("#Message").dialog("option", "buttons", {"Cerrar": function() {$(this).dialog("close");}});
			$("#Message").dialog("open");			
		}
	}
 	else if (action == 'hide'){
			$("#routePoint-"+div).remove();
			pointsArray.splice(div,1);
			if (div==1){
				var txtSourceVal = $('#txtRoute2Accord').val();
				$('#txtSource').val(txtSourceVal);
			}
			for (i=div; i<=6; i++){
				var index = i+1;
				var txtValue = $('#txtRoute'+index+'Accord').val();
				var html = '<td width="100%">'+
								'<table width="100%">'+
									'<tr>'+
								'<td width="23px"><img width="21" height="20" id="imgRoute-'+i+'" src="images/Route/Route'+i+'.png"></td>';
				if (i==1){
					html += '<td align="left">Desde</td>';
				} else {
					html += '<td align="left">Hasta</td>';
				}
					html += '<td id="swapper-'+i+'" width="13px">&nbsp;</td>'+
									'</tr>'+
									'<tr>'+
										'<td colspan="2">'+
											'<input type="text" style="width:98%" id="txtRoute'+i+'Accord" value="'+txtValue+'" onkeypress="return NoSpecialChar(event, '+i+', this.id);">'+
										'</td>'+
										'<td id="deleteRow-'+i+'">'+
					'<a href="#" id="closeRoutePoint-'+i+'" onclick="showHideRoutes('+i+', \'hide\')" style="text-decoration:none">x</a>'+
										'</td>'+
									'</tr>'+                                
								'</table>'+
							'</td>';
				$('#routePoint-'+index).html(html);
				$('#routePoint-'+index).attr('id', "routePoint-"+i);
				initializeAutocomplete(i);
				myLoc2.removeAllFeatures();
				for (var j=1; j<=letter; j++)
				{
					if (pointsArray[j]!='' && pointsArray[j]!=null){
						addPointRouteOnMap(j,pointsArray[j][0],pointsArray[j][1]);
					}
				}
		}
		letter--;
		routesFlag--;
		$('#routesMenu').html('<a href="#" onclick="showHideRoutes(letter, \'show\', \'destiny\');">Agregar destino</a> - <a href="#" onclick="Restore();">Restablecer</a>');
		var i=0;// = index+1;
		$("input[id^='txtRoute']").each(function(index){
			i++;
		});
		if (i<3){
			for (k=1; k<=6; k++){
				$("#deleteRow-"+k).html('');
			}
      var html = '<a onclick="swapDestination()" href="#"><img width="11" border="0" height="14" alt="" src="images/Route/CambiarOp.png"></a>';
			$("#swapper-2").html(html);
			var txtDest = $('#txtRoute2Accord').val();
			$('#txtDest').val(txtDest);
		}
		if(div==3)
		{
			$('#'+7).css("visibility", "visible");
		}
	}
}


function swapDestination()
{
	var fromArray = pointsArray[1];
	var toArray = pointsArray[2];
	pointsArray[1] = toArray;
	pointsArray[2] = fromArray;
	var from = $("#txtRoute1Accord").val();
	var to = $("#txtRoute2Accord").val();
	$("#txtRoute1Accord").val(to);
	$("#txtRoute2Accord").val(from);
	$("#txtSource").val(to);
	$("#txtDest").val(from);
	var fromFeat = myLoc2.getFeatureByFid(11);
	var toFeat = myLoc2.getFeatureByFid(12);
	if (fromFeat!=null){
		fromFeat.style.externalGraphic = 'http://200.109.126.56/images/Route/Route-2.png';
		fromFeat.fid=12;	
		myLoc2.drawFeature(fromFeat);		
	}
	if (toFeat!=null) {
		toFeat.style.externalGraphic = 'http://200.109.126.56/images/Route/Route-1.png';
		toFeat.fid=11;	
		myLoc2.drawFeature(toFeat);	
	}
}

function Restore()
{
	var stringHtml = '<tr id="routePoint-1">'+
                    	'<td width="100%">'+
                        	'<table width="100%">'+
                            	'<tr>'+
                                	'<td width="23px"><img width="21" height="20" alt="" id="imgRoute-1" src="images/Route/Route1.png"></td>'+
			                        '<td width="202" align="left">Desde</td>'+
            			            '<td id="swapper-1" width="13px">&nbsp;</td>'+
			                    '</tr>'+
                                '<tr>'+
                                    '<td colspan="2">'+
                                 ' <input type="text" style="width:98%" id="txtRoute1Accord" name="txtRoute1Accord" onfocus="this.hasFocus=true;" onblur="this.hasFocus=false;" onkeypress="return NoSpecialChar(event, 1, this.id);">'+
                                    '</td>'+
                                    '<td width="12px" id="deleteRow-1">&nbsp;</td>'+
                                '</tr>'+
                            '</table>'+
                        '</td>'+
                    '</tr>'+
                	'<tr id="routePoint-2">'+
                    	'<td>'+
                        	'<table width="100%">'+
                            	'<tr>'+
                                	'<td width="23px"><img width="21" height="20" alt="" id="imgRoute-2" src="images/Route/Route2.png"></td>'+
			                        '<td width="202" align="left">Hasta</td>'+
            			            '<td id="swapper-2" width="13px">'+
                                    	'<a onclick="swapDestination()" href="#">'+
                                        	'<img width="11" height="14" alt="" border="0" src="images/Route/CambiarOp.png">'+
                                        '</a>'+
                                    '</td>'+
			                    '</tr>'+
                                '<tr>'+
                                    '<td colspan="2">'+
                                ' <input type="text" style="width:98%" id="txtRoute2Accord" name="txtRoute2Accord" onfocus="this.hasFocus=true;" onblur="this.hasFocus=false;" onkeypress="return NoSpecialChar(event, 2, this.id);">'+
                                    '</td>'+
                                    '<td width="12px" id="deleteRow-2">&nbsp;</td>'+
                                '</tr>'+                                
                            '</table>'+
                        '</td>'+
                    '</tr>';
	$('#tblRoutePoints').html(stringHtml);
	
	
	initializeAutocomplete(1);
	initializeAutocomplete(2);

	$("#txtSource").val('');
	$("#txtDest").val('');
	var html = '<a onclick="swapDestination()" href="#"><img width="11" height="14" border="0" alt="" src="images/Route/CambiarOp.png"></a>';
	$("#swapper-2").html(html);
	if ($("#routPoints2").css('display')=='none'){
		$("#routPoints3").hide();
		$("#routPoints2").show();
	}
	
	letter = 3;			//Variable para llevar la cuenta de los input a crear...
	routesFlag = 2		//Indice del Array pointArray en el que se encuentran los puntos de las paradas...
	routeFlag = 0;		//Bandera que indica si ya se ha dibujado una ruta...
	autoFlag = false;
	addPoint = false;
	pointsArray = null;
	pointsArray = new Array();
	$('#routesMenu').html('<a href="#" onclick="showHideRoutes(letter, \'show\', \'destiny\');">Agregar destino</a> - <a href="#" onclick="Restore();">Restablecer</a>');
	myLocationLayer.removeAllFeatures();
	myLoc2.removeAllFeatures();
}

var routesFlag = 2;
function addPointForRoute(x, y, name, bool){
	var objX = 0;
	var objY = 0;
	var objName = '';
	if (routeFlag!=1){
		if (name == ''){
			findNearbyRoute(x, y);
		} else {
			objName = name;
			objX = x;
			objY = y;
			if (objX!=-1 && objY!=-1){
				changeSearchType('routing');
				toggleAccordion(2);
				var length = letter;
				if (length<=6){
					var letterFlag = letter -1; 
					var chk = checkPoint(objName, objX, objY, letterFlag, bool);
					if (chk == false){					
						var index = routesFlag;
						if (letter>=3 && letter<=6){
							var indexFlag = letter-1;
							var strVal =  $("#txtRoute"+indexFlag+'Accord').val();
							if (strVal!='' && strVal!=undefined){
								showHideRoutes(letter, 'show', 'info');
							}
						}
						addPointRouteOnMap((letter-1),objX,objY);
						$("#txtRoute"+(letter-1)+"Accord").val(objName);
						var coordsArray = new Array(3);
						coordsArray[0] = objX;
						coordsArray[1] = objY;
						coordsArray[2] = objName;
						pointsArray[letter-1] = coordsArray;
						if (routesFlag<=6){
							routesFlag++;
						}
						$("#txtDest").val(objName);
					} else {
						$("#Message2").html('La parada ya existe.');
						$("#Message").dialog("option", "height", 125);
						$("#Message").dialog("option", "buttons", {"Cerrar": function() {$(this).dialog("close");}});
						$("#Message").dialog("open");						
					}
				} else {
				}
			} else {
				$("#Message2").html(objName);
				$("#Message").dialog("option", "height", 125);
				$("#Message").dialog("option", "buttons", {"Cerrar": function() {$(this).dialog("close");}});
				$("#Message").dialog("open");
			}		
		}
	} else {
		Restore();
		addPointForRoute(x, y, name, bool);
	}
	addPoint=true;
	setTimeout("closePopUps()",3000);
}

function checkPoint(objName, objX, objY, index, bool){
	var returnBool = false;
	if (bool==false){
		if (pointsArray[index]!=undefined){
			if (pointsArray[index][0]==objX && pointsArray[index][1]==objY && pointsArray[index][2]==objName){
				returnBool = true;
			} else if (pointsArray[index+1]!=undefined){
				if (pointsArray[index+1][0]==objX && pointsArray[index+1][1]==objY && pointsArray[index+1][2]==objName){
					returnBool = true;
				}
			} /*else if (from=='autocomplete'){
				if (pointsArray[index-1]!=undefined){
					if (pointsArray[index-1][0]==objX && pointsArray[index-1][1]==objY && pointsArray[index-1][2]==objName){
						returnBool = true;
					}
				}
			}*/
		}
	}
	return returnBool;
}

function findNearbyRoute(x, y){
	var objX = 0;
	var objY = 0;
	var objName = '';
	var dataAjax = "xCoord="+x+"&yCoord="+y;
	$.ajax({
		type: "POST",
		url: 'lib/findNearRoute.php',
		data: dataAjax,
		dataType: "html",
		cache: false,
		success: function(XMLhtml){
			if (XMLhtml!='-1'){
				var array = XMLhtml.split("{");
				objName = array[0];
				objX = array[1];
				objY = array[2];
			} else {
				objX = objY = -1;
				objName = "Desde esta ubicación no se puede calcular una ruta. Debe estar cercana a una vialidad";
			}
			addPointForRoute(objX, objY, objName, false)
		}
	});		
}

function showAllMyYellow(){ 
	var dataAjax = "actionType=showAll&userId="+sessionID;
	$.ajax({
		type: "POST",
		url: 'lib/MyYellowPagesAction.php',
		data: dataAjax,
		dataType: "html",
		cache: false,
		success: function(XMLhtml){
			markersMYP.clearMarkers();
			var html = $("#myYellowPages").html()+XMLhtml
			$("#myYellowPages").html(html);
		}
	});
}

function addMarkerMyYellowPage(x, y, iconType){
	if (arrayMyYellow == null){
		arrayMyYellow = new Array();
	}
	var micon = iconType+'Marker.png';
	var arrayMyYP = new Array(3);
	arrayMyYP[0]=x;
	arrayMyYP[1]=y;
	arrayMyYP[2]=[micon];
	arrayMyYellow.push(arrayMyYP);
	pointerMarker.clearMarkers();
	$('#coordsDiv').html('');
	markerSelected.clearMarkers();
	var size = new OpenLayers.Size(26,28);
	var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
	icon = new OpenLayers.Icon('http://200.109.126.56/'+micon, size, offset);
	markersMYP.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(x, y).transform(proj4326,map.getProjectionObject()),icon));
}

function hideAllMyYellow(){
	closePopUps();
	arrayMyYellow = null;
	pointerMarker.clearMarkers();
	$('#coordsDiv').html('');
	markerSelected.clearMarkers();
	markersMYP.clearMarkers();
}

function setPointsArray(xCoords, yCoords, names, bool){
	Restore();
	var xArray = xCoords.split('{');
	var yArray = yCoords.split('{');
	var nameArray = names.split('{');
    for(var i=1; i<xArray.length; i++) {
		var coordsArray = new Array(3);
		coordsArray[0] = xArray[i];
		coordsArray[1] = yArray[i];
		coordsArray[2] = nameArray[i];
		pointsArray[i] = coordsArray;
		addPointRouteOnMap(i,pointsArray[i][0],pointsArray[i][1]);
		if (i==1){
			$('#txtSource').val(nameArray[i]);
			$('#txtRoute1Accord').val(nameArray[i]);
		} else {
			addPointForRoute(xArray[i], yArray[i], nameArray[i], true);
		}
    }
	toggleAccordion(2);
	if (bool == false){
		showRouteForSave(bool);
	} else {
		showRoute(bool);
	}
}

function showRoute2(bool){
	closePopUps();
	if (bool == ''){
		bool= false;
	}
	myLocationLayer.removeAllFeatures();
	var validatePoint = true;
       
	var sX,sY,names,generalRes;
	sX=sY=names = '';
	generalRes=''
	for (var i=1; i<pointsArray.length; i++){
		if (pointsArray[i]!=undefined){
			if (pointsArray[i][2]!='' && pointsArray[i][2]!=null){
				sX += '{'+pointsArray[i][0];
				sY += '{'+pointsArray[i][1];
				names += '{'+pointsArray[i][2];
				if(i==1){
					generalRes += '<tr><td><img src="images/Route/Route'+i+'.png"/></td><td>Desde: <b>'+pointsArray[i][2]+'</b></td></tr>' ;
				}
				else{
					generalRes += '<tr><td><img src="images/Route/Route'+i+'.png"/></td><td>Hasta: <b>'+pointsArray[i][2]+'</b></td></tr>' ;
				}
			}
		}
		else{
			validatePoint = false;
		}
	}

	if(validatePoint && pointsArray.length >=3 ){
		var htmlWait = "<table><tr><td><img src='images/progress.gif'></td><td>Calculando por favor espere... </td></tr></table>";
		$("#routPoints3").html(htmlWait);
		$("#routPoints2").hide();
		$("#routPoints3").show();   
		var strDrivDirec,count,TotalTimeDist,strPoints,description1;
		var TypeRoute = $("input[@name='chkTypeRoute']:checked").val();
		if (TypeRoute == '' ||  typeof TypeRoute == 'undefined'){
			TypeRoute = 1;
		}
		var urlajax = 'lib/Rto/routing.php';
		var dataajax = 'sX='+sX+'&sY='+sY+'&TypeRoute='+TypeRoute;
		strDrivDirec = '<table cellspacing="7" cellpadding="5">'+generalRes;
		strPoints =description1='';
		var count = 1;
		$.ajax({
			type: "POST",
			url: urlajax,
			data: dataajax,
			dataType: "xml",
			cache: false,
				success: function(XMLhtml){
				var doc = $(XMLhtml).find('Document');
				description1 = doc.children('description').text();
				if (description1=='No se puede calcular la ruta.'){
					strDrivDirec +='<tr><td colspan="2" align="right"><a href="#" onclick="changeStopPoints();">Cambiar Ruta</a> </td></tr></table> <hr color="#CCCCCC"/><table  cellspacing="7" cellpadding="5">';
					strDrivDirec += '<tr><td></td><td>'+description1+'</td></tr><tr><td></td><td></td></tr>';//TDall
					
				}
				else{
					strDrivDirec += '<tr><td></td><td>'+description1+'</td></tr><tr><td></td><td></td></tr>';//TDall
					
					if (bool){
						strDrivDirec +='<tr><td colspan="2" align="right"><a href="#" onclick="changeStopPoints();">Cambiar Ruta</a> | <a href="#" onclick="Restore();">Restablecer</a><br/></td></tr><tr><td colspan="2" align="right"><a href="#" onclick="printMap2();">Imprimir ruta</a><br/> </td></tr></table> <hr color="#CCCCCC"/><table  cellspacing="7" cellpadding="5">';
					}
					else{
						strDrivDirec +='<tr><td colspan="2" align="right"><a href="#" onclick="changeStopPoints();">Cambiar Ruta</a> | <a href="#" onclick="Restore();">Restablecer</a></td></tr><tr><td colspan="2" align="right"><a href="#" onclick="saveRoute();">Guardar ruta</a> | <a href="#" onclick="printMap2();">Imprimir ruta</a> <br/> </td></tr></table> <hr color="#CCCCCC"/><table  cellspacing="7" cellpadding="5">';
					}
					
					doc.find('Placemark').each(function(){
						if($(this).children('name').text()===''){//L
							var linetext = $(this).find('LineString').text();
							linetext= linetext.ReplaceAll(' ','*');
							linetext= linetext.ReplaceAll(',',' '); 
							linetext= linetext.ReplaceAll('*',',');
							lineString = OpenLayers.Geometry.fromWKT('LINESTRING('+linetext+')');
							lineString = lineString.transform(proj4326,projgoogle);
							myLocation = new OpenLayers.Feature.Vector(  lineString , { isBaseLayer: false }, {strokeColor: "#FC0505",strokeOpacity: 0.7,strokeWidth: 6 } );
							myLocation.fid=500+count;
							myLocationLayer.addFeatures([ myLocation] );
							strDrivDirec += '<tr  ><td><img src="images/Route/Route'+count+'.png"/></td><td> <b>'+pointsArray[count][2]+'</b></td></tr>' ;//A
							strDrivDirec += strPoints;
							strDrivDirec += '<tr  ><td><img src="images/Route/Route'+(count+1)+'.png"/></td><td> <b>'+pointsArray[count+1][2]+'</b></td></tr>' ;
							strDrivDirec += '<tr><td></td><td>'+$(this).children('description').text()+'</td></tr>';//TDone
							strDrivDirec+='</table> <hr color="#CCCCCC"/> <table cellspacing="7" cellpadding="5"> ';                         
							strPoints = '';
							count += 1;
						}
						else{//P
						
							var image = $(this).children('styleUrl').text();
	
							if (image.trim() ==''){
								strPoints += '<tr ><td></td><td>'+$(this).children('name').text()+'<br>'+$(this).children('description').text()+'</td></tr>';//DD
							}
							else{
								strPoints += '<tr ><td><img src="'+$(this).children('styleUrl').text()+'" /></td><td>'+$(this).children('name').text()+'<br>'+$(this).children('description').text()+'</td></tr>';//DD 
							}
							
						}
					});			
				}
				
				if (myLocationLayer.getDataExtent() != null){
					map.zoomToExtent( myLocationLayer.getDataExtent() ); 
				}
				strDrivDirec+='</table>';
				$("#routPoints3").html(strDrivDirec);
				routeFlag = 1;
			}
		});
	}
	else{
		var height = $("#Message").dialog("option", "height");
		$("#Message").dialog("option", "height", 125);
		$("#Message2").html("Debe ingresar todos sus destinos");
		$("#Message").dialog("option", "buttons", {"Cerrar": function() {$(this).dialog("close");}});
		$("#Message").dialog("open");	
	}
}


function printMap2() {
	var activelayers = [];
	var layers  = map.getLayersBy("visibility", true);
	for (i in layers) {
	if (!layers[i].getVisibility()) continue;
	if (!layers[i].calculateInRange()) continue;
		if (layers[i].name != ''){
			if(layers[i].name!='Sat'){
				activelayers[activelayers.length] = translateLayer(layers[i].name);
			}
			else{
				activelayers[activelayers.length] = translateLayer('Inicial');
			}
		}
	}     
	var idTemp = postParamsRouting(); 
	var dataajax = 'LAYERS=' + (activelayers) + '&BBOX='+ myLocationLayer.getDataExtent().toBBOX() +'&OPTION=PRINT&ROUTE=ROUTE&idTemp='+idTemp;
	var urlajax = 'lib/Ajax.php';
	var ventana = window.open(urlajax+'?'+dataajax, "", "");
}


String.prototype.ReplaceAll = function(stringToFind,stringToReplace){
	var temp = this;
	var index = temp.indexOf(stringToFind);
	while(index != -1){
		temp = temp.replace(stringToFind,stringToReplace);
		index = temp.indexOf(stringToFind);
	}
	return temp;
}

function initializeAutocomplete(idAuto){
	$( "#txtRoute"+idAuto+"Accord" ).autocomplete({					   
		source: function(request, response) {
			var data = {};
			if($(this).data('xhr')) {
				$(this).data('xhr').abort();
			}
			$(this).data('xhr', $.ajax({
				url: "search/autocompleteRoute_JS.php?type=where",
				data: 'term='+request.term,
				dataType: "json",
				beforeSend: function(jqXHR, settings){
					autocompletesShowRoute+=1;
				},	
				success: function(dataRequest){
					if (dataRequest!= null){
						if (dataRequest.length>0){
							assignPoint(idAuto+2,dataRequest[0].label,dataRequest[0].id);
							response(dataRequest);
							$("#txtRoute"+idAuto+"Accord").css('color','#000000');  
						}
						else{
							if((letter-1) == idAuto){
								$("#txtDest").val('');
							}
							if(1 == idAuto){
								$("#txtSource").val('');
							}
							$("#txtRoute"+idAuto+"Accord").css("color","#CC1100");
							pointsArray[idAuto] = undefined ;
							myLoc2.removeFeatures(myLoc2.getFeatureByFid(10+idAuto));
						}
					}					
				},
				complete:function(jqXHR, textStatus){
					autocompletesShowRoute-=1;
				}
			}));
		}
		,delay: 2
		,select: function(event, ui) {
			assignPoint(idAuto+2,ui.item.label,ui.item.id);
			$("#txtRoute"+idAuto+"Accord").css('color','#000000'); 
		}
		,open: function(event, ui) { 
			var autocomplete = $( this ).data( "autocomplete" ),
			menu = autocomplete.menu;
			menu.activate( $.Event({ type: "mouseenter" }), menu.element.children().first() );		

			if(!document.getElementById("txtRoute"+idAuto+"Accord").hasFocus ){
				$("#txtRoute"+idAuto+"Accord").autocomplete("close");
			}
		}/*,
		focus: function(event, ui) {
			assignPoint(idAuto+2,ui.item.label,ui.item.id);
			$('#txtSource').css('color','#000000');
		}*/
	}); 

}
function EventEnter(e, idtxt){
	var keyCode = e.keyCode || e.which;
	if(keyCode == 9 || keyCode == 13 || keyCode == 27){
		$('#'+idtxt).autocomplete('close');
	}
	return true;
}

function saveRoute(){
	myYellowType = '';
	if (sessionID!=0 && sessionID!=null){
		var stringDirection='';
		closePopUps();
		//geoTools('pan');
		html = '<table width="100%" cellspacing="10">';
		html = html+'<tr>';
		html = html+'<td align="left">Agregar a Mis Rutas:<br/></td>';
		html = html+'</tr>';			
		html = html+'<tr>';
		html = html+'<td><input type="text" maxlength="40" id="txtMyRouteName" onkeypress="return NoSpecialChar(event, \'fromSRoute\', \'\')" style="width:100%"/></td>';
		html = html+'</tr>';
		html = html+'<tr>';
		html = html+'<td align="right"> <table> <tr> <td><a href="#"><img src="./images/Buttons/saveMyYellow.png" border="0" onclick="saveMyRoute();" value="Guardar" alt="Guardar" title="Guardar"/></a></td> <td><a href="#"><img src="./images/Buttons/cancel.png" border="0" onclick="listMyYellowRoutes(1);" value="Cancelar" alt="Cancelar" title="Cancelar"/></a></td></tr></table> </td>';
		html = html+'</tr>';
		html = html+'</table>';
		$("#myYellowRoutes").html(html);
		toggleAccordion(6);
	} else {
		$.cookie('cookiesType', 'route');
		var sX = '';
		var sY = '';
		var names = '';
		for (var i=1; i<7; i++){
			if (pointsArray[i]!=undefined){
				if (pointsArray[i][2]!='' && pointsArray[i][2]!=null){
					sX += '{'+pointsArray[i][0];
					sY += '{'+pointsArray[i][1];
					names += '{'+pointsArray[i][2];
				}
			}
		}
		$.cookie('routesNames', names);
		$.cookie('xRCoords', sX);
		$.cookie('yRCoords', sY);
		gotoLogin();
	}
}

function saveMyRoute()
{
	var height = $("#Message").dialog("option", "height");
	$("#Message").dialog("option", "height", 75);
	$("#Message2").html("Por favor espere...");
	$("#Message").dialog("option", "buttons", {});
	$("#Message").dialog("open");
	
	var txtName = ($("#txtMyRouteName").val()).trim();

	if (txtName=='')
	{
		$("#Message").dialog("option", "height", 125);
		$("#Message2").html("Debe ingresar un nombre para la ruta.");
		$("#Message").dialog("option", "buttons", {"Cerrar": function() {$(this).dialog("close");}});
	} else {
		var sX = '';
		var sY = '';
		var names = '';
		for (var i=1; i<7; i++){
			if (pointsArray[i]!=undefined){
				if (pointsArray[i][2]!='' && pointsArray[i][2]!=null){
					sX += '{'+pointsArray[i][0];
					sY += '{'+pointsArray[i][1];
					names += '{'+pointsArray[i][2];
				}
			}
		}
		var dataAjax = "actionType=add&Name="+encodeURIComponent(txtName)+"&RouteType="+1+"&UserID="+sessionID+"&pointsNames="+names+"&xCoords="+sX+"&yCoords="+sY;
		$.ajax({
				type: "POST",
				url: 'lib/SaveMyRuteAction.php',
				data: dataAjax,
				dataType: "html",
				cache: false,
				success: function(XMLhtml){
					
					if (XMLhtml>0){
						listMyYellowRoutes(gPageR);
						
						$("#Message").dialog("option", "height", 125);			
						$("#Message2").html("Ruta guardada exitosamente.");
						$("#Message").dialog("option", "buttons", {"Cerrar": function() {$(this).dialog("close");}});
						Restore();
						if (infoPopUp !=null){
							closeInfoPopUp();
						}
						
					}
					else{
						$("#Message").dialog("option", "height", 125);			
						$("#Message2").html("La ruta \""+txtName+"\" ya existe.");
						$("#Message").dialog("option", "buttons", {"Cerrar": function() {$(this).dialog("close");}});
						if (infoPopUp !=null){
							closeInfoPopUp();
						}
					}
				}
			});
	}
	
}

function preloadImages() {
	if (document.images) {
		right = new Image();
		right.src = "images/Route/right.png";
		left = new Image();
		left.src = "images/Route/left.png";
		next = new Image();
		next.src ="images/Route/next.png";
		save = new Image();
		save.src ="images/Buttons/saveMyYellow.png";
		cancel = new Image();
		cancel.src ="images/Buttons/cancel.png";
		route = new Image();
		route.src ="images/Buttons/routeicon.png";
		type1 = new Image();
		type1.src ="images/Buttons/typeHouse.png";
		type2 = new Image();
		type2.src ="images/Buttons/typeEntertaiment.png";
		type3 = new Image();
		type3.src ="images/Buttons/typeGarage.png";
		type4 = new Image();
		type4.src ="images/Buttons/typeRestaurant.png";
		type5 = new Image();
		type5.src ="images/Buttons/typeGym.png";
		type6 = new Image();
		type6.src ="images/Buttons/typeWork.png";
		type7 = new Image();
		type7.src ="images/Buttons/typeMall.png";
		type8 = new Image();
		type8.src ="images/Buttons/typeGirlfriend.png";
		type9 = new Image();
		type9.src ="images/Buttons/typeCollege.png";
		type10 = new Image();
		type10.src ="images/Buttons/typeMedic.png";
		type11 = new Image();
		type11.src ="images/Buttons/typeOther.png";
		type12 = new Image();
		type12.src ="images/Route/lightRight.png";	
		type13 = new Image();
		type13.src ="images/Route/lightLeft.png";			
		
	}
}

function Validacion()
{	
	/*var flag=0;
	for (var i=1; i<=letter; i++)
	{
			var temp= $("#txtRoute-"+i).val();
			
			if (typeof temp != 'undefined'){
				if (temp.trim() == '')
				{
					flag=1;
					var height = $("#Message").dialog("option", "height");
					$("#Message").dialog("option", "height", 120);
					$("#Message2").html("Debe ingresar todos sus destinos");
					$("#Message").dialog("option", "buttons", {"Cerrar": function() {$(this).dialog("close");}});
					$("#Message").dialog("open");
				}	
			}
	}
	if(flag==0){*/
		showRoute(false);
	/*}*/
}

function deleteMyRoute(idRoute){
	$("#Message2").html("¿Esta seguro de querer eliminar esta ruta?");
	$("#Message").dialog("option", "height", 125);
	$("#Message").dialog("option", "buttons", {"Aceptar":function(){confirmDeleteRoute(idRoute);}, "Cancelar": function() {$(this).dialog("close");}});
	$("#Message").dialog("open");	
}

function confirmDeleteRoute (idRoute){
	var height = $("#Message").dialog("option", "height");
	$("#Message").dialog("option", "height", 75);
	$("#Message2").html("Por favor espere...");
	$("#Message").dialog("option", "buttons", {});
	$("#Message").dialog("open");	
	var dataAjax = "actionType=delete&idRoute="+idRoute;
	$.ajax({
		type: "POST",
		url: 'lib/SaveMyRuteAction.php',
		data: dataAjax,
		dataType: "html",
		cache: false,
		success: function(XMLhtml){
			listMyYellowRoutes(gPageR);
			$("#Message").dialog("option", "height", 125);			
			$("#Message2").html("Ruta eliminada exitosamente.");
			$("#Message").dialog("option", "buttons", {"Cerrar": function() {$(this).dialog("close");}});
			if (infoPopUp !=null){
				closeInfoPopUp();
			}
		}
	});	
}


function assignPoint(SourTar,Name,id){
    var idArr = new Array;
    idArr = id.split('||');
    switch (SourTar){
		case 1:    
			$('#txtRoute1Accord').val(Name);
			if(!document.frmEmpresas1.txtSource.hasFocus ){
				$("#txtSource").val(Name);
			}
			var focusedElement = document.activeElement.id;
			toggleAccordion(2);
			$("#"+focusedElement).focus();
			var coordsArray = new Array(3);
			coordsArray[0] = idArr[1];
			coordsArray[1] = idArr[2];
			coordsArray[2] = Name;
			pointsArray[1] = coordsArray;    
			addPointRouteOnMap(1,idArr[1],idArr[2]);
		break;
		case 2:
			$('#txtRoute'+(letter-1)+'Accord').val(Name);
			if(!document.frmEmpresas1.txtDest.hasFocus ){
				$("#txtDest").val(Name);
			}
			var focusedElement = document.activeElement.id;
			toggleAccordion(2);
			$("#"+focusedElement).focus();
			var coordsArray = new Array(3);
			coordsArray[0] = idArr[1];
			coordsArray[1] = idArr[2];
			coordsArray[2] = Name;
			pointsArray[(letter-1)] = coordsArray;
			addPointRouteOnMap((letter-1),idArr[1],idArr[2]);
		break;
		case 3:
			$('#txtSource').val(Name);
			if(!document.RoutAccor.txtRoute1Accord.hasFocus ){
				$("#txtRoute1Accord").val(Name);
			}            
			var coordsArray = new Array(3);
			coordsArray[0] = idArr[1];
			coordsArray[1] = idArr[2];
			coordsArray[2] = Name;
			pointsArray[1] = coordsArray;
			addPointRouteOnMap(1,idArr[1],idArr[2]);
		break;            
		case 4:
			if (letter == 3){
				$('#txtDest').val(Name);
			}
			if(!document.RoutAccor.txtRoute2Accord.hasFocus ){
				$("#txtRoute2Accord").val(Name);
			}            
			var coordsArray = new Array(3);
			coordsArray[0] = idArr[1];
			coordsArray[1] = idArr[2];
			coordsArray[2] = Name;
			pointsArray[2] = coordsArray;
			addPointRouteOnMap(2,idArr[1],idArr[2]);
		break;        
		case 5:
			if (letter == 4){
				$('#txtDest').val(Name);
			}
			if(!document.RoutAccor.txtRoute3Accord.hasFocus ){
				$("#txtRoute3Accord").val(Name);
			}            
			var coordsArray = new Array(3);
			coordsArray[0] = idArr[1];
			coordsArray[1] = idArr[2];
			coordsArray[2] = Name;
			pointsArray[3] = coordsArray;
			addPointRouteOnMap(3,idArr[1],idArr[2]);
		break;
		case 6:
			if (letter == 5){
				$('#txtDest').val(Name);
			}
			if(!document.RoutAccor.txtRoute4Accord.hasFocus ){
				$("#txtRoute4Accord").val(Name);
			}            
			var coordsArray = new Array(3);
			coordsArray[0] = idArr[1];
			coordsArray[1] = idArr[2];
			coordsArray[2] = Name;
			pointsArray[4] = coordsArray;
			addPointRouteOnMap(4,idArr[1],idArr[2]);
		break;       
		case 7:
			if (letter == 6){
				$('#txtDest').val(Name);
			}
			if(!document.RoutAccor.txtRoute5Accord.hasFocus ){
				$("#txtRoute5Accord").val(Name);
			}            
			var coordsArray = new Array(3);
			coordsArray[0] = idArr[1];
			coordsArray[1] = idArr[2];
			coordsArray[2] = Name;
			pointsArray[5] = coordsArray;
			addPointRouteOnMap(5,idArr[1],idArr[2]);
		break; 
		case 8:
			if (letter == 7){
				$('#txtDest').val(Name);
			}
			if(!document.RoutAccor.txtRoute6Accord.hasFocus ){
				$("#txtRoute6Accord").val(Name);
			}            
			var coordsArray = new Array(3);
			coordsArray[0] = idArr[1];
			coordsArray[1] = idArr[2];
			coordsArray[2] = Name;
			pointsArray[6] = coordsArray;
			addPointRouteOnMap(6,idArr[1],idArr[2]);
		break;                
    }
}

function addPointRouteOnMap(idx,XX,YY){
	myLoc2.removeFeatures(myLoc2.getFeatureByFid(10+idx));
	var offset = new OpenLayers.Pixel(-(21/2), -32);
	myLocation = new OpenLayers.Feature.Vector( new OpenLayers.Geometry.fromWKT('POINT('+XX+' '+YY+')').transform(proj4326,projgoogle) , { isBaseLayer: false }, 
{externalGraphic: 'http://200.109.126.56/images/Route/Route-'+idx+'.png',graphicWidth: 21,graphicHeight:32,graphicYOffset:offset.y,graphicXOffset:offset.x}
);
	myLocation.fid=10+idx;
	
	myLoc2.addFeatures([ myLocation] );
	map.setCenter(new OpenLayers.LonLat(XX, YY).transform(proj4326,map.getProjectionObject()),11);
}


function findLayerClick(event) {
	PacReload (); //Para mantener la sesión activa...
	$("#categoriesFilter").html("");
	$("#nearbyBusiness").html("");
	markersNB.clearMarkers();
	if (markersNB.markers!=''){
		markerSelected.clearMarkers();
	}
	pointerMarker.clearMarkers();
	$('#coordsDiv').html('');	
	closePopUps();
	var activelayers = [];
	var activelayers2 = '';
	var layers  = map.getLayersBy("visibility", true);
	for (i in layers) {
		if (!layers[i].getVisibility()) continue;
		if (!layers[i].calculateInRange()) continue;
		if (layers[i].name != ''){
			activelayers2 = activelayers2+','+layers[i].name;
		}
	}

	var coords = map.getLonLatFromPixel(event.xy);
   	var lonLat = new OpenLayers.LonLat(coords.lon, coords.lat).transform(map.getProjectionObject(), new OpenLayers.Projection("EPSG:4326"));
	$('#coordsDiv').html('x: '+lonLat.lon+' y: '+lonLat.lat);
	layerlist = "Lagos,CiudadesVEN,Ptos_Poblados,Parroquias_hidden,ViasCC1,Referencias,LagosCC1,RiosCC1,Sectores";
	mouseLoc = event.xy;
	var forSave = lonLat.lon+'|'+lonLat.lat;
	var textB = $("#txtRoute2Accord").val();
	var rf = letter;
	if (!myYellow){
			var datx = 'LAYERS='+layerlist+'&BBOX='+map.getExtent().toBBOX()+'&X='+event.xy.x+'&Y='+event.xy.y+'&QUERY_LAYERS='+layerlist+'&WIDTH='+map.size.w+'&HEIGHT='+map.size.h+'&ACTLAY='+activelayers2+'&CoorX='+lonLat.lon+'&CoorY='+lonLat.lat+'&txtRoute='+textB+'&routesFlag='+rf;
	} else {
			var datx = 'LAYERS='+layerlist+'&BBOX='+map.getExtent().toBBOX()+'&X='+event.xy.x+'&Y='+event.xy.y+'&QUERY_LAYERS='+layerlist+'&WIDTH='+map.size.w+'&HEIGHT='+map.size.h+'&ACTLAY='+activelayers2+'&CoorX='+lonLat.lon+'&CoorY='+lonLat.lat+'&typeOfInfo=true&txtRoute='+textB+'&letter='+rf;
	}
	$.ajax({
	   type: "POST",
	   url: 'lib/infoQuery.php',
	   data: datx,
	   dataType: "html",
	   cache: false,
	   success: function(XMLhtml){/*validar cuando no hay resultados*/
			var html = XMLhtml;
			if (myYellow == false){
				if(html.indexOf("string=") != -1){
					html = html.substring(7,html.length  );
					var aux = html.split('*');
					var phone = '';
					var profile = '';
					var faceAndTweet = 'fromSpecial';
					var objectID = '';
					var face = aux[0]+'·'+aux[1]+'·'+aux[2]+'·'+aux[3]+'·'+aux[4]+'·'+aux[5]+'·'+aux[6];
					var tweet = aux[0]+'·'+aux[1]+'·'+aux[2]+'·'+aux[3]+'·'+aux[4]+'·'+aux[5]+'·'+aux[6];
					var params = aux[0]+'|'+aux[1]+'|'+aux[2]+'|'+aux[3]+'|'+aux[4]+'|'+aux[5]+'|'+aux[6]+'|'+phone+'|'+profile+'|'+faceAndTweet+'|'+objectID+'|'+tweet+'|'+face;
					var ftIng = createFaTwIn(aux[0],aux[1],aux[2],aux[3],aux[4],aux[5],aux[6]);
					html = '<table width="100%">';
					html = html+'<tr>';
					html = html+'<td>';
					html = html+'<div style="width:22px;float:left">';
					html = html+'<img src="images/Map/Symbols/'+aux[1]+'.png"/>';
					html = html+'</div>';
					html = html+'</td>';
					html = html+'<td colspan="3">';
					
					var keyPacLink = aux[0];
					keyPacLink = keyPacLink.replace(/[ ]/gi,'+');
					var locaPacLink = aux[5]+'+'+aux[4];
					locaPacLink = locaPacLink.replace(/[ ]/gi,'+');	
	
					html = html+'<div style="width:200px;float:left">';
					
					html = html+'<a href="http://www.pac.com.ve/index.php?option=com_jumi&fileid=9&Itemid=119&keyword='+escape(keyPacLink)+'&ubicacion='+escape(locaPacLink)+'" class="text" target="_blank">';
					html = html+'<b>'+aux[0]+'</b>';
					html = html+'</a>';
					html = html+'</div>';
					html = html+'</tr>';
 
					html = html+'<tr>';
					html = html+'<td>';
					html = html+'</td>';
					html = html+'<td colspan="3">';
					html = html+'&nbsp;';
					html = html+'</td>';
					html = html+'</tr>';
					
					html = html+'<tr>';
					html = html+'<td>';
					html = html+'</td>';
					html = html+'<td colspan="3" class="text">';
					html = html+'Estado '+aux[4]+', Ciudad '+aux[5]+', Sector '+aux[6];
					html = html+'<br/><br/></td>';
					html = html+'</tr>';
					html = html+'</table>';
					html = html+'<table width="100%">';
					html = html+'<tr>';
					//html = html+'<td>';
					//html = html+'</td>';
					html += '<table>';
					html += '<tr>';
					html += '<td  width="22px"></td>';
					html += '<td><a href="#" onclick="sNBPAC();" class="text">Empresas Cercanas</a></td>';
					html += '</tr>';
					html += '</table>';
					//html = html+'<td colspan="2" class="text">';
					//html = html+'<a href="#" onclick="sNBPAC();" class="text">Empresas Cercanas</a>';
					//html = html+'</td>';
					//html = html+'<td>&nbsp;</td>';
					html = html+'</tr>';
					//html = html+'<tr>';
					//html = html+'<td>';
					//html = html+'</td>';
					if (letter<=6){
						if($("#txtRoute2Accord").val() == null || $("#txtRoute2Accord").val()=="")
						{
							html += '<tr>';
								html += '<table>';
									html += '<tr>';
										html += '<td  width="22px"></td>'; 
										html += '<td><a href="#" class="text" onclick="addPointForRoute('+aux[2]+','+aux[3]+',\''+aux[0]+'\', false)">Cómo llegar</a></td>';
										html += '<td><a>-</a></td>'
										html += '<td><a class="text" href="#" onclick="saveFromInfo(\''+params+'\', \''+forSave+'\', \'info\');">Guardar</a></td>';
									html += '</tr>';
								html += '</table>';
							html += '</tr>'; 
						}
						else if(($("#txtRoute1Accord").val()==null || $("#txtRoute1Accord").val()=="") && ($("#txtRoute2Accord").val() != null || $("#txtRoute2Accord").val()!=""))
						{
							html += '<tr>';
								html += '<table>';
									html += '<tr>';
										html += '<td  width="22px"></td>'; 
										html += '<td><a href="#" class="text" onclick="addStartPoint('+aux[2]+','+aux[3]+',\''+aux[0]+'\')">Agregar a Origen</a></td>';
										html += '<td><a>-</a></td>'
										html += '<td><a class="text" href="#" onclick="saveFromInfo(\''+params+'\', \''+forSave+'\', \'info\');">Guardar</a></td>';
									html += '</tr>';
								html += '</table>';
							html += '</tr>';
						} else {
							html+='<table>';
							html+='<tr>';										
							html+= '<td width="22px"></td>';								
							html+='<td><a href="#" class="text" onclick="addPointForRoute('+aux[2]+','+aux[3]+',\''+aux[0]+'\')">Agregar a destino</a></td>';
							html+= '<td><a>-</a></td>';
							html+= '<td><a href="#" onclick="saveFromInfo(\''+params+'\')" class="text">Guardar</a></td>';
							html+='</tr>';
							html+='</table>';									
							html=html+'</tr>';
						}
					}
					else
					{
						html += '<tr>';
							html += '<table>';
								html += '<td  width="22px"></td>'; 
								html += '<td><a class="text" href="#" onclick="saveFromInfo(\''+params+'\', \''+forSave+'\', \'info\');">Guardar</a></td>';
							html += '</table>';
						html += '</tr>';
					}
					html = html+'<tr>';
					html = html+'<table>';
					html = html+'<tr>';
					html = html+'<td  width="22px"></td>'; 
					html = html+ftIng;
					html = html+'</tr>';
					html = html+'</table>';
					html = html+'</tr>';
					html = html+'</table>';
				} else {
					pointerMarker.clearMarkers();
					//$('#coordsDiv').html('');
					addPointerMarker(lonLat.lon,lonLat.lat);
				}
				if(html!='<table width="100%"><tr><td></td></tr><tr><td><a href="#" onclick="sNBPAC();" class="text">Empresas Cercanas</a></td></tr></table>'){
					createPopUp('infoPopUp', mouseLoc, html);
				}
			} else if (myYellow == true){
				if(html.indexOf("string=") != -1){
					html = html.substring(7,html.length);
					var params = html;  
					//alert('params: '+params);
					saveFromInfo(params);
				}
			}
			//findCategories(lonLat.lon, lonLat.lat);
			//nearbyBusiness(lonLat.lon, lonLat.lat, '');
			sXNB = lonLat.lon;
			sYNB = lonLat.lat;
		 }
	  });
	Event.stop(event); 
} 



function LocatePacNB(x,y,name,direction,stateCity,phone,profile,index,faceAndTweet,type,distance, id){
	PacReload (); //Para mantener la sesión activa...
	if (infoPopUp !=null){
		closeInfoPopUp(); 
	}
	if (popUpSearch!=null){
		closeSearchInfo()
	}
	if (popUpNB!=null){
		closeNBPopUp();
	}
	var i = index;
	index = index +1;
	var imgURL;
	
	var nameLaySpecial = '';
	var emptyVar = 'fromPAC';
	var Tweet = '';
	var faceURL = '';

	var params = name+'|'+nameLaySpecial+'|'+x+'|'+y+'|'+direction+'|'+emptyVar+'|'+emptyVar+'|'+phone+'|'+profile+'|'+faceAndTweet+'|'+id+'|'+Tweet+'|'+faceURL;
	var forSave = x+'|'+y+'|'+name+'|'+direction+'|'+stateCity+'|'+phone+'|'+profile+'|'+index+'|'+faceAndTweet+'|'+type+'|'+distance+'|'+id;
	
	switch(type){
		case "MDI": imgURL = 'images/NearBusiness/Gold/Gold'+index+'.png';
					break;
		case "SDI": imgURL = 'images/NearBusiness/Silver/Silver'+index+'.png';
					break;
		case "DI": 	imgURL = 'images/NearBusiness/Bronze/Bronze'+index+'.png';
					break;
		default: 	imgURL = 'images/NearBusiness/Free/Free'+index+'.png'; 
					break;
	}
	                var html =           
					   '<table width="98%">'+
						  '<tr>'+
							  '<td width="25px"><img src="'+imgURL+'"></td>';
								if (unescape(faceAndTweet)!=''){
									html = html+'<td colspan="2" class="text" style="text-transform:uppercase">'+
										'<a href="'+unescape(faceAndTweet)+'" class="text" target="_blank"><b>'+name+'</b></a>'+
							  '</td>';
	} else {
	html = html+'<td class="text" style="text-transform:uppercase">'+
					'<b class="text">'+name+'</b>'+
				'</td>';                
	}
	html = html + '<td align="right" valign="top">&nbsp;</td>'+
					  '</tr>'+
					  '<tr>'+
									  '<td>&nbsp;</td>'+
									  '<td colspan="2">&nbsp;</td>'+
					  '</tr>'+					  
					  '<tr>'+
									  '<td>&nbsp;</td>'+
									  '<td class="text" colspan="2">'+direction+'<br/><br/></td>'+
					  '</tr>'+
					  '<tr>'+
									  '<td>&nbsp;</td>'+
									  '<td class="text" style="color:#FF6600" colspan="2"><b>Tel: '+phone+'</b></td>'+
					  '</tr>';
		html = html + '<tr>'+
							'<td>&nbsp;</td>'+
							'<td class="text" colspan="2">'+
								'<b>Distancia: '+distance+' mts.</b><br/><br/>'+
							'</td>'+
					  '</tr>'+
					  '</table>'+
					  '<table width="98%" cellspacing="0" cellpadding="0">'; 
					  
					  
					  
	if (profile!=''){
		html+='<tr>';
			html+='<table>';
				html+='<tr>';
					html+='<td width="27px"></td>'
					html+='<td><a href="'+unescape(profile)+'" target="_blank" class="text">Ver Perfil</a></td>';
				html+='</tr>';
			html+='</table>';
		html+='</tr>';
	} 					  
		
					  	  '<td width="25px">&nbsp;</td>';
						  if (letter<=6){	  
					   if($("#txtRoute2Accord").val() == null || $("#txtRoute2Accord").val()=="")
					  {
						  html = html + '<tr>';
						 	html+= '<table>';
								html+= '<tr>';
							  html+= '<td width="27px"></td>';
							  html+= '<td><a href="#" class="text" onclick="addPointForRoute('+x+','+y+',\''+name+'\', false);">Cómo llegar</a></td>';
							  html+= '<td><a>-</a></td>';
							  html+= '<td><a href="#" onclick="saveFromInfo(\''+params+'\', \''+forSave+'\', \'PacNB\');" class="text">Guardar</a></td>';
								html+= '</tr>';
							html+= '</table>';
					html=html+'</tr>';
					 } else if(($("#txtRoute1Accord").val()==null || $("#txtRoute1Accord").val()=="") && ($("#txtRoute2Accord").val() != null || $("#txtRoute2Accord").val()!=""))
						{
							html = html + '<tr>';
							html+='<table>';
								html+='<tr>';										
 									html+= '<td width="27px"></td>';								
									html+= '<td><a href="#" class="text" onclick="addStartPoint('+x+','+y+',\''+name+'\')">Agregar a origen</a></td>';
									html+= '<td><a>-</a></td>';
									html+= '<td><a href="#" onclick="saveFromInfo(\''+params+'\', \''+forSave+'\', \'PacNB\');" class="text">Guardar</a></td>';
								html+='</tr>';
							html+='</table>';
					html=html+'</tr>';
						}
						else
						{
							html+='<table>';
							html+='<tr>';										
							html+= '<td width="27px"></td>';								
							html+='<td><a href="#" class="text" onclick="addPointForRoute('+x+','+y+',\''+name+'\')">Agregar a destino</a></td>';
							html+= '<td><a>-</a></td>';
							html+= '<td><a href="#" onclick="saveFromInfo(\''+params+'\')" class="text">Guardar</a></td>';
							html+='</tr>';
							html+='</table>';									
							html=html+'</tr>';
						}
				} else {
					html = html + '<tr>';
					html+= '<table>';
						html+= '<tr>';
							html+= '<td width="27px"></td>';
							html+= '<td><a href="#" onclick="saveFromInfo(\''+params+'\', \''+forSave+'\', \'PacNB\');" class="text">Guardar</a></td>';
						html+= '</tr>';
					html+= '</table>';
				html=html+'</tr>';
				html = html + '</tr>';
				}
		html = html + '<tr>'+
					'<table>'+   
					  '<td>&nbsp;</td>';
				 		  html+='<td width="20px"></td>'
						  html=html+'<td align="left", colspan=3>'+
						  createFaTwPAC(x,y,name,direction,stateCity,phone,profile,faceAndTweet,type,id)+ 
						  '</td>'+
					  '</tr>'+								
				   '</table>'
				   '</tr>'+
				   '</table>';
				   
	popUpNB = new OpenLayers.Popup(
                        "popUpSearch", 
                        new OpenLayers.LonLat(x, y).transform(proj4326,map.getProjectionObject()),
                        new OpenLayers.Size(260, 200),
                        html,
                        true,
                        null
                    );
	addSelectedMarker(x,y,index,type,'PACNB');		
	map.addPopup(popUpNB);	
	map.setCenter(new OpenLayers.LonLat(x, y).transform(proj4326,map.getProjectionObject()),11);
}


function Locate(x,y,name,state,city,aux,parrish,index,sector){
	PacReload (); //Para mantener la sesión activa...
	geoTools("info");
	$("#geotools")[0].contentWindow.turnButtons("images/Buttons/InfoButton.png","InfoButton");
	var Tweet = encodeURIComponent('http://'+location.host+'/index.php?stateS='+state.replace(/[ ]/gi,'*')+'&cityS='+city.replace(/[ ]/gi,'*')+'&parishS='+parrish.replace(/[ ]/gi,'*')+'&sectorS='+sector.replace(/[ ]/gi,'*')+'&xS='+x+'&yS='+y+'&nameS='+name.replace(/[ ]/gi,'*'));
//var Tweet = ('http://'+location.host+'/index.php?nameS='+name+'&amp;stateS='+state+'&amp;cityS='+city+'&amp;parishS='+parrish+'&amp;sectorS='+sector+'&amp;xS='+x+'&amp;yS='+y);
	var faceAndTweet = encodeURIComponent('http://'+location.host+'/index.php?nameS='+name+'&stateS='+state+'&cityS='+city+'&parishS='+parrish+'&sectorS='+sector+'&xS='+x+'&yS='+y);
	var faceURL ='?s=100&amp;p[url]='+faceAndTweet+'&amp;p[images][0]=http://200.109.126.56/images/logoPaginasAmarillas.jpg&amp;p[title]='+name+'&amp;p[summary]='+name; 
	if (infoPopUp !=null){
		closeInfoPopUp();
	}
	if (popUpSearch!=null){
		closeSearchInfo();
	}
	index = index +1;
	if (sector != ''){
		city = city+', '+sector;
	}
	pointerMarker.clearMarkers();
	$('#coordsDiv').html('');
	markersMYP.clearMarkers();
	markersNB.clearMarkers();
	markersNB.setVisibility(false);
	markerSelected.clearMarkers();
	var nameLaySpecial = '';
	var emptyVar = 'fromING';
	var phone ='';
	var profile ='';
	var objectID = '';
	//var faceAndTweet = '';
	var direction = 'estado '+state+', parroquia '+parrish+', '+city;
	var params = name+'|'+nameLaySpecial+'|'+x+'|'+y+'|'+direction+'|'+emptyVar+'|'+emptyVar+'|'+phone+'|'+profile+'|'+faceAndTweet+'|'+objectID+'|'+Tweet+'|'+faceURL;
	var forSave = x+'|'+y+'|'+name+'|'+state+'|'+city+'|'+aux+'|'+parrish+'|'+index+'|'+sector;
	var html = 	
				'<table width="99%">'+
					'<tr>'+
						'<td width="25px"><img src="images/Buttons/Ing'+index+'.png"></td>'+
						'<td class="text" style="text-transform:uppercase"><b>'+name+'</b></td>'+
						'<td align="right" valign="top">&nbsp;</td>'+
					'</tr>'+
					'<tr>'+
						'<td>&nbsp;</td>'+
						'<td colspan="2">&nbsp;</td>'+
					'</tr>'+					
					'<tr>'+
						'<td><br/></td>'+
						'<td class="text" colspan="2">'+state+', Parroquia '+parrish+'</td>'+
					'</tr>'+
					'<tr>'+
						'<td>&nbsp;</td>'+
						'<td class="text" colspan="2"><b>'+city+'</b><br/><br/></td>'+
					'</tr>'+
					'<tr>'+
						'<td width="26px"></td>'+
						'<td class="text" colspan="2">'+
							'<table width="100%" cellpading="0" cellspacing="0">'+
							'<tr>'+
								'<table>'+
								'<tr>'+
									'<td><a href="#" onclick="sNBPAC();" class="text">Empresas Cercanas</a></td>'+
								'</tr>'+
								'</table>'+
							'</tr>'+
							'<tr>';
						if (letter<=6){		
							if($("#txtRoute2Accord").val() == null || $("#txtRoute2Accord").val()==""){
								html+= '<table>';
									html+= '<tr>';
						html+= '<td width="27px"></td>';
						html+= '<td><a href="#" class="text" onclick="addPointForRoute('+x+','+y+',\''+name+'\', false)">Cómo llegar</a></td>';
						html+= '<td><a>-</a></td>';
						html+= '<td><a href="#" onclick="saveFromInfo(\''+params+'\', \''+forSave+'\', \'ING\');" class="text">Guardar</a></td>';
									html+= '</tr>';
								html+= '</table>';
							html+='</tr>';
						} else if(($("#txtRoute1Accord").val()==null || $("#txtRoute1Accord").val()=="") && ($("#txtRoute2Accord").val() != null || $("#txtRoute2Accord").val()!="")) {
								html+='<table>';
									html+='<tr>';										
						html+= '<td width="27px"></td>';								
						html+='<td><a href="#" class="text" onclick="addStartPoint('+x+','+y+',\''+name+'\')">Agregar a origen</a></td>';
						html+= '<td><a>-</a></td>';
						html+= '<td><a href="#" onclick="saveFromInfo(\''+params+'\', \''+forSave+'\', \'ING\');" class="text">Guardar</a></td>';
									html+='</tr>';
								html+='</table>';
							html=html+'</tr>';
							} else {
								html+='<table>';
								html+='<tr>';										
								html+= '<td width="27px"></td>';								
								html+='<td><a href="#" class="text" onclick="addPointForRoute('+x+','+y+',\''+name+'\')">Agregar a destino</a></td>';
								html+= '<td><a>-</a></td>';
								html+= '<td><a href="#" onclick="saveFromInfo(\''+params+'\')" class="text">Guardar</a></td>';
								html+='</tr>';
								html+='</table>';									
								html=html+'</tr>';
							}
						} else {
							html+='<table>';
								html+='<tr>';
							html+= '<td width="27px"></td>';
							html+='<td><a href="#" onclick="saveFromInfo(\''+params+'\', \''+forSave+'\', \'ING\');" class="text">Guardar</a></td>';
								html+='</tr>';
							html+='</table>';
						html=html+'</tr>';
						}				
								html+='<tr>'+
										'<table>'+
										'<tr>'+
											'<td width="27px"></td>'+
											'<td><a class="text">Compartir </td>'+ 
											'<td>'+
'<a class="text" href="http://www.facebook.com/sharer.php'+faceURL+'&amp;t='+name+'" rel="nofollow" title="Compartir en Facebook - '+name+'" target="_blank">'+
												'<img src="./images/Facebook-icon.png" border="0"/>'+
'</a>'+
											'</td>'+
											'<td>&nbsp;</td>'+
											'<td>'+
'<a href="http://twitter.com/share?url='+Tweet+'&amp;text='+name+'" rel="nofollow" title="Compartir en Twitter - '+name+'" target="_blank">'+
													'<img src="./images/Twitter-icon.png" border="0"/>'+
												'</a>'+
											'</td>'+
										'</tr>'+
										'</table>'+
								'</td>'+
							'</tr>'+
/**/								'</table>'+
					'</tr>'+ 
				'</table>';
	popUpSearch = new OpenLayers.Popup(
                        "popUpSearch", 
                        new OpenLayers.LonLat(x, y).transform(proj4326,map.getProjectionObject()),
                        new OpenLayers.Size(250, 160),
                        html,
                        true,
                        null
                    );
	var type = '';
	addSelectedMarker(x,y,index,type,'ING');						
	map.addPopup(popUpSearch);	
	map.setCenter(new OpenLayers.LonLat(x, y).transform(proj4326,map.getProjectionObject()),11);
	//findCategories(x, y);
	//nearbyBusiness(x, y, '');
	sXNB = x;
	sYNB = y;
	
	var urlajax = 'lib/Ajax.php';
	var dataajax = 'OPTION=CLEARNB';
	$.ajax({
		 type: "POST",
		 url: urlajax, 
		 data: dataajax, 
		 dataType: "html",
		 cache: false,
		 success: function(XMLhtml){
		 }
	})		
}

function LocatePac(x,y,name,direction,stateCity,phone,profile,index,faceAndTweet,type,id){
	PacReload (); //Para mantener la sesión activa...
	geoTools("info");
	$("#geotools")[0].contentWindow.turnButtons("images/Buttons/InfoButton.png","InfoButton");
	if (infoPopUp !=null){
		closeInfoPopUp();
	}
	if (popUpSearch!=null){
		closeSearchInfo();
	}
	index = index +1;
	var imgURL;
	var profileString = '';
	var html = '';

	var nameLaySpecial = '';
	var emptyVar = 'fromPAC';
	var Tweet = '';
	var faceURL = '';
	
	var params = name+'|'+nameLaySpecial+'|'+x+'|'+y+'|'+direction+'|'+emptyVar+'|'+emptyVar+'|'+phone+'|'+profile+'|'+faceAndTweet+'|'+id+'|'+Tweet+'|'+faceURL;
	var forSave = x+'|'+y+'|'+name+'|'+direction+'|'+stateCity+'|'+phone+'|'+profile+'|'+index+'|'+faceAndTweet+'|'+type+'|'+id
	switch(type){
		case "MDI": imgURL = 'images/Buttons/Oro'+index+'.png';
					break;
		case "SDI": imgURL = 'images/Buttons/Plata'+index+'.png';
					break;
		case "DI": 	imgURL = 'images/Buttons/Bronce'+index+'.png';
					break;
		default: 	imgURL = 'images/Buttons/Free'+index+'.png';
					break;
	}
	pointerMarker.clearMarkers();
	$('#coordsDiv').html('');	
	markersMYP.clearMarkers();	
	markerSelected.clearMarkers();
	markersNB.clearMarkers();
	markersNB.setVisibility(false);
	$("#nearbyBusiness").html('');
	                html =   
					   '<table width="99%">'+
						  '<tr>'+
										  '<td  width="25px"><img src="'+imgURL+'"></td>';
	if (unescape(faceAndTweet)!=''){
	html = html+'<td class="text" style="text-transform:uppercase">'+
										  '<a href="'+unescape(faceAndTweet)+'" class="text" target="_blank"><b>'+name+'</b></a>'+
						  '</td>';
	} else {
	html = html+'<td class="text" style="text-transform:uppercase">'+
										  '<b class="text">'+name+'</b>'+
						  '</td>';                
	}
	html = html+'<td align="right" valign="top">&nbsp;</td>'+
						  '</tr>'+
						  '<tr>'+
										  '<td>&nbsp;</td>'+
										  '<td colspan="2">&nbsp;</td>'+
						  '</tr>'+						  
						  '<tr>'+
										  '<td>&nbsp;</td>'+
										  '<td class="text" colspan="2">'+direction+'<br/><br/></td>'+
						  '</tr>'+
						  '<tr>'+
										  '<td>&nbsp;</td>'+
										  '<td class="text" style="color:#FF6600" colspan="2"><b>Tel: '+phone+'</b><br/><br/></td>'+
						  '</tr>'+
						  '<tr>'+
							  '<td></td>'+
							  '<td class="text" colspan="2">'+
											  '<table width="100%" cellspacing="0" cellpadding="0">';
	if (profile!=''){
		profileString = '<tr>'+
						'<table>'+
							'<tr>'+
								'<td><a href="#" onclick="sNBPAC();" class="text">Empresas Cercanas</a></td>'+
								'<td>&nbsp;</td>'+
								'<td><a href="'+unescape(profile)+'" target="_blank" class="text">Ver Perfil</a></td>'+
							'</tr>'+
						'</table>'+
						'</tr>';
	} else {
		profileString = '<tr>'+
							'<table>'+
								'<tr>'+
									'<td><a href="#" onclick="sNBPAC();" class="text">Empresas Cercanas</a></td>'
								'</tr>'+
							'</table>'+
						'</tr>';		
	}
	html = html+profileString+						
					  '<tr>';
						  if (letter<=6)
					  {
						  if($("#txtRoute2Accord").val() == null || $("#txtRoute2Accord").val()=="")									
						  {
						html+= '<table cellpadding="0" cellspacing="1">';
						html+= '<tr>';
						if (profile!=''){
							html+= '<td width="27px"></td>';
						} else {
							html+= '<td></td>';
						}
						html+= '<td><a href="#" class="text" onclick="addPointForRoute('+x+','+y+',\''+name+'\', false);">Cómo llegar</a></td>';
						html+= '<td><a>-</a></td>';
						html+= '<td><a href="#" onclick="saveFromInfo(\''+params+'\', \''+forSave+'\', \'PAC\');" class="text">Guardar</a></td>';
						html+= '</tr>';
						html+= '</table>';
						html=html+'</tr>';
						  }
						  else if(($("#txtRoute1Accord").val()==null || $("#txtRoute1Accord").val()=="") && ($("#txtRoute2Accord").val() != null || $("#txtRoute2Accord").val()!=""))
						  {
							  html+='<table>';
							  html+='<tr>';										
						if (profile!=''){
							html+= '<td width="27px"></td>';
						} else {
							html+= '<td></td>';
						}						
						html+='<td><a href="#" class="text" onclick="addStartPoint('+x+','+y+',\''+name+'\')">Agregar a origen</a></td>';
						 html+= '<td><a>-</a></td>';
						 html+= '<td><a href="#" onclick="saveFromInfo(\''+params+'\', \''+forSave+'\', \'PAC\');" class="text">Guardar</a></td>';
						 html+='</tr>';
						 html+='</table>';
						 html=html+'</tr>';
						  } else {
										
										
										html+='<table>';
										html+='<tr>';										
 										html+= '<td width="27px"></td>';								
										html+='<td><a href="#" class="text" onclick="addPointForRoute('+x+','+y+',\''+name+'\')">Agregar a destino</a></td>';
										html+= '<td><a>-</a></td>';
										html+= '<td><a href="#" onclick="saveFromInfo(\''+params+'\')" class="text">Guardar</a></td>';
										html+='</tr>';
										html+='</table>';									
										html=html+'</tr>';
									}

					  } 
					  else
					  {
						  html+= '<table>';
						  html+= '<tr>';
						if (profile!=''){
							html+= '<td width="26px"></td>';
						} else {
							html+= '<td></td>';
						}
						 html+= '<td><a href="#" onclick="saveFromInfo(\''+params+'\', \''+forSave+'\', \'PAC\');" class="text">Guardar</a></td>';
						  html+= '</tr>';
						  html+= '</table>';
						  html=html+'</tr>';
					  }
						  html+='<tr>'+
						  '<table cellpadding=0 cellspacing=2>'+									
						  '<tr>'+
						  '<td width="25px"></td>'+
						  '<td colspan="2" align="left">'+
						  createFaTwPAC(x,y,name,direction,stateCity,phone,profile,faceAndTweet,type,id)+
						  '</td>'+
						  '</tr>'+				
					 	  '</table>'+
						  '</tr>'+
					//'</tr>'+
				'</table>';
	popUpSearch = new OpenLayers.Popup(
                        "popUpSearch", 
                        new OpenLayers.LonLat(x, y).transform(proj4326,map.getProjectionObject()),
                        new OpenLayers.Size(250, 210),
                        html,
                        true,
                        null
                    );
	addSelectedMarker(x,y,index,type,'PAC');	
	map.addPopup(popUpSearch);	
	map.setCenter(new OpenLayers.LonLat(x, y).transform(proj4326,map.getProjectionObject()),11);
	//findCategories(x, y);
	//nearbyBusiness(x, y, '');
	sXNB = x;
	sYNB = y;
}

function showRoute(bool){
	PacReload (); //Para mantener la sesión activa...
	if (autocompletesShowRoute!=0){
		setTimeout('showRoute('+bool+')', 2000);
	}
	else {
		closePopUps();
		if (bool == ''){
			bool= false;
		}
		myLocationLayer.removeAllFeatures();
		var validateDest = true;
		var validatePoint = true;
		var TypeRoute,TypeRouteText;
		var sX,sY,names,sXv,sYv,namesv,generalRes;
		sX=sY=names = '';
		sXv=sYv=namesv = '';
		generalRes=''
		var pointToEnter;
		for (var i=1; i<pointsArray.length; i++){
			if (pointsArray[i]!=undefined){
				if (pointsArray[i][2]!='' && pointsArray[i][2]!=null){
					if (sXv == pointsArray[i][0] && sYv == pointsArray[i][1]&& namesv == pointsArray[i][2] ) {
						validateDest = false;
					}
					sX += '{'+pointsArray[i][0];
					sY += '{'+pointsArray[i][1];
					names += '{'+pointsArray[i][2];
					if(i==1){
						generalRes += '<tr><td><img src="images/Route/Route'+i+'.png"/></td><td>Desde: <b>'+pointsArray[i][2]+'</b></td></tr>' ;
					}
					else{
						generalRes += '<tr><td><img src="images/Route/Route'+i+'.png"/></td><td>Hasta: <b>'+pointsArray[i][2]+'</b></td></tr>' ;
					}
					sXv = pointsArray[i][0];
					sYv = pointsArray[i][1];
					namesv = pointsArray[i][2];                        
				}
			}
			else{
				validatePoint = false;
				pointToEnter = i;
				i = pointsArray.length;
				
			}
		}
		if(validatePoint && pointsArray.length >=3 ){
			if (validateDest){
				var htmlWait = "<table><tr><td><img src='images/progress.gif'></td><td>Calculando por favor espere... </td></tr></table>";
				$("#routPoints3").html(htmlWait);
				$("#routPoints2").hide();
				$("#routPoints3").show();   
				var strDrivDirec,count,TotalTimeDist,strPoints,description1;
				//var TypeRoute = $("input[@name='chkTypeRoute']:checked").val();
				TypeRoute = $("input[name='chkTypeRoute']:checked").val();
				if (TypeRoute == '' ||  typeof TypeRoute == 'undefined'){
					TypeRoute = 1;
				}
				if(TypeRoute == 1){
					TypeRouteText = 'Ruta más corta';
				}
				else{
					TypeRouteText = 'Ruta más rápida';
				}
				var urlajax = 'lib/Rto/routing.php';
				var dataajax = 'sX='+sX+'&sY='+sY+'&TypeRoute='+TypeRoute;
				strDrivDirec = '<table cellspacing="7" cellpadding="5">'+generalRes;
				strPoints =description1='';
				var count = count2 = count3 = 1;
				$.ajax({
					type: "POST",
					url: urlajax,
					data: dataajax,
					dataType: "xml",
					cache: false,
					success: function(XMLhtml){
						var doc = $(XMLhtml).find('Document');
						description1 = doc.children('description').text();
						if (description1=='No se puede calcular la ruta.'){
							strDrivDirec +='<tr><td colspan="2" align="right"><a href="#" onclick="changeStopPoints();">Cambiar Ruta</a> </td></tr></table> <hr color="#CCCCCC"/><table  cellspacing="7" cellpadding="5">';
							strDrivDirec += '<tr><td></td><td>'+description1+'</td></tr><tr><td></td><td></td></tr>';//TDall
						}
						else{
							strDrivDirec += '<tr><td></td><td>'+description1+'</td></tr><tr><td></td><td></td></tr>';//TDall
							
							if (bool){
								strDrivDirec +='<tr><td colspan="2" align="right"><a href="#" onclick="changeStopPoints();">Cambiar Ruta</a> | <a href="#" onclick="Restore();">Restablecer</a><br/></td></tr><tr><td colspan="2" align="right"><a href="#" onclick="printMap2();">Imprimir ruta</a> <br/> </td></tr></table> <hr color="#CCCCCC"/><table  cellspacing="7" cellpadding="5">';
								strDrivDirec += '<tr><td colspan="2" align="right">'+TypeRouteText+'</td></tr>';
							}
							else{
								strDrivDirec +='<tr><td colspan="2" align="right"><a href="#" onclick="changeStopPoints();">Cambiar Ruta</a> | <a href="#" onclick="Restore();">Restablecer</a></td></tr><tr><td colspan="2" align="right"><a href="#" onclick="saveRoute();">Guardar ruta</a> | <a href="#" onclick="printMap2();">Imprimir ruta</a> <br/> </td></tr></table> <hr color="#CCCCCC"/><table  cellspacing="7" cellpadding="5">';
								strDrivDirec += '<tr><td colspan="2" align="right">'+TypeRouteText+'</td></tr>';
							}
							
							doc.find('Placemark').each(function(){
								place  = XMLhtml;count3+=1;
								if($(this).children('name').text()===''){//L
									var GeomCollect = $(this).children('GeometryCollection');
									var MultiGeom = GeomCollect.children('MultiGeometry');
									MultiGeom.find('LineString').each(function(){
										linetext = $(this).text();
										fmt = new OpenLayers.Format.KML();
										linetext = fmt.read(place)[count3-2];
										lineString =linetext.geometry;
										lineString = lineString.transform(proj4326,projgoogle);
										myLocation = new OpenLayers.Feature.Vector(  lineString , { isBaseLayer: false }, {strokeColor: "#FC0505",strokeOpacity: 0.7,strokeWidth: 6 } );
										myLocation.fid=500+count2;
										myLocationLayer.addFeatures([ myLocation] );
										count2+=1;	
									});
									strDrivDirec += '<tr  ><td><img src="images/Route/Route'+count+'.png"/></td><td> <b>'+pointsArray[count][2]+'</b></td></tr>' ;//A
									strDrivDirec += strPoints;
									strDrivDirec += '<tr  ><td><img src="images/Route/Route'+(count+1)+'.png"/></td><td> <b>'+pointsArray[count+1][2]+'</b></td></tr>' ;
									strDrivDirec += '<tr><td></td><td>'+$(this).children('description').text()+'</td></tr>';//TDone
									strDrivDirec+='</table> <hr color="#CCCCCC"/> <table cellspacing="7" cellpadding="5"> ';
									strPoints = '';
									count += 1;
								}
								else{//P
									var image = $(this).children('styleUrl').text();
									if (image.trim() ==''){
										strPoints += '<tr ><td></td><td>'+$(this).children('name').text()+'<br>'+$(this).children('description').text()+'</td></tr>';//DD
									}
									else{
										strPoints += '<tr ><td><img src="'+$(this).children('styleUrl').text()+'" /></td><td>'+$(this).children('name').text()+'<br>'+$(this).children('description').text()+'</td></tr>';//DD 
									}
								}
							});            
						}
						if (myLocationLayer.getDataExtent() != null){
							map.zoomToExtent( myLocationLayer.getDataExtent() ); 
						}
						strDrivDirec+='</table>'; 
						$("#routPoints3").html(strDrivDirec);
						routeFlag = 1;
					}
				});
			}
			else{
			   $("#Message2").html('Existen dos paradas continuas.');
			   $("#Message").dialog("option", "height", 125);
			   $("#Message").dialog("option", "buttons", {"Cerrar": function() {$(this).dialog("close");}});
			   $("#Message").dialog("open");                                                                                             
			}
		} else {
			 var textString = '';
			 switch (pointToEnter){
				 case 1:  
						textString = 'Por favor indique el punto A';
						break;
				 case 2:  
						textString = 'Por favor indique el punto B';
				 		break;
				 case 3:  
						textString = 'Por favor indique el punto C';
				 		break;
				 case 4:  
						textString = 'Por favor indique el punto D';
				 		break;
				 case 5:  
						textString = 'Por favor indique el punto E';
				 		break;
				 case 6:  
						textString = 'Por favor indique el punto F';
				 		break;													
			 }
			 if(pointsArray.length<3){
				 textString = 'Por favor indique el punto B';
			 }
			 if(pointsArray.length<2){
				 textString = 'Por favor indique el punto A';
			 }
			 var height = $("#Message").dialog("option", "height");
			 $("#Message").dialog("option", "height", 125);
			 $("#Message2").html(textString);
			 $("#Message").dialog("option", "buttons", {"Cerrar": function() {$(this).dialog("close");}});
			 $("#Message").dialog("open");               
	}
		/*
		else{
			var height = $("#Message").dialog("option", "height");
			$("#Message").dialog("option", "height", 125);
			$("#Message2").html("Debe ingresar todos sus destinos...");
			$("#Message").dialog("option", "buttons", {"Cerrar": function() {$(this).dialog("close");}});
			$("#Message").dialog("open");    
		}*/
	}
} 

function showRouteForSave(bool){
	PacReload (); //Para mantener la sesión activa...
	if (autocompletesShowRoute!=0){
		setTimeout('showRoute('+bool+')', 2000);
	}
	else {
		closePopUps();
		if (bool == ''){
			bool= false;
		}
		myLocationLayer.removeAllFeatures();
		var validateDest = true;
		var validatePoint = true;
		var sX,sY,names,sXv,sYv,namesv,generalRes;
		sX=sY=names = '';
		sXv=sYv=namesv = '';
		generalRes=''
		var pointToEnter;
		for (var i=1; i<pointsArray.length; i++){
			if (pointsArray[i]!=undefined){
				if (pointsArray[i][2]!='' && pointsArray[i][2]!=null){
					if (sXv == pointsArray[i][0] && sYv == pointsArray[i][1]&& namesv == pointsArray[i][2] ) {
						validateDest = false;
					}
					sX += '{'+pointsArray[i][0];
					sY += '{'+pointsArray[i][1];
					names += '{'+pointsArray[i][2];
					if(i==1){
						generalRes += '<tr><td><img src="images/Route/Route'+i+'.png"/></td><td>Desde: <b>'+pointsArray[i][2]+'</b></td></tr>' ;
					}
					else{
						generalRes += '<tr><td><img src="images/Route/Route'+i+'.png"/></td><td>Hasta: <b>'+pointsArray[i][2]+'</b></td></tr>' ;
					}
					sXv = pointsArray[i][0];
					sYv = pointsArray[i][1];
					namesv = pointsArray[i][2];                        
				}
			}
			else{
				validatePoint = false;
				pointToEnter = i;
				i = pointsArray.length;
				
			}
		}
		if(validatePoint && pointsArray.length >=3 ){
			if (validateDest){
				var htmlWait = "<table><tr><td><img src='images/progress.gif'></td><td>Calculando por favor espere... </td></tr></table>";
				$("#routPoints3").html(htmlWait);
				$("#routPoints2").hide();
				$("#routPoints3").show();   
				var strDrivDirec,count,TotalTimeDist,strPoints,description1;
				//var TypeRoute = $("input[@name='chkTypeRoute']:checked").val();
				var TypeRoute = $("input[name='chkTypeRoute']:checked").val();
				if (TypeRoute == '' ||  typeof TypeRoute == 'undefined'){
					TypeRoute = 1;
				}
				var urlajax = 'lib/Rto/routing.php';
				var dataajax = 'sX='+sX+'&sY='+sY+'&TypeRoute='+TypeRoute;
				strDrivDirec = '<table cellspacing="7" cellpadding="5">'+generalRes;
				strPoints =description1='';
				var count = count2 = count3 = 1;
				$.ajax({
					type: "POST",
					url: urlajax,
					data: dataajax,
					dataType: "xml",
					cache: false,
					success: function(XMLhtml){
						var doc = $(XMLhtml).find('Document');
						description1 = doc.children('description').text();
						if (description1=='No se puede calcular la ruta.'){
							strDrivDirec +='<tr><td colspan="2" align="right"><a href="#" onclick="changeStopPoints();">Cambiar Ruta</a> </td></tr></table> <hr color="#CCCCCC"/><table  cellspacing="7" cellpadding="5">';
							strDrivDirec += '<tr><td></td><td>'+description1+'</td></tr><tr><td></td><td></td></tr>';//TDall
						}
						else{
							strDrivDirec += '<tr><td></td><td>'+description1+'</td></tr><tr><td></td><td></td></tr>';//TDall
							
							if (bool){
								strDrivDirec +='<tr><td colspan="2" align="right"><a href="#" onclick="changeStopPoints();">Cambiar Ruta</a> | <a href="#" onclick="Restore();">Restablecer</a><br/></td></tr><tr><td colspan="2" align="right"><a href="#" onclick="printMap2();">Imprimir ruta</a> <br/> </td></tr></table> <hr color="#CCCCCC"/><table  cellspacing="7" cellpadding="5">';
							}
							else{
								strDrivDirec +='<tr><td colspan="2" align="right"><a href="#" onclick="changeStopPoints();">Cambiar Ruta</a> | <a href="#" onclick="Restore();">Restablecer</a></td></tr><tr><td colspan="2" align="right"><a href="#" onclick="saveRoute();">Guardar ruta</a> | <a href="#" onclick="printMap2();">Imprimir ruta</a> <br/> </td></tr></table> <hr color="#CCCCCC"/><table  cellspacing="7" cellpadding="5">';
							}
							
							doc.find('Placemark').each(function(){
								place  = XMLhtml;count3+=1;
								if($(this).children('name').text()===''){//L
									var GeomCollect = $(this).children('GeometryCollection');
									var MultiGeom = GeomCollect.children('MultiGeometry');
									MultiGeom.find('LineString').each(function(){
										linetext = $(this).text();
										fmt = new OpenLayers.Format.KML();
										linetext = fmt.read(place)[count3-2];
										lineString =linetext.geometry;
										lineString = lineString.transform(proj4326,projgoogle);
										myLocation = new OpenLayers.Feature.Vector(  lineString , { isBaseLayer: false }, {strokeColor: "#FC0505",strokeOpacity: 0.7,strokeWidth: 6 } );
										myLocation.fid=500+count2;
										myLocationLayer.addFeatures([ myLocation] );
										count2+=1;	
									});
									strDrivDirec += '<tr  ><td><img src="images/Route/Route'+count+'.png"/></td><td> <b>'+pointsArray[count][2]+'</b></td></tr>' ;//A
									strDrivDirec += strPoints;
									strDrivDirec += '<tr  ><td><img src="images/Route/Route'+(count+1)+'.png"/></td><td> <b>'+pointsArray[count+1][2]+'</b></td></tr>' ;
									strDrivDirec += '<tr><td></td><td>'+$(this).children('description').text()+'</td></tr>';//TDone
									strDrivDirec+='</table> <hr color="#CCCCCC"/> <table cellspacing="7" cellpadding="5"> ';
									strPoints = '';
									count += 1;
								}
								else{//P
									var image = $(this).children('styleUrl').text();
									if (image.trim() ==''){
										strPoints += '<tr ><td></td><td>'+$(this).children('name').text()+'<br>'+$(this).children('description').text()+'</td></tr>';//DD
									}
									else{
										strPoints += '<tr ><td><img src="'+$(this).children('styleUrl').text()+'" /></td><td>'+$(this).children('name').text()+'<br>'+$(this).children('description').text()+'</td></tr>';//DD 
									}
								}
							});            
						}
						if (myLocationLayer.getDataExtent() != null){
							map.zoomToExtent( myLocationLayer.getDataExtent() ); 
						}
						strDrivDirec+='</table>'; 
						$("#routPoints3").html(strDrivDirec);
						routeFlag = 1;
						saveRoute();
					}
				});
			}
			else{
			   $("#Message2").html('Existen dos paradas continuas.');
			   $("#Message").dialog("option", "height", 125);
			   $("#Message").dialog("option", "buttons", {"Cerrar": function() {$(this).dialog("close");}});
			   $("#Message").dialog("open");                                                                                             
			}
		} else {
			 var textString = '';
			 switch (pointToEnter){
				 case 1:  
						textString = 'Por favor indique el punto A';
						break;
				 case 2:  
						textString = 'Por favor indique el punto B';
				 		break;
				 case 3:  
						textString = 'Por favor indique el punto C';
				 		break;
				 case 4:  
						textString = 'Por favor indique el punto D';
				 		break;
				 case 5:  
						textString = 'Por favor indique el punto E';
				 		break;
				 case 6:  
						textString = 'Por favor indique el punto F';
				 		break;													
			 }
			 if(pointsArray.length<3){
				 textString = 'Por favor indique el punto B';
			 }
			 if(pointsArray.length<2){
				 textString = 'Por favor indique el punto A';
			 }
			 var height = $("#Message").dialog("option", "height");
			 $("#Message").dialog("option", "height", 125);
			 $("#Message2").html(textString);
			 $("#Message").dialog("option", "buttons", {"Cerrar": function() {$(this).dialog("close");}});
			 $("#Message").dialog("open");               
	}
		/*
		else{
			var height = $("#Message").dialog("option", "height");
			$("#Message").dialog("option", "height", 125);
			$("#Message2").html("Debe ingresar todos sus destinos...");
			$("#Message").dialog("option", "buttons", {"Cerrar": function() {$(this).dialog("close");}});
			$("#Message").dialog("open");    
		}*/
	}
} 

function changeStopPoints(){
	routeFlag = 0;
	myLocationLayer.removeAllFeatures();
	$("#routPoints3").hide();
	$("#routPoints2").show();
}

function onElementFocused(e)
{
    if (e && e.target)
        document.activeElement =
        e.target == document ? null : e.target;
} 

function gotoInitial(){
	location.reload();
}

function PacReload () {
	var fpac = document.getElementById('pacsession');
	fpac.src = "about:blank";
	fpac.src = "http://www.pac.com.ve/?session="+session;
}

function findNearbyRoute1(x, y){
	var objX = 0;
	var objY = 0;
	var objName = '';
	var dataAjax = "xCoord="+x+"&yCoord="+y;
	$.ajax({
		type: "POST",
		url: 'lib/findNearRoute.php',
		data: dataAjax,
		dataType: "html",
		cache: false,
		success: function(XMLhtml){
			if (XMLhtml!='-1'){
				var array = XMLhtml.split("{");
				objName = array[0];
				objX = array[1];
				objY = array[2];
			} else {
				objX = objY = -1;
				objName = "Desde esta ubicación no se puede calcular una ruta. Debe estar cercana a una vialidad";
			}
			addStartPoint(objX, objY, objName)
		}
	});		
}

function addStartPoint(x, y, name)
{
	if (name == '')
	{
		findNearbyRoute1(x, y);
	}
	toggleAccordion(2);
	$("#txtRoute"+(1)+"Accord").val(name);
	$("#txtSource").val(name);
	var coordsArray = new Array(3);
	coordsArray[0] = x;
	coordsArray[1] = y;
	coordsArray[2] = name;
	pointsArray[1] = coordsArray;
	addPointRouteOnMap(1,x,y);
}



if (document.addEventListener)
    document.addEventListener("focus", onElementFocused, true); 
