/**
* Limita el tamanyo maximo de un textarea
* @param objTextArea: TextArea
* @param intTamanyo: Tamanyo maximo
*/
function fncLimitarTextArea(objTextArea, intTamanyo) {
    if (objTextArea.value.length >= intTamanyo) {
        objTextArea.value = objTextArea.value.substring(0, intTamanyo-1);
    }
}//fin fncLimitarTextArea

//*******************************************************************************
// * Funci?n: fncFormatearFechaCampo()
// * Autor: Eneko Rodriguez
// * Fecha Creaci?n:  
// * Objetivo: Actualiza el campo pasado con una fecha valida.
// *			P.E: 01012001 = 01/01/2001 
// * Par?metros: strPfFecha - valor del objeto fecha.
// *             strIdioma - idioma ('es' Castellano, 'eu' Euskera)
//*******************************************************************************

function fncFormatearFechaCampo(obj, strIdioma)
{
	intIdioma=0;
	if (strIdioma=='es')
		intIdioma=1;
	if (strIdioma=='eu')
		intIdioma=2;
	fecha=fncFormatearfecha(obj.value, intIdioma);
	obj.value=fecha;	
}

//
//*******************************************************************************
// * Funci?n: fncFormatearfecha()
// * Autor: Lorea Alonso
// * Fecha Creaci?n:  13/02/2004
// * Objetivo: Comprueba que el formato de la cadena pasada por parametro
// * corresponda al de una fecha.
// * Par?metros: strPfFecha - valor del objeto fecha.
// *             intPfIdioma - idioma (1 Castellano, 2 Euskera, 3 Ingles)
//*******************************************************************************

function fncFormatearfecha(strPfFecha, intPfIdioma) {

	var strSigno;
	var anomodif;
	var intResul;
	var strCadena=strPfFecha;
	var bolEusk = (intPfIdioma==3);
	var bolIng = (intPfIdioma==2);

	if ((strPfFecha.indexOf("/")!=-1) || (strPfFecha.indexOf("-")!=-1)) { // Tiene signo
		if (strPfFecha.indexOf("/")!=-1) strSigno="/";
		else if (strPfFecha.indexOf("-")!=-1) strSigno="-";
		if (fncBuscarsigno(strPfFecha,strSigno)==true) {
			if ((strPfFecha.length == 8) || (strPfFecha.length == 10)) {
				if (strPfFecha.length == 8) { // Dos digitos anyo
					if (bolEusk || bolIng) {
						anomodif=strPfFecha.substring(0,2);
					} else {
						anomodif=strPfFecha.substring(6,8);
					}
					intResul= 2050 - parseInt(anomodif,10);
					strSiglo = 20;
					if (intResul< 2000) {
						strSiglo = 19;
					}
					if (bolEusk || bolIng) {
						strCadena=strSiglo+strPfFecha.substring(0,2)+"/"+strPfFecha.substring(3,5)+"/"+strPfFecha.substring(6,8);
					} else {
						strCadena=strPfFecha.substring(0,2)+"/"+strPfFecha.substring(3,5)+"/"+strSiglo+strPfFecha.substring(6,8);
					}
				} else { // 4 digitos anyo
					if ((strPfFecha.length == 10) && (strPfFecha.indexOf("/")==-1) && (strPfFecha.indexOf("-")!=-1)) {
						if (bolEusk || bolIng) {
							strCadena=strPfFecha.substring(0,4)+"/"+strPfFecha.substring(5,7)+"/"+strPfFecha.substring(8,10);
						} else {
							strCadena=strPfFecha.substring(0,2)+"/"+strPfFecha.substring(3,5)+"/"+strPfFecha.substring(6,10);
						}
					}
				}
			} else {
				glbolcadena=false;
                        }
     		} else {
			glbolcadena=false;
		}
	} else { // No tiene signo
		if ((strPfFecha.length == 6) || (strPfFecha.length == 8)) {
			if (fncValidarNumeros(strPfFecha)==true) {
				if (strPfFecha.length == 6) { // Anyo 2 digitos
					if (bolEusk || bolIng) {
						anomodif=strPfFecha.substring(0,2);
					} else {
						anomodif=strPfFecha.substring(4,6);
					}
					intResul= 2050 - parseInt(anomodif,10);
					strSiglo = 20;
					if (intResul< 2000) {
						strSiglo = 19;
					}
					if (bolEusk || bolIng) {
						strCadena=strSiglo+strPfFecha.substring(0,2)+"/"+strPfFecha.substring(2,4)+"/"+strPfFecha.substring(4,6);
					} else {
						strCadena=strPfFecha.substring(0,2)+"/"+strPfFecha.substring(2,4)+"/"+strSiglo+strPfFecha.substring(4,6);
					}
				} else if (strPfFecha.length == 8) { // Anyo 4 digitos
					if (bolEusk || bolIng) {
						strCadena=strPfFecha.substring(0,4)+"/"+strPfFecha.substring(4,6)+"/"+strPfFecha.substring(6,8);
					} else {
						strCadena=strPfFecha.substring(0,2)+"/"+strPfFecha.substring(2,4)+"/"+strPfFecha.substring(4,8);
					}
				}
			} else {
				glbolcadena=false;
			}
		} else {
			glbolcadena=false;
		}
	}
	return strCadena;

}//Fin fncFormatearfecha

