// Variables para setear
onload=function() 
{
	cAyuda=document.getElementById("mensajesAyuda");
	cNombre=document.getElementById("ayudaTitulo");
	cTex=document.getElementById("ayudaTexto");
	divTransparente=document.getElementById("transparencia");
	divIFrame=document.getElementById("iframe_oculto"); //add
	divMensaje=document.getElementById("transparenciaMensaje");
	form=document.getElementById("formulario");
	urlDestino="mail.php";
	
	claseNormal="input";
	claseError="inputError";
	
	ayuda=new Array();
	ayuda["Name"]="Your name. 4 to 50 characters. Mandatory";
	ayuda["LastName"]="Your last name.4 to 50 characters. Mandatory";
	ayuda["Title"]="Your title. 3 to 50 characters. Mandatory";
	ayuda["Company"]="Company name. 4 to 50 characters. Mandatory";
	ayuda["City"]="City. 4 to 50 characters. Mandatory";
	ayuda["Country"]="Country. 4 to 50 characters. Mandatory";
	ayuda["Time"]="Best time to contact. 4 to 50 characters. Mandatory";
	ayuda["WebSite"]="Your website. 4 to 50 characters. Mandatory";
	ayuda["Phone"]="Your phone number. Only number and -. Mandatory";
	ayuda["Callers"]="Callers. Mandatory";
	ayuda["E-Mail"]="A valid e-mail address. Mandatory";
	ayuda["Service"]="Type of service. Mandatory";
	ayuda["Hours"]="Working hours. Mandatory";
	ayuda["Operators"]="Quantity of operators. Mandatory";
	ayuda["Languages"]="Languages. Mandatory";
	ayuda["Monitoring"]="Do you need call monitoring. Mandatory";
	ayuda["Statistics"]="Do you need dialing statistics. Mandatory";
	ayuda["Comments"]="Your comments. 4 to 50 characters. Mandatory";
	
	preCarga("images/ok.gif", "images/loading.gif", "images/error.gif");
}

function preCarga()
{
	imagenes=new Array();
	for(i=0; i<arguments.length; i++)
	{
		imagenes[i]=document.createElement("img");
		imagenes[i].src=arguments[i];
	}
}

function nuevoAjax()
{ 
	var xmlhttp=false; 
	try 
	{ 
		// No IE
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); 
	}
	catch(e)
	{ 
		try
		{ 
			// IE 
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
		} 
		catch(E) { xmlhttp=false; }
	}
	if (!xmlhttp && typeof XMLHttpRequest!="undefined") { xmlhttp=new XMLHttpRequest(); } 
	return xmlhttp; 
}

function limpiaForm()
{
	for(i=0; i<=18; i++)
	{
		form.elements[i].className=claseNormal;
	}
	document.getElementById("inputComments").className=claseNormal;
}

function campoError(campo)
{
	campo.className=claseError;
	error=1;
}

function validaService(valor){
  if (valor == "perfect_value" ) return false;
	else return true;
        }
function validaCallers(valor){
  if (valor == "perfect_value" ) return false;
	else return true;
        }
function validaHours(valor){
  if (valor == "perfect_value" ) return false;
	else return true;
        }
function validaLanguages(valor){
  if (valor == "perfect_value" ) return false;
	else return true;
        }
function validaOperators(valor){
  if (valor == "perfect_value" ) return false;
	else return true;
        }
function validaMonitoring(valor){
  if (valor == "perfect_value" ) return false;
	else return true;
        }
function validaStatistics(valor){
  if (valor == "perfect_value" ) return false;
	else return true;
        }

function ocultaMensaje()
{
	divTransparente.style.display="none";
	divIFrame.style.display="none"; //add
}

function muestraMensaje(mensaje)
{
	divMensaje.innerHTML=mensaje;
	divTransparente.style.display="block";
	divIFrame.style.display="block"; //add

}

function eliminaEspacios(cadena)
{
	// Funcion para eliminar espacios delante y detras de cada cadena
	while(cadena.charAt(cadena.length-1)==" ") cadena=cadena.substr(0, cadena.length-1);
	while(cadena.charAt(0)==" ") cadena=cadena.substr(1, cadena.length-1);
	return cadena;
}

function validaLongitud(valor, permiteVacio, minimo, maximo)
{
	var cantCar=valor.length;
	if(valor=="")
	{
		if(permiteVacio) return true;
		else return false;
	}
	else
	{
		if(cantCar>=minimo && cantCar<=maximo) return true;
		else return false;
	}
}

function validaCorreo(valor)
{
	var reg=/(^[a-zA-Z0-9._-]{1,30})@([a-zA-Z0-9.-]{1,30}$)/;
	if(reg.test(valor)) return true;
	else return false;
}
function validaPhoneNumber(valor) 
{
     rePhoneNumber = new RegExp(/^[0-9.-]{1,30}$/);
     if (rePhoneNumber.test(valor)) return true;
	 else return false;
}

