// JavaScript Document

  function validarFecha(campo){
  	
  	var Fecha= new String(campo)   //Crea un string  
    var RealFecha= new Date()   //Para sacar la fecha de hoy  
    //Cadena Año  
    var Ano= new String(Fecha.substring(Fecha.lastIndexOf("/")+1,Fecha.length))  
    //Cadena Mes  
    var Mes= new String(Fecha.substring(Fecha.indexOf("/")+1,Fecha.lastIndexOf("/")))  
    //Cadena Día  
    var Dia= new String(Fecha.substring(0,Fecha.indexOf("/")))  
  
    //Valido el año  
    if (isNaN(Ano) || Ano.length<4 || parseFloat(Ano)<1900){  
      alert('Date should be in the format dd/mm/yyyy');
      return false;
    }  
    //Valido el Mes  
    if (isNaN(Mes) || parseFloat(Mes)<1 || parseFloat(Mes)>12){  
      alert('Date should be in the format dd/mm/yyyy'); 
      return false;
    }  
    //Valido el Dia  
    if (isNaN(Dia) || parseInt(Dia, 10)<1 || parseInt(Dia, 10)>31){  
      alert('Date should be in the format dd/mm/yyyy'); 
      return false;
    }  
    if (Mes==4 || Mes==6 || Mes==9 || Mes==11 || Mes==2) {  
      if (Mes==2 && Dia > 28 || Dia>30) {  
        alert('Date should be in the format dd/mm/yyyy'); 
        return false;
      }  
    }  
      
    return true;    
  }

  function comprobarNumero(campo){
    if (isNaN(campo.value)){
	  alert('Not a valid number');
	  campo.focus();
	  return false;
	}else{
	  return true;
	}
  }
function oNumero(numero){
	//Propiedades
	this.valor = numero || 0
	this.dec = -1;
	
	//Métodos
	this.formato = numFormat;
	this.ponValor = ponValor;

	//Definición de los métodos
	function ponValor(cad){
		if (cad =='-' || cad=='+') return
		if (cad.length ==0) return
		if (cad.indexOf('.') >=0)
			this.valor = parseFloat(cad);
		else
			this.valor = parseInt(cad);
	}

	function numFormat(dec, miles){
		var num = this.valor, signo=3, expr;
		var cad = ""+this.valor;
		var ceros = "", pos, pdec, i;
		for (i=0; i < dec; i++)
			ceros += '0';
		pos = cad.indexOf('.')
		if (pos < 0)
			cad = cad+"."+ceros;
		else{
			pdec = cad.length - pos -1;
			if (pdec <= dec){
				for (i=0; i< (dec-pdec); i++)
					cad += '0';
			}
			else{
				num = num*Math.pow(10, dec);
				num = Math.round(num);
				num = num/Math.pow(10, dec);
				cad = new String(num);
			}
		}
		pos = cad.indexOf('.')
		if (pos < 0) pos = cad.lentgh
		
		if (cad.substr(0,1)=='-' || cad.substr(0,1) == '+')
			signo = 4;
		
		if (miles && pos > signo)
			do{
				expr = /([+-]?\d)(\d{3}[\.\,]\d*)/
				cad.match(expr)
				cad=cad.replace(expr, RegExp.$1+','+RegExp.$2)
			}while (cad.indexOf(',') > signo)
			
		if (dec<0) cad = cad.replace(/\./,'')
		
		return cad;
	}
}

function calculaPrecioPtas(){
  var numero = new oNumero(document.datos.precioeuros.value);
  var numero2 = new oNumero(parseFloat(document.datos.precioeuros.value)*166.386);
  var tmp;
  
  tmp = numero.formato(2, true).replace('.', 'x');
  //Se hace hasta 3 veces ya que el replace sólo funciona 1 vez sobre una misma cadena
  tmp = tmp.replace(',', '.');
  tmp = tmp.replace(',', '.');
  tmp = tmp.replace(',', '.');
  tmp = tmp.replace('x', ',');

  document.datos.precioeuros.value = tmp;
  
  tmp = numero2.formato(2, true).replace('.', 'x');
  tmp = tmp.replace(',', '.');
  tmp = tmp.replace(',', '.');
  tmp = tmp.replace(',', '.');
  tmp = tmp.replace('x', ',');

  document.datos.precioptas.value = tmp;
}

function mostrarDescripcion(){
  var descripcion = document.getElementById('descripcion');
  if (descripcion.style.display == 'none') {// Mostramos la descripción del programa
	descripcion.style.display = 'block';
	descripcion.style.height = 'auto';
  } else {
	descripcion.style.display = 'none';
	descripcion.style.height = '0px';
  }
}
