//GENERICAS
// retorna un objeto con los valores pasados por GET
getQuery=function(){
	var i,eq,qs=location.search.substring(1), nv=qs.split('&'), o=[];
	for(i=0;i<nv.length;i++){
    	eq=nv[i].indexOf('=');
    	o[nv[i].substring(0,eq).toLowerCase()]=unescape(nv[i].substring(eq+1));
	}return(o);
}

//Cookies
//Deja  uan cookie :: sName es un string, oValue es un objeto,nVida en Horas
function setCookie(sName,sValue,nVida){
  var i,a=[],ex="",e="";
  if(nVida!=null) {
    ex=new Date((new Date()).getTime() + nVida * 3600000);
    ex="; expires=" + ex.toGMTString();
  }
  document.cookie=sName+"="+escape(sValue)+ex;
}

//devuelve el valor de esa cookie
function getCookie(sName){
	try{
		var d=document,c=unescape(d.cookie),bgin=sName+"=";
		return c.split(bgin)[1].split(";")[0];
	}catch(e){return false;}
}

function getCombo(oCombo){return(oCombo.options[oCombo.options.selectedIndex].value)}

//CADENAS------------------------------------------------------------------------------------------------------------------------
function l_trim(s){	while(s.indexOf(" ")==0)s=s.substring(1);return(s);}//anula los espacios por la izq
function r_trim(s){while(s.length && s.lastIndexOf(" ")==s.length-1)s=s.substring(0,s.length-1);return(s);}//anula los espacios por la izq
function trim(s){if(!s) return ""; return(l_trim(r_trim(s)));}//anula los espacios en dcha e izq
function contain(s,c){return(s.indexOf(c)!=-1);}
function capitalice(s){	return(s.charAt(0).toUpperCase() + s.substring(1).toLowerCase())}
function isEmail(s){var e=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,5})+$/; return(e.test(s))}
function isUrl(s){e=new RegExp(/\b(http:\/\/)?(\w+\.)+[a-z]{2,3}/); return(e.test(s))}
function isNumber(s){e=new RegExp(/\d+/); return(e.test(s))}
function isTelephone(s){e=new RegExp(/\b(\+\d{1,3})?\d{9}\b/);return(e.test(s))}
function isZip(s){return new RegExp(/\d{5}/).test(s)}
function isInArray(a,o){for(var i in a)if(a[i]==o)return true;return false;}
function isLeapYear(y){return(y%4==0 && y%100==0);}

//valido mes y dia(sin bisiestos)
function isMonth(mm,dd){
	var largos=[1,3,5,7,8,10,12];
	if(mm.length>2 || dd.length>2 || (!isInArray(largos,mm) && dd>30) || (mm==2 && dd>29))	return false;
	return true;
}

//valido Aï¿½o, mes y dia (incluidos bisiestos)
function isDate(aaaa,mm,dd){
	if(aaaa.length>4 || !isMonth(mm,dd) || (mm==2 && !isLeapYear(aaaa) && dd>28))return false;
	return true;
}

//BOOLEANAS------------------------------------------------------------------------------------------------------------------------
//En Safari peta ...
//function is_string(s){return s.constructor.toString().match(/String/)};
function is_string(s){return hasValue(s.toLowerCase)};
function is_checkbox(oCampo){return(oCampo.type=='checkbox')}
function is_radio(oCampo){return(oCampo.type=='radio')}
function is_combo(oCampo){return(oCampo.type=='select-one')}
function is_list(oCampo){return(oCampo.type=='select-multiple')}
function is_txt(oCampo){var t=oCampo.type; return(t=="text" || t=="textarea" || t=="password")}
function is_textarea(oCampo){return(oCampo.type=='textarea')}
function is_hidden(oCampo){return(oCampo.type=='hidden')}
function ok_combo(oCombo){return hasValue(getCombo(oCombo))}
function ok_list(oList){return(oList.options.selectedIndex!=-0)}
function ok_txt(oText){return hasValue(oText.value)}
function ok_hidden(oHidden){return(oHidden.value!='');}
function hasValue(v){return((v!="")&&(v!=null)&&(v!=false)&&(v!="undefined"));}//Una variable tiene valor??






