 // Mensaje de salida de la aplicacion
 
 	function EmailValido(xsTexto)
	{
	  var oRegExp = new RegExp("^[A-Z0-9_-]+(\\.[A-Z0-9_-]+)*@[A-Z0-9_-]+(\\.+[A-Z0-9]+)*\\.[A-Z0-9]{2,4}$", "gi");
	  return (oRegExp.test(xsTexto));
	}
 
	function confirma_salida($url,msgLogOut)
	{
	  var return_value = confirm(msgLogOut) ;
	  if ( return_value == true )
	  {
	    window.location = $url;
	  }
	}

	function validar_enviar_nota()
	{
    
       	if (document.form.email.value == "")
        	{
           	alert("Lo siento, debe completar el campo email.");
          	document.form.email.focus();
          	return false
        	}
        	else
        	{
                      
            if (!EmailValido(document.form.email.value))
            {    
             alert('Complete con una dirección de email válida')
             return false
            }
                 
          }  


   return true;

	}



  function wipeOut(elId)
  {
  var row = document.getElementById(elId);
  	dojo.fx.html.wipeOut(row, 300);
  }
  function wipeIn(elId)
  {
  var row = document.getElementById(elId);
  dojo.fx.html.wipeIn(row, 300);
  }

/**
 * This array is used to remember mark status of rows in browse mode
 */
var marked_row = new Array;


/**
 * Sets/unsets the pointer and marker in browse mode
 *
 * @param   object    the table row
 * @param   interger  the row number
 * @param   string    the action calling this script (over, out or click)
 * @param   string    the default background color
 * @param   string    the color to use for mouseover
 * @param   string    the color to use for marking a row
 *
 * @return  boolean  whether pointer is set or not
 */
function setPointer(theRow, theRowNum, theAction, theDefaultColor, thePointerColor, theMarkColor) {
    var theCells = null;

    // 1. Pointer and mark feature are disabled or the browser can't get the
    //    row -> exits
    if ((thePointerColor == '' && theMarkColor == '')
        || typeof(theRow.style) == 'undefined') {
        return false;
    }

    // 2. Gets the current row and exits if the browser can't get it
    if (typeof(document.getElementsByTagName) != 'undefined') {
        theCells = theRow.getElementsByTagName('td');
    }
    else if (typeof(theRow.cells) != 'undefined') {
        theCells = theRow.cells;
    }
    else {
        return false;
    }

    // 3. Gets the current color...
    var rowCellsCnt  = theCells.length;
    var domDetect    = null;
    var currentColor = null;
    var newColor     = null;
    // 3.1 ... with DOM compatible browsers except Opera that does not return
    //         valid values with "getAttribute"
    if (typeof(window.opera) == 'undefined'
        && typeof(theCells[0].getAttribute) != 'undefined') {
        currentColor = theCells[0].getAttribute('bgcolor');
        domDetect    = true;
    }
    // 3.2 ... with other browsers
    else {
        currentColor = theCells[0].style.backgroundColor;
        domDetect    = false;
    } // end 3

    // 4. Defines the new color
    // 4.1 Current color is the default one
    if (currentColor == ''
        || currentColor.toLowerCase() == theDefaultColor.toLowerCase()) {
        if (theAction == 'over' && thePointerColor != '') {
            newColor              = thePointerColor;
        }
        else if (theAction == 'click' && theMarkColor != '') {
            newColor              = theMarkColor;
            marked_row[theRowNum] = true;
        }
    }
    // 4.1.2 Current color is the pointer one
    else if (currentColor.toLowerCase() == thePointerColor.toLowerCase()
             && (typeof(marked_row[theRowNum]) == 'undefined' || !marked_row[theRowNum])) {
        if (theAction == 'out') {
            newColor              = theDefaultColor;
        }
        else if (theAction == 'click' && theMarkColor != '') {
            newColor              = theMarkColor;
            marked_row[theRowNum] = true;
        }
    }
    // 4.1.3 Current color is the marker one
    else if (currentColor.toLowerCase() == theMarkColor.toLowerCase()) {
        if (theAction == 'click') {
            newColor              = (thePointerColor != '')
                                  ? thePointerColor
                                  : theDefaultColor;
            marked_row[theRowNum] = (typeof(marked_row[theRowNum]) == 'undefined' || !marked_row[theRowNum])
                                  ? true
                                  : null;
        }
    } // end 4

    // 5. Sets the new color...
    if (newColor) {
        var c = null;
        // 5.1 ... with DOM compatible browsers except Opera
        if (domDetect) {
            for (c = 0; c < rowCellsCnt; c++) {
                theCells[c].setAttribute('bgcolor', newColor, 0);
            } // end for
        }
        // 5.2 ... with other browsers
        else {
            for (c = 0; c < rowCellsCnt; c++) {
                theCells[c].style.backgroundColor = newColor;
            }
        }
    } // end 5

    return true;
} // end of the 'setPointer()' function


