//===========================================================================================
// Varibles
//===========================================================================================
var watermark_nombre = "Escriba el nombre";
var watermark_primer_apellido = "Escriba los apellidos";

//===========================================================================================
//MUESTRA NUMERO TELEFONICO
//===========================================================================================
function mostrar_numero_telefonico(obj,numero)
{		
	obj.innerHTML = numero;
	obj.style.cursor = "default";
	
	return false;
}

//===========================================================================================
//AUX FUNCTIONS FOR TEMPLATES
//===========================================================================================
var regExp = /\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g;
function replaceelems(tpl,values)
{		
	var fn = function(m, name){
		current_name = values[name] ;
		return current_name !== undefined ? current_name : "";			
	}
	return tpl.replace(regExp, fn);
}
//===========================================================================================
//FIND SEARCH FUNCTIONS AND VALIDATIONS FOR CORRECTLY SEARCHING
//===========================================================================================
function send_data(){
	var ok = true;
	var obj=document.form_advanced_search;
	
	
/*	obj.value.trim()==""
	if (typeof obj.primera_busqueda != "undefined")
		obj.primera_busqueda.value = 1;*/
	obj.primera_busqueda.value = 1;
	obj.flat_muchos_resultados.value = 0;
	obj.pagina.value = 1;
	obj.action = root_site+"resultados-busqueda/";
	
	var nombre = $("#nombre");
	var primer_apellido = $("#last_name");
	
	if(nombre.val() == watermark_nombre){
		nombre.val("");
	}
	
	if(primer_apellido.val() == watermark_primer_apellido){
		primer_apellido.val("");
	}
	
	
	ok = validate_search_tab2();
	
	if(ok){
		obj.submit();
	}
}

//TABS 1 VALIDATION:
/*function validate_search_tab1(){
	//return validate_required('search_what');
	var obj1 = document.getElementById('search_what');
	var obj2 = document.getElementById('search_where');
	ok1 = validate_required('search_what');
	ok2 = validate_required('search_where');
	ok3 = validate_distinct('search_what',"Escriba actividad o empresa");
	ok4 = validate_distinct('search_where',"Introduzca una localidad. Ej. Zaragoza");			
	return (ok1 && ok2 && ok3 && ok4);	
}*/
//TABS 2 VALIDATION:
function validate_search_tab2(){
	ok1 = validate_required('nombre');
	ok2 = validate_required('province');
	ok3 = validate_required('locality');
	ok4 = validate_required('last_name');
	
	if (ok1 && !ok4)
		setValid('last_name');
	else if (!ok1 && ok4)
		setValid('nombre');		
	
	if ((ok1 || ok4) && ok2 && ok3)
		return true;
	else
		return false;
}
//TABS 3 VALIDATION:
/*function validate_search_tab3(){
	ok1 = validate_required('zone_activity');
	ok2 = validate_required('zone_province');
	ok3 = validate_required('zone_locality');
	return (ok1 && ok2 && ok3);		
}*/

function validate_distinct(id,txt,class_name){
	var obj = document.getElementById(id);
	var ok= true;
	if(obj.value.trim()==txt.trim()){ setInvalid(id,class_name); ok = false;} else{ setValid(id,class_name);}	
	return ok;
}

//AUX FUNCTIONS VALIDATION
function validate_required(id,class_name){
	//alert(id);	
	var obj = document.getElementById(id);
	var ok= true;
	if(obj.value.trim()==""){ setInvalid(id,class_name); ok = false;} else{ setValid(id,class_name);}	
	return ok;
}
//CHANGE CSS 
function setInvalid(id,class_name){
	var obj_label = document.getElementById('label_'+id);
	var obj = document.getElementById(id);
	var class_pass;
	if(class_name!= null){
		class_pass=class_name;
	}else{
		class_pass='field';
	}
	
	obj_label.className="label invalid";
	obj.className=class_pass+" invalid";
}
function setValid(id,class_name){
	var obj_label = document.getElementById('label_'+id);
	var obj = document.getElementById(id);
	var class_pass;
	if(class_name!= null){
		class_pass=class_name;
	}else{
		class_pass='field';
	}
	obj_label.className="label";
	obj.className=class_pass;
}