function validaForm()
{
	limpiaForm();
	error=0;
	
	var name=eliminaEspacios(form.inputName.value);
	var lastName=eliminaEspacios(form.inputLastName.value);
	var title=eliminaEspacios(form.inputTitle.value);
	var company=eliminaEspacios(form.inputCompany.value);
	var city=eliminaEspacios(form.inputCity.value);
	var country=eliminaEspacios(form.inputCountry.value);
	var time=eliminaEspacios(form.inputTime.value);
	var website=eliminaEspacios(form.inputWebSite.value);
	var phone=eliminaEspacios(form.inputPhone.value);
	var mail=eliminaEspacios(form.inputMail.value);
	var callers=eliminaEspacios(form.inputCallers.value);
	var comments=eliminaEspacios(form.inputComments.value);
	var service=eliminaEspacios(form.inputService.value);
	var hours=eliminaEspacios(form.inputHours.value);
	var operators=eliminaEspacios(form.inputOperators.value);
	var monitoring=eliminaEspacios(form.inputMonitoring.value);
	var statistics=eliminaEspacios(form.inputStatistics.value);
	var languages=eliminaEspacios(form.inputLanguages.value);


	
	if(!validaLongitud(name, 0, 4, 50)) campoError(form.inputName);
	if(!validaLongitud(lastName, 0, 4, 50)) campoError(form.inputLastName);
	if(!validaLongitud(title, 0, 3, 50)) campoError(form.inputTitle);
	if(!validaLongitud(company, 0, 4, 50)) campoError(form.inputCompany);
	if(!validaLongitud(city, 0, 4, 50)) campoError(form.inputCity);
	if(!validaLongitud(country, 0, 4, 50)) campoError(form.inputCountry);
	if(!validaLongitud(time, 0, 4, 50)) campoError(form.inputTime);
	if(!validaLongitud(website, 0, 4, 50)) campoError(form.inputWebSite);
	if(!validaPhoneNumber(phone)) campoError(form.inputPhone);
	if(!validaCorreo(mail)) campoError(form.inputMail);
	if(!validaService(service)) campoError(form.inputService); 
	if(!validaCallers(callers)) campoError(form.inputCallers); 
	if(!validaHours(hours)) campoError(form.inputHours); 
	if(!validaOperators(operators)) campoError(form.inputOperators); 
	if(!validaMonitoring(monitoring)) campoError(form.inputMonitoring); //prueba
	if(!validaStatistics(statistics)) campoError(form.inputStatistics); //prueba
	if(!validaLanguages(languages)) campoError(form.inputLanguages); 
	if(!validaLongitud(comments, 0, 5, 500)) campoError(form.inputComments);
	
	if(error==1)
	{
		var texto="<img src='images/error.gif' alt='Error'><br><br>Please review fills in red<br><br><button style='width:45px; height:18px; font-size:11px;' onClick='ocultaMensaje()' type='button'>Ok</button>";
		muestraMensaje(texto);
	}
	else
	{
		var texto="<img src='images/loading.gif' alt='Sending'><br>Sending. Please wait.<br><br><button style='width:60px; height:18px; font-size:11px;' onClick='ocultaMensaje()' type='button'>Ocultar</button>";
		muestraMensaje(texto);
		
		var ajax=nuevoAjax();
		ajax.open("POST", urlDestino, true);
		ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		ajax.send("name="+name+"&lastName="+lastName+"&company="+company+"&title="+title+"&phone="+phone+"&mail="+mail+"&website="+website+"&time="+time+"&callers="+callers+"&languages="+languages+"&operators="+operators+"&hours="+hours+"&city="+city+"&country="+country+"&service="+service+"&monitoring="+monitoring+"&statistics="+statistics+"&comments="+comments);
		
		ajax.onreadystatechange=function()
		{
			if (ajax.readyState==4)
			{
				var respuesta=ajax.responseText;
				if(respuesta=="OK")
				{
					var texto="<img src='images/ok.gif' alt='Ok'><br>Thanks for your message.<br><br><button style='width:45px; height:18px; font-size:11px;' onClick='ocultaMensaje()' type='button'>Ok</button>";
				}
				else var texto="<img src='images/error.gif'><br><br>Error.<br><br><button style='width:45px; height:18px; font-size:11px;' onClick='ocultaMensaje()' type='button'>Ok</button>";
				
				muestraMensaje(texto);
			}
		}
	}
}

// Mensajes de ayuda

if(navigator.userAgent.indexOf("MSIE")>=0) navegador=0;
else navegador=1;

function colocaAyuda(event)
{
	if(navegador==0)
	{
		var corX=window.event.clientX+document.documentElement.scrollLeft;
		var corY=window.event.clientY+document.documentElement.scrollTop;
	}
	else
	{
		var corX=event.clientX+window.scrollX;
		var corY=event.clientY+window.scrollY;
	}
	cAyuda.style.top=corY+20+"px";
	cAyuda.style.left=corX+15+"px";
}

function ocultaAyuda()
{
	cAyuda.style.display="none";
	if(navegador==0) 
	{
		document.detachEvent("onmousemove", colocaAyuda);
		document.detachEvent("onmouseout", ocultaAyuda);
	}
	else 
	{
		document.removeEventListener("mousemove", colocaAyuda, true);
		document.removeEventListener("mouseout", ocultaAyuda, true);
	}
}

function muestraAyuda(event, campo)
{
	colocaAyuda(event);
	
	if(navegador==0) 
	{ 
		document.attachEvent("onmousemove", colocaAyuda); 
		document.attachEvent("onmouseout", ocultaAyuda); 
	}
	else 
	{
		document.addEventListener("mousemove", colocaAyuda, true);
		document.addEventListener("mouseout", ocultaAyuda, true);
	}
	
	cNombre.innerHTML=campo;
	cTex.innerHTML=ayuda[campo];
	cAyuda.style.display="block";
}