function EsCadena(cadena,largo,soloNum)
{
	// verifica que la cadena no sean solo espacios y que tenga el largo selecionado
	// cadena: cadena a evaluar
	// largo: verifica el largo mínimo de la cadena
	// soloNum: 0 si es solo texto y 1 si es solo números
	
	if (soloNum==1)
	{
		var i;
		var expres="";
		for(i=1;i<=largo;i++){expres+="\\d";}
		regCadena = new RegExp(expres);
	}
	else
		//{regCadena = /[a-z]+|[A-Z]+/;}
	
	//if (!regCadena.test(cadena)){return false;}
	if (cadena.length<largo){return false;}
	return true;
}
function EsHora(hora,nulo)
{
	regHora = /\d\d\:\d\d/;
	if(nulo==0)
	{
		if (hora.length==0){return true;}
	}
	else
	{
		if (hora.length==0){return false;}
	}
	if (!(regHora.test(hora))){return false;}
	if (Number(hora.substr(0,2))>23 || Number(hora.substr(3,2))>59){return false;}
	return true;
}
function EsFecha(fecha)
{
	regFecha = /\d\d\/\d\d\/\d\d\d\d/;
	if (!(regFecha.test(fecha))){return false;}
	if ((anio < 1800) || (dia<1 || dia > 31))
		return false;
	var dia = Number(fecha.substr(3,2));
	var mes = Number(fecha.substr(0,2));
	var anio = Number(fecha.substr(6,4));
	switch (mes)
	{
		case 1:case 3:case 5:case 7:case 8:case 10:case 12:
			break;
		case 4:case 6:case 9:case 11:
			if (dia > 30)
				return false;
			break;
		case 2:
			if ((anio%4==0) && (anio%100!=0 || anio%1000 == 0))
			{
				if (dia > 29)
					return false;
			}
			else
			{
				if (dia > 28)
					return false;
			}
			break;
		default :
			return false;
	}/* switch */
	return true;
}
function seleccionCombo(v){
	if(v==0){return false;}
	else{return true;}
}
function validarEmail(valor) {
  if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
    //alert("La dirección de email " + valor + " es correcta.") 
    return true;
  } else {
    //alert("La dirección de email es incorrecta.");
    return false;
  }
}
function ResizeAndCenter(w,h){
	if(!document.all){return;}
	var alto = screen.availHeight;
	var ancho = screen.availWidth;
	var top = (alto/2)-(h/2);
	var left = (ancho/2)-(w/2);
	window.resizeTo(w,h)
	window.moveTo(left,top)
}
function openWin(URL,name,top,left,width,height,center){
	var wTop, wLeft,options
	if(center==1){
		wTop = (screen.availHeight - height)/2
		wLeft = (screen.availWidth - width)/2
	}else{
		wTop = top
		wLeft = left		
	}
	options = "width=" + width + ", height=" + height + ",top=" + wTop + ",left=" + wLeft ;
	options+= ", location=no, menubar=no, status=yes, toolbar=no, scrollbars=yes, resizable=no";
	window.open(URL,name,options);


//window.showModalDialog(URL,name,"dialogHeight:" + height + "px; dialogWidth:" + width +"px; dialogTop: px; dialogLeft: px; edge: Raised; center: Yes; help: No; resizable: No; status: No;");

}



function openWinStatus(URL,name,top,left,width,height,center){
	var wTop, wLeft,options
	if(center==1){
		wTop = (screen.availHeight - height)/2
		wLeft = (screen.availWidth - width)/2
	}else{
		wTop = top
		wLeft = left		
	}
	options = "width=" + width + ", height=" + height + ",top=" + wTop + ",left=" + wLeft ;
	options+= ", location=no, menubar=no, status=yes, toolbar=no, scrollbars=yes, resizable=no";
	window.open(URL,name,options);
}

