/*
 * usa cookies_utils.js, asi que debe ser incluida antes
 */
$(document).ready( function() {
	$.cookie(COOKIE_PRODUCT_LOCALITY,"", COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
	getClientIp();
	isFilterChecked();
	//se agrega un id al body en Chrome para corregir las diferencias esteticas
	if($.browser.chrome = /chrome/.test(navigator.userAgent.toLowerCase())){
		$("body").attr("id","chrome");
	}
	//se agrega un id al body en internet explorer 8 para corregir las diferencias esteticas
	if ($.browser.msie && $.browser.version == '8.0'){
		$("body").attr("id","ie8");
	}
	
	var inputCalleAltura = $("#calleAltura");
	if (inputCalleAltura.length > 0){
		var calleAltura = inputCalleAltura.val();
		if (calleAltura.length > 0){
			if(inputCalleAltura.val().length != 0){
				$("#labelCalleAltura").addClass("off").removeClass("on");
			}else{
				$("#labelCalleAltura").addClass("on").removeClass("off");
			}
		}
	}

	
	//////////////////////
	//guarda la locality resuelta
	$.cookie(COOKIE_SEARCH_LOCALITY, GLOBAL_LOCALITY, COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
	//guarda la provincia facetada resuelta
	$.cookie(COOKIE_MOSTRAR_PROVINCIA, GLOBAL_PROVINCIA_FACETADA, COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
	/////////////////////
	
	//no se saca mas de la cookie. Lo que resuelva locality se coloca en el input
	//var valCKLoc = $.cookie(COOKIE_SEARCH_LOCALITY);
	var valCKLoc = GLOBAL_LOCALITY;
	if (valCKLoc != null && valCKLoc.length != 0 ){
	    $("#locality").val(valCKLoc.replace(/"/g, ""));
	}
	
	//$(".ui-tabs").addClass("tab-hide");
	//$("#list-filters-related .filterDetail-body .jScrollPaneDrag").css('height','20px');
	//$("#list-filters-narrowResults .filterDetail-body .jScrollPaneDrag").css('height','20px');
	/* TABS de la pagina (listado/mapa). */
	var tab_cookie_id = 0; 
	if ($("#result-list").hasClass("ui-tabs-hide")){
		tab_cookie_id = 1;
	}
	$("#changeView").tabs( {
		selected : tab_cookie_id,
	    show: function(e,ui) {
	      var tab_id = ui.index; 
	      $.cookie(COOKIE_VIEW_NAME, tab_id, COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
	      // la primera vez que se muestra la vista en mapa dibujarla
	      if (tab_id == 1 && $("#map>div").length == 0){
	    	  drawMap();
	      }
	    } 
	});

	
	/* TABS de cada aviso. */
	$("#resultList div.advertise-menu").tabs( {
		selected : -1, //no se selecciona ninguna
		fx : {
			opacity : 'toggle'
		},
		// cambiar el comportamiento por default de los tabs
		select: function(event, ui){
			var url = $.data(ui.tab, 'load.tabs');
			if (url) {
				// dependencia con viejo portal
				match = url.match(/^javascript:(.*)$/);
				if (match){
					// ejecutar el codigo javascript
					eval(match[1]);
					return false;
				} else if (url.match("http://")){
					// esto es para abrir los links absolutos en otra página
					window.open(url);
					return false;
				}
			}
			return true;
		}
	});
	
	// Remuevo la clase que puse para que las pestanas no se muestren cuando
		// se esta cargando
		// la pagina
		//$(".tab-hide").removeClass("tab-hide");

		// Filtros
		filters();

		/**/
		$("#resultList .tabHeaders .ui-state-disabled").removeClass("ui-state-disabled");
		
		/*
		 * Genero o leo la cookie de seleccionados - esto esta en
		 * selectedCookie.js
		 */
		crearSelectedCookie();
		// Marco los seleccionados que lei de la cookie .
		checkSelecteds();
		// borro la cookie de seleccionados
		clearCookie();
		
		$('div.advertiseBlock .close-button').click(function() { 
			$(this).parent().addClass("ui-tabs-hide");
			$(this).parent().parent().find(".ui-tabs-selected")
				.addClass("ui-state-default")
				.removeClass("ui-state-active")
				.removeClass("ui-tabs-selected");
			$('.cleanMail').click();
		});
		
		//Ventanas de multimail e enviar a amigo
		$("a.fancy-ajax-link").fancybox({
			'autoScale': false,
			'scrolling': 'no',
			'titleShow': false,			
			'hideOnContentClick': false,
			'hideOnOverlayClick': false,
			'centerOnScroll': false,
			'onStart':function(){displayLoadingIconResults();},
			'onComplete':function(){displayLoadingIconResults();}
		});
		
		bindFancyPrintFunctions();
		
		// luego limpia la cookie de la última búsqueda para que no quede cacheada
		$.cookie(COOKIE_SEARCH_NAME, "", COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
		
		/* scripts facetas */
		var panelFacetas = $("#listasFacetas div.panelFacetScroll");
		var scrollFacetParam = {showArrows:true, arrowSize:0, wheelSpeed:10, dragMinHeight:18, dragMaxHeight:20};
		panelFacetas.jScrollPane(scrollFacetParam);
		
		panelFacetas.find("li").mouseover(function(){
			$(this).addClass("facetSelected").removeClass("facetUnselected");
		}).mouseout(function(){
			$(this).removeClass("facetSelected").addClass("facetUnselected");
		});
		
		
	   /////////////////////////////////////////////////////
	   $("#columnaLugar li a").click(function(){
		   if($(this).hasClass("provincia")){
			   var valorLugar = $(this).parent().find("input").val();
			   $.cookie(COOKIE_MOSTRAR_PROVINCIA, valorLugar, COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
		   }
		   //cargo la localityId para identificar que fue de una faceta
		   $.cookie(COOKIE_SEARCH_LOCALITYID, GLOBAL_LOCALITY_ID, COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
		   //mantener keyword cuando faceto	
		   $.cookie(COOKIE_SEARCH_NAME, escape($("#keyword").val()), COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
	   });
	   
	   $("#columnaCategorias li a").click(function(){
		   //cargo la localityId para identificar que fue de una faceta
		   $.cookie(COOKIE_SEARCH_LOCALITYID, GLOBAL_LOCALITY_ID, COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
		   //mantener keyword cuando faceto	
		   $.cookie(COOKIE_SEARCH_NAME, escape($("#keyword").val()), COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
	   });
	   
	   $("#columnaMarcas li a").click(function(){
		 //cargo la localityId para identificar que fue de una faceta
		   $.cookie(COOKIE_SEARCH_LOCALITYID, GLOBAL_LOCALITY_ID, COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
		   //mantener keyword cuando faceto	
		   $.cookie(COOKIE_SEARCH_NAME, escape($("#keyword").val()), COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
	   });
		
	   //mantener keyword cuando elimino de una faceta.
	   $("#facetas .delLocality a").click(function(){
		   if($(this).hasClass("provincia")){
			   $.cookie(COOKIE_MOSTRAR_PROVINCIA, "", COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
		   }
		   //cargo la localityId para identificar que fue de una faceta
		   $.cookie(COOKIE_SEARCH_LOCALITYID, GLOBAL_LOCALITY_ID, COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
		   //mantener keyword cuando faceto	
		   $.cookie(COOKIE_SEARCH_NAME, escape($("#keyword").val()), COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
	   });
		
	   $("#facetas .delCategory a").click(function(){
		   //cargo la localityId para identificar que fue de una faceta
		   $.cookie(COOKIE_SEARCH_LOCALITYID, GLOBAL_LOCALITY_ID, COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
		   //mantener keyword cuando faceto
		   $.cookie(COOKIE_SEARCH_NAME, escape($("#keyword").val()), COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
		});
	   
	   $("#facetas .delMarca a").click(function(){
		   //cargo la localityId para identificar que fue de una faceta
		   $.cookie(COOKIE_SEARCH_LOCALITYID, GLOBAL_LOCALITY_ID, COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
		   //mantener keyword cuando faceto	
		   $.cookie(COOKIE_SEARCH_NAME, escape($("#keyword").val()), COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
	   });
	   
	   
	   //paginado 
	   $("#paginado li a").click(function(){
		   //cargo la localityId para identificar que fue de una faceta
		   $.cookie(COOKIE_SEARCH_LOCALITYID, GLOBAL_LOCALITY_ID, COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
		   //mantener keyword cuando faceto	
		   $.cookie(COOKIE_SEARCH_NAME, escape($("#keyword").val()), COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
	   });
	   
	   //ordenamiento
	   $("#filterHeader li a.keyword").click(function(){
		   //cargo la localityId para identificar que fue de una faceta
		   $.cookie(COOKIE_SEARCH_LOCALITYID, GLOBAL_LOCALITY_ID, COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
		   //mantener keyword cuando faceto	
		   $.cookie(COOKIE_SEARCH_NAME, escape($("#keyword").val()), COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
	   });
	   /////////////////////////////////////////////////////
	   
	   
	   
	    $("#idFiltroZona").click(function(){
			if($("#idFiltroZona").attr("checked"))
				$.cookie(COOKIE_FACET_FILTER, "1", COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
			else
				$.cookie(COOKIE_FACET_FILTER, "0", COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
			window.location = window.location;
		});
		
		
		$("#clickBusqSuperior").click(function(){
			var localityId = jQuery.trim($("#idLocationIdBusqSuperior").val());
			var localityName = jQuery.trim($("#idNameBusqSuperior").val());
			$.cookie(COOKIE_SEARCH_LOCALITYID, localityId, COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
			$.cookie(COOKIE_SEARCH_LOCALITY, localityName, COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
		});
		
		/* Cierra ventanas abiertas del cajón de resultados*/
		$("#result-map-link").click(function(){
			$('.close-button').parent().not(".ui-tabs-hide").find(".close-button").click();
		});
		
	
		/* Vuelve el mapa al estado inicial*/
		$("#result-list-link").click(function(){
			if ($(".icon-red")){$(".icon-red").attr("class","icon-blue");}
			$("#advertise-list-map-block").show();
			$(".button-toggler-opener").hide();
			$(".button-toggler-closer").show();
			$("#advertise-list-map-toggled-block").show();
			$("#map").removeClass("mapExpanded");
			$('.scroll-basic-list-map')[0].scrollTo(0);
			//Si existe el div contenedor del mapa
			var div_map=document.getElementById("map");
			if (div_map){ map = new GMap2(div_map);	
				//Si hay avisos con Lat,Long
				if (advertises.length > 0){				
			    	//Para cada aviso, se crea un marker en el mapa
			    	for (i=0; i < advertises.length;i++){
			    		var point = new GLatLng(advertises[i].lat,advertises[i].lng);
			    		var marker = new GMarker(point);
			    		if(markers){markers[i]=marker};
			    		map.addOverlay(marker);
			    	}
			    	//Se setea el centro y zoom en el mapa
			    	setCenterAndZoom();
			    	//Para cada marker
			    	$(markers).each(function(i,marker){
				    	//Seteando icono en el mapa
						marker.setImage(url+"/"+advertises[i].icon_id+'_azules.png');
						//Al item en la lista se le engancha el mismo evento que al GMap
						//Para que tenga el mismo comportamiento
						$("#item-"+advertises[i].id).click(function(){
							actual_index=i;loadAdvertise(marker,i);
						});
						//Se engancha al click del GMap
						GEvent.addListener(marker, "click", function() {
							_gaq.push(['_trackEvent', 'vistaMapa/elementos', 'clicked']);
							actual_index=i;loadAdvertise(marker,i);
						});
				  	 });
				  } //Advertises > 0
				  else{ 
					  //si no hay avisos con latitud y longitud, se centra en BSAS 
					  var BSAS = new GLatLng(-39.2713,-67.1945);
					  map.setCenter(BSAS, 4);
				  }
				  //Configuracion por defecto
				  map.setUIToDefault();
				  map.disableScrollWheelZoom();
				  
				  // configurar los items sin mapa:
				  $("[id^='item-nomap-']").click(function(){
					  _gaq.push(['_trackEvent', 'vistaMapa/elementos', 'clicked']);
					  loadAdvertiseWithoutMap($(this).attr("id").replace("item-nomap-", ""));
				  });
			}
		});
		
		/**
		 * funcion para deshabilitar el mapa, una vez que se faceto estando en la vista de mapa 
		 * y luego se cambio a la vista listado y que como resultado de la faceta
		 * trajo solo avisos no geolicalizados.
		 * */
		$("#result-list-link").click(function(){
			var habilitarMapa = $("#habilitarMapa").val();
			if(habilitarMapa =='true'){
				$("a#result-map-link").parent().removeClass("ui-state-active").addClass("ui-state-disabled");
				$("a#result-map-link").attr("href","#");
			}
		});
		
		$("#empty-results-body .empty-results-list li").click(function(){
			$.cookie(COOKIE_SEARCH_NAME, "", COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
		});
		enableViewProductTab();
		$.cookie(COOKIE_PRODUCT_URLEMPRESAS,"",COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
		setTimeout(function(){loadIframeEplScripts();}, 100);
});
function openTab(param1, param2){
	var space="&nbsp;&nbsp;";
	$("#botones_p-"+param1+" li a:not(.nopest)").click(function(){
		$("#botones_p-"+param1+" .espacio1").html("&nbsp;|&nbsp;");
		$(param2).parent().prev().html(space);
		$(param2).parent().next().html(space);
	});
}

function closeTab(param1){
	$("#botones_p-"+param1+" .espacio1").html("&nbsp;|&nbsp;");
}

function displayLoadingIconResults(){
	$(window).scrollTo("0%");
	$("#loading").toggle();	
	if($("#fancybox_close").children().length == 0){
		$("#fancybox_close").append("<span>Cerrar</span>");
	}
}

/*
 * Acomoda el cajon de filtros, y le agrega la funcionalidad necesitada. 
 * @return
 */
function filters() {
	/*TABS del cajon de filtros.*/
	var tab_filter_id = -1;
	var listasFacetas = $('#listasFacetas');
	// igual siempre tiene prioridad lo que seleccionó el usuario
	if ($.cookie(COOKIE_FILTER_NAME)!=null && $.cookie(COOKIE_FILTER_NAME) != ""){
		var htmlId = $.cookie(COOKIE_FILTER_NAME);
		var links = $('#filterMenu .filterMenuHeader li a');
		for (var i = 0; i < links.length; i ++){
			if (links[i].href.match(htmlId+"$")){
				tab_filter_id = i;
			}
		}
	}
	/* esto era una corrección por si se quería mostrar la 3er solapa y una de las anteriores
	 * no existía. Con el cambio para que se guarden los nombres de las solapas no es necesario 
	if(tab_filter_id==2 && !$('.filterMenuHeader').find('li a').hasClass('relatedFilter')){
		tab_filter_id = 1;
	}*/
			
	$("#filterMenu").tabs( {
		collapsible : true,
		selected : tab_filter_id,
		fx : {
			opacity : 'toggle'
		},
	    show:function(e,ui) { 
		      var tab_id = ui.panel.id; 
		      $.cookie(COOKIE_FILTER_NAME, tab_id, COOKIE_CROSS_SUB_DOMAIN_OPTIONS); 
		},
		select:function(e,ui){
			// delete the cookie
			$.cookie(COOKIE_FILTER_NAME, "", COOKIE_CROSS_SUB_DOMAIN_OPTIONS); 
		}
		
	});
	/* Filtros que se ponen */
	/*$('.filter-add').click(
			function() {
				$(this).parent().parent().parent().parent().parent().remove();
				$('.selected-filters-list').append(
						'<li class="selected-filters-item">' + $(this).text()
								+ ' <span class="filter-delete">x</span>'
								+ '<input type="hidden" id="filter'
								+ $(this).text() + '" name="filter" value="'
								+ $(this).text() + '" />' + '</li>');
				// Filtros que se sacan
				$('.filter-delete').click( function() {
					$(this).parent().remove();
					$('#filter-form').submit();
				});
				// $('#filter-form').submit();
				setTimeout("$('#filter-form').submit();", 500)

			});

	//Filtros que se sacan
	$('.filter-delete').click( function() {
		$(this).parent().remove();
		setTimeout("$('#filter-form').submit();", 500)
	});*/
	
	$("#list-filters-narrowResults .filter-activity, #list-filters-related .filter-activity").click(function(){
		if ($('#filter-form').length != 0) {
			$('#filter-form').attr("keyword").value = $(this).attr("title"); 
			$('#filter-form').submit();
		}
	});
	
	$("#list-filters-narrowResults .filter-location").click(function(){		
		if ($('#filter-form').length != 0) {
			$('#filter-form').attr("locality").value = $(this).attr("title"); 
			$('#filter-form').submit();
		}
	});
	
	// No puede haber filtros deshabilitados. Fixes AIM-166
	$("#filterMenu .ui-state-disabled").removeClass("ui-state-disabled");
}

/*
 * Marco los avisos seleccionados.
 */
function checkSelecteds() {	
	for (i in SELECTEDS_ADVS) {
		var idResults = getIdCheck(SELECTEDS_ADVS[i]);		
		var idCheck = getIdCheckValue(SELECTEDS_ADVS[i]);
		if ($("#selected-"+idCheck).size() > 0) {
			// se comenta el if siguiente porque con el ordenamiento de la A-Z y Z-A
			// el orden puede cambiar pero igual se tiene que chequear el aviso
			//if(idCheck+ "-" + resultsOrder[idCheck] == SELECTEDS_ADVS[i]){				
				$("#selected-"+idCheck).attr("checked", true);
				document.getElementById("selected-"+idCheck).wasChecked=true;
			//}
		}
		if ($("#selected-map-"+idCheck).size() > 0) {
			// se comenta el if siguiente porque con el ordenamiento de la A-Z y Z-A
			// el orden puede cambiar pero igual se tiene que chequear el aviso
			//if(idCheck+ "-" + resultsOrder[idCheck] == SELECTEDS_ADVS[i]){
				$("#selected-map-"+idCheck).attr("checked", true);
				document.getElementById("selected-map-"+idCheck).wasChecked=true;
			//}
		}
	}

	//Si estan todos seleccionados, selecciona el checkAll.
	$('#checkAll').attr("checked", true);
	$('.checkAdvertise').each(function(i, o){
		if (! o.checked ) {
			$('#checkAll').attr("checked", false);
			return false;
		}
	});
}

function toggler(id) {
	$(id).toggle("slow");
}

function togglerPhones(id){
	if($(id).hasClass("hide-phones")){
		$(id).removeClass("hide-phones");
	}else{
		$(id).addClass("hide-phones");
	}
	
}

function displayAllOtherPhones(idAdv) {
	togglerPhones("#other-phones-" + idAdv);
}

function displayAllOtherPhones(idAdv,idPhone) {
	var idOtherPhones;
	if (idPhone == undefined) {
		idOtherPhones ="#other-phones-" + idAdv;
	} else {
		idOtherPhones="#other-phones-" + idAdv + "-" + idPhone;
	}
	togglerPhones(idOtherPhones);
	if($(idOtherPhones).find('jScrollPaneContainer').size() == 0){
		var scrollParameters = {scrollbarWidth:7, arrowSize:14, wheelSpeed: 10};
		$(idOtherPhones + ' .scroll-phones').jScrollPane(scrollParameters);
	}
}

function showAllActivities(id) {
	toggler(".activity-" + id);
	var sign = $("#activity-link-" + id).html(); 
	if (sign == '(+)') {
		sign = '(-)';
	} else {
		sign = '(+)';
	}
	$("#activity-link-" + id).html(sign);
}

/*
 * Muestra las direcciones completas de un aviso, 
 * luego de que se selecciona la opcion en el select
 */
function displayAddressInfo(select,id){
	var addressInfoRender = $("#address-info-render-"+id);
	addressInfoRender.hide();
	addressInfoRender.html($("#address-info-"+id+"-"+select.value).html());
	addressInfoRender.slideDown("slow");
	var scrollParameters = {scrollbarWidth:7, arrowSize:14, wheelSpeed: 10};
	
	var advertiseMenuContactInfo = $("#advertise-menu-contactInfo-"+id);
	var coordinatesDiv = $("#map-coordinates-"+id+"-"+select.value);
	var img = advertiseMenuContactInfo.find(".contact-info-left .map-border img");
	var mapBorders = advertiseMenuContactInfo.find(".contact-info-left, .contact-info-right, .contact-info-left .map-border");
	if(coordinatesDiv.length > 0){
	    img.attr("src",coordinatesDiv.attr("title"));
	    img.show();
	    mapBorders.removeClass("sin-map-border");
	} else {
	    img.hide();
	    mapBorders.addClass("sin-map-border");
	}
	addressInfoRender.find(".scroll-basic").jScrollPane(scrollParameters);
}


function bindFancyPrintFunctions(){
	//Ventana de Impresion con y sin mapa
	$(".fancy-ajax-link-print").fancybox({
		'autoScale': false,
		'scrolling': 'no',
		'titleShow': false,			
		'hideOnContentClick': false,
		'hideOnOverlayClick': false,
		'centerOnScroll': false,
		'onStart':function(){displayLoadingIconResults();},
		'onComplete':function(){
								displayLoadingIconResults(); 
								/*the next line is because the image of the map take a extra time to load*/ 
								$.fancybox.resize();
					}
	});		
}

function loadEmailCaptcha(advId){
    var captchaImg = $("#advertise-menu-email-"+advId+" .captcha img");
    if(captchaImg.attr("title") != ''){
	captchaImg.attr("src", captchaImg.attr("title"));
	captchaImg.attr("title",'')
    }
}

function rightButtonFix(obj,event){
	if(event.button!=0)
		$(obj).attr("href",$(obj).attr("title"));	
}

function isFilterChecked(){
	if($.cookie(COOKIE_FACET_FILTER)==1)
		$("#idFiltroZona").attr("checked",true);
}

function enableViewProductTab(){
	$.ajax({
		dataType:"json",
   		type:"get",
   		url: "/hasProducts.action?que="+GLOBAL_KEYWORD,
   		success: enableTab,
   		error:function (xhr, ajaxOptions, thrownError){
            console.log(xhr.status);
            console.log(thrownError);
        }
   });
}

function enableTab(data){
	if(data.hasProducts){
		$("#product-tab-disabled").addClass("hideP").removeClass("showP");
		$("#product-tab").addClass("showP").removeClass("hideP");
		$("#emptyChangeView").addClass("showP").removeClass("hideP");
	}
}

function getClientIp(){
	$.getJSON("http://jsonip.appspot.com?callback=?",function(ipadd){
		$.cookie(COOKIE_PRODUCT_CLIENT_IP,ipadd.ip, COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
	});
}
