var addressSearch = null;

var currentFilter = "";
var seccionFiltro = 1;
var currentStateSuggest = "on";
var displaySuggest = "close";
var nameSuggest = 'contentSuggest';
var lastCargaSuggest = 0;
var initSearch = false;
var cantidadResizes = 0;
var enterPressed = false;
var PATH_MAPS = "http://planos.amarillas.cl/planos/home.do";
var _map;
var deltaMoveMap = 100;
var estadisticaMarketing = {};
var NAME_COOKIE = 'blancas.cl';
var URL_REFERER = window.location.hostname;
var seccionActual = 1;
var nroPaginaActual = 0;
var contCertifica = 0;
var isSearching = false;

var configInicial = function() {

	$Dom.get("textoBusqueda").value = "";
	$Dom.get("nombrePersona").value = "";
	$Dom.get("ubicacionPersona").value = "";
	$Dom.get("nombreEmpresa").value = "";
	$Dom.get("ubicacionEmpresa").value = "";
	onBlurText('textoBusqueda', 'blancas');
	onBlurText('nombrePersona', 'personas');
	onBlurText('ubicacionPersona', 'personas');
	onBlurText('nombreEmpresa', 'personas');
	onBlurText('ubicacionEmpresa', 'personas');

	setReferer();

	if ($Dom.inDocument("preview")) {
		emptySearch();
		return;
	}

	var q = $Dom.get('q').value;
	if (q.length > 0) {
		$Dom.get("textoBusqueda").value = q;
		updateTypeText('textoBusqueda', 'blancas');
		search();
		return;
	}

	var obj;
	var currentHome = parseInt($Dom.get("numberHome").value);
	var widthIframe = '170px';
	var largeHeightIframe = '390px';
	if ($Util.IsIE()) {
		if ($Util.IsIE6()) {
			largeHeightIframe = '395px';
		} else {
			largeHeightIframe = '394px';
		}
	}
	if (navigator.userAgent.indexOf("Safari") != -1) {
		largeHeightIframe = '393px';
	}

	if (currentHome === 1) {
		obj = OAS_NORMAL('Middle', 'blancas=home&pos=center&site=home1', null,
				null, 2);

		$Dom.setStyle('bgCenterWelcome', 'background-image',
				'url(' + obj.img + ')');
		$Event.addListener('bgCenterWelcome', 'click', showUrl, obj.url);

		textEncode = $Url.encodeUTF8('blancas=home&pos=right&site=home1');
		$Dom.get("aviso1").innerHTML = '<iframe width="'
				+ widthIframe
				+ '" height="'
				+ largeHeightIframe
				+ '" src="aviso.xml?pos=Right&id=6&pt=tablaPatrocinadorHome1&params='
				+ textEncode
				+ '" style="border:none;overflow:hidden;background-color:#F1F1F1" frameborder="0"></iframe>';

	} else {
		obj = OAS_NORMAL('Middle', 'blancas=home&pos=center&site=home2', null,
				null, 2);
		$Dom.setStyle('bgCenterWelcome2', 'background-image',
				'url(' + obj.img + ')');
		$Event.addListener('bgCenterWelcome2', 'click', showUrl, obj.url);

		textEncode = $Url.encodeUTF8('blancas=home&pos=right&site=home2');
		$Dom.get("aviso2").innerHTML = '<iframe width="'
				+ widthIframe
				+ '" height="'
				+ largeHeightIframe
				+ '" src="aviso.xml?pos=Right&id=7&pt=tablaPatrocinadorHome2&params='
				+ textEncode
				+ '" style="border:none;overflow:hidden;;background-color:#F1F1F1" frameborder="0"></iframe>';
	}

	var blancas = $Cookie.get(NAME_COOKIE);
	var cookieSuggest = 'on';
	if (blancas === undefined || blancas === null) {
		$Cookie.set(NAME_COOKIE, "on");
	} else {
		cookieSuggest = blancas;
	}
	if (cookieSuggest == 'off') {
		changeStateSuggest();
	}
	q = null;
	obj = null;

};
var showUrl = function(e, url) {
	window.open(url);
};

var problemasCarga = function(o) {
	var params = o.argument;
	_container = params.container;
	$Util.removeChildren(_container);
	$Dom.get(_container).innerHTML = '&nbsp;';
};

var creaPrecarga = function(container) {
	var htm = '';

	htm += '<table cellspacing="0" cellpadding="0" width="100%" align="center"';
	if ($Util.IsIE() && container == "new_div_result") {
		htm += ' style="width:' + getWidthCentral() + 'px"';
	}
	htm += '>';
	htm += '<tr height="6px"><td></td></tr>';
	htm += '<tr><td align="center"><img src="gui/img/cargando.gif" /></td></tr>';
	htm += '<tr height="4px"><td></td></tr>';
	htm += '<tr><td align="center" style="color:#a6a6a6;">espera un momento...</td></tr>';
	//htm += '<tr><td align="center" style="color:#a6a6a6;">Espera mientras se realiza la b&uacute;squeda.</td></tr>';
	htm += '</table>';
	
	


	$Util.removeChildren(container);

	if (container == 'new_div_result' || container == 'new_div_filters') {
		resizePage();
	}

	$Dom.get(container).innerHTML = htm;
	htm = null;

};
var limpiaDatos = function(container) {
	if (!$Dom.inDocument(container)) {
		return;
	}
	$Util.removeChildren(container);
	$Dom.get(container).innerHTML = '&nbsp;';
};

var limpiaCampos = function(seccionOld, seccion) {
	if (seccionOld != 1 && seccion === 1) {
		if (seccionOld === 2) {
			if ($Dom.get("nombrePersona").value != "") {
				$Dom.get("textoBusqueda").value = "persona:"
						+ $Dom.get("nombrePersona").value;
			}
			if ($Dom.get("ubicacionPersona").value != "") {
				$Dom.get("textoBusqueda").value += " en:"
						+ $Dom.get("ubicacionPersona").value;
			}
		}
		if (seccionOld === 3) {
			if ($Dom.get("nombreEmpresa").value != "") {
				$Dom.get("textoBusqueda").value = "empresa:"
						+ $Dom.get("nombreEmpresa").value;
			}
			if ($Dom.get("ubicacionEmpresa").value != "") {
				$Dom.get("textoBusqueda").value += " en:"
						+ $Dom.get("ubicacionEmpresa").value;
			}
		}
	} else {
		$Dom.get("textoBusqueda").value = "";
		$Dom.get("nombrePersona").value = "";
		$Dom.get("ubicacionPersona").value = "";
		$Dom.get("nombreEmpresa").value = "";
		$Dom.get("ubicacionEmpresa").value = "";
	}
};

var cargaFiltros = function() {
	creaPrecarga("new_div_filters");

	var callback = {
		success :showContent,
		failure :problemasCarga,
		argument : {
			"container" :"new_div_filters",
			"callback" :resizePage,
			"params" :null
		}
	};
	var sUrl = 'filtros.xml';
	var parameter = "searchStr=";
	parameter += addressSearch.getTextSearch();

	parameter += "&seccion=" + seccionActual;
	parameter = parameter.trim();

	executeTransaction(sUrl, callback, parameter);
};
var getWidthCentral = function() {
	var width;
	width = $Dom.getViewportWidth() - 456;
	if (!$Util.IsIE6()) {
		width--;
	}
	return width;
};

var afterResultados = function() {
	if ($Util.IsIE() && $Dom.inDocument('tdSeparadorAviso')) {
		if (!$Util.IsIE6()) {
			$Dom.setStyle("tdSeparadorAviso", 'width', '14px');

			$Dom.setStyle("tdSepMap", 'width', '6px');
			$Dom.setStyle("divSepMap", 'width', '6px');
		} else {
			$Dom.setStyle("tdSeparadorAviso", 'width', '12px');

			$Dom.setStyle("tdSepMap", 'width', '7px');
			$Dom.setStyle("divSepMap", 'width', '7px');
		}
	}

	var item = null;
	if (!$Dom.inDocument('sinDatos')) {
		switch (seccionActual) {
		case 1:
			if (nroPaginaActual === 1) {
				item = Estadistica.busqueda_blancas_pag1;
			} else {
				item = Estadistica.busqueda_blancas_otra;
			}
			break;
		case 2:
			if (nroPaginaActual === 1) {
				item = Estadistica.busqueda_personas_pag1;
			} else {
				item = Estadistica.busqueda_personas_otra;
			}
			break;
		case 3:
			if (nroPaginaActual === 1) {
				item = Estadistica.busqueda_empresas_pag1;
			} else {
				item = Estadistica.busqueda_empresas_otra;
			}
			break;
		}
	} else {
		item = Estadistica.sin_respuesta;
	}
	saveStadistics(item.estadisticas, item.analitics, item.certifica);

	createMapSearch();
	resizePage();
	document.body.scrollIntoView();
};

var cargaResultados = function(nroPagina) {	
	
	nroPaginaActual = nroPagina;
	hideDivWithoutPosition('moreOptions', null);

	_map = null;
	creaPrecarga("new_div_result");

	
	var sUrl = "resultados.xml";
	var parameter = "";
	var texto = "";
	var debugApp = "false";
	if ($Dom.inDocument("debug")) {
		debugApp = $Dom.get("debug").value;
	}
	parameter = "searchStr=" + addressSearch.getTextSearch() + "&indicePagina="
			+ nroPagina + "&iu=" + estadisticaMarketing.estadisticas
			+ "&debug=" + debugApp + "&onlySearch=true";
	
	
	var callback = {
		success :showContent,
		failure :problemasCarga,
		argument : {
			"container" :"new_div_result",
			"callback" :afterResultados,
			"params" :null
		}
	};		
	
	executeTransaction(sUrl, callback, parameter);
};