function showRegisterFormErrors(){
	var t="The following fields have not been filled out correctly:\n";
	t+="Please enter your email address\n";
	t+="First Name must be filled out\n";
	t+="Last Name must be filled out\n";
	t+="Street address must be filled out\n";
	t+="City must be filled out\n";
	t+="State must be filled out\n";
	t+="Zip must be filled out\n";
	t+="Phone number must be filled out\n";
	//t+="Day of Birthday must be filled out\n";
	t+="User must be filled out\n";
	t+="Password must be filled out\n";
	t+="How did you now about us? must be filled out\n";
	alert(t);
}
function resetForm(){
	form1.tFirstName.style.backgroundColor="#FFFFFF";
	form1.tLastName.style.backgroundColor="#FFFFFF";
	form1.tStreetAddress.style.backgroundColor="#FFFFFF";
	form1.tCity.style.backgroundColor="#FFFFFF";
	form1.cState.style.backgroundColor="#FFFFFF";
	form1.tZip.style.backgroundColor="#FFFFFF";
	form1.tPhone.style.backgroundColor="#FFFFFF";
	form1.tEmail.style.backgroundColor="#FFFFFF";
	form1.cMonthDOB.style.backgroundColor="#FFFFFF";
	form1.cDayDOB.style.backgroundColor="#FFFFFF";
	form1.cYearDOB.style.backgroundColor="#FFFFFF";
	form1.tUser.style.backgroundColor="#FFFFFF";
	form1.tPassword.style.backgroundColor="#FFFFFF";
	form1.tOtherState.style.backgroundColor="#FFFFFF";
	form1.cCountry.style.backgroundColor="#FFFFFF";
}
function registerFormValidate(){
	resetForm();
	/*First Name*/
	if(!EsCadena(form1.tFirstName.value,1,0)){
		form1.tFirstName.style.backgroundColor="#FF9999";
		form1.tFirstName.focus();
		showRegisterFormErrors();
		return false;
	}
	/*Last Name*/
	if(!EsCadena(form1.tLastName.value,1,0)){
		form1.tLastName.style.backgroundColor="#FF9999";
		form1.tLastName.focus();
		showRegisterFormErrors();
		return false;
	}	
	/*StreetAddress*/
	if(!EsCadena(form1.tStreetAddress.value,1,0)){
		form1.tStreetAddress.style.backgroundColor="#FF9999";
		form1.tStreetAddress.focus();	
		showRegisterFormErrors();
		return false;
	}	
	/*City*/
	if(!EsCadena(form1.tCity.value,1,0)){
		form1.tCity.style.backgroundColor="#FF9999";
		form1.tCity.focus();	
		showRegisterFormErrors();
		return false;
	}	
	/*State*/
	if(!seleccionCombo(form1.cState.value)){
		form1.cState.style.backgroundColor="#FF9999";
		form1.cState.focus();	
		showRegisterFormErrors();
		return false;
	}
	if(form1.cState.value=='999' && !EsCadena(form1.tOtherState.value,1,0)){
		form1.tOtherState.style.backgroundColor="#FF9999";
		form1.tOtherState.focus();		
		showRegisterFormErrors();
		return false;
	}	
	/*Zip*/
	if(!EsCadena(form1.tZip.value,1,0)){
		form1.tZip.style.backgroundColor="#FF9999";
		form1.tZip.focus();		
		showRegisterFormErrors();
		return false;
	}		
	if(!seleccionCombo(form1.cCountry.value)){
		form1.cCountry.style.backgroundColor="#FF9999";
		form1.cCountry.focus();		
		showRegisterFormErrors();
		return false;
	}		
	/*Phone*/
	if(!EsCadena(form1.tPhone.value,1,0)){
		form1.tPhone.style.backgroundColor="#FF9999";
		form1.tPhone.focus();		
		showRegisterFormErrors();
		return false;
	}		
	if(!EsCadena(form1.tEmail.value,1,0)){
		form1.tEmail.style.backgroundColor="#FF9999";
		form1.tEmail.focus();	
		showRegisterFormErrors();
		return false;
	}
	if(!validarEmail(form1.tEmail.value)){
		form1.tEmail.style.backgroundColor="#FF9999";
		form1.tEmail.focus();		
		showRegisterFormErrors();
		return false;
	}	
	//if(!seleccionCombo(form1.cMonthDOB.value)){
	//	form1.cMonthDOB.style.backgroundColor="#FF9999";
	//	form1.cMonthDOB.focus();		
	//	showRegisterFormErrors();
	//	return false;
	//}
	//if(!seleccionCombo(form1.cDayDOB.value)){
	//	form1.cDayDOB.style.backgroundColor="#FF9999";
	//	form1.cDayDOB.focus();	
	//	showRegisterFormErrors();
	//	return false;
	//}		
	//if(!seleccionCombo(form1.cYearDOB.value)){
	//	form1.cYearDOB.style.backgroundColor="#FF9999";
	//	form1.cYearDOB.focus();	
	//	showRegisterFormErrors();
	//	return false;
	//}
	if(!EsCadena(form1.tUser.value,1,0)){
		form1.tUser.style.backgroundColor="#FF9999";
		form1.tUser.focus();	
		showRegisterFormErrors();
		return false;
	}
	if(!EsCadena(form1.tPassword.value,1,0)){
		form1.tPassword.style.backgroundColor="#FF9999";
		form1.tPassword.focus();		
		showRegisterFormErrors();
		return false;
	}
	if(form1.tPassword.value!=form1.tPassword2.value){
		alert("The passwords does not match");
		form1.tPassword.style.backgroundColor="#FF9999";
		form1.tPassword.focus();		
		return false;
	}
	return true;


}