//FORMULARIOS ----------------------------------------------------------------------------------------
//Marca un campo con una clase css
function highLightField(oCampo,sClase){
	var prevClass=oCampo.className; //guardo el estilo original del campo del formulario
	oCampo.className=sClase;
	oCampo.onblur=function(){this.className=prevClass;}
}

//marca un campo, le da foco ,alerta un mensaje y retorna falso
function setFormError(oCampo,sMnsj,sClase){
	if(sClase)highLightField(oCampo,sClase);
	alert(sMnsj);
	if(oCampo.focus)oCampo.focus();
	return false;
}

//Da trim() al valor de un campo
function trimTextField(o){try{o.value=trim(o.value)}catch(e){return false}}

//Dado un formulario, da trim() al valor de todos los campos de un formulario
function megaTrimForm(f){
	var i,t;
	var aInput=f.getElementsByTagName("input");
	var aAreas =f.getElementsByTagName("textarea");
	var a = aInput.concat(aAreas);
	
	
	
	for(i in a){
		if((a[i].type && (a[i].type=="text" || a[i].type=="password")) || (a[i].tagName=="textarea"))  trimTextField(a[i]);
	}
}



//deuelve el codigo de las opciones de un combo con las horas del dia 
getComboHour = function(selected){
	selected = parseInt(selected);
	var i,std="",s="",total=24;
	for(i=0;i<=total;i++){
		std=(selected && selected==i)? 'selected' : '';
		s+=('<option '+std+' value="'+i+'">'+i+':00</option>');
	}
	return s;
}


//deuelve el codigo de las opciones de un combo con los dias del mes 
getComboDay = function(total,selected){
	var i,std="",s="",total=(total||31);
	selected = parseInt(selected);
	for(i=1;i<=total;i++){
		std=(selected && selected==i)? 'selected' : '';
		s+=('<option '+std+' value="'+i+'">'+i+'</option>');
	}
	return s;
}

//deuelve el codigo de las opciones de un combo con los meses del aï¿½o 
getComboMonth = function(selected){
	//if(!hasValue(meses))
	meses=["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"];
	selected = parseInt(selected);
	var i,std="",s="",total=meses.length;
	for(i=1;i<=total;i++){
		std=(selected && selected==i)? 'selected' : '';
		s+=('<option '+std+' value="'+i+'">'+meses[i-1]+'</option>');
	}
	return s;
}

//deuelve el codigo de las opciones de un combo con los meses del aï¿½o 
getComboYear = function(minYear,maxYear,selected){
	var i,std="",s="";
	if(minYear>maxYear){i=minYear; minYear=maxYear; maxYear=i;}
	for(i=minYear;i<=maxYear;i++){
		std=(selected && selected==i)? 'selected' : '';
		s+=('<option '+std+' value="'+i+'">'+i+'</option>');
	}
	return s;
}

//devuelve el codigo de flash. values es un objeto con las variables para pasar a flash
getFlash=function(movie,width,height,values){
	var i,s='',code='';
	if(values){for(i in values)s+=('&'+i+'='+values[i]);movie+='?'+s.substring(1);}	
	code+='<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"  width="'+ width +'" height="'+ height +'">';
	code+='<param name="movie" value="'+ movie +'">';
	code+='<param name="quality" value="high">';
	code+='<param name="allowScriptAccess" value="always">';
	code+='<embed src="'+ movie +'" width="'+ width +'" height="'+ height +'" quality="high" allowScriptAccess="always" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"  ></embed></object>';
	return(code);
}


function openPop(theUrl,theName,theWidth,theHeight,scrollbars){
	scrollbars=(scrollbars)? 'Yes' : 'No';
	var centerX=screen.availWidth/2-theWidth/2 , centerY=screen.availHeight/2-theHeight/2;
	var theFeatures='menubar=no,status=no,location=no,resizable=no,left='+centerX+',top='+centerY+',scrollbars='+ scrollbars +',width='+theWidth+',height='+theHeight;
	var popWin=window.open(theUrl,theName,theFeatures);popWin.focus();
}

//Dado un texto, genera un extracto de n caracteres
getExtract = function(str , l){
	if(!l) l=150;
	return str.substring(0 , l) + '...' ; 
}