var cargaLocalidades = function(nroPagina, seccion, filtro) {
	creaPrecarga("listaRegiones");
	var callback = {
		success :showContent,
		failure :problemasCarga,
		argument : {
			"container" :"listaRegiones",
			"callback" :resizePage,
			"params" :null
		}
	};
	var sUrl = "localidades.xml";
	var parameter = "";
	var texto = "";

	parameter = "searchStr=" + addressSearch.getTextSearch() + "&indicePagina="
			+ nroPagina;

	executeTransaction(sUrl, callback, parameter);
};

var getTextoBusqueda = function() {
	var texto = "";
	switch (seccionActual) {
	case 1:
		$Dom.get("textoBusqueda").value = $Dom.get("textoBusqueda").value
				.trim();
		texto = $Dom.get("textoBusqueda").value;
		if (DEFAULT_BUSCAR_BLANCAS == texto) {
			texto = "";
		}

		break;
	case 2:

		$Dom.get("nombrePersona").value = $Dom.get("nombrePersona").value
				.trim();
		$Dom.get("ubicacionPersona").value = $Dom.get("ubicacionPersona").value
				.trim();

		if ($Dom.get("nombrePersona").value != DEFAULT_BUSCAR_PERSONAS) {
			if ($Dom.get("nombrePersona").value.length > 0) {
				texto += "persona:" + $Dom.get("nombrePersona").value;
			}
		}
		if ($Dom.get("ubicacionPersona").value != DEFAULT_BUSCAR_DIRECCION) {
			if ($Dom.get("ubicacionPersona").value.length > 0) {
				texto += " en:" + $Dom.get("ubicacionPersona").value;
			}
		}
		texto = texto.trim();
		break;
	case 3:

		$Dom.get("nombreEmpresa").value = $Dom.get("nombreEmpresa").value
				.trim();
		$Dom.get("ubicacionEmpresa").value = $Dom.get("ubicacionEmpresa").value
				.trim();

		if ($Dom.get("nombreEmpresa").value != DEFAULT_BUSCAR_EMPRESAS) {
			if ($Dom.get("nombreEmpresa").value.length > 0) {
				texto += "empresa:" + $Dom.get("nombreEmpresa").value;
			}
		}
		if ($Dom.get("ubicacionEmpresa").value != DEFAULT_BUSCAR_DIRECCION) {
			if ($Dom.get("ubicacionEmpresa").value.length > 0) {
				texto += " en:" + $Dom.get("ubicacionEmpresa").value;
			}
		}
		texto = texto.trim();
		break;
	}
	return texto;
};

var setSeccion = function(seccion) {
	if (seccionActual == 1) {
		$Dom.replaceClass('seccioneSearchBlancas', 'elementVisible',
				'elementHidden');
		$Dom.setStyle('divSection' + seccionActual, 'width', '115px');
	} else if (seccionActual == 2) {
		$Dom.replaceClass('seccioneSearchPersonas', 'elementVisible',
				'elementHidden');
		$Dom.setStyle('divSection' + seccionActual, 'width', '105px');
	} else {
		$Dom.replaceClass('seccioneSearchEmpresas', 'elementVisible',
				'elementHidden');
		$Dom.setStyle('divSection' + seccionActual, 'width', '110px');
	}
	if (seccion == 1) {
		$Dom.replaceClass('seccioneSearchBlancas', 'elementHidden',
				'elementVisible');
	} else if (seccion == 2) {
		$Dom.replaceClass('seccioneSearchPersonas', 'elementHidden',
				'elementVisible');
	} else {
		$Dom.replaceClass('seccioneSearchEmpresas', 'elementHidden',
				'elementVisible');
	}

	$Dom.setStyle('divSection' + seccion, 'width', '133px');
	$Dom
			.replaceClass('divSection' + seccionActual, 'abaSearchSel',
					'abaSearch');
	$Dom.replaceClass('divSection' + seccion, 'abaSearch', 'abaSearchSel');

	var texto = "";
	var valor = "";
	texto = getTextoBusqueda();
	var parser = new AddressSearch(texto);
	limpiaDatos("div_suggest_empresa");
	limpiaDatos("div_suggest_persona");
	limpiaDatos("div_suggest_direccion");
	limpiaCampos(seccionActual, seccion);

	switch (seccion) {
	case 1:
		if (parser.getTextSearch().length > 0) {
			$Dom.get("textoBusqueda").value = parser.getTextSearch();
		} else {
			$Dom.get("textoBusqueda").value = DEFAULT_BUSCAR_BLANCAS;
		}
		updateTypeText('textoBusqueda', 'blancas');
		estadisticaMarketing = Estadistica.busqueda_blancas;

		saveStadistics("accion=" + Estadistica.busqueda_blancas.estadisticas,
				Estadistica.busqueda_blancas.analitics,
				Estadistica.busqueda_blancas.certifica);
		break;
	case 2:
		if (parser.getName().length > 0) {
			$Dom.get("nombrePersona").value = parser.getName();
		} else {
			$Dom.get("nombrePersona").value = DEFAULT_BUSCAR_PERSONAS;
		}
		updateTypeText('nombrePersona', 'personas');

		if (parser.getAddress().length > 0) {
			$Dom.get("ubicacionPersona").value = parser.getAddress();
		} else {
			$Dom.get("ubicacionPersona").value = DEFAULT_BUSCAR_DIRECCION;
		}
		updateTypeText('ubicacionPersona', 'direccion');
		estadisticaMarketing = Estadistica.busqueda_personas;

		saveStadistics("accion=" + Estadistica.busqueda_personas.estadisticas,
				Estadistica.busqueda_personas.analitics,
				Estadistica.busqueda_personas.certifica);
		break;
	case 3:
		if (parser.getName().length > 0) {
			$Dom.get("nombreEmpresa").value = parser.getName();
		} else {
			$Dom.get("nombreEmpresa").value = DEFAULT_BUSCAR_EMPRESAS;
		}
		updateTypeText('nombreEmpresa', 'empresas');

		if (parser.getAddress().length > 0) {
			$Dom.get("ubicacionEmpresa").value = parser.getAddress();
		} else {
			$Dom.get("ubicacionEmpresa").value = DEFAULT_BUSCAR_DIRECCION;
		}
		updateTypeText('ubicacionEmpresa', 'direccion');
		estadisticaMarketing = Estadistica.busqueda_empresas;

		saveStadistics("accion=" + Estadistica.busqueda_empresas.estadisticas,
				Estadistica.busqueda_empresas.analitics,
				Estadistica.busqueda_empresas.certifica);
		break;
	}
	seccionActual = seccion;
	hideNewSuggest();

};

var callPagePagination = function(page) {
	cargaResultados(page);
};

/*
 * Filtro region seleccionada
 */
var verRegionSeleccionada = function(nombreRegion, position, region) {

	estadisticaMarketing = Estadistica.enlace_regiones;
	expandDiv('divRegion' + position, {
		'id' :'icoregion' + position,
		'imageDown' :'gui/img/ico_seta_branca_right.png',
		'imageUp' :'gui/img/ico_seta_branca_down.png'
	});

	if ($Dom.getClassName('divRegion' + position) == "elementHidden") {
		return;
	}
	addressSearch.generateTextSearch(addressSearch.getSection(), "region:"
			+ nombreRegion);
	cargaResultados(1);

	saveStadistics("accion=" + Estadistica.enlace_regiones.estadisticas,
			Estadistica.enlace_regiones.analitics + region,
			Estadistica.enlace_regiones.certifica + region);
};

/*
 * Filtro comuna seleccionada
 */
var verComunaSeleccionada = function(nombreComuna) {
	estadisticaMarketing = Estadistica.enlace_regiones;

	addressSearch.generateTextSearch(addressSearch.getSection(), "comuna:"
			+ nombreComuna);
	cargaResultados(1);
};

/*
 * Filtro Persona seleccionada
 */
var verPersonaSeleccionada = function() {

	estadisticaMarketing = Estadistica.enlace_personas;
	seccionFiltro = 2;

	addressSearch.resetTempValues();
	addressSearch.generateTextSearch(2, "");

	cargaLocalidades(1, 2, "");
	cargaResultados(1);

	saveStadistics("accion=" + Estadistica.enlace_personas.estadisticas,
			Estadistica.enlace_personas.analitics,
			Estadistica.enlace_personas.certifica);
};

var verEmpresaSeleccionada = function() {
	estadisticaMarketing = Estadistica.enlace_empresas;
	seccionFiltro = 3;
	addressSearch.resetTempValues();
	addressSearch.generateTextSearch(3, "");
	cargaLocalidades(1, 3, "");
	cargaResultados(1);

	saveStadistics("accion=" + Estadistica.enlace_empresas.estadisticas,
			Estadistica.enlace_empresas.analitics,
			Estadistica.enlace_empresas.certifica);
};

