//Nombre de la cookie de para el texto real en url friendly
var COOKIE_SEARCH_CLASS = "friendlySearchLink";
//Nombre de la cookie de tab filtros seleccionado
var COOKIE_FILTER_NAME = "tab_filter_PA";
//Nombre de la cookie de tab view seleccionada
var COOKIE_VIEW_NAME = "tab_view_PA";
//Nombre de la cookie de avisos seleccionados
var COOKIE_SELECTED_NAME = "selection_PA";
//Nombre de la cookie de busqueda
var COOKIE_SEARCH_NAME = "search_PA";
//Nombre de la cookie del seed de la búsqueda
var COOKIE_SEARCH_SEED = COOKIE_SEARCH_NAME+"_seed";
//Path de la cookie
var COOKIE_SELECTED_PATH = "/";

var COOKIE_PRODUCT_VIEW = "view_product"

//Propiedades de la cookie para que soporte cross sub-domain
var COOKIE_CROSS_SUB_DOMAIN_OPTIONS = {
	domain: GLOBAL_SUB_DOMAIN,
	path : COOKIE_SELECTED_PATH,
	expires : 10
};

// Nombre de la cookie de nombre de localidad
var COOKIE_SEARCH_LOCALITY = COOKIE_SEARCH_NAME+"_locality";
// Nombre de la cookie de id de localidad
var COOKIE_SEARCH_LOCALITYID = COOKIE_SEARCH_NAME+"_localityId";
// Nombre de la cookie con la calle y altura sin normalizar
var COOKIE_SEARCH_PROXIMITY = COOKIE_SEARCH_NAME+"_proximity";
// Nombre de la cookie de tipo de búsqueda
var COOKIE_SEARCH_TYPE = COOKIE_SEARCH_NAME+"_type";

//unicas cookie de faceta a utilizar
var COOKIE_MOSTRAR_PROVINCIA = COOKIE_SEARCH_NAME+"_facet_provincia";

var COOKIE_FACET_FILTER = COOKIE_SEARCH_NAME+"_FACETS";

var COOKIE_PRODUCT_PRODUCTID = COOKIE_PRODUCT_VIEW+"_productId";
var COOKIE_PRODUCT_CATEGORYID = COOKIE_PRODUCT_VIEW+"_categoryId";
var COOKIE_PRODUCT_CATEGORY = COOKIE_PRODUCT_VIEW+"_category";
var COOKIE_PRODUCT_URLEMPRESAS = COOKIE_PRODUCT_VIEW+"_urlempresas";
var COOKIE_PRODUCT_GLOBAL_KEYWORD = COOKIE_PRODUCT_VIEW+"_globalkeyword";
var COOKIE_PRODUCT_CLIENT_IP = COOKIE_PRODUCT_VIEW+"_clientIp";
var COOKIE_PRODUCT_LOCALITY = COOKIE_PRODUCT_VIEW+"_productLocality";

