/**
 * usa cookies_utils.js, asi que debe ser incluida antes
 */
$(document).ready( function() {
	fixRascacieloResize("banner-results-rascacielo");
	$(".ui-tabs").addClass("tab-hide");
	$(".list-filters .filterDetail-body .jScrollPaneDrag").css('height','20px');
	/*valida si esta el banner y le agrega una linea*/
	setLineBanner("bannerContent");
	displayBanner("bannerContent");
	displayBanner("bannerContentHeader");
	displayBanner("fau1");
	/* TABS de la pagina (listado/mapa). */
	var tab_cookie_id = parseInt($.cookie(COOKIE_VIEW_NAME)) || 0; 
	$("#changeView").tabs( {
		selected : tab_cookie_id,
	    show: function(e,ui) {
	      var tab_id = ui.index; 
	      $.cookie(COOKIE_VIEW_NAME, tab_id, COOKIE_DEFAULT_OPTIONS);
	    } 
	});
	
	
	
	/* TABS de cada aviso. */
	$(".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;
				}
			}
			return true;
		}
	});

	$(".tabHeaders .ui-state-disabled").removeClass("ui-state-disabled");
	
	/*Reemplaza el href de los links por su titulo, para que se muestre correctamente*/
	$('.advertise-menu li a[title!=""]').each(
			function(){
				$(this).attr("href",$(this).attr("title"))
			}
	);

	
	// 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();

		// Paginacion.
		paginate();

		/*
		 * Genero o leo la cookie de seleccionados - esto esta en
		 * selectedCookie.js
		 */
		crearSelectedCookie();
		// Marco los seleccionados que lei de la cookie .
		checkSelecteds();

		
		$('.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
		$(".fancy-ajax-link").fancybox({	
			'autoScale': false,		
			'scrolling': 'no',
			'titleShow': false,			
			'hideOnContentClick': false,
			'hideOnOverlayClick': false,
			'centerOnScroll': false,
			'onStart':function(){displayLoadingIconResults();},
			'onComplete':function(){displayLoadingIconResults();}
		});
		
		bindFancyPrintFunctions();
		$('.advertise-info-otherPhones').css({display:"none"});		
		
		/* fix para back button */
		$("#keyword").val(GLOBAL_KEYWORD);

		/* Cierra ventanas abiertas del cajón de resultados*/
		$("#result-map-link").click(function(){
			$('.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);
			    		map.addOverlay(marker);
			    		markers[i]=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() {
						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(){
						loadAdvertiseWithoutMap($(this).attr("id").replace("item-nomap-", ""));
				  });
			}
		});	
		
});


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>");
	}
}

/**
 * Makes pagination.
 * 
 * @return
 */
function paginate() {
	beforeItems = 4;
	afterItems = 5;
	/* Muestra las paginas anteriores a la actual */
	temp = $('.currentPageIndex').css('display', 'inline');
	// alert('anterior : '+temp.prevAll().size());
	// -1 y + 1 , porque se cuenta la flecha de la pagina anterior.
	if ((temp.prevAll().size() - 1) < beforeItems) {
		afterItems += beforeItems - temp.prevAll().size() + 1;
		// alert('afterItems : '+afterItems);
	}
	temp = temp.next();
	for (i = 0; i < afterItems; i++) {
		temp.css('display', 'inline');
		temp = temp.next();
	}
	/**Muestra las paginas siguientes a la actual*/
	temp = $('.currentPageIndex').css('display', 'inline');
	if ((temp.nextAll().size() - 1) < afterItems) {
		beforeItems += afterItems - temp.nextAll().size() + 1;
		// alert('afterItems : '+afterItems);
	}
	for (i = 0; i < beforeItems; i++) {
		temp = temp.prev();
		temp.css('display', 'inline');
	}
}

/**
 * Acomoda el cajon de filtros, y le agrega la funcionalidad necesitada. 
 * @return
 */