var emptySearch = function() {
	hideDivWithoutPosition('moreOptions', null);
	seccionFiltro = 1;
	addressSearch = new AddressSearch("");

	estadisticaMarketing = Estadistica.busqueda_blancas;

	var callback = {
		success :showContent,
		failure :problemasCarga,
		argument : {
			"container" :"containerSections",
			"callback" :afterEmptySearch,
			"params" :null
		}
	};
	var sUrl = 'search.xml';
	executeTransaction(sUrl, callback, "");
};

var afterEmptySearch = function() {
	loadOASResults();

	cargaFiltros();
	cargaPreview(1);

	hideNewSuggest();
};

var cargaPreview = function(nroPagina) {
	nroPaginaActual = nroPagina;
	hideDivWithoutPosition('moreOptions', null);

	_map = null;
	creaPrecarga("new_div_result");

	var callback = {
		success :showContent,
		failure :problemasCarga,
		argument : {
			"container" :"new_div_result",
			"callback" :afterResultados,
			"params" :null
		}
	};
	var sUrl = "preview.xml";
	var parameter = "";
	var texto = "";
	var debugApp = "false";
	if ($Dom.inDocument("debug")) {
		debugApp = $Dom.get("debug").value;
	}
	parameter = "searchIdP=" + $Dom.get("preview").value + "&indicePagina="
			+ nroPagina + "&iu=" + estadisticaMarketing.estadisticas
			+ "&debug=" + debugApp;

	executeTransaction(sUrl, callback, parameter);
};

var search = function() {

	if ($Dom.getClassName("searchButton") == "elementHidden") {
		return;
	}

	hideDivWithoutPosition('moreOptions', null);
	seccionFiltro = 1;
	var objTexto, textoBusqueda, textoDireccion, textBlancas;

	textoDireccion = "";
	textBlancas = "";
	textoBusqueda = getTextoBusqueda();

	switch (seccionActual) {
	case 1:
		objTexto = $Dom.get("textoBusqueda");
		objTexto.value = objTexto.value.trim();
		if (objTexto.value.length === 0
				|| objTexto.value == DEFAULT_BUSCAR_BLANCAS) {
			alert("Debe ingresar valor");
			objTexto.focus();
			return;
		}
		estadisticaMarketing = Estadistica.busqueda_blancas;
		break;
	case 2:
		objTexto = $Dom.get("nombrePersona");
		objTexto.value = objTexto.value.trim();
		if (objTexto.value.length === 0
				|| objTexto.value == DEFAULT_BUSCAR_PERSONAS) {
			alert("Debe ingresar valor");
			objTexto.focus();
			return;
		}
		objTexto = $Dom.get("ubicacionPersona");
		objTexto.value = objTexto.value.trim();
		estadisticaMarketing = Estadistica.busqueda_personas;
		break;
	case 3:
		objTexto = $Dom.get("nombreEmpresa");
		objTexto.value = objTexto.value.trim();
		if (objTexto.value.length === 0
				|| objTexto.value == DEFAULT_BUSCAR_EMPRESAS) {
			alert("Debe ingresar valor");
			objTexto.focus();
			return;
		}
		objTexto = $Dom.get("ubicacionEmpresa");
		objTexto.value = objTexto.value.trim();
		estadisticaMarketing = Estadistica.busqueda_empresas;
		break;
	}
	//saveStadistics("accion=" + estadisticaMarketing.estadisticas, estadisticaMarketing.analitics, estadisticaMarketing.certifica);

	currentFilter = "";

	addressSearch = new AddressSearch(textoBusqueda);

	showLoaderButtonSearch();

	objTexto = null;
	textoBusqueda = null;
	initSearch = true;

	var callback = {
		success :showContent,
		failure :problemasCarga,
		argument : {
			"container" :"containerSections",
			"callback" :afterSearch,
			"params" :null
		}
	};
	var sUrl = 'resultados.xml';
	
	var debugApp = "false";
	if ($Dom.inDocument("debug")) {
		debugApp = $Dom.get("debug").value;
	}
	var parameter = "searchStr=" + addressSearch.getTextSearch() + "&indicePagina=1"
	+ "&iu=" + estadisticaMarketing.estadisticas
	+ "&debug=" + debugApp + "&onlySearch=false";	
	
	isSearching = true;
	executeTransaction(sUrl, callback, parameter);
};

var showLoaderButtonSearch = function() {
	$Dom.replaceClass("searchButton", "elementVisible", "elementHidden");
	$Dom.replaceClass("loaderSearch", "elementHidden", "elementVisible");
};
var hideLoaderButtonSearch = function() {
	$Dom.replaceClass("searchButton", "elementHidden", "elementVisible");
	$Dom.replaceClass("loaderSearch", "elementVisible", "elementHidden");
};

var afterSearch = function() {
	
	loadOASResults();

	hideNewSuggest();
	setTimeout('hideLoaderButtonSearch()', 300);	
	clickHeatGroup = "resultados"; 
	//initClickHeat();
	
	//cambio 27-05-2009
	nroPaginaActual = 1;
	afterResultados();
	
};

var copyTextSuggest = function(textSuggest, tipo) {
	switch (seccionActual) {
	case 1:
		var texto = "";
		switch (tipo) {
		case 1:
			texto = "empresa:" + textSuggest;
			break;
		case 2:
			texto = "persona:" + textSuggest;
			break;
		case 3:
			texto = "en: " + textSuggest;
			break;

		}
		$Dom.get("textoBusqueda").value = texto;
		break;
	case 2:
		if (tipo == 3) {
			$Dom.get("ubicacionPersona").value = textSuggest;
		} else {
			$Dom.get("nombrePersona").value = textSuggest;
		}
		break;
	case 3:
		if (tipo == 3) {
			$Dom.get("ubicacionEmpresa").value = textSuggest;
		} else {
			$Dom.get("nombreEmpresa").value = textSuggest;
		}
		break;
	}
	hideNewSuggest();

};

var cargaSuggestPersonas = function(tipo, e) {
	enterPressed = false;
	lastCargaSuggest = (new Date()).getTime();
	if (currentStateSuggest == 'off') {
		return;
	}
	if (isNonCharCodes(e)) {
		if ($Event.getCharCode(e) == TECLA_ENTER) {
			enterPressed = true;
		}
		return;
	}

	var texto = "";
	if (tipo === 1) {
		texto = $Dom.get("nombrePersona").value;

		var isNumeric = false;
		if (texto.length >= 6) {
			try {
				var valor = parseInt(texto);
				if (!isNaN(valor)) {
					isNumeric = true;
				}
			} catch (e) {
				isNumeric = false;
			}
		}
		if (isNumeric) {
			texto = "fono:" + texto;
		}
	} else {
		texto = "en:" + $Dom.get("ubicacionPersona").value;
	}
	if (texto.length === 0) {
		cleanSuggest();
		return;
	}
	setTimeout("doLoadSuggest('" + texto + "')", MIN_INTERVAL_LOAD_SUGGEST);
};

var cargaSuggestEmpresas = function(tipo, e) {
	enterPressed = false;
	lastCargaSuggest = (new Date()).getTime();
	if (currentStateSuggest == 'off') {
		return;
	}
	if (isNonCharCodes(e)) {
		if ($Event.getCharCode(e) == TECLA_ENTER) {
			enterPressed = true;
		}
		return;
	}

	var texto = "";
	if (tipo === 1) {
		texto = $Dom.get("nombreEmpresa").value;

		var isNumeric = false;
		if (texto.length >= 6) {
			try {
				var valor = parseInt(texto);
				if (!isNaN(valor)) {
					isNumeric = true;
				}
			} catch (e) {
				isNumeric = false;
			}
		}
		if (isNumeric) {
			texto = "fono:" + texto;
		}
	} else {
		texto = "en:" + $Dom.get("ubicacionEmpresa").value;
	}
	if (texto.length === 0) {
		cleanSuggest();
		return;
	}
	setTimeout("doLoadSuggest('" + texto + "')", MIN_INTERVAL_LOAD_SUGGEST);
};

var cleanSuggest = function() {
	$Util.removeChildren('idSuggest');

};

var TECLA_ENTER = 13;
var TECLA_AV_PAG = 33;
var TECLA_RE_PAG = 34;
var TECLA_FIN = 35;
var TECLA_INICIO = 36;
var TECLA_FLECHA_IZQUIERDA = 37;
var TECLA_FLECHA_ARRIBA = 38;
var TECLA_FLECHA_DERECHA = 39;
var TECLA_FLECHA_BAJO = 40;
var TECLA_INSERT = 45;
var TECLA_META = 224;
var TECLA_NUM_LOCK = 144;
var TECLA_PAUSE = 19;
var TECLA_PRINTSCREEN = 44;
var TECLA_SCROLL_LOCK = 145;
var TECLA_SHIFT = 16;

var TECLAS_FUNCION = new Array(TECLA_ENTER, TECLA_AV_PAG, TECLA_RE_PAG,
		TECLA_FIN, TECLA_INICIO, TECLA_FLECHA_IZQUIERDA, TECLA_FLECHA_ARRIBA,
		TECLA_FLECHA_DERECHA, TECLA_FLECHA_BAJO, TECLA_INSERT, TECLA_META,
		TECLA_NUM_LOCK, TECLA_PAUSE, TECLA_PRINTSCREEN, TECLA_SCROLL_LOCK,
		TECLA_SHIFT);