function clearCookie() {
	$.cookie(COOKIE_SELECTED_NAME, "", COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
	$.cookie(COOKIE_VIEW_NAME, "", COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
	$.cookie(COOKIE_SEARCH_NAME, "", COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
	$.cookie(COOKIE_SEARCH_SEED, "", COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
	$.cookie(COOKIE_SEARCH_CLASS, "", COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
	$.cookie(COOKIE_FACET_FILTER, "", COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
	$.cookie(COOKIE_PRODUCT_PRODUCTID,"", COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
	$.cookie(COOKIE_PRODUCT_CATEGORYID,"", COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
}

function setCookiesTab(){
    $.cookie(COOKIE_SEARCH_LOCALITY, null);
    $.cookie(COOKIE_SEARCH_LOCALITY, GLOBAL_LOCALITY, COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
}

function saveNonFriendlyParams(theLink){
	// for backward compatibility:
	if ("undefined" == typeof theLink){
		theLink = $(this);
	}
	
	// Si hay calle y altura se preserva sin normalizar
	var calleAltura = $("input#calleAltura");
	if (calleAltura.length > 0 && calleAltura.val().length > 0 ){
		// se guarda la cookie para preservar el texto sin normalizar
		$.cookie(COOKIE_SEARCH_PROXIMITY, calleAltura.val(), COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
	}
	
	var searchText = $.trim(theLink.next("input:hidden").attr("value"));
	if (searchText != undefined && searchText.length > 0) {
		searchText = searchText.replace(/^\s*|\s*$/g,"");
		// reemplazar las comillas
		searchText = searchText.replace(/^\"|\"$/g,"");
	}else if (theLink.attr("title") != undefined && theLink.attr("title").length > 0){
		searchText = theLink.attr("title");
	}else{
		// preservar la búsqueda actual
		searchText = GLOBAL_KEYWORD;
	}
	$.cookie(COOKIE_SEARCH_NAME, searchText, COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
	
	var seed = $("#seed").val();
	$.cookie(COOKIE_SEARCH_SEED, seed, COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
	
	// guardar el tipo de búsqueda
	var type = $("#searchType").val();
	$.cookie(COOKIE_SEARCH_TYPE, type, COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
	
	var $tabs = $('#changeView').tabs();
	if ($tabs.length > 0){
		var tab_id = $tabs.tabs('option', 'selected');
		$.cookie(COOKIE_VIEW_NAME, tab_id, COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
	}
	// no setear las cookies a null sino a vacío
	if (GLOBAL_LOCALITY_ID == null){
		GLOBAL_LOCALITY_ID = "";
	}
	if (GLOBAL_LOCALITY == null){
		GLOBAL_LOCALITY = "";
	}
	// volver a guardar la localidad y localidad id en la cookie
	$.cookie(COOKIE_SEARCH_LOCALITYID, GLOBAL_LOCALITY_ID, COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
	$.cookie(COOKIE_SEARCH_LOCALITY, null);
	$.cookie(COOKIE_SEARCH_LOCALITY, GLOBAL_LOCALITY, COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
}

function registerSearchCookie() {
	$("a."+COOKIE_SEARCH_CLASS).each(function(index, domElement) {
		$(domElement).click(function(event){
			saveNonFriendlyParams($(this));
			// si es búsqueda por cercanía ejecutar diferente 
			// nota: para que el link sea de búsqueda por cercanía, tiene que tener al menos la calle en el href
			if (typeof RESULT != "undefined" && 
					RESULT.isBusquedaPorCercania &&
					$(this).attr("href").match("/calle/") != null){
				event.preventDefault();
				var form = $("#friendlySearchForm");
				// esto es para limpiar la búsqueda de mapas para los quiso decir de cercanía
				if ($(this).hasClass("clearGmap")){
					form.find("[name='gmapsXmlResponse']").val("");
				}
				form.attr("action", $(this).attr("href"));
				form.submit();
			}
			// si no seguir como siempre
		});
	});
	//clearSearchCookie
	$.cookie(COOKIE_SEARCH_NAME, "", COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
	//se limpia la localityID solo se carga nuevamente cuando es necesario
//PABLO GD-2097
	//$.cookie(COOKIE_SEARCH_LOCALITYID, "", COOKIE_CROSS_SUB_DOMAIN_OPTIONS);

	
	
	
}

function saveViewProductCookies(productId,categoryId){
	$.cookie(COOKIE_PRODUCT_PRODUCTID,productId, COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
	$.cookie(COOKIE_PRODUCT_CATEGORYID,categoryId, COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
}

function mantainURLforViewProduct(){
	$.cookie(COOKIE_PRODUCT_GLOBAL_KEYWORD,GLOBAL_KEYWORD,COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
	$.cookie(COOKIE_PRODUCT_URLEMPRESAS,window.location,COOKIE_CROSS_SUB_DOMAIN_OPTIONS);
}

$(document).ready(function(){
	$(".clearCookie").click(function() {
		clearCookie();
	});	
	registerSearchCookie();
});