//*******************************************************************************
// * Funci?n: fncBuscarsigno()
// * Autor: Lorea Alonso
// * Fecha Creaci?n:  13/02/2004
// * Objetivo: Comprueba que la cadena pasada como parametro contenga el signo
// * pasado por parametro.
// * Par?metros: strPfCadena - cadena.
// * strPfSigno - signo.
//*******************************************************************************

function fncBuscarsigno(strPfCadena,strPfSigno)
{
  var bolEncontrado=false;
  var intContador=fncContarsigno(strPfCadena,strPfSigno);
  //alert('contador:'+intContador+strPfCadena.charAt(2)+strPfCadena.charAt(5));
  if (intContador==2)
  {
    if ((strPfCadena.charAt(2)==strPfSigno) && (strPfCadena.charAt(5)==strPfSigno))
    {
	bolEncontrado=true;
    }
  }
  return bolEncontrado;
}//Fin fncBuscarsigno

//*******************************************************************************
// * Funci?n: fncContarsigno()
// * Autor: Lorea Alonso
// * Fecha Creaci?n:  13/02/2004
// * Objetivo: Cuenta el n?mero de beces que aparece el signo en la cadena pasada
// * por parametro.
// * Par?metros: strPfCadena - cadena.
// * strPfSigno - signo.
//*******************************************************************************

function fncContarsigno(strPfCadena,strPfSigno)
{
 var intCont=0;
 if (strPfCadena.indexOf(strPfSigno)!=-1){

 for(var i=0;i<=(strPfCadena.length-1);i++)
 {

  if (strPfCadena.charAt(i)==strPfSigno)
   {
     intCont=intCont + 1;

   }
 }
}
  return intCont;
}//Fin fncContarsigno

function fncValidarNumeros(strPfNum)
{

 var bolok=true;
 for (var i=0;i<strPfNum.length;i++)
	{
	   if (strPfNum.charCodeAt(i)<48 || strPfNum.charCodeAt(i)>57)
	   {
             bolok=false;
	     break;

	   }
	}
 return bolok;
}//Fin fncValidarNumeros


// * Funcion: fncPasarMayusculas(obj)
// * Autor: Fernando Rodr?guez San Jos?
// * Fecha Creacion:  9 de enero de 2006
// * Objetivo: Pasar un campo alfanumerico a mayusculas
// *
// * Parametros: obj: el campo a transformar
//
function fncPasarMayusculas(obj)
{
	fncAdaptarCaracteresEspeciales(obj);
	obj.value=fncTrimCadena(obj.value);
	obj.value=obj.value.toUpperCase();
}//Fin fncPasarMayusculas

// * Funcion: fncAdaptarCaracteresEspeciales(obj)
// * Autor: Eneko Rodriguez
// * Fecha Creacion:  16 de enero de 2006
// * Objetivo: Prepara cualquier texto para q pueda ser utilizado en SQL
// *
// * Parametros: obj: el campo a transformar
//
function fncAdaptarCaracteresEspeciales(obj)
{
	//Filtramos los caracteres de escape m?s comunes
	//?,",',%
	/*obj.value=obj.value.replace("%","\\%");
	obj.value=obj.value.replace("?","?");
	obj.value=obj.value.replace("\'","\\'");
	obj.value=obj.value.replace("\"","\\\"");*/

	obj.value = fncReplaceAll(obj.value,"'","");
	obj.value = fncReplaceAll(obj.value,"?","");
	obj.value = fncReplaceAll(obj.value,"\'","");
	obj.value = fncReplaceAll(obj.value,"\"","");
	obj.value = fncReplaceAll(obj.value,"%","");
	obj.value = fncReplaceAll(obj.value,"&","");
	obj.value = fncReplaceAll(obj.value,"^","");
	obj.value = fncReplaceAll(obj.value,"<","");
	
}//Fin  fncAdaptarCaracteresEspeciales

//*******************************************************************************
// * Funcion: fncReplaceAll()
// * Autor: Irune Prado
// * Objetivo: Realiza un replaceAll de una variable usando el replace de js
//*******************************************************************************
function fncReplaceAll(string,charViejo,charNuevo) {
	temp = "" + string;
	while (temp.indexOf(charViejo)>-1) {
		pos= temp.indexOf(charViejo);
		temp = "" + (temp.substring(0, pos) + charNuevo + 
		temp.substring((pos + charViejo.length), temp.length));
	}
	return temp;
}