//===========================================================================================================================================
// AJAX TO LOAD ALL LOCALITIES FROM PROVINCE SELECTED
//===========================================================================================================================================
var ident = "";
function load_localities(val,id){
	var v = val.trim();	
	ident = id;
	if(v!=""){ hacer_consulta(root_site+"ajaxs/ajax_LoadLocalities.php","prov="+v, function(resultados){verificar_loadmunicipios(resultados);});}
	else{
		cur_select = document.getElementById(id);
		cur_select.length=0;
		localidad=0;//we establish default value	
	}
}

function verificar_loadmunicipios(resultados){	
	//alert(resultados);
	r = eval(resultados);//convertng JSON string to JSON object
	cur_select =  document.getElementById(ident);	
	cur_select.length=0;	
	//load combo with the results	
	var i=1;
	if(resultados.trim()!=""){
		for (index in r)
		{	
			ident =r[index]["INELOCALITYID"];
			nombre=r[index]["LOCALITY"];			
			if (nombre!=undefined){
					var opt = new Option(nombre.trim(), ident.trim());					
					cur_select.options[i] = opt;
					if(localidad == ident.trim()){
						cur_select.options[i].selected = true;	
					}
					i++;
			}
		}	
	}
}

//===========================================================================================================================================
// CODE FOR LAYER TO SHOW ALL THE ACTIVITIES AND PAGING
//===========================================================================================================================================
function show_activities(form){
	current_form = form;
	load_activities_layer('A',1);	
}

var paging = 20;
var paging_tpl ="P&aacute;gina <span class=\"current\">{current_page}</span> de {last_page}";
var total_results_tpl = "<strong>{total_rows}</strong>";
var current_form;// form id which we are working in

function load_activities_layer(letra,page){	

	var f = document.getElementById(current_form);	
	cur_letra = letra;
	if(!letra) cur_letra = f.cur_letter.value;	
	if(!page) page = 1;
	//alert("cur_letra::::" + cur_letra);
	load_alphabet(cur_letra);
	hacer_consulta(root_site+"ajaxs/ajax_LoadPagingActivities.php","l="+letra+"&page="+page, function(resultados){verificar_overlayactivities(resultados);});
}

function load_alphabet(letra){
	var f = document.getElementById(current_form);	
	if(!letra) letra = "A";
	f.cur_letter.value = letra;
	var abc="A,B,C,D,E,F,G,H,I,J,K,L,M,N,Ñ,O,P,Q,R,S,T,U,V,W,X,Y,Z";
	var abc_arr = abc.split(",");
	var abc_string="";
	for(i=0;i < abc_arr.length; i++ ){
		if(abc_arr[i].toLowerCase().trim()==letra.toLowerCase().trim()){ abc_string+="<li>&nbsp;<strong>"+abc_arr[i]+"</strong></li>";}
		else{abc_string+="&nbsp;<li><a href=\"javascript:void(0);\" onclick=\"javascript:load_activities_layer('"+abc_arr[i]+"');\" rel=\"nofollow\">"+abc_arr[i].toUpperCase()+"</a></li>";}		
	}
	var id_list = document.getElementById("alphabetic-list-data");
	id_list.innerHTML = abc_string;			
}
 