function resetResellerForm(){
	form1.tContactFirstName.style.backgroundColor="#FFFFFF";
	form1.tContactLastName.style.backgroundColor="#FFFFFF";
	form1.tUser.style.backgroundColor="#FFFFFF";
	form1.tPassword.style.backgroundColor="#FFFFFF";
	form1.tCompanyName.style.backgroundColor="#FFFFFF";
	form1.tAddress.style.backgroundColor="#FFFFFF";
	form1.tCity.style.backgroundColor="#FFFFFF";
	form1.cIDUSAState.style.backgroundColor="#FFFFFF";
	form1.tZip.style.backgroundColor="#FFFFFF";
	form1.tPhone.style.backgroundColor="#FFFFFF";
	form1.tEmail.style.backgroundColor="#FFFFFF";
	form1.tWEB_URL.style.backgroundColor="#FFFFFF";
	form1.tOtherState.style.backgroundColor="#FFFFFF";
	form1.cIDCountry.style.backgroundColor="#FFFFFF";
}

function showResellerRegisterFormErrors(){
	var t="The following fields have not been filled out correctly:\n";

	t+="Please enter your First Name\n";
	t+="Last Name must be filled out\n";
	t+="User must be filled out\n";
	t+="Password must be filled out\n";
	t+="Company Name must be filled out\n";
	t+="Street address must be filled out\n";
	t+="City must be filled out\n";
	t+="State must be filled out\n";
	t+="Zip must be filled out\n";
	t+="Country must be filled out\n";	
	t+="Phone number must be filled out\n";
	t+="Email must be filled out\n";
	t+="URL of your website if you have one\n"
	
	alert(t);
}

function registerResellerFormValidate(){
	resetResellerForm();
	/*First Name*/
	if(!EsCadena(form1.tContactFirstName.value,1,0)){
		form1.tContactFirstName.style.backgroundColor="#FF9999";
		form1.tContactFirstName.focus();
		showResellerRegisterFormErrors();
		return false;
	}
	/*Last Name*/
	if(!EsCadena(form1.tContactLastName.value,1,0)){
		form1.tContactLastName.style.backgroundColor="#FF9999";
		form1.tContactLastName.focus();
		showResellerRegisterFormErrors();
		return false;
	}		
	
	if(!EsCadena(form1.tUser.value,1,0)){
		form1.tUser.style.backgroundColor="#FF9999";
		form1.tUser.focus();	
		showResellerRegisterFormErrors();
		return false;
	}
	if(!EsCadena(form1.tPassword.value,1,0)){
		form1.tPassword.style.backgroundColor="#FF9999";
		form1.tPassword.focus();		
		showResellerRegisterFormErrors();
		return false;
	}
	
	/*Company Name*/
	if(!EsCadena(form1.tCompanyName.value,1,0)){
		form1.tCompanyName.style.backgroundColor="#FF9999";
		form1.tCompanyName.focus();
		showResellerRegisterFormErrors();
		return false;
	}	
			
	/*Address*/
	if(!EsCadena(form1.tAddress.value,1,0)){
		form1.tAddress.style.backgroundColor="#FF9999";
		form1.tAddress.focus();	
		showResellerRegisterFormErrors();
		return false;
	}	
	/*City*/
	if(!EsCadena(form1.tCity.value,1,0)){
		form1.tCity.style.backgroundColor="#FF9999";
		form1.tCity.focus();	
		showResellerRegisterFormErrors();
		return false;
	}	
	/*State*/
	if(!seleccionCombo(form1.cIDUSAState.value)){
		form1.cIDUSAState.style.backgroundColor="#FF9999";
		form1.cIDUSAState.focus();	
		showResellerRegisterFormErrors();
		return false;
	}
	if(form1.cIDUSAState.value=='999' && !EsCadena(form1.tOtherState.value,1,0)){
		form1.tOtherState.style.backgroundColor="#FF9999";
		form1.tOtherState.focus();		
		showResellerRegisterFormErrors();
		return false;
	}	
	/*Zip*/
	if(!EsCadena(form1.tZip.value,1,0)){
		form1.tZip.style.backgroundColor="#FF9999";
		form1.tZip.focus();		
		showResellerRegisterFormErrors();
		return false;
	}		
	/*Country*/
	if(!seleccionCombo(form1.cIDCountry.value)){
		form1.cIDCountry.style.backgroundColor="#FF9999";
		form1.cIDCountry.focus();		
		showResellerRegisterFormErrors();
		return false;
	}		
	/*Phone*/
	if(!EsCadena(form1.tPhone.value,1,0)){
		form1.tPhone.style.backgroundColor="#FF9999";
		form1.tPhone.focus();		
		showResellerRegisterFormErrors();
		return false;
	}		
	if(!EsCadena(form1.tEmail.value,1,0)){
		form1.tEmail.style.backgroundColor="#FF9999";
		form1.tEmail.focus();	
		showResellerRegisterFormErrors();
		return false;
	}
	if(!validarEmail(form1.tEmail.value)){
		form1.tEmail.style.backgroundColor="#FF9999";
		form1.tEmail.focus();		
		showResellerRegisterFormErrors();
		return false;
	}	
	/*Website*/
	if(form1.o2HaveWeb.checked){
		if(!EsCadena(form1.tWEB_URL.value,8,0)){
			form1.tWEB_URL.style.backgroundColor="#FF9999";
			form1.tWEB_URL.focus();		
			showResellerRegisterFormErrors();
			return false;
		}
	}
	return true;


}