var isNonCharCodes = function(e) {
	var c = $Event.getCharCode(e);

	for ( var i = 0; i < TECLAS_FUNCION.length; i++) {
		if (c == TECLAS_FUNCION[i]) {
			return true;
		}
	}
	return false
}

var MIN_INTERVAL_LOAD_SUGGEST = 300;

var doLoadSuggest = function(texto) {
	var now = (new Date()).getTime();
	var intervalLastCall;

	intervalLastCall = (now - lastCargaSuggest);
	if (intervalLastCall < MIN_INTERVAL_LOAD_SUGGEST - 50) {
		return;
	}

	if (enterPressed) {
		enterPressed = false;
		return;
	}
	loadSuggest(texto);
}

var cargaSuggest = function(e) {
	enterPressed = false;
	lastCargaSuggest = (new Date()).getTime();
	if (currentStateSuggest == 'off') {
		return;
	}
	isSearching = false;
	if (isNonCharCodes(e)) {
		if ($Event.getCharCode(e) == TECLA_ENTER) {
			enterPressed = true;
			isSearching = true;
		}
		return;
	}

	var texto = $Dom.get('textoBusqueda').value;
	if (texto.length < 3) {
		cleanSuggest();
		hideNewSuggest();
		return;
	}
	var isNumeric = false;
	if (texto.length >= 6) {
		try {
			var valor = parseInt(texto);
			if (!isNaN(valor)) {
				isNumeric = true;
			}
		} catch (e) {
			isNumeric = false;
		}
	}
	if (isNumeric) {
		texto = "fono:" + texto;
	}

	setTimeout("doLoadSuggest('" + texto + "')", MIN_INTERVAL_LOAD_SUGGEST);
};

var showNewSuggest = function() {
	var cantidad = 0;
	if ($Dom.inDocument('registrosSuggest')) {
		cantidad = $Dom.get('registrosSuggest').value;
	}
	if (cantidad === 0) {
		return;
	}

	$Dom.setStyle("lineSuggest", "display", "none");
	$Dom.get("imgDownSuggest").src = "gui/img/seta_down.gif";
	displaySuggest = "open";

	if (nameSuggest == 'contentSuggest') {
		$Dom.replaceClass('contentSuggest', 'elementHidden', 'elementVisible');
		$Dom.replaceClass('miniSuggest', 'elementVisible', 'elementHidden');

	} else {
		$Dom.replaceClass('contentSuggest', 'elementVisible', 'elementHidden');
		$Dom.replaceClass('miniSuggest', 'elementHidden', 'elementVisible');
	}
	$Dom.replaceClass('bgDegradadoSuggest', 'elementVisible', 'elementHidden');
};

var hideNewSuggest = function() {
	$Dom.get("imgDownSuggest").src = "gui/img/seta_default.gif";
	displaySuggest = "close";
	$Dom.setStyle("lineSuggest", "display", "block");

	if (nameSuggest == 'contentSuggest') {
		$Dom.replaceClass('contentSuggest', 'elementVisible', 'elementHidden');
		$Dom.replaceClass('miniSuggest', 'elementVisible', 'elementHidden');
	} else {
		$Dom.replaceClass('contentSuggest', 'elementVisible', 'elementHidden');
		$Dom.replaceClass('miniSuggest', 'elementVisible', 'elementHidden');
	}
	$Dom.replaceClass('bgDegradadoSuggest', 'elementHidden', 'elementVisible');
};

var switchSuggest = function() {
	if (displaySuggest == "open") {
		hideNewSuggest();
	} else {
		showNewSuggest();
	}
};

var changeStateSuggest = function() {
	if (currentStateSuggest == 'on') {
		$Dom.get('stateSuggest').innerHTML = 'on';
		currentStateSuggest = 'off';
		nameSuggest = 'miniSuggest';
		hideNewSuggest();

		$Dom.replaceClass('miniSuggest', 'elementHidden', 'elementVisible');
		$Dom.get("imgDownSuggest").src = "gui/img/seta_down.gif";
		$Dom.setStyle("lineSuggest", "display", "none");
		displaySuggest = "open";
		$Dom.get('textMiniSuggest').innerHTML = 'El suggest est&aacute; desactivado. Para habilitarlo, haga clic en "on".';

		$Dom.replaceClass('bgDegradadoSuggest', 'elementVisible',
				'elementHidden');

		$Cookie.set(NAME_COOKIE, "off");

	} else {
		if (nameSuggest == 'miniSuggest') {
			$Dom.get('textMiniSuggest').innerHTML = '&nbsp;';
		}

		$Dom.get('stateSuggest').innerHTML = 'off';
		currentStateSuggest = 'on';
		nameSuggest = 'contentSuggest';
		showNewSuggest();

		$Cookie.set(NAME_COOKIE, "on");
	}
};

var loadSuggest = function(busq) {
	var callback = {
		success :showContent,
		failure :problemasCarga,
		argument : {
			"container" :"containerSuggest",
			"callback" :afterSuggest,
			"params" :null
		}
	};

	var parameter = "keyWord=";
	if (seccionActual === 2) {
		parameter += "persona:";
	}
	if (seccionActual === 3) {
		parameter += "empresa:";
	}

	var sUrl = "suggest.xml";
	parameter += busq;

	var tipo = 1;
	var verDireccion = 0;
	if (parameter.indexOf("persona:") != -1) {
		tipo = 2;
	} else if (parameter.indexOf("empresa:") != -1) {
		tipo = 3;
	}
	if (parameter.indexOf("en:") != -1) {
		verDireccion = 1;
	}

	parameter += "&tipo=" + tipo + "&direccion=" + verDireccion;

	executeTransaction(sUrl, callback, parameter);
};

var afterSuggest = function() {
	if ($Dom.inDocument('registrosSuggest')) {
		var cantidadRegistros = parseInt($Dom.get('registrosSuggest').value);
		if (cantidadRegistros === 0) {
			hideNewSuggest();
		} else {
			showNewSuggest();
		}
	} else {
		hideNewSuggest();
	}
};

/*
 * suggest = 1 abre la caja del suggest suggest = 2 cierra la caja del suggest
 */
function muestraSuggest(suggest) {
	if (suggest == 1) {
		$("div_suggest_open").style.display = "block";
		$("div_content").style.top = "11px";
		$("footer").style.top = "11px";
		// suggest = 2;
	} else {
		$("div_suggest_open").style.display = "none";
		$("div_content").style.top = "0";
		$("footer").style.top = "0";
		// suggest = 1;
	}
}

var tecla = function(e) {
	var c = $Event.getCharCode(e);
	if (c == TECLA_ENTER) {
		enterPressed = true;
		setTimeout('hideNewSuggest()', 300);
	}
	c = null
};

var palabraSeleccionada = function(name) {
	alert("name: " + name);

};

var HEIGHT_VERTICAL_SCROLL = 14;
var scrollUp = function(idData, upImage, downImage) {
	$Dom.get(idData).scrollTop -= HEIGHT_VERTICAL_SCROLL;
	$Dom.get(downImage).src = "gui/img/scroll/down.png";
	if ($Dom.get(idData).scrollTop == 0) {
		$Dom.get(upImage).src = "gui/img/scroll/uplock.png";
	}
};
var scrollDown = function(idData, upImage, downImage, filasSuggest) {
	var oldValue = $Dom.get(idData).scrollTop;
	$Dom.get(idData).scrollTop += HEIGHT_VERTICAL_SCROLL;

	if (oldValue === 0 && $Dom.get(idData).scrollTop != 0) {
		$Dom.get(upImage).src = "gui/img/scroll/up.png";
	}
	if ($Dom.inDocument(filasSuggest)) {
		var final = (parseInt($Dom.get(filasSuggest).value) - 4)
				* HEIGHT_VERTICAL_SCROLL;
		if (final == $Dom.get(idData).scrollTop) {
			$Dom.get(downImage).src = "gui/img/scroll/downlock.png";
		}
	}
};

var HEIGHT_VERTICAL_SCROLL_REGIONES = 16;
var scrollUpRegiones = function(idData, upImage, downImage) {
	$Dom.get(idData).scrollTop -= HEIGHT_VERTICAL_SCROLL_REGIONES;
	$Dom.get(downImage).src = "gui/img/scroll/down.png";
	if ($Dom.get(idData).scrollTop == 0) {
		$Dom.get(upImage).src = "gui/img/scroll/uplock.png";
	}
};
var scrollDownRegiones = function(idData, upImage, downImage) {
	var filasSuggest = 15;
	var oldValue = $Dom.get(idData).scrollTop;
	$Dom.get(idData).scrollTop += HEIGHT_VERTICAL_SCROLL_REGIONES;
	if (oldValue === 0 && $Dom.get(idData).scrollTop != 0) {
		$Dom.get(upImage).src = "gui/img/scroll/up.png";
	}
	var final = (filasSuggest - 5) * HEIGHT_VERTICAL_SCROLL_REGIONES;
	if (final == $Dom.get(idData).scrollTop) {
		$Dom.get(downImage).src = "gui/img/scroll/downlock.png";
	}

};

