// JavaScript Document

function estaVacio (texto){
	if (texto == null || texto == ""){ 
		return true;
	}
	return false;
}


function enteroPositivo(inputVal){
	inputStr=""+inputVal
	for(var i=0;i<inputStr.length;i++){
		var oneChar=inputStr.charAt(i)
		if(oneChar<"0"||oneChar>"9"){
			return false
		}
	}
		return true
}

function validarCorreo(correo) {
	var posArroba;
	var posPunto;
	var nombre;
	var servidor;
	var dominio;
	    
   if (correo!="") {
       posArroba=correo.indexOf("@");
       //Se comprueba que tenga una @
       if ((posArroba!=-1)) {
           nombre=correo.substring(0,posArroba);  
           //comprobar q hay por lo menos un caracter antes de la @
           if (nombre!="") {
			   correo=correo.substring(posArroba+1,correo.length);
               posPunto=correo.indexOf(".");
               //comprobar que existe un punto.
	           if(posPunto!=-1) {
                    servidor=correo.substring(0,posPunto);
	                //comprobar que tiene la parte servidor	            
                    if (servidor!="") {
                        dominio=correo.substring(posPunto+1,correo.length);
						posPunto=dominio.indexOf(".");
						while (posPunto!=-1) {
	                        dominio=dominio.substring(posPunto+1,correo.length);
							posPunto=dominio.indexOf(".");
						}
                        if (dominio.length>=2 && dominio.length<=3) {
								return(true);
                         }else{
	                          return(false);
	                     }
	                 }else{
	                    return(false);
	                 }
                 }else{
                        return(false);
                 }
            }else{
                return(false);
            }    	    
        }else{
           return(false);
        }
   }
}

function form_correo_com(formulario,param){
	if (estaVacio(formulario.empresa.value) || estaVacio(formulario.desde.value)||estaVacio(formulario.asunto.value) || estaVacio(formulario.mensaje.value) || estaVacio(formulario.pais.value)){
		switch(param){
			case "es": alert("Rellene los campos con asterísco, por favor.");  break;
			case "en": alert("Fill in the fields with an asterisk, please.");  break;
			case "pt": alert("Rechee os campos con asterísco, por favor");  break;
			case "gz": alert("Rechee os campos con asterísco, por favor");  break;
		}
		
	}else if(!validarCorreo(formulario.desde.value)){
		switch(param){
			case "es": alert("Dirección de correo errónea."); formulario.desde.focus(); break;
			case "en": alert("E-mail address is wrong."); formulario.desde.focus(); break;
			case "pt": alert("Dirección de correo errada"); formulario.desde.focus(); break;
			case "gz": alert("Enderezo de correo electrónico errado."); formulario.desde.focus(); break;
		}
	}else{
		formulario.submit();
	}
}

function form_validar(formulario,param){
	if (estaVacio(formulario.pass.value) || estaVacio(formulario.user.value)){
		switch(param){
			case "es": alert("Rellene los campos con asterísco, por favor.");  break;
			case "en": alert("Fill in the fields with an asterisk, please.");  break;
			case "pt": alert("Rechee os campos con asterísco, por favor");  break;
			case "gz": alert("Rechee os campos con asterísco, por favor");  break;
		}
	}else{
		formulario.submit();
	}
}

function form_correo_sat(formulario,param){
	if (estaVacio(formulario.empresa.value) || estaVacio(formulario.desde.value)||estaVacio(formulario.asunto.value) || estaVacio(formulario.mensaje.value) || estaVacio(formulario.pais.value)|| estaVacio(formulario.version.value) || estaVacio(formulario.os.value)){
		switch(param){
			case "es": alert("Rellene los campos con asterísco, por favor.");  break;
			case "en": alert("Fill in the fields with an asterisk, please.");  break;
			case "pt": alert("Rechee os campos con asterísco, por favor");  break;
			case "gz": alert("Rechee os campos con asterísco, por favor");  break;
		}
		
	}else if(!validarCorreo(formulario.desde.value)){
		switch(param){
			case "es": alert("Dirección de correo errónea."); formulario.desde.focus(); break;
			case "en": alert("E-mail address is wrong."); formulario.desde.focus(); break;
			case "pt": alert("Dirección de correo errada"); formulario.desde.focus(); break;
			case "gz": alert("Enderezo de correo electrónico errado."); formulario.desde.focus(); break;
		}
	}else{
		formulario.submit();
	}
}