function resetNewResellerForm(){
	form1.tEmail.style.backgroundColor="#FFFFFF";
}


function showNewResellerRegisterFormErrors(){
	var t="The following fields have not been filled out correctly:\n\n";
	t+="Please check Email field\n";

	alert(t);
}

function newResellerFormValidate(){
	resetNewResellerForm();
	if(!validarEmail(form1.tEmail.value)){
		form1.tEmail.style.backgroundColor="#FF9999";
		form1.tEmail.focus();		
		showNewResellerRegisterFormErrors();
		return false;
	}
	return true;
}

//specify whether contents should be auto copied to clipboard (memory)
//Applies only to IE 4+
//0=no, 1=yes
var copytoclip=1

function HighlightAll(theField) {
	var tempval=eval("document."+theField)
	tempval.focus()
	tempval.select()
	if (document.all&&copytoclip==1){
		therange=tempval.createTextRange()
		therange.execCommand("Copy")
		//window.status="Contents highlighted and copied to clipboard!"
		//setTimeout("window.status=''",1800)
	}
}

/***********************************************************
Funcion: ControlFechas
Parametros: 
	sFormulario: Nombre del formulario que contiene el campo a controlar.
	sCampoDia: Nombre del campo que contiene el dia de la fecha a controlar.
	sCampoMes: Nombre del campo que contiene el mes de la fecha a controlar.
	sCampoAnio: Nombre del campo que contiene el año de la fecha a controlar.
Operacion: Esta funcion recibe los datos de tres campos que conforman una fecha y setea la cantidad de dias 
	   validos para el mes y año de la misma		
Llamada: dentro del tag del campo correspondiente colocar
	onchange="ControlFechas('Formulario','Campo dia','Campo mes','Campo año')" 
	se debe poner este codigo en el mes y en el año
*************************************************************/	
	function ControlFechas(sFormulario, sCampoDia, sCampoMes, sCampoAnio)
		{
		actual = eval("document." + sFormulario + "." + sCampoDia).selectedIndex;
		indice = eval("document." + sFormulario + "." + sCampoMes).selectedIndex;
		indice1 = eval("document." + sFormulario + "." + sCampoAnio).selectedIndex;	
		anio = eval("document." + sFormulario + "." + sCampoAnio).options[indice1].value
		mes = eval("document." + sFormulario + "." + sCampoMes).options[indice].value
		valor =  eval("document." + sFormulario + "." + sCampoDia).length;
		for (var i = 0; i < valor; i++) 
			{
			eval("document." + sFormulario + "." + sCampoDia).options[0] = null;
			}
			
		eval("document." + sFormulario + "." + sCampoDia).options[0] = new Option("Day");
		eval("document." + sFormulario + "." + sCampoDia).options[0].value = 0;			
		if (mes == "04" || mes == "06" || mes == "09" || mes == "11")
			{
			for (var i = 0; i < 30; i++) 
				{
				if (i < 9)
					{
					valor = i + 1
					valor = "0" + valor.toString()					
					eval("document." + sFormulario + "." + sCampoDia).options[i+1] = new Option(valor);
					eval("document." + sFormulario + "." + sCampoDia).options[i+1].value = valor;
					}
				else
					{
					eval("document." + sFormulario + "." + sCampoDia).options[i+1] = new Option(i+1);
					eval("document." + sFormulario + "." + sCampoDia).options[i+1].value = i+1;
					}	
				}
			}
		else
			{
			if (mes != "02")
				{
				for (var i = 0; i < 31; i++) 
					{
					if (i < 9)
						{
						valor = i + 1
						valor = "0" + valor.toString()					
						eval("document." + sFormulario + "." + sCampoDia).options[i+1] = new Option(valor);
						eval("document." + sFormulario + "." + sCampoDia).options[i+1].value = valor;
						}
					else
						{
						eval("document." + sFormulario + "." + sCampoDia).options[i+1] = new Option(i+1);
						eval("document." + sFormulario + "." + sCampoDia).options[i+1].value = i+1;
						}	
					}
				}
			else
				{
				if ((anio % 4) == 0)
					{
					for (var i = 0; i < 29; i++) 
						{
						if (i < 9)
							{
							valor = i + 1
							valor = "0" + valor.toString()					
							eval("document." + sFormulario + "." + sCampoDia).options[i+1] = new Option(valor);
							eval("document." + sFormulario + "." + sCampoDia).options[i+1].value = valor;
							}
						else
							{
							eval("document." + sFormulario + "." + sCampoDia).options[i+1] = new Option(i+1);
							eval("document." + sFormulario + "." + sCampoDia).options[i+1].value = i+1;
							}	
						}
					}
				else
					{
					for (var i = 0; i < 28; i++) 
						{
						if (i < 9)
							{
							valor = i + 1
							valor = "0" + valor.toString()					
							eval("document." + sFormulario + "." + sCampoDia).options[i+1] = new Option(valor);
							eval("document." + sFormulario + "." + sCampoDia).options[i+1].value = valor;
							}
						else
							{
							eval("document." + sFormulario + "." + sCampoDia).options[i+1] = new Option(i+1);
							eval("document." + sFormulario + "." + sCampoDia).options[i+1].value = i+1;
							}	
						}
					}
				}	
			}
			if (actual + 1 <= eval("document." + sFormulario + "." + sCampoDia).length)
				{
				eval("document." + sFormulario + "." + sCampoDia).options[actual].selected = true;
				}
			else
				{
				eval("document." + sFormulario + "." + sCampoDia).options[0].selected = true;				
				}	
		}