var WIDTH_HORIZONTAL = 210;
var scrollToLeft = function(idData, leftImage, rightImage) {
	$Dom.get(idData).scrollLeft -= WIDTH_HORIZONTAL;
	$Dom.get(rightImage).src = "gui/img/scroll/right.png";
	if ($Dom.get(idData).scrollLeft == 0) {
		$Dom.get(leftImage).src = "gui/img/scroll/leftlock.png";
	}
};
var scrollToRight = function(idData, leftImage, rightImage) {
	$Dom.get(idData).scrollLeft += WIDTH_HORIZONTAL;
	var left = $Dom.get(idData).scrollLeft;
	var columnas = parseInt($Dom.get('columnasSuggestEmpresa').value);
	var width = columnas * WIDTH_HORIZONTAL;
	$Dom.get(leftImage).src = "gui/img/scroll/left.png";
	if ((width - 420) == left) {
		$Dom.get(rightImage).src = "gui/img/scroll/rightlock.png";
	}
};

var WIDTH_HORIZONTAL_FONO = 280;
var scrollToLeftFono = function(idData, leftImage, rightImage) {
	$Dom.get(idData).scrollLeft -= WIDTH_HORIZONTAL_FONO;
	$Dom.get(rightImage).src = "gui/img/scroll/right.png";
	if ($Dom.get(idData).scrollLeft == 0) {
		$Dom.get(leftImage).src = "gui/img/scroll/leftlock.png";
	}
};
var scrollToRightFono = function(idData, leftImage, rightImage) {
	$Dom.get(idData).scrollLeft += WIDTH_HORIZONTAL_FONO;
	var left = $Dom.get(idData).scrollLeft;
	var columnas = parseInt($Dom.get('columnasSuggestEmpresaFono').value);
	var width = columnas * WIDTH_HORIZONTAL_FONO;
	$Dom.get(leftImage).src = "gui/img/scroll/left.png";
	if ((width - 560) == left) {
		$Dom.get(rightImage).src = "gui/img/scroll/rightlock.png";
	}
};

var removeComillas = function(texto) {
	var resultado = '';

	var c;
	for (c = 0; c < texto.length; c++) {
		if (texto.charAt(c) !== '"' && texto.charAt(c) !== "'") {
			resultado += texto.charAt(c);
		}
	}
	c = null;
	return resultado;
};

var getSectionsHeight = function() {
	var finalHeight = $Dom.getViewportHeight() - 170;
	return finalHeight;
};
var resizePage = function(ev) {

	if (!$Dom.inDocument("center")) {
		return;
	}

	var minHeight = $Dom.getViewportHeight() - 156;

	var heightCenter;
	if (!$Util.IsIE()) {
		$Dom.setStyle('divFiltros', 'min-height', minHeight + 'px');
		$Dom.setStyle('divCenterResult', 'min-height', minHeight + 'px');

		var height = $Dom.getStyle('divCenterResult', 'height');
		heightCenter = $Util.Pix2Number(height);
		$Dom.setStyle('divFiltros', 'height', heightCenter + 'px');
		$Dom.setStyle('listadoFiltros', 'height', (heightCenter - 40) + 'px');
	} else {
		if ($Util.IsIE6()) {
			$Dom.setStyle('divFiltros', 'height', minHeight + 'px');
			$Dom.setStyle('divCenterResult', 'height', minHeight + 'px');
		} else {
			$Dom.setStyle('divFiltros', 'min-height', minHeight + 'px');
			$Dom.setStyle('divCenterResult', 'min-height', minHeight + 'px');
		}
		var region = $Dom.getRegion('divCenterResult');
		var height = (region.bottom - 128);
		if ($Dom.getClassName('contentSuggest') == 'elementVisible') {
			height -= 86;
		}
		if ($Dom.getClassName('miniSuggest') == 'elementVisible') {
			height -= 29;
		}

		if (region.bottom > 128) {
			$Dom.setStyle('divFiltros', 'height', (height - 0) + 'px');
			$Dom.setStyle('listadoFiltros', 'height', (height - 40 - 0) + 'px');
		}

		var width = getWidthCentral();
		if ($Dom.getStyle('divFiltros', 'visibility') == 'hidden') {
			width += 230;
		}

		if ($Util.IsIE()) {
			if (width < 535) {
				width = 535; // 544
			}
			if ($Dom.inDocument('new_div_result')) {
				$Dom.setStyle('new_div_result', 'width', width + 'px');
			}
			var _objects;
			_objects = $Dom.getElementsByClassName("div_address_text");
			for ( var t = 0; t < _objects.length; t++) {
				$Dom.setStyle(_objects[t], 'width', (width - 244) + 'px');
			}
			_objects = $Dom.getElementsByClassName("div_address_text2");
			for ( var t = 0; t < _objects.length; t++) {
				$Dom.setStyle(_objects[t], 'width', (width - 58) + 'px');
			}
		}
	}
	var altura = (parseInt($Dom.getViewportHeight() - 124) / 2) - 23;
	$Dom.setStyle('imageHideFilters', 'top', altura + 'px');
};

var switchFilters = function() {
	var width = $Dom.getStyle('seccionFiltros', 'width');
	if (width == '231px') {

		$Dom.setStyle('divFiltros', 'display', 'none');
		$Dom.setStyle('divFiltros', 'visibility', 'hidden');

		$Dom.setStyle('seccionFiltros', 'width', '0px');

		$Dom.get('imageHideFilters').src = 'gui/img/filterright.png';
	} else {

		$Dom.setStyle('divFiltros', 'display', 'block');
		$Dom.setStyle('divFiltros', 'visibility', 'visible');

		$Dom.setStyle('seccionFiltros', 'width', '231px');
		$Dom.get('imageHideFilters').src = 'gui/img/filterleft.png';
	}
	resizePage();
};

var resizeDelay;
window.onresize = function(e) {
	if ($Util.IsIE()) {
		clearTimeout(resizeDelay);
		resizeDelay = setTimeout("resizePage()", 200);
	} else {
		resizePage();
	}
}
this.windowModal = null;

var verNewMasInfo = function(title, url, hasCoords, hasFirstLine,
		firstHasCoords) {
	saveStadistics(Estadistica.mas_info.estadisticas,
			Estadistica.mas_info.analitics, Estadistica.mas_info.certifica);

	if (windowModal !== null) {
		windowModal.close();
	}
	windowModal = new BlackScreen();
	var height = 0;
	var minHeight = 0;
	var viewMinHeight = false;

	if (!hasCoords) {
		firstHasCoords = false;
	}

	if (hasCoords) {
		url += "&hasCoords=true";
		// height = 555;

		if (firstHasCoords) {
			viewMinHeight = false;
		} else {
			viewMinHeight = true;
		}
	} else {
		url += "&hasCoords=false";
		// height = 215;
		viewMinHeight = true;
	}
	height = 555;
	if (hasFirstLine) {
		height += 35;
	}
	if ($Util.IsIE()) {
		height += 5;
	}
	minHeight = height - 340;
	windowModal.show(title, 650, height, url, minHeight, viewMinHeight);

}

var verMasInfo = function(title, url, esCliente) {

	saveStadistics(Estadistica.mas_info.estadisticas,
			Estadistica.mas_info.analitics, Estadistica.mas_info.certifica);

	if (windowModal !== null) {
		windowModal.close();
	}
	windowModal = new BlackScreen();
	if (esCliente === 1) {
		windowModal.show(title, 484, 342, url);
	} else {
		windowModal.show(title, 484, 163, url);
	}
	return false;
};

var verMasInfo2 = function(title, url, esCliente) {

	saveStadistics(Estadistica.mas_info.estadisticas,
			Estadistica.mas_info.analitics, Estadistica.mas_info.certifica);

	if (windowModal !== null) {
		windowModal.close();
	}
	windowModal = new BlackScreen();

	windowModal.show(title, 780, 500, url);

	return false;
};

var verMasInfoPrototipo = function(title, url, esCliente) {

	saveStadistics(Estadistica.mas_info.estadisticas,
			Estadistica.mas_info.analitics, Estadistica.mas_info.certifica);

	if (windowModal !== null) {
		windowModal.close();
	}
	windowModal = new BlackScreen();

	windowModal.show(title, 650, 590, url);

	return false;
};

this.setWindowModal = function(rutaAviso) {
	windowModal.setAdvertising(rutaAviso);
};
var changeFirstPhone = function(avance, posicion, idCliente, cantidadRegistros,
		lista) {
	var fonoActual = parseInt($Dom.get('phone' + posicion).value);
	if (fonoActual !== 0) {
		return;
	}
	changePhones(avance, posicion, idCliente, cantidadRegistros, lista);
};

var changePhones = function(avance, posicion, idCliente, cantidadRegistros,
		lista) {
	var fonoActual = parseInt($Dom.get('phone' + posicion).value);
	if (fonoActual + avance < 0 || fonoActual + avance > lista.phones.length) {
		return;
	}
	var nuevaPosicion = fonoActual + avance;
	if (nuevaPosicion > 0) {
		$Dom.replaceClass('fono_anterior' + posicion, 'elementHidden',
				'elementVisible');
	} else {
		$Dom.replaceClass('fono_anterior' + posicion, 'elementVisible',
				'elementHidden');
	}
	if (nuevaPosicion < lista.phones.length - 1) {
		$Dom.replaceClass('fono_siguiente' + posicion, 'elementHidden',
				'elementVisible');
	} else {
		$Dom.replaceClass('fono_siguiente' + posicion, 'elementVisible',
				'elementHidden');
	}
	$Dom.get('fono_detalle' + posicion).innerHTML = lista.phones[nuevaPosicion];

	$Dom.get('phone' + posicion).value = nuevaPosicion;

	if (nuevaPosicion === 0) {
		$Dom.replaceClass('fono_detalle' + posicion, 'noLinkDetalle',
				'linkDetalle');
	} else {
		$Dom.replaceClass('fono_detalle' + posicion, 'linkDetalle',
				'noLinkDetalle');
	}

	var accion = Estadistica.fono_otros;
	var seePhone = $Dom.get("seePhones" + posicion);
	if (seePhone.value == "0") {
		accion = Estadistica.fono_inicial;
		seePhone.value = "1";
	}
	seePhone = null;

	saveStadistics("accion=" + accion.estadisticas + "&posicion=" + posicion
			+ "&indicePagina=" + nroPaginaActual + "&idCliente=" + idCliente
			+ "&cantidadRegistros=" + cantidadRegistros, accion.analitics,
			accion.certifica);
};

