

var submitted = 0;
function LockButton (form,element) {
if ( ! submitted ) {
form.elements[element].disabled=true;
submitted = 1;
form.submit;
}
else { alert("El formulario ya ha sido enviado, por favor espere"); }
}



var patron = new Array(2,2,4)
var patron2 = new Array(1,3,3,3,3)
var patron3 = new Array(2,4)
var patron4 = new Array(1,3,3,3,3)
function mascara(d,sep,pat,nums){
if(d.valant != d.value){
	val = d.value
	largo = val.length
	val = val.split(sep)
	val2 = ''
	for(r=0;r<val.length;r++){
		val2 += val[r]	
	}
	if(nums){
		for(z=0;z<val2.length;z++){
			if(isNaN(val2.charAt(z))){
				letra = new RegExp(val2.charAt(z),"g")
				val2 = val2.replace(letra,"")
			}
		}
	}
	val = ''
	val3 = new Array()
	for(s=0; s<pat.length; s++){
		val3[s] = val2.substring(0,pat[s])
		val2 = val2.substr(pat[s])
	}
	for(q=0;q<val3.length; q++){
		if(q ==0){
			val = val3[q]
		}
		else{
			if(val3[q] != ""){
				val += sep + val3[q]
				}
		}
	}
	d.value = val
	d.valant = val
	}
}

function puntitos(donde,caracter,campo)
{
var decimales = false
campo = eval("donde.form." + campo)
	for (d =0; d < campo.length; d++)
		{
		if(campo[d].checked == true)
			{
			dec = new Number(campo[d].value)
			break;
			}
		}
	if (dec != 0)
		{decimales = true}




pat = /[\*,\+,\(,\),\?,\\,\$,\[,\],\^]/
valor = donde.value
largo = valor.length
crtr = true
if(isNaN(caracter) || pat.test(caracter) == true)
	{
	if (pat.test(caracter)==true) 
		{caracter = "\\" + caracter}
	carcter = new RegExp(caracter,"g")
	valor = valor.replace(carcter,"")
	donde.value = valor
	crtr = false
	}
else
	{
	var nums = new Array()
	cont = 0
	for(m=0;m<largo;m++)
		{
		if(valor.charAt(m) == "." || valor.charAt(m) == " " || valor.charAt(m) == ",")
			{continue;}
		else{
			nums[cont] = valor.charAt(m)
			cont++
			}
		
		}
	}

if(decimales == true) {
	ctdd = eval(1 + dec);
	nmrs = 1
	}
else {
	ctdd = 1; nmrs = 3
	}
var cad1="",cad2="",cad3="",tres=0
if(largo > nmrs && crtr == true)
	{
	for (k=nums.length-ctdd;k>=0;k--){
		cad1 = nums[k]
		cad2 = cad1 + cad2
		tres++
		if((tres%3) == 0){
			if(k!=0){
				cad2 = "." + cad2
				}
			}
		}
		
	for (dd = dec; dd > 0; dd--)	
	{cad3 += nums[nums.length-dd] }
	if(decimales == true)
	{cad2 += "," + cad3}
	 donde.value = cad2
	}
donde.focus()
}	


function IsNumber(e) {

tecla = (document.all) ? e.keyCode : e.which;

if (tecla==8) return true;

patron = /\d/; // Solo acepta nÃºmeros

te = String.fromCharCode(tecla);

return patron.test(te);

}
	  

function validar(objeto){
	
	if (objeto.value==""){objeto.value=0}
	//objeto.value=new NumberFormat(objeto.value).Numero()
	objeto.value=new NumberFormat(objeto.value).toFormatted();
}

function NumberFormat(num)
{
	// member variables
	this.num;

	// external methods
	this.setNumber = setNumberNF;
	this.toFormatted = toFormattedNF;
	this.Numero = NumeroNF;
	this.setNumber((num==null) ? 0 : num);

}