function form_descargas(formulario,param){

if (estaVacio(formulario.f_nombre.value) || estaVacio(formulario.f_apellido.value)||estaVacio(formulario.f_telefono.value) || estaVacio(formulario.f_email.value)){
		switch(param){
			case "es": alert("Rellene los campos con asterísco, por favor.");  break;
			case "en": alert("Fill in the fields with an asterisk, please.");  break;
			case "pt": alert("Rechee os campos con asterísco, por favor");  break;
			case "gz": alert("Rechee os campos con asterísco, por favor");  break;
		}
		
	}else if(!validarCorreo(formulario.f_email.value)){
		switch(param){
			case "es": alert("Dirección de correo errónea."); formulario.desde.focus(); break;
			case "en": alert("E-mail address is wrong."); formulario.desde.focus(); break;
			case "pt": alert("Dirección de correo errada"); formulario.desde.focus(); break;
			case "gz": alert("Enderezo de correo electrónico errado."); formulario.desde.focus(); break;
		}
	}else{
		formulario.submit();
	}
}

function rellenarCombo(combo,lista){
	var eltos = lista.split(",");
	var brw=navigator.userAgent	
	for(var indice in eltos) { 
		var option = document.createElement('option');
		 // añadir el elemento option y sus valores
      	combo.options.add(option, indice);
		if(brw.indexOf("Firefox")!=-1){
			combo.options[indice].nodeValue = eltos[indice];
      		combo.options[indice].textContent = eltos[indice];
		}else{
			combo.options[indice].value = eltos[indice];
      		combo.options[indice].innerText = eltos[indice];
		}
		
	}
}


function seleccionarCombo(combo,op){
	combo.value = op
}

function activarCD(form){
	if(form.f_cd.checked == true){ 
			form.f_cdr.value=42
	}else{
			form.f_cdr.value=0
	}
	seleccionarServicio(form.f_servicio,form)
	calcularIva(form)
	calcularTotalFinal(form)
}

function seleccionarServicio(combo,form){
	var b = combo.value	
	var txt = form.f_servicior
	
	var total= parseFloat(form.f_suma.value)
	var cdr= parseFloat(form.f_cdr.value)
	var base = parseFloat(eval(total + cdr))
	alert (parseFloat(form.f_suma.value))
	var aux=0
	if(b.indexOf("0")!=-1){ //si encuentra 0% ha elegido opcion1
	aux = eval(parseFloat(base) * 0.0)
	}else if(b.indexOf("15")!=-1){ //si encuentra 15% ha elegido opcion2
	aux = eval(parseFloat(base * 0.15))
	}else if(b.indexOf("25")!=-1){ //si encuentra 25% ha elegido opcion3
	aux = eval(parseFloat(base * 0.25))
	}
	txt.value = aux.toFixed(2)
	calcularIva(form)
	calcularTotalFinal(form)
}

function calcularIva(form)	{
	var total= parseFloat(form.f_suma.value)
	var cdr= parseFloat(form.f_cdr.value)
	var base = parseFloat(eval(total + cdr))
	base = eval(parseFloat(base) + parseFloat(form.f_servicior.value))
	var iva = eval(parseFloat(base) * 0.18)
	form.f_iva.value = iva.toFixed(2)
	calcularTotalFinal(form)
}

function calcularTotalFinal(form){
	var total=eval(parseFloat(form.f_suma.value) + parseFloat(form.f_cdr.value) + parseFloat(form.f_servicior.value) + parseFloat(form.f_iva.value))
	form.f_total.value = total.toFixed(2)
}

function asignarValores(obj,valor){
	obj.value = valor	
}

function convertirFloat(val){
	return eval(parseFloat(val))
}