var closeRegions = function(e, t) {
	var cerrar = false;

	if (e === undefined || e === null) {
		cerrar = true;
	} else {
		var region = $Dom.getRegion('regiones');
		var top = parseInt(e.clientY);
		var left;
		if (top < region.top) {
			cerrar = true;
		} else {
			top = parseInt(e.clientY);
			if (top > region.bottom) {
				cerrar = true;
			} else {
				left = parseInt(e.clientX);
				if (left < region.left) {
					cerrar = true;
				} else {
					left = parseInt(e.clientX);
					if (left > region.right) {
						cerrar = true;
					}
				}
			}
		}
	}
	if (cerrar) {
		$Dom.replaceClass('regiones', 'regionOpen', 'regionClose');
		$Event.removeListener(document, "click", closeRegions);
	}
};

var showRegions = function(e) {
	// $Dom.get('divListaRegiones').scrollTop = 0;

	// scrollUpRegiones('divListaRegiones','upRegiones', 'downRegiones');
	var currentClass = $Dom.getClassName("regiones");
	if (currentClass == "regionClose") {
		$Dom.replaceClass("regiones", 'regionClose', 'regionOpen');
		$Event.stopEvent(e);
		$Event.addListener(document, "click", closeRegions);
	} else {
		$Dom.replaceClass("regiones", 'regionOpen', 'regionClose');
	}
};

var seleccionarRegion = function(nombreRegion) {
	$Dom.replaceClass('regiones', 'regionOpen', 'regionClose');
	$Event.removeListener(document, "click", closeRegions);

	var nParser = new AddressSearch(getTextoBusqueda());
	nParser.setFilterRegion(nombreRegion);

	switch (seccionActual) {
	case 1:
		$Dom.get('textoBusqueda').value = nParser.getTextSearch();
		updateTypeText('textoBusqueda', 'blancas');
		closeRegions();
		break;
	case 2:
		$Dom.get('ubicacionPersona').value = nParser.getAddress();
		updateTypeText('ubicacionPersona', 'personas');
		closeRegions();
		break;
	case 3:
		$Dom.get('ubicacionEmpresa').value = nParser.getAddress();
		updateTypeText('ubicacionEmpresa', 'empresas');
		closeRegions();
		break;
	}
};

var switchMore = function() {
	expandDiv('moreRegions', null);
	if ($Dom.getClassName('moreRegions') == 'elementHidden') {
		$Dom.get('showMoreRegions').innerHTML = '<font class="detalle">M&aacute;s</font> <img src="gui/img/arrow_right.gif" />';
	} else {
		$Dom.get('showMoreRegions').innerHTML = '<img src="gui/img/arrow_left.gif" />&nbsp;<font class="detalle">Menos</font>';

		saveStadistics(Estadistica.enlace_mas_regiones.estadisticas,
				Estadistica.enlace_mas_regiones.analitics,
				Estadistica.enlace_mas_regiones.certifica);
	}

};

var setWelcomeBlancas = function(texto) {
	$Dom.get('textoBusqueda').value = texto;
	updateTypeText('textoBusqueda', 'blancas');
	search();
};

var setWelcomePersonas = function(texto, ubicacion) {
	setSeccion(2);
	$Dom.get('nombrePersona').value = texto;
	$Dom.get('ubicacionPersona').value = ubicacion;

	updateTypeText('nombrePersona', 'personas');
	updateTypeText('ubicacionPersona', 'personas');
	search();
};

var setWelcomeEmpresas = function(texto, ubicacion) {
	setSeccion(3);
	$Dom.get('nombreEmpresa').value = texto;
	$Dom.get('ubicacionEmpresa').value = ubicacion;

	updateTypeText('nombreEmpresa', 'empresas');
	updateTypeText('ubicacionEmpresa', 'empresas');
	search();
};
var loadOASResults = function() {

	var htm = '';
	var widthIframe = '170px';
	var heightIframe = '60px';
	var heightIframe2 = '80px';
	var largeHeightIframe = '390px';
	if ($Util.IsIE()) {
		if ($Util.IsIE6()) {
			heightIframe = '65px';
			heightIframe2 = '85px';
			largeHeightIframe = '395px';
		} else {
			heightIframe = '64px';
			heightIframe2 = '84px';
			largeHeightIframe = '394px';
		}
	}
	if (navigator.userAgent.indexOf("Safari") != -1) {
		// widthIframe = '185px';
		heightIframe = '63px';
		heightIframe2 = '83px';
		largeHeightIframe = '393px';
	}

	var textEncode = "";

	var preSearch = 'blancas=home&busqueda='
			+ replaceOAS(addressSearch.getName()) + '&region='
			+ addressSearch.getRegion();

	textEncode = $Url.encodeUTF8(preSearch + '&boton=1');
	$Dom.get("aviso11").innerHTML = '<iframe width="'
			+ widthIframe
			+ '" height="'
			+ heightIframe
			+ '" src="aviso.xml?pos=Bottom&id=11&pt=tablaPatrocinador&params='
			+ textEncode
			+ '" style="border:none;overflow:hidden;background-color:#F1F1F1" frameborder="0"></iframe>';

	textEncode = $Url.encodeUTF8(preSearch + '&boton=2');
	$Dom.get("aviso12").innerHTML = '<iframe width="'
			+ widthIframe
			+ '" height="'
			+ heightIframe2
			+ '" src="aviso.xml?pos=Bottom&id=12&pt=tablaPatrocinador&params='
			+ textEncode
			+ '" style="border:none;overflow:hidden;background-color:#F1F1F1" frameborder="0"></iframe>';

	textEncode = $Url.encodeUTF8(preSearch + '&boton=3');
	$Dom.get("aviso13").innerHTML = '<iframe width="'
			+ widthIframe
			+ '" height="'
			+ heightIframe
			+ '" src="aviso.xml?pos=Bottom&id=13&pt=tablaPatrocinador&params='
			+ textEncode
			+ '" style="border:none;overflow:hidden;background-color:#F1F1F1;" frameborder="0"></iframe>';

	textEncode = $Url.encodeUTF8(preSearch + '&boton=4');
	$Dom.get("aviso14").innerHTML = '<iframe width="'
			+ widthIframe
			+ '" height="'
			+ heightIframe2
			+ '" src="aviso.xml?pos=Bottom&id=14&pt=tablaPatrocinador&params='
			+ textEncode
			+ '" style="border:none;overflow:hidden;background-color:#F1F1F1;" frameborder="0"></iframe>';

	textEncode = $Url.encodeUTF8(preSearch + '&boton=5');
	$Dom.get("aviso15").innerHTML = '<iframe width="'
			+ widthIframe
			+ '" height="'
			+ heightIframe
			+ '" src="aviso.xml?pos=Bottom&id=15&pt=tablaPatrocinador&params='
			+ textEncode
			+ '" style="border:none;overflow:hidden;background-color:#F1F1F1;" frameborder="0"></iframe>';

	textEncode = $Url.encodeUTF8(preSearch + '&boton=6');
	$Dom.get("aviso16").innerHTML = '<iframe width="'
			+ widthIframe
			+ '" height="'
			+ heightIframe2
			+ '" src="aviso.xml?pos=Bottom&id=16&pt=tablaPatrocinador&params='
			+ textEncode
			+ '" style="border:none;overflow:hidden;background-color:#F1F1F1;" frameborder="0"></iframe>';

	textEncode = $Url.encodeUTF8(preSearch + '&boton=7');
	$Dom.get("aviso17").innerHTML = '<iframe width="'
			+ widthIframe
			+ '" height="'
			+ heightIframe
			+ '" src="aviso.xml?pos=Bottom&id=17&pt=tablaPatrocinador&params='
			+ textEncode
			+ '" style="border:none;overflow:hidden;background-color:#F1F1F1;" frameborder="0"></iframe>';

	textEncode = $Url.encodeUTF8(preSearch + '&boton=8');
	$Dom.get("aviso18").innerHTML = '<iframe width="'
			+ widthIframe
			+ '" height="'
			+ heightIframe2
			+ '" src="aviso.xml?pos=Bottom&id=18&pt=tablaPatrocinador&params='
			+ textEncode
			+ '" style="border:none;overflow:hidden;background-color:#F1F1F1;" frameborder="0"></iframe>';

	textEncode = $Url.encodeUTF8(preSearch + '&boton=9');
	$Dom.get("aviso19").innerHTML = '<iframe width="'
			+ widthIframe
			+ '" height="'
			+ largeHeightIframe
			+ '" src="aviso.xml?pos=Bottom&id=19&pt=tablaPatrocinador&params='
			+ textEncode
			+ '" style="border:none;overflow:hidden;background-color:#F1F1F1;" frameborder="0"></iframe>';

};

