

<!-- Prevent The Form being submitted twice -->
function DisableForm (formname) {
	browser = new String(navigator.userAgent);
	if (browser.match(/IE/g))  {
		for (i=1; i<formname.elements.length; i++) {
			if (formname.elements[i].type == 'submit') {
				formname.elements[i].disabled = true;
			}
			if (formname.elements[i].type == 'image') {
				formname.elements[i].disabled = true;
			}
		}
	}

	document.all['siguiente'].disabled = true;

//	formname.submit();
}


function Disable (formname) {
	for (i=1; i<formname.elements.length; i++) {
		if (formname.elements[i].type == 'text') {
			formname.elements[i].onFocus = blur;
		}
	}
}


function DisableRightButton () {
	var message = "Lo sentimos, \npor efectos de seguridad hemos deshabilitado esta función en su navegador\ngracias.";

	document.onkeydown = function(){ 
		if(window.event && window.event.keyCode == 116) { window.event.keyCode = 505; }
		if(window.event && window.event.keyCode == 505) { return false; }
	}

	function checkRightClick(e) { 
		if (document.all) {
			if (event.button == 2) { 
				alert(message); 
				return false; 
			}
		}
		if (document.layers) {
			if (e.which == 3) {
				alert(message);
				return false; 
			}
		}
	}
	if (document.layers) {
		document.captureEvents(Event.MOUSEDOWN);
	}
	document.onmousedown=checkRightClick;
}


function regresar() {
	history.back();
	return true;
}

function enviarPagina() {
	document.pagina.submit();
	document.all['siguiente'].disabled = true;
	return;
}

/* SCRIPT PARA MOSTRAR UN POPUP CON LA IMAGEN INDICADA */

function imager(txt) {
	var filedesc = "/images/"+txt+"";
	newwindow = window.open (filedesc, 'newwindow', config='height=300,width=350, toolbar=no, menubar=no, scrollbars=no, resizable=yes,location=no, directories=no, status=no'); 
	newwindow.focus();
	return false;
}


function confirmaTrasferencia (form){
	var value;
	value = confirm("Le recordamos que esta opcion es solo si ud YA tiene su dominio registrado");
	if(value) {
		return;
	}
	else {
		form.TIPODOMINIO.checked = false;
		form.NOMBREDOMINIO.focus();
		form.NOMBREDOMINIO.blur();
		return;
	}
}


/* SCRIPT PARA VALIDAR LA FORMA00 DEL PROCESO DE ACTIVACION */
function act_validaForma00 (form) {
	dominio = form.NOMBREDOMINIO.value.replace(/\s/g,"");
	campo = form.NOMBREDOMINIO;

	if (! dominio) {
		validatePrompt(campo,"Favor de indicar el nombre de tu sitio.");
		return(false);
	}

	DisableForm (form);
	return (true);
}


/* SCRIPT PARA VALIDAR LA FORMA01 DEL PROCESO DE ACTIVACION */
function act_validaForma01 (form) {
	if (form.TIPODOMINIO.checked == false) {
		dominio = form.NOMBREDOMINIO.value.replace(/\s/g,"");
		campo = form.NOMBREDOMINIO;
	}
	else{
		dominio = form.NOMBREDOMINIOR.value.replace(/\s/g,"");
		campo = form.NOMBREDOMINIOR;
	}

	if (! dominio) {
		validatePrompt(campo,"Favor de indicar el nombre de tu sitio.");
		return(false);
	}


	if (dominio) {
		re1 = /^-/; OK1 = re1.exec(dominio);

		if (OK1) {
			validatePrompt(campo,"Error en su nombre de dominio, NO debe comenzar con -.");
			return(false);
		}

		re2 = /-$/; OK2 = re2.exec(dominio);

		if (OK2) {
			validatePrompt(campo,"Error en su nombre de dominio, NO debe terminar con -.");
			return(false);
		}

		var dom = /^[a-z0-9]{1}([\w-.]+[a-z0-9])+$/i;
		if (!(dom.test(dominio))){
			validatePrompt(campo,"Favor de indicar un nombre válido para su dominio.");
			return(false);
		}

		var valido = "OK";
		for (i=0; i<dominio.length - 1; i++){
			if (dominio.charAt(i) == "-" && dominio.charAt(i+1) == "-"){
				valido = "NOT";
				break;
			}
			if (dominio.charAt(i) == "." ){
				valido = "NOT1";
				break;
			}
		}

		if (valido == "NOT"){
			validatePrompt(campo,"Favor de indicar un nombre válido para su dominio, NO se aceptan cadenas de la forma nombre--nombre.");
			return(false);
		}

		if (valido == "NOT1"){
			validatePrompt(campo,"Favor de indicar un nombre válido para su dominio, NO se aceptan puntos (.) en el nombre de dominio.");
			return(false);
		}
	}


	DisableForm (form);
	return (true);
}