//*******************************************************************************
// * Funci?n: fncTrimCadena()
// * Autor: Lorea Alonso
// * Fecha Creaci?n:  13/02/2004
// * Objetivo: Elimina los caracteres en blanco que la cadena pasada por parametro
// * tenga por la izquierda y por la derecha.
// * Par?metros:-strPfCadena, cadena.
//*******************************************************************************

function fncTrimCadena(strPfCadena)
{
	
	var strCadenaizq=fncLtrimCadena(strPfCadena);
	var strCadenafinal=strCadenaizq;
	if (strCadenaizq.indexOf(" ")!=-1){
     	strCadenafinal=fncRtrimCadena(strCadenaizq);
   
	}
	return strCadenafinal;

}

//*******************************************************************************
// * Funci?n: fncLtrimCadena()
// * Autor: Lorea Alonso
// * Fecha Creaci?n:  13/02/2004
// * Objetivo: Elimina los caracteres en blanco por la izquierda que la cadena pasada por parametro
// * tenga por la izquierda y por la derecha.
// * Par?metros:-strPfCadena, cadena.
//*******************************************************************************
function fncLtrimCadena(VALUE){
var w_space = String.fromCharCode(32);
if(v_length < 1){
return"";
}
var v_length = VALUE.length;
var strTemp = "";

var iTemp = 0;

while(iTemp < v_length){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(iTemp,v_length);
break;
}
iTemp = iTemp + 1;
} //End While
return strTemp;
} //End Function

//*******************************************************************************
// * Funci?n: fncRtrimCadena()
// * Autor: Lorea Alonso
// * Fecha Creaci?n:  13/02/2004
// * Objetivo: Elimina los caracteres en blanco por la derecha que la cadena pasada por parametro
// * tenga por la izquierda y por la derecha.
// * Par?metros:-strPfCadena, cadena.
//*******************************************************************************

function fncRtrimCadena(VALUE){
var w_space = String.fromCharCode(32);
var v_length = VALUE.length;
var strTemp = "";
if(v_length < 0){
return"";
}
var iTemp = v_length -1;

while(iTemp > -1){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(0,iTemp +1);
break;
}
iTemp = iTemp-1;

} //End While
return strTemp;

} //End Function


/**
* Deshabilita o habilita texto para 3 campos determinados
* @param id1,id2,id3: Identificador de los campos a hablitar o deshabilitar
*/
function fncHabilitarText(id1,id2,id3)
{
	document.getElementById(id1).disabled=false;
	document.getElementById(id2).disabled=true;
	document.getElementById(id3).disabled=true;
	
	document.getElementById(id2).value='';
	document.getElementById(id3).value='';
}
/**
* Habilita el numero de copias
* @param id: Identificador del numero de copias
*/
function fncHabilitarNumcopias(id)
{
	document.getElementById(id).readOnly=false;
}
/**
* Deshabilita el numero de copias
* @param id: Identificador del numero de copias
*/
function fncNoHabilitarNumcopias(id)
{
	document.getElementById(id).readOnly=true;
	document.getElementById(id).value=1;
}
/**
* Deshabilita o habilita combos dependiendo del pais
* @param codPais: Codigo del pais q se recibe
*/
function fncComboCambiado(codPais)
{
	fncActivarProv(codPais);
}

/**
* Deshabilita o habilita combos dependiendo del pais
* @param codPais: Codigo del pais q se recibe
* @param ctePais: Constante de pais espaņa,por defecto 108
*/
function fncActivarProv(codPais,ctePais)
{

	if (ctePais==codPais || codPais=='')
	{
		document.getElementById("provincia").disabled=false;
		document.getElementById("municipio").disabled=false;
		document.getElementById("localizacion").disabled=false;
		document.getElementById("cargaLoca").disabled=false;
		document.getElementById("cargaMuni").disabled=false;
	}
	else 
	{
		document.getElementById("provincia").disabled=true;
		document.getElementById("municipio").disabled=true;
		document.getElementById("localizacion").disabled=true;
		document.getElementById("cargaLoca").disabled=true;
		document.getElementById("cargaMuni").disabled=true;
		
		document.getElementById("provincia").selectedIndex=0;
		document.getElementById("municipio").selectedIndex=0;
		document.getElementById("localizacion").selectedIndex=0;
	}
}

/**
* Deshabilita o habilita combos dependiendo del codigo baja
* @param campo: Campo del formulario
* @param id: Identificador del campo a deshablitar
*/
function fncDeshablitarObservaciones(campo,id)
{
	if(campo.value==''){
		document.getElementById(id).disabled=true;
		document.getElementById(id).value='';
	}
	else
		document.getElementById(id).disabled=false;
}