var replaceOAS = function(texto) {
	var i;
	var resultado = '';
	for (i = 0; i < texto.length; i++) {
		var item = texto.substring(i, i + 1);
		if (item == " ") {
			resultado += "_";
		} else {
			resultado += item;
		}
	}

	return resultado;
};

var setReferer = function() {

	var host = URL_REFERER
			.substring(URL_REFERER.length - 8, URL_REFERER.length);
	if (host == "pgnet.cl" || host == "localhost") {
		URL_REFERER = "localhost";
	}

};

function OAS_NORMAL(pos, OAS_query, id, _parent, _type) {
	OAS_url = 'http://banners.amarillas.cl/RealMedia/ads/';
	OAS_listpos = pos;
	OAS_sitepage = URL_REFERER;
	OAS_target = '_blank';

	OAS_version = 10;
	OAS_rn = '001234567890';
	OAS_rns = '1234567890';
	OAS_rn = new String(Math.random());
	OAS_rns = OAS_rn.substring(2, 11);

	var htm;
	switch (_type) {
	case 1:
		htm = '';
		htm += '<A HREF="' + OAS_url + 'click_nx.ads/' + OAS_sitepage + '/1'
				+ OAS_rns + '@' + OAS_listpos + '!' + pos + '?' + OAS_query
				+ '" TARGET=' + OAS_target + '>';
		htm += '<IMG ONLOAD="chequeaImagen(this, \'' + id + '\', \'' + _parent
				+ '\');" SRC="' + OAS_url + 'adstream_nx.ads/' + OAS_sitepage
				+ '/1' + OAS_rns + '@' + OAS_listpos + '!' + pos + '?'
				+ OAS_query + '" BORDER=0></A>';
		break;
	case 2:
		htm = {
			"url" :OAS_url + 'click_nx.ads/' + OAS_sitepage + '/1' + OAS_rns
					+ '@' + OAS_listpos + '!' + pos + '?' + OAS_query,
			"img" :OAS_url + 'adstream_nx.ads/' + OAS_sitepage + '/1' + OAS_rns
					+ '@' + OAS_listpos + '!' + pos + '?' + OAS_query
		};
		break;
	}
	return htm;

}

var chequeaImagen = function(imagen, id, _parent) {
	if (imagen.height == 1) {
		if ($Dom.inDocument(_parent) && $Dom.inDocument('containerAviso' + id)) {
			var tabla = $Dom.get(_parent);
			var tr = $Dom.get('containerAviso' + id);
			tabla.removeChild(tr);
			tabla = null;
			tr = null;
		}
	}
};
this.deleteContainer = function(id, _parent) {
	if ($Dom.inDocument(_parent) && $Dom.inDocument('containerAviso' + id)) {
		var tabla = $Dom.get(_parent);
		var tr = $Dom.get('containerAviso' + id);
		tabla.removeChild(tr);
		tabla = null;
		tr = null;
	}
};

var BlancasDecoration = function(letter, tipo, url, parameter) {
	this.getSize = function() {
		return new cl.publiguias.planos.Size(20, 20);
	};

	this.getDrawingOffset = function() {
		return new cl.publiguias.planos.Size(6, 14);
	};

	this.getHTML = function() {
		var imagen = "";
		if (tipo == "persona") {
			imagen = "mapiconopersona.gif";
		} else if (tipo == "empresa-cliente") {
			imagen = "mapiconocliente.gif";
		} else if (tipo == "empresa") {
			imagen = "mapiconoempresa.gif";
		}
		url = url.replaceAll("'", "&#39;");

		var htm = "<div style='cursor:pointer' onclick='showMapPoint(\"" + url
				+ "\",\"" + parameter + "\");'><img src='gui/img/" + imagen
				+ "'><div class='letterIconMinimap'>" + letter + "</div></div>";

		return htm;
	}
};

var createMapSearch = function() {
	if (!$Dom.inDocument("map") && $Dom.inDocument("listaCoordenadas")) {
		return;
	}
	var coords = null;
	try {
		coords = $Dom.get("listaCoordenadas").value.parseJSON();
	} catch (e) {
		coords = null;
	}
	if (coords === null || coords.points.length === 0) {
		return;
	}
	var c = 0;
	var _points = [];
	try {
		var _geoTest = new cl.publiguias.planos.GeoPoint(0, 0);
	} catch (e) {
		$Util.removeChildren("prevContainerMap");
		$Util.removeChildren("tdContainerMap");

		var _parent = $Dom.get("trContainerMap");
		var _td = $Dom.get("prevContainerMap");
		_parent.removeChild(_td);
		_td = $Dom.get("tdContainerMap");
		_parent.removeChild(_td);

		_parent = null;
		_td = null;

		return;
	}
	for (c = 0; c < coords.points.length; c++) {
		_points.push(new cl.publiguias.planos.GeoPoint(
				coords.points[c].latitude, coords.points[c].longitude));
	}
	var _boundary = cl.publiguias.planos.GeoBoundary
			.createBoundaryFromGeoPoints(_points);
	var _zoomLevel = _boundary.findZoomLevel(new cl.publiguias.planos.Size(162,
			162));
	var geoPoint = _boundary.getCenter();
	_map = new cl.publiguias.planos.Map("map");
	var _center = new cl.publiguias.planos.GeoPoint(geoPoint.getLatitude(),
			geoPoint.getLongitude());
	_map.draw(_center, _zoomLevel);

	for (c = 0; c < coords.points.length; c++) {
		_map.addDecoration(new BlancasDecoration(coords.points[c].letter,
				coords.points[c].typeCustomer, coords.points[c].url,
				coords.points[c].parameter), new cl.publiguias.planos.GeoPoint(
				coords.points[c].latitude, coords.points[c].longitude));
	}
	
	$Dom.setStyle('map.cntMap.img.logo', 'visibility', 'hidden');
};
var goZoomInMap = function() {
	if (_map === null) {
		return;
	}
	_map.zoomIn();
};
var goZoomOutMap = function() {
	if (_map === null) {
		return;
	}
	_map.zoomOut();
};
var goNothMap = function() {
	if (_map === null) {
		return;
	}
	_map.moveDirection(0, deltaMoveMap);
};
var goSouthMap = function() {
	if (_map === null) {
		return;
	}
	_map.moveDirection(0, -deltaMoveMap);
};
var goEastMap = function() {
	if (_map === null) {
		return;
	}
	_map.moveDirection(deltaMoveMap, 0);
};
var goWestMap = function() {
	if (_map === null) {
		return;
	}
	_map.moveDirection(-deltaMoveMap, 0);
};
var changeMap = function(tipo) {
	if (tipo === 1) {
		$Dom.replaceClass('containerCloseMap', 'elementVisible',
				'elementHidden');
		$Dom
				.replaceClass('containerOpenMap', 'elementHidden',
						'elementVisible');
		// $Dom.setStyle('tdContainerMap','width','170px');
	} else {
		$Dom
				.replaceClass('containerOpenMap', 'elementVisible',
						'elementHidden');
		$Dom.replaceClass('containerCloseMap', 'elementHidden',
				'elementVisible');
		// $Dom.setStyle('tdContainerMap','width','48px');
	}
};
var cerrarPagina = function() {
	$Dom.replaceClass('center', 'elementVisible', 'elementHidden');
	$Dom.replaceClass('welcome1', 'elementHidden', 'elementVisible');
	if ($Dom.inDocument('new_div_result')) {
		$Util.removeChildren('new_div_result');
	}
};

var showMap = function(url, parameter) {
	url = url.replaceAll(" ", "+");
	window.open(url);

	var parameterEstadistica = "accion=" + Estadistica.ver_mapa.estadisticas;

	if (parameter !== undefined && parameter !== null && parameter.length > 0) {
		parameterEstadistica += "&" + parameter;
	}
	saveStadistics(parameterEstadistica, Estadistica.ver_mapa.analitics,
			Estadistica.ver_mapa.certifica);

};
var showAddress = function(url, parameter) {

	url = url.replaceAll(" ", "+");
	window.open(url);

	var parameterEstadistica = "accion="
			+ Estadistica.ver_direccion.estadisticas;

	if (parameter !== undefined && parameter !== null && parameter.length > 0) {
		parameterEstadistica += "&" + parameter;
	}
	saveStadistics(parameterEstadistica, Estadistica.ver_direccion.analitics,
			Estadistica.ver_direccion.certifica);
};
var showMapPoint = function(url, parameter) {
	url = url.replaceAll(" ", "+");
	window.open(url);

	var parameterEstadistica = "accion=" + Estadistica.ver_plano.estadisticas;

	if (parameter !== undefined && parameter !== null && parameter.length > 0) {
		parameterEstadistica += "&" + parameter;
	}
	saveStadistics(parameterEstadistica, Estadistica.ver_plano.analitics,
			Estadistica.ver_plano.certifica);
};