////////////////////////////   AJAX  ////////////////////////////
function getAjax() {
	var ajax;
	try {
		ajax = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			ajax = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			ajax = false;
		}
	}
	
	if (!ajax && typeof XMLHttpRequest!='undefined'){
		ajax = new XMLHttpRequest();
	}

	return ajax;
}

//Carga una tasbla Syncronous
getTableXML = function(tableFile){
	var ajax = getAjax();
	ajax.open("GET",tableFile,false);
	ajax.send(null);
	var i,x=ajax.responseXML,nMain=x.lastChild,oTable=[];
	for(i=0;i<nMain.childNodes.length;i++){
		var nSec=nMain.childNodes[i],attList=nSec.attributes,o={};
		if(attList){
			for(var e=0;e<attList.length;e++){
				var oAtt  = attList[e];
				o[oAtt.name] = oAtt.value;
			}
			if(nSec.firstChild && nSec.firstChild.nodeValue) o.texto = nSec.firstChild.nodeValue;
			oTable.push(o);
		}
	}
	return oTable;
}

//Carga una tasbla Syncronous
getTreeXML = function(tableFile){
	var ajax = getAjax();
	ajax.open("GET",tableFile,false);
	ajax.send(null);
	var i,x=ajax.responseXML,nMain=x.lastChild,oTable=[];
	
	var arrNodes = nMain.getElementsByTagName('tt');
	for(i=0;i<arrNodes.length;i++){
		var oNode = arrNodes[i];
		var o = {};
		o.id = oNode.getElementsByTagName('id')[0].firstChild.nodeValue;
		o.es = oNode.getElementsByTagName('es')[0].firstChild.nodeValue;
		o.en = oNode.getElementsByTagName('en')[0].firstChild.nodeValue;
		
		oTable.push(o);
	}
	return oTable;
}

/*
//Carga una tasbla Syncronous
getVideosXML = function(tableFile){
	var ajax = getAjax();
	ajax.open("GET",tableFile,false);
	ajax.send(null);
	var i,x=ajax.responseXML,nMain=x.lastChild,oTable=[];
	
	var arrNodes = nMain.getElementsByTagName('video');
	for(i=0;i<arrNodes.length;i++){
		var oNode = arrNodes[i];
		var o = {};
		o.titulo = oNode.getElementsByTagName('titulo')[0].firstChild.nodeValue;
		o.descripcion = oNode.getElementsByTagName('descripcion')[0].firstChild.nodeValue;
		o.codigo = oNode.getElementsByTagName('codigo')[0].firstChild.nodeValue;
		
		oTable.push(o);
	}
	return oTable;
}
*/

//monta las solapas de las secciones (videos , imagenes , enlaces y descargas)
initOnLoad = function(){
	
	//Idioma por defecto.
	getSelectedLanguaje();
	
	//cargo XML con traducciones
	loadTranslationsXML();
	
	//Genero el menu de extras(videos imagenes, etc...)
//    initExtraMenu();
    
    
}


//Leo los meta y localizo el lang.
getSelectedLanguaje = function(){
	var arrMetas = document.getElementsByTagName('meta');
	for(var i=0;i<arrMetas.length;i++){
		var oMeta = arrMetas[i];
		if(oMeta.name=='lang'){
			document.selectedLanguaje = oMeta.content;
		}
	}
}


//Cargo xml de traducciones y recuerdo en memoria (20 kb, y ademas se cachea...)
loadTranslationsXML = function(){
	document.arrTranslations  = getTreeXML("config/xml/translations.xml");
}


//dado un id, retorna el termino en el idioma seleccionado
getTranslation = function(id_translation){
	for(var i=0;i<document.arrTranslations.length;i++){
		var oTranslation = document.arrTranslations[i];
		if(oTranslation.id==id_translation) return oTranslation[document.selectedLanguaje];
	}
	return false;
}



//Carga el XML de los banners y monta cadeneta de banners
mostrarBanners = function(){
	
	//Cargo el idioma por defecto
	getSelectedLanguaje();
	
	//Cargo xml de Banners
	var arrBanners = getTableXML("config/xml/banners.xml");
	
	//Genero codigo con los banners de mi idioma
	var code = '';
	for(var i=0;i<arrBanners.length;i++){
		var oBanner = arrBanners[i];
		if(oBanner.idioma == document.selectedLanguaje){
			code += '<div class="modulo_left"><a href="'+oBanner.href+'" ><img src="'+oBanner.src+'" border="0" /></a></div>';
		}
	}
	document.write(code);
}

