// getCookie
function getCookie(name)	{ 
	var cname = name + "="; 
	var dc = document.cookie; 
	if (dc.length > 0)  { 
		begin=dc.indexOf(cname); 
		if (begin!=-1)  { 
			begin  += cname.length; 
			end = dc.indexOf(";",begin); 
			if (end==-1) end=dc.length; 
			return (dc.substring(begin,end)); 
		} 
	} 
} 

// setCookie
function setCookie(name,values,expires,path,domain,secure)	{ 
	document.cookie=name+ "=" +escape(values) + ((expires==null)?"":";expires="+expires.toGMTString()) + ((path==null)?"":";path=" + path) + ((domain==null)?"":";domain="+domain) + ((secure==null)?"":";secure"); 
} 

// delCookie
function delCookie(name,path,domain)	{ 
	if(getCookie(name)){ 
		document.cookie=name+"=" +((path==null)?"":";path="+path) + ((domain==null)?"":";domain="+domain)+";expires=Thu,01-Jan-70 00:00:01 GMT"; 
	} 
}

// queIdioma
function queIdioma()	{
	var idioma = "espanol";
	idioma = getCookie("idioma");
	if (idioma == undefined) idioma = 'espanol';
	return idioma;

}

// ponIdioma
function cambiaIdioma()	{
	var idioma = 'espanol';
	idioma = queIdioma();
	if (idioma == 'espanol') 
		idioma = 'english';
	else
		idioma = 'espanol';
	ahora = new Date(); 
	ahora.setFullYear(ahora.getFullYear() + 1); 
	setCookie('idioma', idioma ); 
	window.location.reload( false );
}


// JavaScript Document
var mnuAct = null;

var esIE4 = false;
var esIE5 = false;
var esNS6 = false;
var esNS4 = false;

function NavegadorValido()
{
	if (document.all)
		if (document.getElementById)
			esIE5 = true;
		else
			esIE4 = true;	
	else 
		if (document.getElementById)
			esNS6 = true;
	else 
		if (document.layers)
			esNS4 = true;
	return true;
}
NavegadorValido()

function getById( obj )
{
	if( esIE4 )
		return document.all( obj );
	if (esIE5 || esNS6)
		return document.getElementById( obj );
	if (esNS4)
		return eval ("document." + obj);	
}

function refresh()
{
    //  This version of the refresh function will be invoked
    //  for browsers that support JavaScript version 1.2
    //
    
    //  The argument to the location.reload function determines
    //  if the browser should retrieve the document from the
    //  web-server.  In our example all we need to do is cause
    //  the JavaScript block in the document body to be
    //  re-evaluated.  If we needed to pull the document from
    //  the web-server again (such as where the document contents
    //  change dynamically) we would pass the argument as 'true'.
    //  
    window.location.reload( true );
}


function AjustaAltoParent(nombre, n)	{
	parent.getById(nombre).height = n;
}


function checkEmailValidation ( addressField ) {
    if ( stringEmpty ( addressField.value ) )
        //alert ( "Error! There is no E-Mail address entered" );
		return false;
    else if ( noAtSign ( addressField.value ) )
        //alert ( "Error! The E-Mail address does not contain an '@' character" );
		return false;
    else if ( nothingBeforeAt ( addressField.value ) )
        //alert ( "Error! An E-Mail address must contain at least one character before the '@' character" );
		return false;
    else if ( noLeftBracket ( addressField.value ) )
        //alert ( "Error! The E-Mail address contains a right square bracket ']',\nbut no corresponding left square bracket '['" );
		return false;
    else if ( noRightBracket ( addressField.value ) )
        //alert ( "Error! The E-Mail address contains a left square bracket '[',\nbut no corresponding right square bracket ']'" );
		return false;
    else if ( noValidPeriod ( addressField.value ) )
        //alert ( "Error! An E-Mail address must contain a period ('.') character" );
		return false;
    else if ( noValidSuffix ( addressField.value ) )
        //alert ( "Error! An E-Mail address must contain a two or three character suffix" );
		return false
    else
        return (true);

    return ( false );
}


function stringEmpty ( address ) {
    // CHECK THAT THE STRING IS NOT EMPTY
    if ( address.length < 1 ) {
        return ( true );
    } else {
        return ( false );
    }
}

function noAtSign ( address ) {
    // CHECK THAT THERE IS AN '@' CHARACTER IN THE STRING
    if ( address.indexOf ( '@', 0 ) == -1 ) {
        return ( true )
    } else {
        return ( false );
    }
}

function nothingBeforeAt ( address ) {
    // CHECK THERE IS AT LEAST ONE CHARACTER BEFORE THE '@' CHARACTER
    if ( address.indexOf ( '@', 0 ) < 1 ) {
        return ( true )
    } else {
        return ( false );
    }
}

function noLeftBracket ( address ) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN CHECK FOR LEFT BRACKET
    if ( address.indexOf ( '[', 0 ) == -1 && address.charAt ( address.length - 1 ) == ']' ) {
        return ( true )
    } else {
        return ( false );
    }
}

function noRightBracket ( address ) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN CHECK FOR RIGHT BRACKET
    if ( address.indexOf ( '[', 0 ) > -1 && address.charAt ( address.length - 1 ) != ']' ) {
        return ( true );
    } else {
        return ( false );
    }
}

function noValidPeriod ( address ) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN WE ARE NOT INTERESTED
    if ( address.indexOf ( '@', 0 ) > 1 && address.charAt ( address.length - 1 ) == ']' )
        return ( false );

    // CHECK THAT THERE IS AT LEAST ONE PERIOD IN THE STRING
    if ( address.indexOf ( '.', 0 ) == -1 )
        return ( true );

    return ( false );
}

function noValidSuffix ( address ) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN WE ARE NOT INTERESTED
    if ( address.indexOf ( '@', 0 ) > 1 && address.charAt ( address.length - 1 ) == ']' )
        return ( false );

    // CHECK THAT THERE IS A TWO OR THREE CHARACTER SUFFIX AFTER THE LAST PERIOD
    var len = address.length;
    var pos = address.lastIndexOf ( '.', len - 1 ) + 1;
    if ( ( len - pos ) < 2 || ( len - pos ) > 3 ) {
        return ( true );
    } else {
        return ( false );
    }
}

function openPopup(page)
{
	window.open(page, 'popup', 'toolbar=no, menubar=no, scrollbars=no, resizable=no, width=550, height=400');
}