var showSearchMaps = function() {
	var url = "";

	url += addressSearch.getTextSearch();
	if (!addressSearch.hasDirection()) {
		url += " en:rm";
	}
	url = url.trim();
	url = url.replaceAll(" ", "+");
	window.open(PATH_MAPS + '?q=' + url + '&op=business');

	saveStadistics("search=" + url, Estadistica.ver_en_plano.analitics,
			Estadistica.ver_en_plano.certifica);

};
var showRouteMap = function(position, idCliente, cantidadRegistros) {
	var address1 = $Dom.get('addressa' + position).value;
	var address2 = $Dom.get('addressb' + position).value;
	var latitude = $Dom.get('latitude' + position).value;
	var longitude = $Dom.get('longitude' + position).value;

	if (address1.length === 0) {
		$Dom.get('addressa' + position).focus();
		return;
	}
	if (address2.length === 0) {
		$Dom.get('addressb' + position).focus();
		return;
	}
	var url = PATH_MAPS + "?q=" + address1 + "+hasta:+" + address2 + "&ll="
			+ latitude + "," + longitude + "&z=1&qll=" + latitude + ","
			+ longitude + "&op=route";
	url = url.replaceAll(" ", "+");
	window.open(url);

	saveStadistics("accion=" + Estadistica.como_llegar.estadisticas
			+ "&posicion=" + position + "&indicePagina=" + nroPaginaActual
			+ "&idCliente=" + idCliente + "&cantidadRegistros="
			+ cantidadRegistros, Estadistica.como_llegar.analitics,
			Estadistica.como_llegar.certifica);
};

var showHelp = function() {
	saveStadistics(null, Estadistica.ayuda.analitics,
			Estadistica.ayuda.certifica);
	var widthScreen = YAHOO.util.Dom.getDocumentWidth();
	var heightScreen = YAHOO.util.Dom.getDocumentHeight();

	var shadow = $Util.CreateHtmlElement( {
		'elm' :'div',
		'id' :'whiteScreen'
	});
	if (!$Util.IsIE6()) {
		$Dom.setStyle(shadow, 'position', 'fixed');
	}
	document.body.appendChild(shadow);

	var content = $Util.CreateHtmlElement( {
		'elm' :'div',
		'id' :'containerWhiteScreen'
	});
	var htm = '';
	var region;

	htm += '<div id="help_close" class="help_close"></div>';
	htm += '<div class="help_home_region"></div>';
	if ($Util.IsIE6()) {
		htm += '<div id="help_home_sugerencia" class="help_home_sugerencia" style="margin-right:60px;"></div>';
	} else {
		htm += '<div id="help_home_sugerencia" class="help_home_sugerencia"></div>';
	}
	if (!$Dom.inDocument('new_div_result')) {
		htm += '<div class="help_home_busqueda"></div>';
	} else {
		var widthFiltros = parseInt($Util.Pix2Number($Dom.getStyle(
				'seccionFiltros', 'width')));
		if (widthFiltros !== 0) {
			region = $Dom.getRegion("divHideMoreRegions");
			htm += '<div class="help_filtros" style="top:' + (region.top + 0) + 'px;"></div>';
		}
		if ($Dom.inDocument("map")) {
			region = $Dom.getRegion("map");
			if ($Util.IsIE6()) {
				htm += '<div id="help_map" class="help_map" style="top:' + (region.top + 5) + 'px;margin-right:-200px;"></div>';
			} else {
				htm += '<div id="help_map" class="help_map" style="top:' + (region.top + 5) + 'px"></div>';
			}
		}
		if ($Dom.inDocument("divForResults")) {
			region = $Dom.getRegion("divForResults"); // 310
			htm += '<div class="help_name_item" style="left:'
					+ (region.left - 50) + 'px;top:' + (region.top - 195)
					+ 'px"></div>';
		}
		if ($Dom.inDocument("divForNoResults")) {
			region = $Dom.getRegion("divForNoResults");
			if ($Dom.inDocument("showMoreRegions")) {
				htm += '<div class="help_name_item" style="left:'
						+ (region.left - 300) + 'px;top:' + (region.top - 95)
						+ 'px"></div>';
			} else {
				htm += '<div class="help_name_item" style="left:'
						+ (region.left - 150) + 'px;top:' + (region.top - 95)
						+ 'px"></div>';
			}
		}
		if ($Dom.inDocument("divForOptions")) {
			region = $Dom.getRegion("divForOptions");
			if (!$Util.IsIE()) {
				htm += '<div class="help_name_options" style="left:'
						+ (region.left - 6) + 'px;top:' + (region.top - 4)
						+ 'px"></div>';
			} else {
				htm += '<div class="help_name_options" style="left:'
						+ (region.left - 8) + 'px;top:' + (region.top - 4)
						+ 'px"></div>';						
			}
		}
	}
	region = $Dom.getRegion("stateSuggest");

	content.innerHTML = htm;
	document.body.appendChild(content);

	$Event.addListener('help_close', 'click', closeHelp);
	if ($Util.IsIE6()) {
		if ($Dom.inDocument('new_div_result')) {
			positionFixedIE6();
			$Event.addListener(window, 'scroll', positionFixedIE6);
		}
	}

};

var positionFixedIE6 = function(e) {
	$Dom.setStyle('whiteScreen', 'top',
			YAHOO.util.Dom.getDocumentScrollTop() + 'px');
};

var closeHelp = function(e) {
	$Event.removeListener('help_close', 'click', closeHelp);
	if ($Util.IsIE6()) {
		if ($Dom.inDocument('new_div_result')) {
			$Event.removeListener(window, 'scroll', positionFixedIE6);
		}
	}
	var obj;
	if ($Dom.inDocument('whiteScreen')) {
		$Util.removeChildren('whiteScreen');
		obj = $Dom.get('whiteScreen');
		document.body.removeChild(obj);
	}
	if ($Dom.inDocument('containerWhiteScreen')) {
		$Util.removeChildren('containerWhiteScreen');
		obj = $Dom.get('containerWhiteScreen');
		document.body.removeChild(obj);
	}
	obj = null;

};

var showMoreOptions = function() {
	expandDivWithoutPosition('moreOptions', null);
};

var freeCall = function(searchId, dirId, name, posicion, codCuenta) {

	// código del template
	var ulbid = '406629';
	// Url que usa Talkin para saber los teléfonos a marcar
	var locationBlancas = '';
	var locationTalkin = '';
	if (location.href.indexOf("amarillas.cl") != -1) {
		//ambiente produccion
		locationBlancas = 'http://blancas.amarillas.cl/';
		locationTalkin = 'http://talkin.amarillas.cl/';
	} else {
		//ambiente testing
		locationBlancas = 'http://test-bla.pgnet.cl/';
		locationTalkin = 'http://test-talkin.pgnet.cl/talkin/';
	}
		
	var authorizeURL = locationBlancas + 'authorize.xml?searchId=' + searchId
			+ '&dirId=' + dirId;
	authorizeURL = $Url.encodeUTF8(authorizeURL);
	// authorizeURL =
	// 'http%3A%2F%2Fwww.amarillas.cl%2FauthorizeTPI.do%3FaddressId%3D3438136';

	// Nombre de la empresa o anunciador
	var var1 = name;
	// id de la dirección (mismo usado en la url de validación)
	var var2 = dirId;
	// ciudad
	var var3 = '';
	// código de producto (si es que se aplica)
	var var4 = '';
	// código de actividad o producto
	var var5 = ''; // ?
	// posición dentro del listado
	var var6 = posicion;
	// código de cuenta
	var var7 = codCuenta;
	// Nombre del sitio de quien llama
	var var8 = 'BLANCAS';
	/*var url = 'http://as00.estara.com/ep/?ulbid=' + ulbid + '&AuthorizeURL='
			+ authorizeURL + '&var1=' + var1 + '=&var2=' + var2 + '&var3='
			+ var3 + '&var4=' + var4 + '&var5=' + var5 + '&var6=' + var6
			+ '&var7=' + var7 + '&var8=' + var8;
	*/
	var url = locationTalkin + 'voice.setup.logic?providerId=2&AuthorizeURL='
	+ authorizeURL + '&var1=' + var1 + '=&var2=' + var2 + '&var3='
	+ var3 + '&var4=' + var4 + '&var5=' + var5 + '&var6=' + var6
	+ '&var7=' + var7 + '&var8=' + var8;

	window.open(url,'','toolbar=no,scrollbars=1,location=no,statusbar=no,status=no,menubar=no,resizable=0,width=430,height=390');

	url = null;
	ulbid = null;
	authorizeURL = null;
	var1 = null;
	var2 = null;
	var3 = null;
	var4 = null;
	var5 = null;
	var6 = null;
	var7 = null;
	var8 = null;

};

var refreshPage = function() {
	location.href = location.href;
};

var replaceThisImage = function(obj) {
	//obj.src = "gui/img/errortop.gif";
	var _p = $Dom.getAncestorBy(obj, false);
	$Util.removeChildren(_p);
	_p = null;
};

var showDivComoLlegar = function(divReg, divHow, _class) {
	if ($Dom.getStyle(divHow, 'visibility') == 'visible') {
		hideDiv(divHow, null);
		$Dom.replaceClass(divReg, _class + 'Big', _class);
	} else {
		showDiv(divHow, null);
		$Dom.replaceClass(divReg, _class, _class + 'Big');
	}
};
var hideDivComoLlegar = function(divReg, divHow, _class) {
	hideDiv(divHow, null);
	$Dom.replaceClass(divReg, _class + 'Big', _class);
};

this.getHeight = function(){
	return YAHOO.util.Dom.getDocumentHeight();
};