/*
//Carga el XML de los videos de la home y monta listado
mostrarVideosHome = function(){
	
	//Cargo el idioma por defecto
	getSelectedLanguaje();
	
	//Cargo xml
	var arrVideosHome  = getVideosXML("config/xml/videosHome.xml");
	
	//Genero codigo con los banners de mi idioma
	var code = '';
    code += '<div id="div_videos" class="invisible">';
	code += '	<h2>Listado de videos</h2>';
	code += '	<ul >';
	
	for(var i=0;i<arrVideosHome.length;i++){
		var oVideo = arrVideosHome[i];
		
		code += '		<li>';
		code += '			<h3>' + oVideo.titulo + '</h3>';
		code += '			<p>' + oVideo.descripcion+ '</p>';
		code += '			<p>' + oVideo.codigo + '</p>';
		code += '		</li>';
		
	}
	code += '	</ul>';
    code += '</div>	';	
    
	document.write(code);
}
*/


//Inicia el menu de solapas 
initExtraMenu = function(){

    
    var oMenu = new MenuColorao();
    oMenu.init(null,null,null,"tab_head");
    var d = document;
    
    
    
    //localizo elementos
    var divImagenes = d.getElementById('div_imagenes');
    var divVideos = d.getElementById('div_videos');
    var divAudios = d.getElementById('div_audios');
    var divFicha = d.getElementById('div_ficha');
    

    //Monto menu de solapas
    if(divImagenes) oMenu.addItem(new MenuColorao().init(getTranslation('TAB_IMAGES') , null , function(){mostrarImagenes()}));
    if(divVideos) oMenu.addItem(new MenuColorao().init(getTranslation('TAB_VIDEOS') , null , function(){mostrarVideos()}));
    if(divAudios) oMenu.addItem(new MenuColorao().init(getTranslation('TAB_AUDIOS') , null , function(){mostrarAudios()}));
    if(divFicha) oMenu.addItem(new MenuColorao().init(getTranslation('TAB_FICHA') , null , function(){mostrarFicha()}));
    
	//Muestro todos los procesos y disparo el primer elemento
	oMenu.autoClick = true;
	oMenu.initMenu();    
    
}




//abre un video en el menu de solapas
verVideo = function(n){
    var oContent = document.arrVideos[n];
    var oDiv = document.getElementById('tab_screen');
    
	var flashCode = getFlash("big_player.swf" , 320 , 280, {video:oContent.src});
    var code = '<table><tr><td align="center" >';
    code += flashCode + '<br><br>';
    code += '<b>' + oContent.titulo + '</b><br>';
    code += '<p>' + oContent.descripcion  + '</p>';
    code += '</td></tr></table>';
	
	
    oDiv.innerHTML = code;
 
}

//abre una imagen en el menu de solapas
verImagen = function(n){
    var oContent = document.arrImagenes[n];
    var oDiv = document.getElementById('tab_screen');
    
    var code = '<table><tr><td align="center" >';
    code += '<img src="' + oContent.src + '"  /><br><br>';
    code += '<b>' + oContent.titulo + '</b><br>';
    code += '<p>' + oContent.descripcion  + '</p>';
    code += '</td></tr></table>';
    
    
    oDiv.innerHTML = code;
}



//abre un enlace en el menu de pestaÃ±as
verAudio = function(n){
    var oContent = document.arrAudios[n];
    var oDiv = document.getElementById('tab_screen');
    
	var flashCode = getFlash("big_player.swf" , 320 , 280, {audio:oContent.src});
    var code = '<table><tr><td align="center" >';
    code += flashCode + '<br><br>';
    code += '<b>' + oContent.titulo + '</b><br>';
    code += '<p>' + oContent.descripcion  + '</p>';
    code += '</td></tr></table>';
	
    oDiv.innerHTML = code;

}

/*
//abre una descarga en el menu de pestaÃ±as
verDescarga = function(n){
    var oContent = document.arrDescargas[n];
    var oDiv = document.getElementById('tab_screen');
    
    
    var code = '<table>';
    code += '<tr>';
    code += '<td>';
    code += '<h2 class="descarga" ><a class="orange" href="' + oContent.link + '">' + oContent.titulo + '</a></h2>';
    code += '<p>' + oContent.descripcion + '</p>';
    code += '</td>';
    code += '</tr>';
    code += '</table>';
    
    oDiv.innerHTML = code;
}
*/


