﻿// JavaScript Document
function generaStr(par){
	str="";
	for(i=0;i<par.length;i++){
		if(par[i].selected){
			str=str+"#:#"+par[i].text;
		}
	}
	if(str.length>0){
		str=str.substring(3);
	}
	return str;
}
function generaStr2(par){
	str="";
	for(i=0;i<par.length;i++){
		str=str+"#:#"+par[i].text;
	}
	if(str.length>0){
		str=str.substring(3);
	}
	return str;
}
function generaStr3(par){
	str="";
	for(i=0;i<par.length;i++){
		if(par[i].selected){
			str=str+"#:#"+par[i].value;
		}
	}
	if(str.length>0){
		str=str.substring(3);
	}
	return str;
}
function generaStr4(par){
	str="";
	for(i=0;i<par.length;i++){
		str=str+"#:#"+par[i].value;
	}
	if(str.length>0){
		str=str.substring(3);
	}
	return str;
}
function generaStr5(par){
	str="";
	for(i=0;i<par.length;i++){
		if(!par[i].selected){
			str=str+"#:#"+par[i].text;
		}
	}
	if(str.length>0){
		str=str.substring(3);
	}
	return str;
}
function generaStr6(par){
	str="";
	for(i=0;i<par.length;i++){
		if(!par[i].selected){
			str=str+"#:#"+par[i].value;
		}
	}
	if(str.length>0){
		str=str.substring(3);
	}
	return str;
}
function enviaForm(){
	par=document.getElementById('out');
	var str=new String("");
	for(i=0;i<par.length;i++){
		str=str+"#:#"+par[i].text;
	}
	if(str.length>0){
		str=str.substring(3);
	}
	document.getElementById('productes').value=str;

	if(valida()){
		document.getElementById('f1').submit();
	}
}
function actualitza(num){
	div="d"+num;

	// Posem totes les opcions separades per "#:#" per despres poder separarlos amb un array
	// Cada strX conte les opcions seleccionades per l'usuari de un camp diferent
	// Al principi es va disenyar per una multiple selecció per aixo es va fer aixi
	// Com que tambe funciona per una seleccio unica s'ha deixat aixi
	var str1=new String("");
	par=document.getElementById('categoria');
	str1=generaStr(par);
	if(num>2){
		var str2=new String("");
		par=document.getElementById('marca');
		str2=generaStr(par);
	}
	if(num>3){
		var str3=new String("");
		par=document.getElementById('modelo');
		str3=generaStr(par);
	}
	if(num>4){
		var str4=new String("");
		par=document.getElementById('ancho');
		str4=generaStr(par);
	}
	url="./libs/ajax.php";

	//Enviem Request i actualitzem el select que ens interesa
	//El seguent de la seleccio de l'usuari
	var myAjax = new Ajax.Updater(
	div, 
	url, 
	{
		method: 'get', 
		parameters: {opt1: str1, opt2: str2, opt3: str3, opt4: str4, capa: num}
	});
	url="./libs/blanc.php";
	var a=new Array('categoria','marca','modelo','ancho','largo');
	for(i=num+1;i<6;i++){
		// Ocultem tots els selects que no ens interesen
		//Enviem Request i actualitzem
		div="d"+i;
		var myAjax = new Ajax.Updater(
		div, 
		url, 
		{
			method: 'get', 
			parameters: {camp: a[i-1]}
		});
	}
}
function afegeix(){

	// Captem la informació del formulari per pasar-la a Ajax
	// Ajax la escriura en el camp out junt amb la informació de la referencia en el camp ocult
	var str1=new String("");
	par=document.getElementById('categoria');
	str1=generaStr(par);
	var str2=new String("");
	par=document.getElementById('marca');
	str2=generaStr(par);
	var str3=new String("");
	par=document.getElementById('modelo');
	str3=generaStr(par);
	var str4=new String("");
	par=document.getElementById('ancho');
	str4=generaStr(par);
	var str5=new String("");
	par=document.getElementById('largo');
	str5=generaStr(par);
	var str6=new String("");
	str6=document.getElementById('unitats').value;
	var optolda=new String("");
	par=document.getElementById('out');
	optolda=generaStr2(par);
	var refe=new String("");
	par=document.getElementById('largo');
	refe=generaStr3(par);
	var refa=new String("");
	par=document.getElementById('out');
	refa=generaStr4(par);
	var ide=new String("");
	ide=document.getElementById('ancho').value;

	document.getElementById('unitats').value="";

	div="d6";
	url="./libs/afegeix.php";
	var myAjax = new Ajax.Updater(
	div, 
	url, 
	{
		method: 'get', 
		insertion: Insertion.bottom,
		parameters: {opt1: str1, opt2: str2, opt3: str3, opt4: str4, opt5: str5,opt6: str6,id: ide,optold: optolda, ref: refe, refold: refa}
	});
}
function defectePord(productes){
	div="d6";
	url="./libs/defecte.php";
	var myAjax = new Ajax.Updater(
	div, 
	url, 
	{
		method: 'get', 
		insertion: Insertion.bottom,
		parameters: {optold: productes}
	});
}
function clearSel(){
	var optolda=new String("");
	par=document.getElementById('out');
	optolda=generaStr5(par);
	var refa=new String("");
	par=document.getElementById('out');
	refa=generaStr6(par);
	
	div="d6";
	url="./libs/clear.php";
	var myAjax = new Ajax.Updater(
	div, 
	url, 
	{
		method: 'get', 
		insertion: Insertion.bottom,
		parameters: {optold: optolda, refold: refa}
	});
}
function clearAll(){
	var optolda=new String("");
	var refa=new String("");
	
	div="d6";
	url="./libs/clear.php";
	var myAjax = new Ajax.Updater(
	div, 
	url, 
	{
		method: 'get', 
		insertion: Insertion.bottom,
		parameters: {optold: optolda, refold: refa}
	});
}