/* SCRIPT PARA VALIDAR LA FORMA02 DEL PROCESO DE ACTIVACION */
function act_validaForma02 (form) {


	tipo = form.TIPODOMINIO.value.replace(/\s/g,"");
	if (tipo == "T") {
		dominio = form.NOMBREDOMINIOR.value.replace(/\s/g,"");
		extension = form.EXTENSIONR.value.replace(/\s/g,"");
	}
	else {
		dominio = form.NOMBREDOMINIO.value.replace(/\s/g,"");
		extension = form.EXTENSION.value.replace(/\s/g,"");
	}

	nombre = dominio + extension;

	confirmacion = form.CONFIRMADOMINIO.value.replace(/\s/g,"");

	if (nombre != confirmacion) {
		alert ("la confirmación de tu nombre de dominio NO coincide, favor de verificarlo \n " + nombre + "::" + confirmacion);
		history.go (-1);
		return(false);
	}


	nombre = form.NOMBRECONTACTO.value.replace(/\s/g,"");
	if (! nombre) {
		validatePrompt(form.NOMBRECONTACTO,"Favor de indicar tu nombre completo.");
		return(false);
	}

	telefono = form.TELEFONO.value.replace(/\s/g,"");
	if (! telefono) {
		validatePrompt(form.TELEFONO,"Favor de indicar tu numero de teléfono.");
		return(false);
	}
	else{
		re=/^[0-9]{6,15}$/;
		OK = re.exec(telefono);
		if (!OK) {
			validatePrompt(form.TELEFONO,"Favor de escribir tu número telefónico sin letras, guiones o espacios.");
			return(false);
		}
	}

	email = form.EMAIL.value.replace(/\s/g,"");
	if (email) {
		var mail=/^[A-Za-z0-9][\w-.]*[A-Za-z0-9][\.]?[\w]*[A-Za-z0-9]@[A-Za-z0-9]([\w-.]+[A-Za-z0-9]\.)+([A-Za-z]){2,4}$/i;
		if (!(mail.test(email))){
			validatePrompt(form.EMAIL,"Favor de escribir tu Email en la forma: nombre@dominio.ext.");
			return(false);
		}
	}

	key01 = form.KEY01.value.replace(/\s/g,"");
	if (! key01) {
		validatePrompt(form.KEY01,"Favor de especificar cada uno de los campos de tu codigo de activación.");
		return(false);
	}

	key02 = form.KEY02.value.replace(/\s/g,"");
	if (! key02) {
		validatePrompt(form.KEY02,"Favor de especificar cada uno de los campos de tu codigo de activación.");
		return(false);
	}

	key03 = form.KEY03.value.replace(/\s/g,"");
	if (! key03) {
		validatePrompt(form.KEY03,"Favor de especificar cada uno de los campos de tu codigo de activación.");
		return(false);
	}

	key04 = form.KEY04.value.replace(/\s/g,"");
	if (! key04) {
		validatePrompt(form.KEY04,"Favor de especificar cada uno de los campos de tu codigo de activación.");
		return(false);
	}

	DisableForm (form);
	return (true);
}