mostrarVideos = function(){
    var d = document;
    
    
    //1 vez, recorro capa videos y genero objeto.
    if(!d.arrVideos){
        d.arrVideos = new Array();
        
        //Busco la capa de videos y monto array con contenidos
        var oDiv = document.getElementById('div_videos');
        var oUl = oDiv.getElementsByTagName('ul')[0];
        var arrContents = oUl.getElementsByTagName('li');


        for(var i=0;i<arrContents.length;i++){
            var oContent = arrContents[i];
            var obj = {};
            
            obj.titulo = oContent.getElementsByTagName('h3')[0].innerHTML;
            obj.descripcion = oContent.getElementsByTagName('p')[0].innerHTML;
            obj.ico = oContent.getElementsByTagName('img')[0].src;
            obj.src = oContent.getElementsByTagName('a')[0].href;
            
            d.arrVideos.push(obj);
        }
    }
    
    var oMenu = new MenuColorao();
    oMenu.init(null,null,null,"tab_menu");
    
    //genero contenidos
    for(var i=0;i<d.arrVideos.length;i++){
        oContent = d.arrVideos[i];
	    oMenu.addItem(new MenuColorao().init('<img  src="'+oContent.ico+'" alt="'+oContent.titulo+'" title="'+oContent.titulo+' : '+getExtract(oContent.descripcion)+'"  />' , false , 'javascript:verVideo('+i+')')); 
//	    oMenu.addItem(new MenuColorao().init(oContent.titulo , getExtract(oContent.descripcion) , 'javascript:verVideo('+i+')')); 
    }
 
 
 	//Muestro todos los procesos y disparo el primer elemento
	oMenu.autoClick = true;
	oMenu.initMenu();    
 
    
}


mostrarAudios = function(){
    var d = document;
    
    //!Âº vez, recorro capa videos y genero objeto.
    if(!d.arrAudios){
        d.arrAudios = new Array();
        
        //Busco la capa de videos y monto array con contenidos
        var oDiv = document.getElementById('div_audios');
        var oUl = oDiv.getElementsByTagName('ul')[0];
        var arrContents = oUl.getElementsByTagName('li');

        for(var i=0;i<arrContents.length;i++){
            var oContent  = arrContents[i];
            var obj = {};
            
            obj.titulo = oContent.getElementsByTagName('h3')[0].innerHTML;
            obj.descripcion = oContent.getElementsByTagName('p')[0].innerHTML;
            obj.ico = oContent.getElementsByTagName('img')[0].src;
            obj.src = oContent.getElementsByTagName('a')[0].href;
            d.arrAudios.push(obj);
        }
    }


    var oMenu = new MenuColorao();
    oMenu.init(null,null,null,"tab_menu");
    
    //genero contenidos
    for(var i=0;i<d.arrAudios.length;i++){
        var oContent = d.arrAudios[i];
	    oMenu.addItem(new MenuColorao().init('<img  src="'+oContent.ico+'" alt="'+oContent.titulo+'" title="'+oContent.titulo+' : '+getExtract(oContent.descripcion)+'"  />' , false , 'javascript:verAudio('+i+')')); 
//	    oMenu.addItem(new MenuColorao().init(oContent.titulo , getExtract(oContent.descripcion) , 'javascript:verAudio('+i+')')); 
    }
 
 
 	//Muestro todos los procesos y disparo el primer elemento
	oMenu.autoClick = true;
	oMenu.initMenu(); 
	

}