function validarApertura()
{

	if (document.form.apyn.value == "")
	{
	alert("Lo siento, debe completar el campo Nombre y Apellido.");
	document.form.apyn.focus();
	return false
	}
	
	if (document.form.direccion.value == "")
	{
	alert("Lo siento, debe completar el campo dirección.");
	document.form.direccion.focus();
	return false
	}

	if (document.form.email.value == "")
	{
	alert("Lo siento, debe completar el campo email.");
	document.form.email.focus();
	return false
	}
	else
	{

    if (!EmailValido(document.form.email.value))
    {
     alert('Ingrese una dirección de email válida')
     document.form.email.focus();
     return false
    }

  }

return true

}



function validarRegistro()
{

	if (document.form.nombre.value == "")
	{
	alert("Lo siento, debe completar el campo Nombre y Apellido.");
	document.form.nombre.focus();
	return false
	}

	
	if (document.form.direccion.value == "")
	{
	alert("Lo siento, debe completar el campo dirección.");
	document.form.direccion.focus();
	return false
	}

	if (document.form.email.value == "")
	{
	alert("Lo siento, debe completar el campo email.");
	document.form.email.focus();
	return false
	}
	else
	{

    if (!EmailValido(document.form.email.value))
    {
     alert('Ingrese una dirección de email válida')
     document.form.email.focus();
     return false
    }

  }

return true

}



// Funcion mensaje alerta de selecci?n de borrado para todas las administraciones
	function confirma_borrado($msg){

	if  (document.form.elements['list[]'].length > 1 ){

			for (i=0;i<document.form.elements['list[]'].length;i++){
				    valid = document.form.elements['list[]'][i].checked
					if (valid) {break}
				}

			if(!valid){
					alert("Lo siento, no ha seleccionado registros ")
					return false
				}
	}
	else
	{
 	 	if  (!document.form.elements['list[]'].checked ){
		  	    alert("Lo siento, no ha seleccionado ning?n registro")
				return false
		   	}
	}
		 var return_value = confirm($msg);
			  if ( return_value == true ) {

 				  	    document.forms["form"].elements["edit[opcion]"].value = "borrar";
						document.forms["form"].submit();
				  }
}

 function CA(isO,noHL){
  var trk=0;
  frm = document.forms['form']

  for (var i=0;i<frm.elements.length;i++){
   var e=frm.elements[i];
  if ((e.name != 'allbox') && (e.type=='checkbox')){
    if (isO != 1){
    trk++;
    e.checked=frm.allbox.checked;
    }
  else
  {

  }

  }

  }

  }

  function CCA(CB,noHL){
  var TB=TO=0;
    for (var i=0;i<frm.elements.length;i++){
    var e=frm.elements[i];
      if ((e.name != 'allbox') && (e.type=='checkbox')){
      TB++;
      if (e.checked)
      TO++;

      }
    }
    frm.allbox.checked=(TO==TB)?true:false;

  }




