/* SCRIPT PARA VALIDAR LA FORMA01 DEL PROCESO DE COMPRA EXPRESS */
function exp_validaForma02 (form) {

	tipo = form.TIPODOMINIO.value.replace(/\s/g,"");
	if (tipo == "T") {
		dominio = form.NOMBREDOMINIOR.value.replace(/\s/g,"");
		extension = form.EXTENSIONR.value.replace(/\s/g,"");
	}
	else {
		dominio = form.NOMBREDOMINIO.value.replace(/\s/g,"");
		extension = form.EXTENSION.value.replace(/\s/g,"");
	}

	nombre = dominio + extension;

	confirmacion = form.CONFIRMADOMINIO.value.replace(/\s/g,"");

	if (nombre != confirmacion) {
		alert ("la confirmación de tu nombre de dominio NO coincide, favor de verificarlo \n " + nombre + "::" + confirmacion);
		history.go (-1);
		return(false);
	}


	nombre = form.NOMBRECONTACTO.value.replace(/\s/g,"");
	if (! nombre) {
		validatePrompt(form.NOMBRECONTACTO,"Favor de indicar tu nombre completo.");
		return(false);
	}

	telefono = form.TELEFONO.value.replace(/\s/g,"");
	if (! telefono) {
		validatePrompt(form.TELEFONO,"Favor de indicar tu numero de teléfono.");
		return(false);
	}
	else{
		re=/^[0-9]{6,15}$/;
		OK = re.exec(telefono);
		if (!OK) {
			validatePrompt(form.TELEFONO,"Favor de escribir tu número telefónico sin letras, guiones o espacios.");
			return(false);
		}
	}

	email = form.EMAIL.value.replace(/\s/g,"");
	if (email) {
		var mail=/^[A-Za-z0-9][\w-.]*[A-Za-z0-9][\.]?[\w]*[A-Za-z0-9]@[A-Za-z0-9]([\w-.]+[A-Za-z0-9]\.)+([A-Za-z]){2,4}$/i;
		if (!(mail.test(email))){
			validatePrompt(form.EMAIL,"Favor de escribir tu Email en la forma: nombre@dominio.ext.");
			return(false);
		}
	}

	DisableForm (form);
	return (true);
}




function exp_validaForma03 (form) {

	nombreE = form.NOMBRECONTACTOE.value.replace(/\s/g,"");
	if (! nombreE) {
		validatePrompt(form.NOMBRECONTACTOE,"Favor de indicar tu nombre completo.");
		return(false);
	}


	telefonoE = form.TELEFONOE.value.replace(/\s/g,"");
	if (! telefonoE) {
		validatePrompt(form.TELEFONOE,"Favor de indicar tu numero de teléfono.");
		return(false);
	}
	else{
		re=/^[0-9]{6,15}$/;
		OK = re.exec(telefonoE);
		if (!OK) {
			validatePrompt(form.TELEFONOE,"Favor de escribir su número telefónico sin letras, guiones o espacios.");
			return(false);
		}
	}


	dir01E = form.DIRECCION01E.value.replace(/\s/g,"");
	if (! dir01E) {
		validatePrompt(form.DIRECCION01E,"Favor de escribir tu dirección de envío.");
		return(false);
	}

	/*dir02E = form.DIRECCION02E.value.replace(/\s/g,"");
	if (! dir02E) {
		validatePrompt(form.DIRECCION02E,"Favor de escribir tu dirección de envío.");
		return(false);
	}*/

	municipioE = form.CIUDADE.value.replace(/\s/g,"");
	if (! municipioE) {
		validatePrompt(form.CIUDADE,"Favor de escribir tu municipio de envío.");
		return(false);
	}


	if (form.FACTURA[1].checked) {
		razonsocial = form.RAZONSOCIAL.value.replace(/\s/g,"");
		if (! razonsocial) {
			validatePrompt(form.RAZONSOCIAL,"Favor de escribir tu Razón Social.");
			return(false);
		}

		rfc = form.RFC.value.replace(/\s/g,"");
		if (! rfc) {
			validatePrompt(form.RFC,"Favor de escribir este campo.");
			return(false);
		}

		dir01f = form.DIRECCION01F.value.replace(/\s/g,"");
		if (! dir01f) {
			validatePrompt(form.DIRECCION01F,"Favor de escribir tu dirección de facturación.");
			return(false);
		}

		/*dir02f = form.DIRECCION02F.value.replace(/\s/g,"");
		if (! dir02f) {
			validatePrompt(form.DIRECCION02F,"Favor de escribir tu dirección de facturación.");
			return(false);
		}*/

		municipiof = form.CIUDADF.value.replace(/\s/g,"");
		if (! municipiof) {
			validatePrompt(form.CIUDADF,"Favor de escribir tu municipio de facturación.");
			return(false);
		}

		cpf = form.CPF.value.replace(/\s/g,"");
		if (! cpf) {
			validatePrompt(form.CPF,"Favor de escribir tu CP de facturación.");
			return(false);
		}
	}





	DisableForm (form);
	return (true);
}


