// Trims a string
function trim(inputString) {
   inputString = inputString.toString();
   return inputString.replace(/^\s*|\s*$/g,"");
}

/************************************************************/
/*  MAIN SEARCH  */
/************************************************************/

var searchURI = '?module=directorio&op=busqueda&do_search=true&keyword=';
var openSrchSelOpts = false;
var db_min_word_len = 3;

function triggerMainSearch(){
	var searchString = document.getElementById('main_search_keyword').value;
	if(validateMainSearch(searchString)){
		document.location.href='/' + searchURI + searchString;
	}
}

function validateMainSearch(searchString){
	var msgEmpty = "Por favor ingrese una palabra en el campo de búsqueda";
	var msgTooShort = "La palabra de búsqueda debe contener al menos " + db_min_word_len + " caracteres";
	var msgSpaces = "Debe haber alguna palabra de al menos " + db_min_word_len + " caracteres en su búsqueda";
	if (searchString.length == 0){
		alert(msgEmpty);
		return false;
	} else {
		string_array = searchString.split(' ');
		if (string_array.length > 1){
			for (var i in string_array){
				if (string_array[i].length >= db_min_word_len)
					return true;
			}
			alert(msgSpaces);
			return false;
		} else {
			if (searchString.length >= db_min_word_len){
				return true;
			} else {
				alert(msgTooShort);
				return false;
			}
		}
	}
}

function setSearch(link){
	var txt = link.innerHTML;
	var searchURIs = new Array();
	searchURIs['Directorio Automotriz'] = '?module=directorio&op=busqueda&do_search=true&keyword=';
	searchURIs['Noticias'] = 'content/?module=search&search_in[]=news&search_sections[]=2&include_subsections=1&date_range=E%200&search_sortorder=most_relevant&op=do_search&search_string=';
	searchURIs['Reportajes Especiales'] = 'content/?module=search&search_in[]=pages&search_sections[]=6&include_subsections=1&date_range=E%200&search_sortorder=most_relevant&op=do_search&search_string=';
	searchURIs['Anuncios Clasificados'] = 'buscar.php?page=c&keyword=';
	searchURI = searchURIs[txt];
	hideSrchSelOpts();
	setSrchSel(txt);
}

function evalSrchSelOpts() {
	if(openSrchSelOpts){
		hideSrchSelOpts();
	} else {
		showSrchSelOpts();
	}
}

function showSrchSelOpts(){
	var menu = document.getElementById('main_search_div_opts');
	menu.style.visibility = 'visible';
	openSrchSelOpts = true;
}

function hideSrchSelOpts(){
	var menu = document.getElementById('main_search_div_opts');
	menu.style.visibility = 'hidden';
	openSrchSelOpts = false;
}

function setSrchSel(txt){
	var div = document.getElementById('main_search_div_sel');
	div.innerHTML = txt;
}

// Validates search input
function validateSearch(field)
{
	var searchField = document.getElementById(field);
	var searchString = trim(searchField.value);
	var msgEmpty = "Por favor ingrese una palabra en el campo de búsqueda";
	var msgTooShort = "La palabra de búsqueda debe contener al menos " + db_min_word_len + " caracteres";
	var msgSpaces = "Debe haber alguna palabra de al menos " + db_min_word_len + " caracteres en su búsqueda";

	if((searchString.length == 0) || (searchString == "Búsqueda")){
		alert(msgEmpty);
		return false;
	} else {
		string_array = searchString.split(" ");
		if (string_array.length > 1){
			for (var i in string_array){
				if (string_array[i].length >= db_min_word_len)
					return true;
			}
			alert(msgSpaces);
			return false;
		} else {
			if (searchString.length >= db_min_word_len){
				return true;
			} else {
				alert(msgTooShort);
				return false;
			}
		}
	}
}

function reload_Captcha(newSrc)
{
	document.getElementById('captcha_image').src=newSrc+'?'+(new Date()).getTime();
}

// Inserts an emoticon into the given field
function insertEmoticon(code,field_id) {
	code += " ";
	msgField = document.getElementById(field_id);
	msgField.focus();  
	if(document.selection){
		//IE support
		sel=document.selection.createRange();
		sel.text=code;
		sel.select();
	}else if(msgField.selectionStart>=0){
		//Mozilla/Firefox/Netscape 7+ support
		var startPos=msgField.selectionStart;
		var endPos=msgField.selectionEnd;
		msgField.setSelectionRange(endPos,endPos);
		msgField.value = msgField.value.substring(0,startPos) + code + msgField.value.substring(endPos,msgField.value.length);
		endPos+=code.length;
    msgField.setSelectionRange(endPos,endPos);
	}else{
		msgField.value += code;
	}
}

// Counts the number of chars in "el" and updates "id_txt" field
function countchars(el,MAX,id_txt){
	var str = new String(el.value);
	count = MAX - str.length;
	if(count>0){
		document.getElementById(id_txt).innerHTML=count;
	}else{
		alert("Has alcanzado el límite de caracteres para este campo");
		el.value=el.value.substr(0,MAX);
		document.getElementById(id_txt).innerHTML=0;
		el.blur();
	}
}