/*##########################################################################
Autor: Aracnea Net LTDA http://www.aracnea.net 
			 Cll 26 No. 4A-45 piso 14 Bogotá - Colombia - Sur América
			 Tel (57)+(1)+6084057  
Fecha: 09/01/2004
Diseño de Interfaz Grafica:  Edgar Morán edgar@aracnea.net
Diseño e Implementacion de software: Edgar Morán edgar@aracnea.net
Usabilidad: Edgar Morán edgar@aracnea.net
Herramientas :
	- The RoOT(Interfaz Grafica) 1.2 
	- Cotizaciones 1.0
Aracnea Net LTDA 2002-2004 © Todos los derechos reservados
NOTA: La utilización de este software o partes del mismo sin previa autoriazación
escrita de Aracnea Net tendra las respectivas acciones legales en Colombia
y otros paises segun las leyes locales.
###########################################################################*/

function validar_contactenos(forma){
  if (!validar_informacion(forma.nombre,"Por favor ingrese su nombre.",false))
		return false;
  else if (!validar_informacion(forma.email,"Por favor ingrese el E-mail.","correo"))
		return false;
  else if (!validar_informacion(forma.empresa,"Por favor ingrese la empresa.",false))
		return false;
  else if (!validar_informacion(forma.cargo,"Por favor ingrese el cargo.",false))
		return false;
  else if (!validar_informacion(forma.telefono,"Por favor ingrese el teléfono.",false))
		return false;
  else if (!validar_informacion(forma.servicio_legal,"Por favor seleccione el servicio legal.",false))
		return false;
  else if (!validar_informacion(forma.hechos,"Por favor escriba los hechos de la consulta.",false))
		return false;
  else if (!validar_informacion(forma.preguntas,"Por favor escriba las preguntas de la consulta.",false))
		return false;
  return true;
}

/*** Funciones de Validación 
Web JS 1.0 
Fecha 04-06-2003
Desarrollado e Implementado por: Edgar Morán  edgar@aracnea.net
***/
function evaluar(orderco,orderC,orderT,total){
  if (orderco==orderC && orderco!=""){          
    if (orderT=="ASC"){
      document.getElementById('imagen'+orderco).src="images/desc.gif";
      document.getElementById('orderT').value="DESC";
    }
    else {      
      document.getElementById('imagen'+orderco).src="images/asc.gif";
      document.getElementById('orderT').value="ASC";
    }
    cambiar_color(orderco,total);
  }
  else {            
    document.getElementById('imagen'+orderC).src="images/asc.gif";    
    document.getElementById('orderC').value=orderC;
    document.getElementById('orderT').value="ASC";    
    cambiar_color(orderC,total);
  }  
}
function cambiar_color(id,total){
  for(i=1;i<=total;i++){
    document.getElementById('td' + id + i).style.background="#F2F2F2";
    document.getElementById('td' + id + i).style.color="darkred";
  }
}

function stylo(objeto,nombre){
  objeto.className=nombre;
}
function ordenar(objeto,nombre,orderco,orderC,orderT,opcion,estado,inicio,referencia,descripcion,id_cotizacion,fecha_inicio,fecha_fin){
  stylo(objeto,nombre)
  localizacion="?81bd0f46d2f6c1bbbc05599cc08c7371&opcion="+ opcion + "&estado="+ estado +"&inicio="+ inicio +"&orderco="+ orderC.value +"&orderC="+ orderco +"&orderT="+ orderT.value;
  if (referencia!="")
    localizacion= localizacion + "&referencia="+ referencia;
  if (descripcion!="")
    localizacion= localizacion + "&descripcion="+ descripcion;
  if (id_cotizacion!="")
    localizacion= localizacion + "&id_cotizacion="+ id_cotizacion;
  if (fecha_inicio!="")
    localizacion= localizacion + "&fecha_inicio="+ fecha_inicio;
  if (fecha_fin!="")
    localizacion= localizacion + "&fecha_fin="+ fecha_fin;
  document.location=localizacion;  
}