/* SCRIPT PARA VALIDAR LA PRIMARA FORMA DEL PROCESO DE COMPRA NORMAL (LISTA DE PRODUCTOS) */
function nor_validaForma00 (form) {

/*

	cantidad_1 = form.CANTIDAD_1.value.replace(/\s/g,"");

	cantidad_1 = cantidad_1.replace(/\s/g,"");
	if (cantidad_1 != "0" && ! (isInteger (cantidad_1)) ){
		validatePrompt(form.CANTIDAD_1,"Es necesario que escriba una cantidad válida.");
		return(false);
	}
	cantidad_2 = cantidad_2.replace(/\s/g,"");
	if (cantidad_2 != "0" && ! (isInteger (cantidad_2)) ){
		validatePrompt(form.CANTIDAD_2,"Es necesario que escriba una cantidad válida.");
		return(false);
	}
*/


	var reCantidad = /CANTIDAD_/g;

	for (var p in form){
		elemento = "form." + p + ".value";
		var ok = reCantidad.exec(elemento);
		if (ok){
			cantidad = eval(elemento)
			cantidad = cantidad.replace(/\s/g,"");
			if (cantidad != "0" && ! (isInteger (cantidad)) ){
				validatePrompt(eval("form." + p + ""),"Es necesario que escriba una cantidad válida.");
				return(false);
			}
		}
	}

	return (true);
}



/* SCRIPT PARA VALIDAR LAS DIRECCIONES DE ENVIO EN UNA COMPRA NORMAL */
function nor_validaForma01 (form) {

	nombre = form.NOMBRECONTACTO.value.replace(/\s/g,"");
	if (! nombre) {
		validatePrompt(form.NOMBRECONTACTO,"Favor de indicar tu nombre completo.");
		return(false);
	}


	telefono = form.TELEFONO.value.replace(/\s/g,"");
	if (! telefono) {
		validatePrompt(form.TELEFONO,"Favor de indicar tu numero de teléfono.");
		return(false);
	}
	else{
		re=/^[0-9]{6,15}$/;
		OK = re.exec(telefono);
		if (!OK) {
			validatePrompt(form.TELEFONO,"Favor de escribir su número telefónico sin letras, guiones o espacios.");
			return(false);
		}
	}


	dir01 = form.DIRECCION01.value.replace(/\s/g,"");
	if (! dir01) {
		validatePrompt(form.DIRECCION01,"Favor de escribir tu dirección de envío.");
		return(false);
	}

	/*dir02 = form.DIRECCION02.value.replace(/\s/g,"");
	if (! dir02) {
		validatePrompt(form.DIRECCION02,"Favor de escribir tu dirección de envío.");
		return(false);
	}*/

	municipio = form.CIUDAD.value.replace(/\s/g,"");
	if (! municipio) {
		validatePrompt(form.CIUDAD,"Favor de escribir tu municipio de envío.");
		return(false);
	}


	if (form.FACTURA[1].checked) {
		razonsocial = form.RAZONSOCIAL.value.replace(/\s/g,"");
		if (! razonsocial) {
			validatePrompt(form.RAZONSOCIAL,"Favor de escribir tu Razón Social.");
			return(false);
		}

		rfc = form.RFC.value.replace(/\s/g,"");
		if (! rfc) {
			validatePrompt(form.RFC,"Favor de escribir tu RFC.");
			return(false);
		}

		dir01f = form.DIRECCION01F.value.replace(/\s/g,"");
		if (! dir01f) {
			validatePrompt(form.DIRECCION01F,"Favor de escribir tu dirección de facturación.");
			return(false);
		}

		/*dir02f = form.DIRECCION02F.value.replace(/\s/g,"");
		if (! dir02f) {
			validatePrompt(form.DIRECCION02F,"Favor de escribir tu dirección de facturación.");
			return(false);
		}*/

		municipiof = form.CIUDADF.value.replace(/\s/g,"");
		if (! municipiof) {
			validatePrompt(form.CIUDADF,"Favor de escribir tu municipio de facturación.");
			return(false);
		}

		cpf = form.CPF.value.replace(/\s/g,"");
		if (! cpf) {
			validatePrompt(form.CPF,"Favor de escribir tu CP de facturación.");
			return(false);
		}
	}



	DisableForm (form);
	return (true);
}