function setNumberNF(num)
{
	this.num = num;
}

function toFormattedNF() {
	var n=new String(this.num)
	n=formatNumber(n,".##0,00")
	//CUANDO QUERAMOS QUITAR DECIMALES
	//n=formatNumber(n,".##0")
	return n
}
// CONSTANTS
var separator = ".";
var decpoint = ",";

function formatNumber(number, format) {
	
number=number.replace(/,/g,".")
if (isNaN(number)) {
	
	alert("El dato debe ser un número.")
	number="0,00"
	return number
	}
else {if (number<0) {alert("El campo debe ser un número positivo.");number="0,00";return number}}
//  if (number - 0 != number) return null; // if number is NaN return null
var useSeparator = format.indexOf(separator) != -1; // use separators in number
format = strip(format, separator); // remove key characters
number = "" + number; // convert number input to string
number=poner_coma(number)
// split number and format into LHS and RHS using decpoint as divider
var dec = number.indexOf(decpoint) != -1;
var nleftEnd = (dec) ? number.substring(0, number.indexOf(",")) : number;
var nrightEnd = (dec) ? number.substring(number.indexOf(",") + 1) : "";
    
dec = format.indexOf(decpoint) != -1;
var sleftEnd = (dec) ? format.substring(0, format.indexOf(",")) : format;
var srightEnd = (dec) ? format.substring(format.indexOf(",") + 1) : "";
	
// adjust decimal places by cropping or adding zeros to LHS of number
if (srightEnd.length < nrightEnd.length) {
	var nextChar = nrightEnd.charAt(srightEnd.length) - 0;
    nrightEnd = nrightEnd.substring(0, srightEnd.length);
    if (nextChar >= 5) nrightEnd = "" + ((nrightEnd - 0) + 1); // round up

	// patch provided by Patti Marcoux 1999/08/06
    while (srightEnd.length > nrightEnd.length) {
		nrightEnd = "0" + nrightEnd;
    }

    if (srightEnd.length < nrightEnd.length) {
		nrightEnd = nrightEnd.substring(1);
        nleftEnd = (nleftEnd - 0) + 1;
    }
}
else {
    for (var i=nrightEnd.length; srightEnd.length > nrightEnd.length; i++) {
		if (srightEnd.charAt(i) == "0") nrightEnd += "0"; // append zero to RHS of number
        else break;
    }
}

// adjust leading zeros
sleftEnd = strip(sleftEnd, "#"); // remove hashes from LHS of format
nleftEnd = strip(nleftEnd, separator); // remove key characters
    
while (sleftEnd.length > nleftEnd.length) {
	nleftEnd = "0" + nleftEnd; // prepend zero to LHS of number
}

// patch provided by Drew Degentesh 2001/02/07
var isNegative = (nleftEnd.length > 0 && nleftEnd.charAt(0) == "-");
if (isNegative) nleftEnd = nleftEnd.substring (1);

if (useSeparator) nleftEnd = separate(nleftEnd, separator); // add separator
var output = nleftEnd + ((nrightEnd != "") ? "," + nrightEnd : ""); // combine parts
return (isNegative ? "-" : "") + output;
}

function imprimir() {
	window.print();
}