mostrarImagenes = function(){
    var d = document;
    
    //!Âº vez, recorro capa videos y genero objeto.
    if(!d.arrImagenes){
        d.arrImagenes = new Array();
        
        //Busco la capa de videos y monto array con contenidos
        var oDiv = document.getElementById('div_imagenes');
        var oUl = oDiv.getElementsByTagName('ul')[0];
        var arrContents = oUl.getElementsByTagName('li');

        for(var i=0;i<arrContents.length;i++){
            var oContent  = arrContents[i];
            var obj = {};
            obj.titulo = oContent.getElementsByTagName('h3')[0].innerHTML;
            obj.descripcion = oContent.getElementsByTagName('p')[0].innerHTML;
            obj.ico = oContent.getElementsByTagName('img')[0].src;
            obj.src = oContent.getElementsByTagName('a')[0].href;
            d.arrImagenes.push(obj);
        }
    }
    
    var oMenu = new MenuColorao();
    oMenu.init(null,null,null,"tab_menu");
    var d = document;
    
    //genero contenidos
    for(var i=0;i<d.arrImagenes.length;i++){
        var oContent = d.arrImagenes[i];
	    oMenu.addItem(new MenuColorao().init('<img  src="'+oContent.ico+'" alt="'+oContent.titulo+'" title="'+oContent.titulo+' : '+getExtract(oContent.descripcion)+'"  />' , false , 'javascript:verImagen('+i+')')); 
//	    oMenu.addItem(new MenuColorao().init('<img src="'+oContent.ico+'" />' , getExtract(oContent.descripcion) , 'javascript:verImagen('+i+')')); 
    }
 
 
 	//Muestro todos los procesos y disparo el primer elemento
	oMenu.autoClick = true;
	oMenu.initMenu();    
}


mostrarFicha = function(){
    var d = document;
    
    //Busco la capa de videos y monto array con contenidos
    var oDiv = document.getElementById('div_ficha');
    var oScreen = document.getElementById('tab_screen');
    var oMenu = document.getElementById('tab_menu');


	var oldCode = oDiv.innerHTML;
    var code = '<table><tr><td align="center" >';
    code += '<blockquote>';
    code += oldCode;
    code += '</blockquote>';
    code += '</td></tr></table>';

    
    oScreen.innerHTML=code;
    oMenu.innerHTML="";
}





///////////////////////////////////   BUSQUEDA   //////////////////////////////////////////

/*
//Tras buscar un query, localizo los textos y cambio el estilo de las parablas coincidentes.
colorearResultados = function(query){
	
	
	//Localizo capa contenidos y monto un array con los parrafos.	
	var oDiv = document.getElementById('div_contenido');
	var arrParrafos = oDiv.getElementsByTagName('p');
	
	//Para cada parrafo ....
	for(var i=0;i<arrParrafos.length;i++){
	
		//Localizo parrafo y texto
		var oParrafo = arrParrafos[i];
		var sTexto = oParrafo.innerHTML;
		
		//sustituyo palabra buscada la misma pero en naranja		
		var newJoin = '<span class="orange"><u>'+query+'</u></span>';
		var arrTramos = sTexto.split(query);
		sTexto = arrTramos.join(newJoin);
		
		//reemplazo el texto con la cadena cambiada.
		oParrafo.innerHTML = sTexto;
	}
}
*/




//////////////////////////////////////////   VALIDACIONES  ///////////////////////////////////


validateCharacter = function(oValue){
//	var validas = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
//	for(var i=0;i<oValue.length;i++) if(!contain(validas , oValue.charAt(i))) return setFormError(oCampo,getTranslation('ERR_EMPTY_QUERY') , cssError);

	var invalidas = '"$%&/()?¿:;,.<>*-+={}[]¡|@#';
	for(var i=0;i<invalidas.length;i++) if(contain(oValue , invalidas.charAt(i))) return false;
	return true;
}


//Valida el fiormulario de busqueda
function validateSearchForm(oForm){

	//
	var oCampo;
	var oValue;
	var cssError = 'form_error';
	
	///Valido query
	oCampo = oForm.query;
	oValue = trim(oCampo.value);
	oCampo.value = oValue;
	
	if(!hasValue(oValue) || oValue.length<3) return setFormError(oCampo,getTranslation('ERR_EMPTY_QUERY') , cssError);
	if(!validateCharacter(oValue)) return setFormError(oCampo,getTranslation('ERR_EMPTY_QUERY') , cssError);

	return true;
}