// Funcions per evaluar el formulari abans de ser enviat
function isEmailAddress(theElement, nombre_del_elemento )
{
	var s = theElement.value;
	var filter = /^(.+\@.+\..+)$/
	//var filter=/^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
	if (filter.test(s)){
		return true;
	} else {
		return false;
	}
}
function valida(){
	nom=document.getElementById('nom').value;
	empresa=document.getElementById('empresa').value;
	email=document.getElementById('email');
	telf=document.getElementById('telf').value;
	productes=document.getElementById('productes').value;
	e=false;
	emptyMail=false;
	error="";
	if ((nom=="")||(nom=='-- Nombre del Solicitante --')) {
	   error=error+"El campo nombre es obligatorio\n";
	   e=true;
	}
	if ((empresa=="")||(empresa=='-- Empresa --')) {
	   error=error+"El campo empresa es obligatorio\n";
	   e=true;
	}
	if ((email=="")||(email=='-- Email de contacto --')) {
	   error=error+"Se requiere un email de contacto\n";
	   emptyMail=true;
	   e=true;
	}
	if ((telf=="")||(telf=='-- Telf. de contacto --')) {
	   error=error+"Se requiere un telefono de contacto\n";
	   e=true;
	}
	if (productes=="") {
	   error=error+"No ha elegido ningun producto\n";
	   e=true;
	}
	if (! isEmailAddress(email,"email") && 	!emptyMail) {
	   error=error+"El email introducido no es válido\n";
	   e=true;
	}
	if (e){
		alert(error);
		return false;
	} else{
		return true;
	}
}
// Funciones per borrar les cookies
function delCookie(name,path,domain){
	document.cookie=name+"="+((path==null)?"":";path="+path)+((domain==null)?"":";domain="+domain)+";expires=Thu,01-Jan-70 00:00:01 GMT";
} 
function cookieKill(path,domine){
	delCookie("rembCon1",path,domine);
	delCookie("rembCon2",path,domine);
	delCookie("rembCon3",path,domine);
	delCookie("rembCon4",path,domine);
	delCookie("rembCon5",path,domine);
	delCookie("rembCon6",path,domine);
	alert("Sus datos personales han sido borrados y no serán recordados la próxima vez que use el formulario de pedido.");
}