function embedFlash(ubicacion,pelicula,ancho,alto,desc){
     document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="'+ancho+'" height="'+alto+'" title="'+desc+'">');
      document.write('<param name="movie" value="'+ubicacion+pelicula+'.swf" />');
      document.write('<param name="quality" value="high" />');
      document.write('<param name="wmode" value="transparent" />');
      document.write('<embed src="'+ubicacion+pelicula+'.swf" width="'+ancho+'" height="'+alto+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent"></embed>');
     document.write('</object>');
}

/*
function elmapa(ubicacion,pelicula,ancho,alto){
	document.getElementById('PonMapa').innerHTML = '
	<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="'+ancho+'" height="'+alto+'" title="Men&uacute; de navegaci&oacute;n">
	<param name="movie" value="'+ubicacion+pelicula+'.swf" />
	<param name="quality" value="high" />
	<param name="wmode" value="transparent" />
	<embed src="'+ubicacion+pelicula+'.swf" width="'+ancho+'" height="'+alto+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent"></embed>
	</object>';
}
*/
function Validar() {
	if (document.forms['contacto'].elements['email'].value == "") {
		alert ("\n Por favor introduzca una cuenta de correo.")
		document.forms['contacto'].elements['email'].focus();
		return false;
	}
	if (document.forms['contacto'].elements['email'].value.indexOf ('@',0) == -1 ||
	document.forms['contacto'].elements['email'].value.indexOf ('.',0) == -1) {
		alert ("\n Debe utilizar una cuenta de correo valida.")
		document.forms['contacto'].elements['email'].select();
		document.forms['contacto'].elements['email'].focus();
		return false;
	}
	return true;
}




function abrir( web, alto, ancho ) {
	if ( window.pantmsg ) { pantmsg.close(); }
	pantmsg = open(web, 'pantmsg',"top=" + (screen.height - alto) / 2 + ",left=" + (screen.width - ancho) / 2 + ",toolbar=no,width=" + ancho + ",height=" + alto + ",directories=no,status=no,scrollbars=no,resize=no,menubar=no");
	pantmsg.focus();
}


var form = "";
var submitted = false;
var error = false;
var error_message = "";

function check_input(field_name, field_size, message) {
	if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
		var field_value = form.elements[field_name].value;

		if (field_value == '' || field_value.length < field_size) {
			error_message = error_message + "* " + message + "\n";
			error = true;
		}
	}
}

function check_radio(field_name, message) {
	var isChecked = false;

	if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
		var radio = form.elements[field_name];

		for (var i=0; i<radio.length; i++) {
			if (radio[i].checked == true) {
				isChecked = true;
				break;
			}
		}

		if (isChecked == false) {
			error_message = error_message + "* " + message + "\n";
			error = true;
		}
	}
}

function check_select(field_name, field_default, message) {
	if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
		var field_value = form.elements[field_name].value;

		if (field_value == field_default) {
			error_message = error_message + "* " + message + "\n";
			error = true;
		}
	}
}

function check_password(field_name_1, field_name_2, field_size, message_1, message_2) {
	if (form.elements[field_name_1] && (form.elements[field_name_1].type != "hidden")) {
		var password = form.elements[field_name_1].value;
		var confirmation = form.elements[field_name_2].value;

		if (password == '' || password.length < field_size) {
			error_message = error_message + "* " + message_1 + "\n";
			error = true;
		} else if (password != confirmation) {
			error_message = error_message + "* " + message_2 + "\n";
			error = true;
		}
	}
}

function check_password_new(field_name_1, field_name_2, field_name_3, field_size, message_1, message_2, message_3) {
	if (form.elements[field_name_1] && (form.elements[field_name_1].type != "hidden")) {
		var password_current = form.elements[field_name_1].value;
		var password_new = form.elements[field_name_2].value;
		var password_confirmation = form.elements[field_name_3].value;

		if (password_current == '' || password_current.length < field_size) {
			error_message = error_message + "* " + message_1 + "\n";
			error = true;
		} else if (password_new == '' || password_new.length < field_size) {
			error_message = error_message + "* " + message_2 + "\n";
			error = true;
		} else if (password_new != password_confirmation) {
			error_message = error_message + "* " + message_3 + "\n";
			error = true;
		}
	}
}