//Valida el fiormulario de autenticacion
function validateAutenticationForm(oForm){
	
	//
	var oCampo;
	var oValue;
	var cssError = 'form_error';
	
	///Valido email
	oCampo = oForm.email;
	oValue = trim(oCampo.value);
	oCampo.value = oValue;
	if(!hasValue(oValue)) return setFormError(oCampo,getTranslation('ERR_EMPTY_FIELD') , cssError);
	if(!isEmail(oValue)) return setFormError(oCampo,getTranslation('ERR_EMAIL_INVALID') , cssError);

	///Valido clave
	oCampo = oForm.clave;
	oValue = trim(oCampo.value);
	oCampo.value = oValue;
	if(!hasValue(oValue)) return setFormError(oCampo,getTranslation('ERR_EMPTY_FIELD') , cssError);
//	if(oValue.length<6 ||oValue.length>8) return setFormError(oCampo,getTranslation('ERR_PASS_INVALID') , cssError);

	return true;

}



/*
//Valida el fiormulario de recordar clave
function validateRememberPassForm(oForm){
	
	//
	var oCampo;
	var oValue;
	var cssError = 'form_error';
	
	///Valido email
	oCampo = oForm.email;
	oValue = trim(oCampo.value);
	oCampo.value = oValue;
	if(!hasValue(oValue)) return setFormError(oCampo,getTranslation('ERR_EMPTY_FIELD') , cssError);
	if(!isEmail(oValue)) return setFormError(oCampo,getTranslation('ERR_EMAIL_INVALID') , cssError);


	return true;

}



//valida el formulario de registro
function validateRegisterForm(oForm){
	
	//
	var oCampo;
	var oValue;
	var cssError = 'form_error';
	
	///Valido nombre
	oCampo = oForm.nombre;
	oValue = trim(oCampo.value);
	oCampo.value = oValue;
	if(!hasValue(oValue)) return setFormError(oCampo,getTranslation('ERR_EMPTY_FIELD') , cssError);

	///Valido apellidos
	oCampo = oForm.apellidos;
	oValue = trim(oCampo.value);
	oCampo.value = oValue;
	if(!hasValue(oValue)) return setFormError(oCampo,getTranslation('ERR_EMPTY_FIELD') , cssError);

	///Valido ciudad
	oCampo = oForm.ciudad;
	oValue = trim(oCampo.value);
	oCampo.value = oValue;
	if(!hasValue(oValue)) return setFormError(oCampo,getTranslation('ERR_EMPTY_FIELD') , cssError);

	///Valido email
	oCampo = oForm.email;
	oValue = trim(oCampo.value);
	oCampo.value = oValue;
	if(!hasValue(oValue)) return setFormError(oCampo,getTranslation('ERR_EMPTY_FIELD') , cssError);
	if(!isEmail(oValue)) return setFormError(oCampo,getTranslation('ERR_EMAIL_INVALID') , cssError);

	///Valido clave
	oCampo = oForm.clave;
	oValue = trim(oCampo.value);
	oCampo.value = oValue;
	if(!hasValue(oValue)) return setFormError(oCampo,getTranslation('ERR_EMPTY_FIELD') , cssError);
	if(oValue.length<6 ||oValue.length>8) return setFormError(oCampo,getTranslation('ERR_PASS_INVALID') , cssError);
	
	if(!validateCharacter(oValue)) return setFormError(oCampo,getTranslation('ERR_PASS_INVALID') , cssError);
//	var validas = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
//	for(var i=0;i<oValue.length;i++) if(!contain(validas , oValue.charAt(i))) return setFormError(oCampo,getTranslation('ERR_PASS_INVALID') , cssError);

	return true;
}
*/



//Valida el fiormulario de los contenidos
function validateAdminContentForm(oForm){
	
	
	//Variables 
	var oCampo;
	var oValue;
	var cssError = 'form_error';

	//recorro todos los elementos del formulario
	var aElements = oForm.elements;
	
	
	for(var i=0;i<aElements.length;i++){
		var oCampo = aElements[i];
		oValue = trim(oCampo.value);
		oCampo.value = oValue;


		//valido los obligatorios
		if(oCampo.getAttribute('required')){
		
			//Valido vacio ....
			if(!hasValue(oValue)) return setFormError(oCampo,getTranslation('ERR_EMPTY_FIELD') , cssError);
			
			//Email o traductor, valido email
			if(oCampo.id=="email" || oCampo.id=="traductor" )
			if(!isEmail(oValue)) return setFormError(oCampo,getTranslation('ERR_EMAIL_INVALID') , cssError);
			
			
		}
	}

	
	//Todo OK
	return true;
}



