// OTRAS FUNCIONES DE VALIDACION LLAMADAS POR LO DE ARRIBA
 
function validar_http(urln)
	{
		
		    h  = urln.charAt(0);
			ht = urln.charAt(1);
			htt = urln.charAt(2);
			http  = urln.charAt(3);
			http_ = urln.charAt(4);
			http__ = urln.charAt(5);
			http___ = urln.charAt(6);
			
			if ((h == 'h' && ht == 't' && htt== 't' && http == 'p' && http_== ':' && http__== '/' && http___== '/') || (h == 'f' && ht == 't' && htt== 'p' && http == ':')){
			} 
			else
			 { 
			 	return false;
			 }	
		
	}


function VerificarMail(strMail) 
      {
       // Define la expresion regular para verificar si el email tiene el formato usuario@dominio
        var patMail = /^(.+)@(.+)$/;

       // Define la expresion regular para nombres de usuario validos
        var patUser = /^[a-zA-Z\d_-]+(\.[a-zA-Z\d_-]+)*$/;

       // Define la expresion regular para direccciones IP
        var patDomainIP = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;

       // Define la expresion regular para nombres de dominio validos
        var patDomain = /^[a-zA-Z\d_-]+(\.[a-zA-Z\d_-]+)+$/;

       // Verifica que el string que recibe la funcion sea del tipo string@string y separa los substring
       // correspondientes a usuario y dominio
        var matchArray = strMail.match(patMail);
        if(matchArray == null)
        {
         return false;
        }
        var user = new String(matchArray[1]);
        var domain = new String(matchArray[2]);
      
       // Si el nombre de usuario no es valido la funcion devuelve falso
        if(user.match(patUser) == null) 
        {
         return false;
        }

       // Verifica si el string de dominio corresponde a una direccion IP
       // De ser asi varifica que la ip sea valida.  La funcion devuelve verdadero si la ip es valida y falso si no lo es
        var IPArray = domain.match(patDomainIP);
        if(IPArray != null)
        {
         for (var i=1;i<=4;i++) 
         {
          if(IPArray[i]>255)
          {
           return false;
          }
         }
         return true;
        }

       // Verifica que el string de dominio sea valido.
       // Si es valido verifica que la ultima extension tenga 3 o 4 caracteres de longitud (2 o 3 caracteres mas el punto)
        var domainArray = domain.match(patDomain);
        if(domainArray == null) 
        {
         return false;
        }
        if(domainArray[domainArray.length - 1].length < 3 || domainArray[domainArray.length - 1].length > 4) 
        { 
         return false;
        }

       // Si la funcion no devolvio false entonces el parametro de entrada es una direccion de mail valida
       // Por lo tanto la funcion devuelve true      
        return true;
}
   
   
<!--valida si es numérico-->

function esnumerico(strString)
      {
	 
      var strValidChars = "0123456789E.,-";
      var strChar;
      var blnResult = true;
	  if (strString == ""){
	  	blnResult = false;
	  }
      for (i = 0; i < strString.length && blnResult == true; i++)
        {
        strChar = strString.charAt(i);
        if (strValidChars.indexOf(strChar) == -1)
          {
          blnResult = false;
          }
        }
      return blnResult;
      }

         function calculoLetraNIF(DNI)
         {
	     var baremo;
     	     var letraNIF, letras = "TRWAGMYFPDXBNJZSQVHLCKET";
          	baremo = DNI % 23; // equivale a DNI-23*(DNI/23)
        	letraNIF = letras.charAt(baremo);
	     return letraNIF;
         }
       
   
   <!--valida si es decimal-->
<!--

function its_a_digit_or_dot(character) {

    var floating_point_characters = ".0123456789"

    // If it's not in the floating_point_characters string, then it's
    // not a valid floating point character, so return false
    
    if (floating_point_characters.indexOf(character) == -1) {
        return false
    }
    
    // Otherwise, it's a digit, so return true
    return true
}

function its_floating_point(string_value) {

    // Does it have a dot?
    if (string_value.indexOf(".") == -1) {
        
        // If not, return false
        return false
    }

    // Run through the rest of the characters in the string
    for (var counter = 0; counter < string_value.length; counter++) {
        
        // Get the current character
        current_char = string_value.charAt(counter)
        
        // If it's not a digit or dot, return false
        if (!its_a_digit_or_dot(current_char)) {
            return false
        }
    }
    
    // Otherwise, the string has nothing but
    // digits, so return true
    return true
}