/* SCRIPT PARA LLENAR LOS DATOS DE FACTURACION DE UN CLIENTE DADO SU DIRECCION DE ENVIO EN EL PROCESO DE COMPRA EXPRESS */

function llenaDatosFactura (form) {

	direccion01 = form.DIRECCION01E.value;
	//direccion02 = form.DIRECCION02E.value;
	ciudad = form.CIUDADE.value;
	cp = form.CPE.value;

	form.DIRECCION01.value = direccion01;
	//form.DIRECCION02.value = direccion02;
	form.CIUDAD.value = ciudad;
	form.CP.value = cp;

	form.RFC.focus();
	form.RFC.select();
}


/* SCRIPT PARA LLENAR LOS DATOS DE FACTURACION DE UN CLIENTE DADO SU DIRECCION DE ENVIO EN EL PROCESO DE COMPRA NORMAL */
function llenaDatosFacturaNormal (form) {

	nombre = form.NOMBRECONTACTO.value;
	direccion01 = form.DIRECCION01.value;
	//direccion02 = form.DIRECCION02.value;
	ciudad = form.CIUDAD.value;
	cp = form.CP.value;

	form.RAZONSOCIAL.value = nombre;
	form.DIRECCION01F.value = direccion01;
	//form.DIRECCION02F.value = direccion02;
	form.CIUDADF.value = ciudad;
	form.CPF.value = cp;

	form.RFC.focus();
	form.RFC.select();
}


/* MUESTRA EL MENSAJE DE ALERTA */
function validatePrompt(campo,Message) {
	alert(Message);
	campo.focus();
	campo.select();
	return;
}


//verifica que el numero tenga formato de un entero
//para descuento
function isInteger (param){

	if (! (esVacio (param)) && comienzaOK(param) && !(contieneLetras(param)) && 
		!(contieneCaracteresIlegalesI(param)) ){
			return true;
	}
	
	return false;
}




//verifica que no sea vacio
function esVacio (param) {
	if (!param){
		//alert (" ES VACIO ");
		return true;
	}
	return false;
}

//verifica que comienze y termine con un numero
function comienzaOK (param){
	param = param.substring(0,1);
	var re = /[0-9]/g;
	var ok = re.exec(param);
	if (! (ok) ){
		//alert (" NUMERO INVALIDO ");
		return false;
	}

	var last = param.substring(param.length - 1, 1);
	re = /[0-9]/g;
	if (last){
		ok = re.exec(last);
		if (! (ok) ){
			//alert (" NUMERO INVALIDO " + last);
			return false;
		}
	}

	return true;
}

//verifica que no contenga letras
function contieneLetras (param) {
	var re = /[a-zA-Z]/g;
	var ok = re.exec(param);
	if (ok){
		//alert (" CONTIENE LETRAS ");
		return true;
	}
	return false;
}

//verifica que no tenga carateres especiales (para la validacion de numeros enteros [NO ACEPTA PUNTOS])
function contieneCaracteresIlegalesI (param) {
	var invalidChars = new Array("~","!","@","#","$","%","^","&","*","(",")","+","=","[","]",":",";",",",".","\"","'","|","{","}","\\","/","<",">","?");
	var testArr = param.split("");
	for(var i=0; i<testArr.length; i++) {
		for(var j=0; j<invalidChars.length; j++) {
			if(testArr[i]==invalidChars[j]) {
				//alert (" CONTIENE CARACTERES ILEGALES ");
				return true;
			}
		}
	}
	return false;
}


