     
//*************************************************************************************************
    
function fullScreen( page )
{
    if ( screen && window )
    {
        var aw = screen.availWidth;
        var ah = screen.availHeight;

        window.moveTo(0, 0);
        window.resizeTo(aw+8, ah+8);

        if ( page == 'mapa' )
        {
            var map = document.getElementById('map');
            var tree = document.getElementById('tree');
            if ( map && tree )
            {
                map.style.height = (ah - 237) + 'px';
                tree.style.height = (ah - 334) + 'px';
            }
        }
    }
}

//***************************************************************************************************************
 	
function showHideHeader()
{
    var header = document.getElementById('top_2');
    var mapDiv = document.getElementById('map');
		
    if ( ( header ) && ( mapDiv ) )
    {
        if ( header.style.height == '1px' )
        {
            header.style.height = "130px";
            if ( screen )
            {
                var ah = screen.availHeight;
                var map = document.getElementById('map');
                var tree = document.getElementById('tree');
                if ( map && tree )
                {
                    map.style.height = (ah - 367) + 'px';
                    tree.style.height = (ah - 464) + 'px';
                }
            }
            else
                mapDiv.style.height = "420px";
        }
        else
        {
            header.style.height = "1px";
            if ( screen )
            {
                ah = screen.availHeight;
                map = document.getElementById('map');
                tree = document.getElementById('tree');
                if ( map && tree )
                {
                    map.style.height = (ah - 237) + 'px';
                    tree.style.height = (ah - 334) + 'px';
                }
            }
            else
                mapDiv.style.height = "550px";
        }
    }
}
	    
//***************************************************************************************************************
 
function getRadioButtonChecked( radioButtonCtrl )
{
  var strValue = null;
  var i = 0;
  while( ( i<radioButtonCtrl.length ) && ( strValue == null ) ){
    if(radioButtonCtrl[i].checked)
      strValue = radioButtonCtrl[i].value;
    i++;
  }
        
  return strValue;
}

function setRadioButtonChecked( radioButtonCtrl, index )
{
    if ( ( radioButtonCtrl ) && ( radioButtonCtrl[index] ) )
        radioButtonCtrl[index].checked = "checked";
}
	
//***************************************************************************************************************
 
function SetSelectedValue(selectbox, value, bNoCase)
{
    if( !selectbox )
        return false;
	    
    if( typeof(bNoCase) == "undefined" )
        bNoCase = false;
	    
    return SetValue(selectbox, value, bNoCase);
}
	
function GetSelectedValue(selectbox)
{
    if( !selectbox || (selectbox.selectedIndex == -1) )
        return null;
	  
    return selectbox.options[selectbox.selectedIndex].value;
}
	
function SetValue(formfield, value, bNoCase)
{
    var LCValue;
    var i, iCount;
		
    if( !formfield )
        return false;
		
    if( typeof(bNoCase) == "undefined" )
        bNoCase = false;
		
    if( bNoCase )
        LCValue = value.toLowerCase();
		  
    if( formfield.options ) // is select box
    {
        iCount = formfield.options.length;
        for(i = 0; i < iCount; i++)
        {
            if( (!bNoCase && (formfield.options[i].value == value)) ||
                (bNoCase && (formfield.options[i].value.toLowerCase() == LCValue)) )
                {
                formfield.options[i].selected = true;
                return true;
            }
        }
    }
    else if( formfield.value ) // textbox, hidden, checkbox, etc.
    {
        formfield.value = value;
        return true;
    }
		
    return false;
}

//***************************************************************************************************************
 
function setTextValue( textID, value )
{
    var txt = document.getElementById( textID );
    if ( txt )
        txt.value = value;
    else
        alert("ERROR: " + textID + " no encontrado!");
}
 	
function getTextValue( textID )
{
    var txt = document.getElementById( textID );
    if ( txt )
        return txt.value;
    else
        return "";
}
 	
//***************************************************************************************************************
 
function ltrim(s) 
{
    return s.replace(/^\s+/, "");
}
	
function rtrim(s) 
{
    return s.replace(/\s+$/, "");
}
	
function trim(s) 
{
    return rtrim(ltrim(s));
}
	
//***************************************************************************************************************
	
function emailCheck(emailStr) 
{
    if ( emailStr != "" )
    {
        /* Verificar si el email tiene el formato user@dominio. */
        var emailPat=/^(.+)@(.+)$/
			
        /* Verificar la existencia de caracteres. ( ) < > @ , ; : \ " . [ ] */
        var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
			
        /* Verifica los caracteres que son válidos en una dirección de email */
        var validChars="\[^\\s" + specialChars + "\]";
			
        var quotedUser="(\"[^\"]*\")";
			
        /* Verifica si la dirección de email está representada con una dirección IP Válida */
        var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
			
        /* Verificar caracteres inválidos */
        var atom=validChars + '+';
        var word="(" + atom + "|" + quotedUser + ")";
        var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
			
        /*domain, as opposed to ipDomainPat, shown above. */
        var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
			
        var matchArray=emailStr.match(emailPat);
        if (matchArray==null)
        {
            //alert("Email address seems incorrect (check @ and .'s)")
            return false;
        }
        var user=matchArray[1];
        var domain=matchArray[2];
			
        // Si el user "user" es valido
        if (user.match(userPat)==null)
        {
            // Si no
            //alert("El nombre de usuario no es válido.")
            return false;
        }
			
        /* Si la dirección IP es válida */
        var IPArray=domain.match(ipDomainPat);
        if (IPArray!=null)
        {
            for (var i=1;i<=4;i++)
            {
                if (IPArray[i]>255)
                {
                    //alert("IP de destino inválida")
                    return false;
                }
            }
            return true;
        }
			
        var domainArray=domain.match(domainPat);
        if (domainArray==null)
        {
            //alert("El dominio parece no ser válido.")
            return false;
        }
			
        var atomPat=new RegExp(atom,"g");
        var domArr=domain.match(atomPat);
        var len=domArr.length;
        if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3)
        {
            //alert("La dirección debe tener 3 letras si es '.com' o 2 si en de algún país.")
            return false;
        }
			
        if (len<2)
        {
            //alert("La dirección es erronea")
            return false;
        }
    };
    // La dirección de email ingresada es Válida
    return true;
}

function sleep(delay){
  var start = new Date().getTime();
  var stop = start + delay;
  while ( new Date().getTime() < stop ){}
}

