var TRIM_LEFT  = 0x0001;
var TRIM_RIGHT = 0x0002;
var TRIM_BOTH  = TRIM_LEFT | TRIM_RIGHT;

function strTrim( varText, side )
{
	var i = 0;
	var j = varText.length - 1;
	if( side & TRIM_LEFT )
  	  {
	    for( i = 0; i < varText.length; i++ )
		{
		 if( varText.substring( i, i+1 ) != " " && varText.substring( i, i+1 ) != "\t")
		   {
		     break;
		   }
		}
	}

      if( side & TRIM_RIGHT )
	 {
	   for( j = varText.length - 1; j >= 0; j-- )
	     {
		if( varText.substring( j, j+1 ) != " " && varText.substring( j, j+1 ) != "\t")
		  {
		   break;
		  }
	     }
	  }

      if( i <= j )
	 return( varText.substring( i, (j+1) ) );
      else
	 return("");
}

function isNumeric(str)
{
	for (var i=0; i < str.length; i++) 
	{
		var ch = str.substring(i, i+1);
		if(ch < "0" || ch > "9") 
		{
			return false;
		}
	}
	return true;
}

/*****************************************************************************************
'Descripcion:
'		Funcion para validar que el texto ingresado en un campo texto,
'		corresponda a una direccion valida de correo (e-mail)
'.........................................................................................
'Parametros:
'		Campo:		Control con el valor a validar
'		Mensaje:	Cadena con el nombre descriptivo del control, usada para mostrar
'					un mensaje personalizado.
'.........................................................................................
'Validaciones:
'		- Los caracteres que contiene la cuenta de correo deben estar dentro de la siguiente lista
'			"0123456789abcdefghijlkmnopqrstuvwxyz@.-_"
'		- El primer y ultimo caracter no pueden ser alguno de los caracteres "@.-_"
'		- Los caracteres anterior y posterior a la arroba (@), no pueden ser "@.-_"
'		- La cadena NO puede contener mas de una arroba (@)
'		- La cadena debe contener al menos UNA arroba (@)
'		- La cadena NO puede contener espacios vacios (" ")
'		- Despues del ultimo punto, debe haber AL MENOS 2 caracteres
*****************************************************************************************/
function ValidarEmail(Campo, Mensaje)
{
	var perfect = true;
	
	with (Campo)
	{
		// Validar que los caracteres que contiene la cuenta de correo
		// esten dentro de los caracteres de la siguiente lista
		var car_validos = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@.-_"
		var car_otros = "@.-_";

		for (var i=0; i < value.length; i++) 
		{
			var ch = value.substring(i, i+1);
			if (car_validos.indexOf(ch) == -1) perfect = false;
		}

		apos = value.indexOf("@");
		lastpos = value.length-1;

		// Validar primer y ultimo caracter
		var car1 = value.substring(0, 1);
		var car2 = value.substring(lastpos, lastpos+1);
		if ((car_otros.indexOf(car1) != -1) || (car_otros.indexOf(car2) != -1)) perfect = false;

		// Validar anterior y siguiente caracter despues de "@"
		car1 = value.substring(apos-1, apos);
		car2= value.substring(apos+1, apos+2);
		if ((car_otros.indexOf(car1) != -1) || (car_otros.indexOf(car2) != -1)) perfect = false;

		// Buscar si existe otro simbolo "@" en el campo
		var subcadena = value.substring(apos + 1, 100);
		a2pos = subcadena.indexOf("@");
		spacepos = value.indexOf(" ");
		dotpos = value.lastIndexOf(".");

		posh=subcadena.indexOf(".");

		//if (apos < 1 || a2pos != -1 || dotpos - apos < 2 || lastpos - dotpos > 3 || lastpos - dotpos < 2 || spacepos != -1) {
		if (apos < 1 || a2pos != -1 || lastpos - dotpos < 2 || spacepos != -1||posh==-1) 
			perfect = false;
	}

	if (!perfect) 
	{
		//alert('\nThe ' + Mensaje + ' (E-Mail) is wrong.\n\nPlease write it again.');
		Campo.focus();
		return false;
	}
	return true;
}

// Validar los nuevos asociados
function validarAssociates(paso)
{
	var Control;
	var Dato;

	if(paso==2)
	{
		Control = $('tblasso_descripcion');
		Dato = strTrim(Control.value,TRIM_BOTH);
		if(Dato.length == 0)
		{
			alert("Please write your notes");
			Control.focus();
			return false;
		}

		registrarAsociado();
		return true;
	}
	else
	{
	
		Control = $('tblasso_nombre');
		Dato = strTrim(Control.value,TRIM_BOTH);
		if (Dato.length == 0)
		{
			alert("Please write your first name");
			Control.focus();
			return false;
		}
	
		/*
		Control = $('tblasso_apellido');
		Dato = strTrim(Control.value,TRIM_BOTH);
		if(Dato.length == 0)
		{
			alert("Please write your last name");
			Control.focus();
			return false;
		}
		*/
		
		Control = $('tblasso_email');
		Dato = strTrim(Control.value,TRIM_BOTH);
		if(Dato.length == 0)
		{
			alert("Please write your email");
			Control.focus();
			return false;
		}
		
		if(!ValidarEmail(Control, ""))
			return false;

		// Cargar los datos
		var nombre = $('tblasso_nombre').getValue();
		var apellido = $('tblasso_apellido').getValue();
		var direccion = $('tblasso_direccion').getValue();
		var ciudad = $('tblasso_ciudad').getValue();
		var estado = $('tblasso_state').getValue();
		var banner = $('tblasso_banner').getValue();
		var email = $('tblasso_email').getValue();
		var notificar = $('tblasso_notificaciones').getValue();

		var pars = "&tblasso_nombre="+nombre+"&tblasso_apellido="+apellido+"&tblasso_direccion="+direccion+"&tblasso_ciudad="+ciudad+"&tblasso_state="+estado+"&tblasso_banner="+banner+"&tblasso_email="+email+"&tblasso_notificaciones="+notificar;
		// Almacenar los datos
		varDatos = pars;
		
		// Cargar el nuevo formulario
		cargarSeccion('frmAssociates2');		
	}

	return true;
}

function validarEmailCon()
{  
	var Control;
	var Dato;
	
	Control = document.frm.email;
	Dato = strTrim(Control.value,TRIM_BOTH);
	
	if(!ValidarEmail(Control, "")){
		alert("Ingrese un Email valido");
		Control.focus();
		return false;
		
	}
	
}


function validarDocCon()
{  
	var Control;
	var Dato;
	Control = document.frm.cedula;
	Dato = strTrim(Control.value,TRIM_BOTH);
	if(Dato.length == 0)
	{
		alert("Ingrese su documento");
		Control.focus();
		return false;
	}
	
	if(!isNumeric(Dato)){
	    alert("Tipo de dato incorrecto");
		Control.focus();
		return false;
	
	}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}