function check_form(form_name) {
	if (submitted == true) {
		alert("Ya ha enviado el formulario. Pulse Aceptar y espere a que termine el proceso.");
		return false;
	}

	error = false;
	form = form_name;
	error_message = "Hay errores en su formulario!\nPor favor, haga las siguientes correciones:\n\n";

	check_input("Nombre", 2, "Su Nombre debe tener al menos 2 letras.");
	check_input("Apellidos", 5, "Sus Apellidos deben tener al menos 5 letras.");
	check_input("DNI", 5, "Su DNI debe tener al menos 5 letras.");

	check_input("Email", 6, "Su direccion de E-Mail debe tener al menos 6 letras.");
	check_input("Direccion", 5, "Su direccion debe tener al menos 5 letras.");
	check_input("CP", 4, "Su codigo postal debe tener al menos 4 letras.");
	check_input("Ciudad", 3, "Su poblacion debe tener al menos 3 letras.");

	check_input("Provincia", 2, "Su provincia debe tener al menos 2 letras.");

	check_select("Pais", "", "Debe seleccionar un pais de la lista desplegable.");

	check_input("Telefono", 9, "Su numero de telefono debe tener al menos 9 letras.");

	check_password("password", "confirmation", 5, "Su contraseña debe tener al menos 5 letras.", "La confirmación de la contraseña debe ser igual a la contraseña.");
	check_password_new("password_current", "password_new", "password_confirmation", 5, "Su contraseña debe tener al menos 5 letras.", "Su contraseña nueva debe tener al menos 5 letras.", "La confirmacion de su contraseña debe coincidir con su contraseña nueva.");

	if (error == true) {
		alert(error_message);
		return false;
	} else {
		submitted = true;
		return true;
	}

}

function procesa_datos_contacto() {
	
	var enviar = "no";
	if (!isEmailAddress(document.frm_datosper.email.value)) {
			
			enviar = "no";
			document.frm_datosper.email.value = '';
			document.frm_datosper.email.focus();
			alert('Utilice un E-mail válido')
			
		}
		else {
			
			enviar = "si";
			if (document.frm_datosper.email.value!=document.frm_datosper.re_email.value) {
				
				enviar = "no";
				document.frm_datosper.re_email.focus();
			alert('El campo Repetir E-mail no coincide con el de E-mail.')
				
			}
			else {
				
				enviar = "si";
				if (document.frm_datosper.nombre.value=="") {
					
					enviar = "no";
					document.frm_datosper.nombre.focus();
			alert('Rellene el campo nombre, con su nombre y apellidos.')
				}
				else {
					enviar = "si";
					if (document.frm_datosper.telefono.value=="" || document.frm_datosper.telefono.value.length<9) {
						enviar = "no";
						document.frm_datosper.telefono.focus();
						alert('Rellene correctamente el teléfono. Tiene que tener 9 dígitos.');
					}
					else {
						enviar = "si";
						
						document.frm_datosper.submit();
						
						
					}
					
				}
				
				
				
				
			}
			
			
		}
	
	
	
	
	
}

	function isEmailAddress(email)
{
var s = email;
var filter=/^[A-Za-z-_.][A-Za-z0-9-_.]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
if (s.length == 0 ) return false;

if (filter.test(s))
return true;
else
return false;
}
	

function comprueba_video(formulario,archivo) {

		extensiones_permitidas = new Array(".3gp", ".flv", ".avi", ".wmv", ".mov", ".mpg");
		mierror = "";
		   
	//alert(archivo);


	//recupero la extensión de este nombre de archivo
	extension = (archivo.substring(archivo.lastIndexOf("."))).toLowerCase();
	//alert (extension);
	//compruebo si la extensión está entre las permitidas
	permitida = false;
	for (var i = 0; i < extensiones_permitidas.length; i++) {
	   if (extensiones_permitidas[i] == extension) {
	   permitida = true;
	   break;
	   }
	}

	   if (!permitida) {
	       alert('Tipo de archivo no válido.')
	       document.form_video.archivo.value = "";
	       
	     }else{
	        //submito!
	    	xajax_Pon_Cargando_Video();
	       formulario.submit();
	       
	     } 

	
}