function salir(opcion,estado,inicio,orderco,orderC,orderT,referencia,descripcion,id_cotizacion,fecha_inicio,fecha_fin){
	localizacion="?81bd0f46d2f6c1bbbc05599cc08c7371&opcion=" + opcion + "&estado=" + estado + "&inicio=" +inicio + "&orderco=" + orderco + "&orderC=" + orderC + "&orderT=" + orderT;
  if (referencia!="")
    localizacion= localizacion + "&referencia="+ referencia;
  if (descripcion!="")
    localizacion= localizacion + "&descripcion="+ descripcion;
  if (id_cotizacion!="")
    localizacion= localizacion + "&id_cotizacion="+ id_cotizacion;
  if (fecha_inicio!="")
    localizacion= localizacion + "&fecha_inicio="+ fecha_inicio;
  if (fecha_fin!="")
    localizacion= localizacion + "&fecha_fin="+ fecha_fin;
  window.location.href=localizacion;
}
function encontrar_(valor){
	for (i=0;i<valor.length ; i++){
		
		if (valor.charAt(i)=="_")
			return i;
			
	}
	return -1;	
}

function  modificar_propiedades(opcion,estado,parametro,inicio,orderco,orderC,orderT,referencia,descripcion,id_cotizacion,fecha_inicio,fecha_fin){	
	localizacion="?81bd0f46d2f6c1bbbc05599cc08c7371&opcion=" + opcion + "&estado=" + estado + "&parametro=" + parametro + "&inicio="+ inicio + "&orderco=" + orderco + "&orderC=" + orderC + "&orderT=" + orderT;
  if (referencia!="")
    localizacion= localizacion + "&referencia="+ referencia;
  if (descripcion!="")
    localizacion= localizacion + "&descripcion="+ descripcion;
  if (id_cotizacion!="")
    localizacion= localizacion + "&id_cotizacion="+ id_cotizacion;
  if (fecha_inicio!="")
    localizacion= localizacion + "&fecha_inicio="+ fecha_inicio;
  if (fecha_fin!="")
    localizacion= localizacion + "&fecha_fin="+ fecha_fin;
  window.location.href=localizacion;
}
function validar_eliminar(forma,nombre_checkboxes){
	checkboxes=document.forms[forma.name].elements[nombre_checkboxes];
	total=(typeof(checkboxes.length) != 'undefined') ? checkboxes.length : 0;		
	if (total){
		for (i=0;i<total;i++)
			if (checkboxes[i].checked){
				if (confirm("Esta seguro de eliminar el(los) item(s) seleccionados?"))
					return true;
				else 
					return false;				
		  }
	}
	else {
		if (checkboxes.checked)		
			if (confirm("Esta seguro de eliminar el(los) item(s) seleccionados?"))
				return true;
			else 
				return false;
	}
	alert("Por favor seleccione (el)los item(s) a eliminar.");
	return false;
}

function estado_checkboxes(forma,nombre_checkboxes){
		checkboxes=document.forms[forma.name].elements[nombre_checkboxes];
		total=(typeof(checkboxes.length) != 'undefined') ? checkboxes.length : 0;		
		if (total){
			for (i=0;i<total;i++){
				if (checkboxes[i].disabled==false)
					checkboxes[i].checked = forma.seleccionar.checked;			
			}
		}
		else {
			if (checkboxes.disabled==false)
				checkboxes.checked = forma.seleccionar.checked;		
		}
}

//function trim
function formato_numerico(valor){
	var valor_formateado="";
	for (i=valor.length-3, x=0; i>=1 ;i=i-3,x++ )
		valor_formateado="." + valor.substr(i,3) + valor_formateado;
	valor_formateado=valor.substr(0,valor.length%3) + valor_formateado;
	return valor_formateado;
	
}

function limpiar_decimales(valor){
	valor = new String(valor);
	fin=encontrar_punto(valor);
	if (fin>=0){
		return valor.substr(0,fin);
	}
	else if (fin==-1)
		return valor;
	else
		return 0;

}

function encontrar_punto(valor){
	for (i=0;i<valor.length ; i++){
		
		if (valor.charAt(i)==".")
			return i;
			
	}
	return -1;	
}