function filters() {
	/**TABS del cajon de filtros.*/
	var tab_filter_id = parseInt($.cookie(COOKIE_FILTER_NAME)||"-1"); 
	$(".filterMenu").tabs( {
		collapsible : true,
		selected : tab_filter_id,
		fx : {
			opacity : 'toggle'
		},
	    show:function(e,ui) { 
		      var tab_id = ui.index; 
		      $.cookie(COOKIE_FILTER_NAME, tab_id, COOKIE_DEFAULT_OPTIONS); 
		},
		select:function(e,ui){
			// delete the cookie
			$.cookie(COOKIE_FILTER_NAME, "", COOKIE_DEFAULT_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)
	});*/
	
	$(".filter-activity").click(function(){
		if ($('#filter-form').length != 0) {
			$('#filter-form').attr("keyword").value = $(this).attr("title"); 
			$('#filter-form').submit();
		}
	});
	
	$(".filter-location").click(function(){		
		if ($('#filter-form').length != 0) {
			$('#filter-form').attr("locality").value = $(this).attr("title"); 
			$('#filter-form').submit();
		}
	});
}

/**
 * Marco los avisos seleccionados.
 * @return
 */
function checkSelecteds() {	
	for (i in SELECTEDS_ADVS) {
		var idResults = getIdCheck(SELECTEDS_ADVS[i]);		
		var idCheck = getIdCheckValue(SELECTEDS_ADVS[i]);
		if ($("#selected-"+idCheck).size() > 0) {
			if(idCheck+ "-" + resultsOrder[idCheck] == SELECTEDS_ADVS[i]){				
				$("#selected-"+idCheck).attr("checked", true);
				document.getElementById("selected-"+idCheck).wasChecked=true;
			}
		}
		if ($("#selected-map-"+idCheck).size() > 0) {
			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 displayAllOtherPhones(idAdv) {
	toggler("#other-phones-" + idAdv);
}

function displayAllOtherPhones(idAdv,idPhone) {
	if (idPhone == undefined) {
		toggler("#other-phones-" + idAdv);
	} else {
		toggler("#other-phones-" + idAdv + "-" + idPhone);
	}
}

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
 * @param select
 * @param id
 * @return
 */
function displayAddressInfo(select,id,habilitarFreeCall){
	$("#address-info-render-"+id).hide();
	$("#address-info-render-"+id).html($("#address-info-"+id+"-"+select.value).html());
	$("#address-info-render-"+id).slideDown("slow");
	if(select.value == 0){
		$("#location-default-"+id).css({display:"none"});
		var img = $("#advertise-menu-contactInfo-"+id +" .contact-info-left .img-contact-info .map-border img").show();
		if(img.length!= 0){
			img.show();
			$("#advertise-menu-contactInfo-"+id +" .contact-info-left .img-contact-info .map-border img").show();
			$("#advertise-menu-contactInfo-"+id +" .contact-info-left").removeClass("sin-map-border");
			$("#advertise-menu-contactInfo-"+id +" .contact-info-right").removeClass("sin-map-border");
			$("#advertise-menu-contactInfo-"+id +" .contact-info-left .img-contact-info .map-border").removeClass("sin-map-border");
		}
		if (habilitarFreeCall){
			$(".idHasFree").show();
		}
		var scrollParameters = {scrollbarWidth:7, dragMinHeight:18, dragMaxHeight:18, arrowSize:14, wheelSpeed: 10};	
		$("#address-info-render-"+id).find(".scroll-basic").jScrollPane(scrollParameters);
	}else{
		$("#location-default-"+id).css({display:"block"});
		$("#advertise-menu-contactInfo-"+id +" .contact-info-left .img-contact-info .map-border img").hide();
		$("#advertise-menu-contactInfo-"+id +" .contact-info-left").addClass("sin-map-border");
		$("#advertise-menu-contactInfo-"+id +" .contact-info-right").addClass("sin-map-border");
		$("#advertise-menu-contactInfo-"+id +" .contact-info-left .img-contact-info .map-border").addClass("sin-map-border");
		$(".idHasFree").hide();	
	}
}
 
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 setLineBanner(banner){

	var divBanner=document.getElementById(banner);
	if (divBanner!=null){
		objects = divBanner.getElementsByTagName("object") ;                         
    	if(objects.length == 1){    	
		    	document.getElementById(banner).style.borderBottom="1px dotted";
		}
	}
			
}
function displayBanner(banner){

	var divBanner=document.getElementById(banner);
	if (divBanner!=null){
		objects = divBanner.getElementsByTagName("object") ;                         
    	if(objects.length == 0){    	
		    	document.getElementById(banner).style.display="none";
		}
	}			
}
