// JavaScript Document
// validaciones

function analizarStr(cadena,divName,mensaje){
	var str = cadena;
	var mayu = 0;
	var minu = 0;
	var space = 0;
	var desc = 0;
	for(i=0;i<=str.length-1;i++){
		if((str.charCodeAt(i)>=65) && (str.charCodeAt(i)<=91)){
			mayu+=1;
		} else if((str.charCodeAt(i)>=97) && (str.charCodeAt(i)<=122)){
			minu+=1;
		} else if(str.charCodeAt(i)==32){
			space+=1;
		} else {
			desc+=1;
		}
	}
	
	if(cadena==''){
		desc+=1;
	}
		
	if(desc >=1){
		document.getElementById(divName).innerHTML = " &raquo; " + mensaje +".";
		return false;
	} else {
		document.getElementById(divName).innerHTML = "&nbsp;";
		return true;
	}
}

function noVacio(cadena,divName,mensaje){
	var str = cadena;
	var mayu = 0;
	var minu = 0;
	var space = 0;
	var desc = 0;
	
	if(cadena==''){
		desc+=1;
	}
	
	
	if(desc >=1){
		document.getElementById(divName).innerHTML = " &raquo; " + mensaje +".";
		return false;
	} else {
		document.getElementById(divName).innerHTML = "&nbsp;";
		return true;
	}
}

function validarMail(cadena,divName,mensaje){
	var mail = cadena;
	var arrobas = 0;
	var valido = 0;
	var noValido = 0;
	//cuento la cantidad de arrobas
	for(i=0;i<=mail.length-1;i++){
		if(mail.charCodeAt(i)==64){
			arrobas+=1;
		}
	}
	//parte anterior a la arroba
		//si hay una arroba 
		if((arrobas>0) && (arrobas<2)){
			var posArroba = mail.indexOf("@");
			var nombreMail = mail.substring(0,posArroba);
			var cantPuntos = 0;
			//busco la cantidad de puntos dentro del nombre del mail
			for(a=0;a<=nombreMail.length-1;a++){
				if(mail.charCodeAt(a)==46) {
					cantPuntos+=1;
				}
			}
			//si hay un punto
			if((cantPuntos>0) && (cantPuntos<2)){
				var posPunto = nombreMail.indexOf(".");
				var nMailPrimera = nombreMail.substring(0,posPunto);
				var nMailSegunda = nombreMail.substring(posPunto,nombreMail.length-1);
				
				if(isNaN(nMailPrimera) && isNaN(nMailSegunda)) {
					valido+=1;
				} else {
					noValido+=1;
				}
			//si no hay ningun punto
			} else if(cantPuntos==0) {
				if(isNaN(nombreMail)) {
					valido+=1;
				} else {
					noValido+=1;
				}
			} else {
				noValido+=1;
			}
		//si no hay ninguna arroba
		} else {
			noValido+=1;
		}
	//parte posterior a la arroba	
		var dominio = mail.substring(posArroba+1,mail.length-1);
		var domPuntos = 0;
		for(a=0;a<=dominio.length-1;a++){
			if(dominio.charCodeAt(a)==46) {
				domPuntos+=1;
			}
		}
		if(domPuntos==2){
			var posDomPunto = dominio.indexOf(".");
			var lastPosDomPunto = dominio.lastIndexOf(".");
			var nDomPrimera = dominio.substring(0,posDomPunto);
			var nDomSegunda = dominio.substring(posDomPunto,lastPosDomPunto);
			var nDomTercera = dominio.substring(lastPosDomPunto,dominio.length-1);
			if(isNaN(nDomPrimera) && isNaN(nDomSegunda)) {
				if(isNaN(nDomTercera)){
					valido+=1;
				} else {
					noValido+=1;
				}
			} else {
				noValido+=1;
			}
		//si no hay ningun punto
		} else if(domPuntos==1){
			var posDomPunto = dominio.indexOf(".");
			var nDomPrimera = dominio.substring(0,posDomPunto);
			var nDomSegunda = dominio.substring(posDomPunto,dominio.length-1);
			if(isNaN(nDomPrimera) && isNaN(nDomSegunda)) {
				valido+=1;
			} else {
				noValido+=1;
			}
		} else if(domPuntos==0) {
			noValido+=1;
		} else {
			noValido+=1;
		}
		
		if(cadena!=''){
			valido+=1;
		} else {
			noValido+=1;
		}
	
	if(valido<3){
		document.getElementById(divName).innerHTML = " &raquo; " + mensaje +".";
		return false;
	} else {
		document.getElementById(divName).innerHTML = "&nbsp;";
		return true;
	}
}

