function escribir_fecha()
{

var mydate=new Date()
var year=mydate.getYear()
if (year < 1000)
  year+=1900

var day=mydate.getDay()
var month=mydate.getMonth()
var daym=mydate.getDate()

if (daym<10)
  daym="0"+daym

var dayarray=new Array("Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado")
var montharray=new Array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre")

document.write(dayarray[day]+", "+daym+" de "+montharray[month]+" de "+year)

}

function TrimLeft( str ) {
	var resultStr = "";
	var i = len = 0;

	// Return immediately if an invalid value was passed in
	if (str+"" == "undefined" || str == null)	
		return null;

	// Make sure the argument is a string
	str += "";

	if (str.length == 0) 
		resultStr = "";
	else {	
  		// Loop through string starting at the beginning as long as there
  		// are spaces.
//	  	len = str.length - 1;
		len = str.length;
		
  		while ((i <= len) && (str.charAt(i) == " "))
			i++;

   	// When the loop is done, we're sitting at the first non-space char,
 		// so return that char plus the remaining chars of the string.
  		resultStr = str.substring(i, len);
  	}

  	return resultStr;
}

function TrimRight( str ) {
	var resultStr = "";
	var i = 0;

	// Return immediately if an invalid value was passed in
	if (str+"" == "undefined" || str == null)	
		return null;

	// Make sure the argument is a string
	str += "";
	
	if (str.length == 0) 
		resultStr = "";
	else {
  		// Loop through string starting at the end as long as there
  		// are spaces.
  		i = str.length - 1;
  		while ((i >= 0) && (str.charAt(i) == " "))
 			i--;
 			
 		// When the loop is done, we're sitting at the last non-space char,
 		// so return that char plus all previous chars of the string.
  		resultStr = str.substring(0, i + 1);
  	}
  	
  	return resultStr;  	
}


function trim( str ) {
	var resultStr = "";
	
	resultStr = TrimLeft(str);
	resultStr = TrimRight(resultStr);
	
	return resultStr;
}

function esDigito(sChr){
  var sCod = sChr.charCodeAt(0);
  
  return ((sCod > 47) && (sCod < 58));
}

function valSep(oTxt){
  var bOk = false;
  
  bOk = bOk || ((oTxt.charAt(2) == "/") && (oTxt.charAt(5) == "/"));
  
  return bOk;
}

function finMes(oTxt){
  var nMes = parseInt(oTxt.substr(3, 2), 10);
  var nRes = 0;

  switch (nMes){
    case 1: nRes = 31; break;
    case 2: nRes = 29; break;
    case 3: nRes = 31; break;
    case 4: nRes = 30; break;
    case 5: nRes = 31; break;
    case 6: nRes = 30; break;
    case 7: nRes = 31; break;
    case 8: nRes = 31; break;
    case 9: nRes = 30; break;
    case 10: nRes = 31; break;
    case 11: nRes = 30; break;
    case 12: nRes = 31; break;
  }
 
  return nRes;
}

function valDia(oTxt){
  var bOk = false;
  var nDia = oTxt.substr(0, 2);
  var nDiaNum = parseInt(nDia, 10);
  
  bOk = bOk && (nDia.length == 2);

  bOk = bOk || ((nDiaNum >= 1) && (nDiaNum <= finMes(oTxt)));

  return bOk;
}

function valMes(oTxt){
  var bOk = false;
  var nMes = oTxt.substr(3, 2);	
  var nMesNum = parseInt(nMes, 10);
	
  bOk = bOk && (nMes.length == 2);
	
  bOk = bOk || ((nMesNum >= 1) && (nMesNum <= 12));

  return bOk;
}

function valAno(oTxt){
  var bOk = true;
  var nAno = oTxt.substr(6);

  bOk = bOk && (nAno.length == 4);

  if (bOk){
    for (var i = 0; i < nAno.length; i++){
      bOk = bOk && esDigito(nAno.charAt(i));
    }
  }

  return bOk;
}

function valFecha(oTxt){
  var bOk = true;

  if (oTxt != ""){
    bOk = bOk && (valAno(oTxt));
    bOk = bOk && (valMes(oTxt));
    bOk = bOk && (valDia(oTxt));
    bOk = bOk && (valSep(oTxt));
  }
  
  return bOk;
}