function its_signed_floating_point(string_value) {

    // Does it have a dot?
    if (string_value.indexOf(".") == -1) {
        
        // If not, return false
        return false
    }

    // See if the first character is +, -, ., or a digit
    var current_char = string_value.charAt(0)
    if (current_char != "+" && 
        current_char != "-" &&
        !its_a_digit_or_dot(current_char)) {
        return false
    }
    
    // Run through the rest of the characters in the string
    for (var counter = 1; counter < string_value.length; counter++) {
        
        // Get the current character
        current_char = string_value.charAt(counter)
        
        // If it's not a digit or dot, return false
        if (!its_a_digit_or_dot(current_char)) {
            return false
        }
    }
    
    // Otherwise, the string has nothing but
    // digits, so return true
    return true
}

// ABREVENTANA



function abreventana(url, name, w, h, perc,scroll) {
        var winX = (screen.availWidth - w)*perc*.01;
        var winY = (screen.availHeight - h)*perc*.01;
        popupWin = window.open(url, name,'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars='+scroll+',resizable=0,width=' + w + ',height=' + h + ',left=' + winX + ',top=' + winY);
		if ((document.window != null) && (!popupWin.opener)) 
             popupWin.opener = document.window; 
             popupWin.focus(); 

}



// REDIRIGE A LA PÁGINA ANTERIOR CON UN DELAY DE SEGUNDOS



				 
				function redirigeme(){
					var Tiempo = 2; // Número de segundos
					setTimeout("history.go(-1)",Tiempo * 1000);
				}
				



// RECARGA UNA VENTANA DESDE OTRA

function openURL(sURL) {
   		opener.document.location = sURL;
}

// SACA DE UN THUMBNAIL LA IMAGEN ORIGINAL EN GRANDE

//Thumbnail image viewer- 
//© Dynamic Drive (www.dynamicdrive.com)
//For full source code, usage terms, and 100's more DHTML scripts, visit http://www.dynamicdrive.com

var ie=document.all
var ns=document.layers
var ns6=document.getElementById&&!document.all

function enlarge(which,e){
//Render image code for IE 4+ and NS6
if (ie||ns6){
crossobj=document.getElementById? document.getElementById("showimage") : document.all.showimage
if (crossobj.style.visibility=="hidden"){
crossobj.style.left=ns6? pageXOffset+e.clientX : document.body.scrollLeft+event.clientX
crossobj.style.top=ns6? pageYOffset+e.clientY : document.body.scrollTop+event.clientY
crossobj.innerHTML='<img src="'+which+'">'
crossobj.style.visibility="visible"
}
else
crossobj.style.visibility="hidden"
return false
}


//Render image code for NS 4
else if (document.layers){
if (document.showimage.visibility=="hide"){
document.showimage.document.write('<a href="#" onMouseover="drag_dropns(showimage)"><img src="'+which+'" border=0></a>')
document.showimage.document.close()
document.showimage.left=e.x
document.showimage.top=e.y
document.showimage.visibility="show"
}
else
document.showimage.visibility="hide"
return false
}
//if NOT IE 4+ or NS 4, simply display image in full browser window
else
return true
}


function closepreview(){
crossobj.style.visibility="hidden"
}

//By Dynamicdrive.com

//drag drop function for NS 4////
/////////////////////////////////

var nsx,nsy,nstemp

function drag_dropns(name){
temp=eval(name)
temp.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP)
temp.onmousedown=gons
temp.onmousemove=dragns
temp.onmouseup=stopns
}

function gons(e){
temp.captureEvents(Event.MOUSEMOVE)
nsx=e.x
nsy=e.y
}
function dragns(e){
temp.moveBy(e.x-nsx,e.y-nsy)
return false
}

function stopns(){
temp.releaseEvents(Event.MOUSEMOVE)
}

//drag drop function for IE 4+ and NS6////
/////////////////////////////////

function drag_drop(e){
if (ie&&dragapproved){
crossobj.style.left=tempx+event.clientX-offsetx
crossobj.style.top=tempy+event.clientY-offsety
}
else if (ns6&&dragapproved){
crossobj.style.left=tempx+e.clientX-offsetx
crossobj.style.top=tempy+e.clientY-offsety
}
return false
}

function initializedrag(e){
if (ie&&event.srcElement.id=="drag"||ns6&&e.target.id=="drag"){
offsetx=ie? event.clientX : e.clientX
offsety=ie? event.clientY : e.clientY

tempx=parseInt(crossobj.style.left)
tempy=parseInt(crossobj.style.top)

dragapproved=true
document.onmousemove=drag_drop
}
}

document.onmousedown=initializedrag
document.onmouseup=new Function("dragapproved=false")

//-->



function TestCIF(cif) 
  {
    var aux = cif.toUpperCase(); 
    if (!/^[A-Za-z0-9]{9}$/.test(aux)) 
	return false;
    else if (!/^[ABCDEFGHKLMNPQS]/.test(aux))
	return false;	
    else 
      return true;
  }