function validarFormMail(){

	var campo1 = new Boolean(analizarStr(document.getElementById('nombre').value,'errorNombre','Obligatorio'));
	var campo2 = new Boolean(validarMail(document.getElementById('mail').value,'errorMail','Obligatorio'));
	var campo3 = new Boolean(noVacio(document.getElementById('comentario').value,'errorConsulta','Obligatorio'));

	if(campo1==true && campo2==true && campo3==true){
		enviarFormulario('contacto.php', 'contacto');
		limpiarIndicacion('errorNombre','errorMail','errorConsulta','errorGlobal');
		limpiarEleForms('contacto');
	} else {
		document.getElementById('errorGlobal').innerHTML = '&raquo; Mensaje no Enviado!';
	}

}

function limpiarIndicacion(){//divName
	for(var a=0;a<arguments.length;a++){
		document.getElementById(arguments[a]).innerHTML = '&nbsp;';
	}
	delete a;
}

function limpiarEleForms(){//fornmName
	var formulario = document.getElementById(arguments[0]);
	formulario.reset();
}

function botOver(){
	var elemento = document.getElementById(arguments[0]);
		elemento.className='botonOver';
}

function botOut(){
	var elemento = document.getElementById(arguments[0]);
		elemento.className='boton';
}


// consulta ajax

var peticion = false; 
	try { 
		   peticion = new XMLHttpRequest(); 
	} catch (trymicrosoft) { 
		try { 
			peticion = new ActiveXObject("Msxml2.XMLHTTP"); 
	} catch (othermicrosoft) { 
		try { 
		   peticion = new ActiveXObject("Microsoft.XMLHTTP"); 
	} catch (failed) { 
		   peticion = false; 
	} 
	} 
} 
function enviarFormulario(url, formid){
	var Formulario = document.getElementById(formid);
	var longitudFormulario = Formulario.elements.length;
	var cadenaFormulario = ""
	var sepCampos
	sepCampos = ""
	for (var i=0; i <= Formulario.elements.length-1;i++) {
		cadenaFormulario += sepCampos+Formulario.elements[i].name+'='+encodeURI(Formulario.elements[i].value);
		sepCampos="&";
	}

	peticion.open("POST", url, true);
	peticion.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=ISO-8859-1');
	
	peticion.onreadystatechange = function () {
	
		if (peticion.readyState == 4) {
			document.getElementById('indicacion').innerHTML = "Consulta Enviada!";
		}
	}
	peticion.send(cadenaFormulario);
}


function clearNombre(){
		for(i=0;i<5;i++){
			if(ventanas[i][0]==document.ventana){
				var ubLeft = document.getElementById(document.ventana).style.left;
				var ubTop = document.getElementById(document.ventana).style.top;
				
				ventanas[i][10] = new Number(ubLeft.substring(0,ubLeft.length-2));
				ventanas[i][11] = new Number(ubTop.substring(0,ubTop.length-2));
			}
		}
		
		document.getElementById(document.ventana).style.zIndex ='3';
		opacityTween = new OpacityTween(document.getElementById(document.ventana),Tween.strongEaseOut, 50, 100, 1);
		opacityTween.start();
		document.ventana = null;
}


