/***********************************************************
Funcion: AmPm
*************************************************************/	

function AmPm(sFormulario, sCampoHora, sCampoTipo) {
	indice1 = eval("document." + sFormulario + "." + sCampoHora).selectedIndex;	
	hora = eval("document." + sFormulario + "." + sCampoHora).options[indice1].value;
	valor =  eval("document." + sFormulario + "." + sCampoTipo).length;
	
	if (hora > 11) {
			for (var i = 0; i < valor; i++) {
				eval("document." + sFormulario + "." + sCampoTipo).options[0] = null;
			}
			eval("document." + sFormulario + "." + sCampoTipo).options[0] = new Option("PM");
			eval("document." + sFormulario + "." + sCampoTipo).options[0].value = "pm";
	}
	if (hora == 0) {
			for (var i = 0; i < valor; i++) {
				eval("document." + sFormulario + "." + sCampoTipo).options[0] = null;
			}
			eval("document." + sFormulario + "." + sCampoTipo).options[0] = new Option("AM");
			eval("document." + sFormulario + "." + sCampoTipo).options[0].value = "am";
	}
	if ((hora > 0) && (hora < 12)) {
			for (var i = 0; i < valor; i++) {
				eval("document." + sFormulario + "." + sCampoTipo).options[0] = null;
			}
			eval("document." + sFormulario + "." + sCampoTipo).options[0] = new Option("AM");
			eval("document." + sFormulario + "." + sCampoTipo).options[0].value = "am";
			eval("document." + sFormulario + "." + sCampoTipo).options[1] = new Option("PM");
			eval("document." + sFormulario + "." + sCampoTipo).options[1].value = "pm";
	}
}