function verificar_overlayactivities(resultados){	
	//alert(resultados);
	r = eval("(" + resultados + ")");		
	var paging_final_tpl =  replaceelems(paging_tpl,r); //CURRENT AND TOTAL PAGES IN PAGING
	var totalresults_final_tpl =  replaceelems(total_results_tpl,r); //TOTAL RESULTS
	var activities_results = r.elements || null; 
	
	//SHOW INFO JSON RESULTS
	//1) PAGES AND TOTAL RESULTS	
	var id_total_pages = document.getElementById("pages");
	var id_total_results = document.getElementById("total_results");
	if(id_total_pages){id_total_pages.innerHTML = paging_final_tpl;}
	if(id_total_results){id_total_results.innerHTML = totalresults_final_tpl;}
	
	//2) ACTIVITIES
	var activitity_final_tpl ="";
	var id_activities_results = document.getElementById("list_activities_result"); 	
	if(activities_results && activities_results.length > 0){
		for(i=0; i < activities_results.length; i++){
			if(i==0 || i==10){
				if(i==0) activitity_final_tpl +="<ul class=\"list\">"; 
				if(i==10) activitity_final_tpl +="</ul><ul class=\"list\">"; 
			}
			activitity_final_tpl +="<li ><a href=\"javascript:;\" onclick=\"javascript:put_info('"+r.elements[i]+"');\" rel=\"nofollow\">"+r.elements[i]+"</a></li>";
		}	
	}
	if(activitity_final_tpl.trim()!="") activitity_final_tpl +="</ul>";
	if(id_activities_results){id_activities_results.innerHTML = activitity_final_tpl;}
	
	//3) PAGING (ONLY IF THERE ARE MORE RESULT THAT PAGING ESTABLISHED)
	var id_paginator = document.getElementById("paginator");
	var paginator_final_tpl ="";		
	if(r.total_rows && r.total_rows > paging){				
		var cur = fin  = 1;
		var total_links_show = 10;		
		var medium = 5;
		var j = 1;
		var ant,post;	
		if(r.current_page) cur  = Number(r.current_page);
		if(r.last_page) fin  = Number(r.last_page);
		if(total_links_show > fin) total_links_show = fin; // if pages are minor than total we have to refresh total links value; 
		ant  = cur-1;
		post = cur+1;					
		if(cur && cur > 1){ paginator_final_tpl +="<a class=\"prev\" href=\"javascript:;\" onclick=\"javascript:load_activities_layer('',"+ant+")\" rel=\"nofollow\">Anterior</a>";}//PREV LINK						
		//alert("cur:::"+cur+"----medium:::" + medium); 
		if(cur > medium &&  cur + medium <= fin){ j = cur - medium + 1;};
		if(cur + medium > fin) {j = fin - total_links_show  + 1;}//we have reached last link in paging
		//alert("cur::"+cur+"----fin::"+fin+"----j:::"+j);		
		for(k=j;k < (j + total_links_show);k++){
			if(k==cur) paginator_final_tpl +="<span class=\"current\">"+k+"</span>&nbsp;";
			else paginator_final_tpl +="<a href=\"javascript:;\" onclick=\"javascript:load_activities_layer('',"+k+")\" rel=\"nofollow\">"+k+"</a>&nbsp;";
		}
		if(cur && fin && cur < fin){ paginator_final_tpl +="<a class=\"next\" href=\"javascript:;\" onclick=\"javascript:load_activities_layer('',"+post+")\" rel=\"nofollow\">Siguiente</a>";}//NEXT LINK
   }
   if(id_paginator){id_paginator.innerHTML = paginator_final_tpl;}//NOTE: if there is no paging we need to empty the paginator node
   $("#overlay-activities").overlay().load();
}

function put_info(val){
	
	var f = document.getElementById(current_form);
	
	if(current_form.trim()=="form_search"){ f.search_what.value=val;}
	else if(current_form.trim()=="form_advanced_search"){ f.activity.value=val;}
	else if(current_form.trim()=="form_zone_search"){ f.zone_activity.value=val;}
	$("#overlay-activities").overlay().close();
	
}
//=================================================================================================
// ONCHANGE COMBOS EVENT: we have to save the province's name selected (to send to the webservice)
//	addtionals parameters: 
//	"f" (form 'id' which we have been searching in)		
//	"field" (input hidden field "id" which we save in)		
//=================================================================================================
function save_name(obj,f,field){ //	
	if(obj.options.length > 1){
		f[field].value = obj.options[obj.selectedIndex].text.trim(); 	
	}
}
//===========================================================================================================================================
// ONLOAD EVENT: we make avaliable if exists autocompleter fields
//===========================================================================================================================================
ejecutarOnload(
	function(){
		var nombre = $("#nombre");
		var primer_apellido = $("#last_name");

		if(nombre){
			nombre.Watermark(watermark_nombre);	
		}
		
		if(primer_apellido){
			primer_apellido.Watermark(watermark_primer_apellido);	
		}
	}			 
);