function validar_informacion(campo,mensaje,tipo){	
	if (tipo=="menu")
		campo=campo.options[campo.selectedIndex];		
	
	
	if (!tiene_informacion(campo))
		return imprimir_alerta(campo,mensaje,tipo);
	

	if (tipo=="entero" || tipo=="flotante"){
		if (!es_nuerico(campo,tipo))
			return false;
	}
	if (tipo=="clave"){
		if (!validar_clave(campo))
			return false;
	}
	if (tipo=="dia" || tipo=="mes" || tipo=="ano"){
		if (!es_nuerico(campo,tipo))
			return false;
	}
	if (tipo=="csv"){
		valor = new String(campo.value);		
		if (valor.substr((valor.length-4),valor.length)!=".csv"){
			imprimir_alerta(campo,"El archivo seleccionado debe tener de tipo csv",tipo);
			return false;
		}
		
	}
	if (tipo=="archivo"){
		myRe=/.txt$/;
		myArray = myRe.exec(campo.value);
		if (myArray==null){
			imprimir_alerta(campo,"El archivo debe ser txt",tipo)
			return false;
		}
	
	}
  	if (tipo=="imagen"){
		myRe=/.jpg$/;
		myArray = myRe.exec(campo.value);
		myRe=/.gif$/;
		myArray1 = myRe.exec(campo.value);
		myRe=/.png$/;
		myArray2 = myRe.exec(campo.value);
		
		if (myArray==null && myArray1==null && myArray2==null ){
			imprimir_alerta(campo,"El archivo debe ser jpg, gif o png",tipo)
			return false;
		}
	
	}
	if (tipo=="textoR"){
		myRe=/^([ a-zA-Z0-9_-]+)$/;
		myArray = myRe.exec(campo.value);
		if (myArray==null) {
			imprimir_alerta(campo,"El texto solo puede tener los siquientes caracteres alfa numericos(a-zA-Z0-9_- )",tipo)
			return false
		}
	}
	if (tipo=="correo") {
		if (!validar_correo(campo))
			return false;
	}
	return true;	
	
}
function validar_correo(campo){
	myRe=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
	str = campo.value;
	myArray = myRe.exec(str);
	if (myArray!=null)
			return true;
	else
		imprimir_alerta(campo,"Ingrese una direccion de correo valida. Ej contratos@cubara.gov.co","")
}


function tiene_informacion(campo){
	for (i=0;i<campo.value.length ; i++){
		if (campo.value.charAt(i)!=" ")
			return true;
	}	
	return false;
}

function validar_clave(campo){
	if (campo.value.length>=5){
		myRe=/^([0-9A-Za-zñ]+)$/;
		myArray = myRe.exec(campo.value);
		if (myArray!=null)
			return true;
		else {
			alert("Ingrese una clave valida. La clave solo debe contener numeros y/o letras a-z o A-Z");
			campo.value="";
			campo.focus();
			return false;
		}
	}
	else
		imprimir_alerta(campo,"La nueva clave debe contener por lo menos 5 caracteres","")
}
function es_nuerico(campo,tipo){
	if (tipo=="flotante"){
		if (isNaN(campo.value) || campo.value <= 0)
			return imprimir_alerta(campo,"El dato debe ser un numero mayor de 0. EJ  23.44","");
	}
	else if (tipo=="entero"){
		myRe=new RegExp("[.]")
		myArray = myRe.exec(campo.value);
		if (myArray!=null || isNaN(campo.value) || campo.value < 0)
			return imprimir_alerta(campo,"El dato debe ser un numero entero mayor de 0. Ej 12","");
	}
	else if (tipo=="dia" || tipo=="mes" || tipo=="ano"){
		myRe=new RegExp("[.]")
		myArray = myRe.exec(campo.value);
		if ((myArray!=null || isNaN(campo.value) || campo.value <= 0 || campo.value > 31) && tipo=="dia")
			return imprimir_alerta(campo,"El dia debe ser un numero entero entre 1 y 31. Ej 12","");
		else if ((myArray!=null || isNaN(campo.value) || campo.value <= 0 || campo.value > 12) && tipo=="mes")
			return imprimir_alerta(campo,"El mes debe ser un numero entero entre 1 y 12. Ej 12","");
		else if ((myArray!=null || isNaN(campo.value) || campo.value < 1970 || campo.value > 2037) && tipo=="ano"){
			return imprimir_alerta(campo,"El ano deber un numero entero de cuatro digitos entre 1970 y 2037. Ej 2003","");
		}

	}
	return true;
}

function imprimir_alerta(campo,mensaje,tipo){
	alert(mensaje);
	if(tipo!="menu" && tipo!="archivo" && tipo!="imagen" ){
		if (tipo!="csv")
			campo.value="";
		campo.focus();
	}
	
	return false
}