var xmlDoc2;
$(document).ready(function(){
	//alert("si");
	//cargamos xml
	var obj2=loadXML_apli();
	var obj2=getFF_apli();
	
	if ($("#block2 #apli_material1").size()>0) {
		 var obj2=getMateriales1_apli(obj2,"");
		//alert(obj.xml);
	}

	if ($("#block2 #aplicaciones").size()>0) {
		$("#block2 #aplicaciones li a").click(function(){
			//alert(obj);
			var valor_c=$(this).attr("value");

			if ($(this).attr("rel")=="directo") {
			//if (valor_c=="Anclar" || valor_c=="Fijar roscas" || valor_c=="Reparaciones automoción" || valor_c=="Sellar juntas" || valor_c=="Cintas") {
				getDependeCaractericticas_apliDirectas_apli(obj2,"no","no",valor_c);
			} else {
				getMateriales1_apli(obj2,valor_c);
				$("#block2 #aplicaciones_list").css("display","none");
				$("#block2 #post").css("display","");
				$("#block2 #apli_material1").css("display","");
			}
			$("#block2 #tmp_apli").val(valor_c);
			
		});
		//alert(obj.xml);
	}
	
	$("#apli_material1").change(function(){
		$("#block2 #apli_material2").css("display","");
		$("#block2 #label_material2").css("display","");
		getMateriales2_apli($(this).val(),obj);
		//alert(result);
	});
	
	
	$("#btn_submit").click(function(){
		var material1=$("#block2 #apli_material1").children("option:selected").val();
		var material2=$("#block2 #apli_material2").children("option:selected").val();
		//TIENE APLICACIONES?
		var result=getDependeAplicaciones_apli(material1,material2,obj2);
		if (result==false) {
			//TIENE PROPIEDADES?
			//alert("No hay aplicaciones.");	
		}						
	});
});

function getFF_apli(){
	var xmlObj2=xmlDoc2.getElementsByTagName('materiales');
	var obj2=getMateriales1_apli(xmlObj2);
	return obj2;
}

//LLENAMOS EL PRIMER SELECT DE MATERIALES AL CARGAR LA PRIMERA PÁGINA


function loadXML_apli() {
	if (document.implementation && document.implementation.createDocument) {
		xmlDoc2 = document.implementation.createDocument("", "", null);
	} else {
		xmlDoc2 = new ActiveXObject("Microsoft.XMLDOM");
	}
	
	if (document.implementation && document.implementation.createDocument) {
		xmlDoc2.load("../xml/data.xml");
		xmlDoc2.onload=getFF_apli;
		//alert(xmlObj2);
		//return xmlObj2;
	} else {
		//alert(xmlDoc2.documentElement);
		xmlDoc2.async="false";
		xmlDoc2.onreadystatechange=verify_apli;
		xmlDoc2.load("../xml/data.xml");
		xmlObj2=xmlDoc2.documentElement; 
		schedule=xmlObj2.xml;
		//alert(xmlObj2);
		return xmlObj2;
	}
	
}

function getMateriales1_apli(xmlObj2,valor) {

	if (valor) {
	var result="";
	var nombre_aux="";
	var soptions=new Array();
	var i=0;
	
	//result=result+'<option value="">Seleccione</option>';
	$(xmlObj2).find("material:has(aplicacion[nombre='"+valor+"'])").each(function(){
		var nombre = $(this).attr('material1');
		soptions[i]=nombre;
		i++;
	});

	var newArr=eliminarDuplicados_apli(soptions);

	for (var i=0;i<newArr.length;i++) {
		//result=result+'<option value="'+newArr[i]+'">'+newArr[i]+'</option>';	
		var nombreChar4=$("#block1 #material1 li a[value='"+newArr[i]+"'] img").attr("src");
		//alert(nombreChar);
		result=result+'<li><a href="#" onclick="getMateriales2_apli(\''+newArr[i]+'\',\'\')" value="'+newArr[i]+'"><img src="'+nombreChar4+'" /><br />'+newArr[i]+'</a></li>';
	}	

	$("#home_title_aplicaciones").text($("#home_title_materiales").text());
	$("#block2 #aplicaciones").css("display","none");
	
	$("#block2 #apli_material1").html(result);
	}
	return xmlObj2;
}

//LLENAMOS EL SEGUNDO SELECT DE MATERIALES
function getMateriales2_apli(valor,xmlObj2) {
	$("#block1 #material1_val").val(valor);
	var xmlObj2=getFF_apli();
	var result="";
	//alert(valor);
	//alert(valor);
	var apli=$("#block2 #tmp_apli").val();

	//alert($("#tmp_apli").val());
	//result=result+'<option value="">Seleccione</option>';
	$(xmlObj2).find("material[material1='"+valor+"']:has(aplicacion[nombre='"+apli+"'])").each(function(){
		var nombre = $(this).attr('material2');
		//result=result+'<option value="'+nombre+'">'+nombre+'</option>';
		var nombreChar5=$("#block1 #material1 li a[value='"+nombre+"'] img").attr("src");
		//alert(nombreChar);
		result=result+'<li><a href="#" onclick="material2Click_apli(this)" value="'+nombre+'"><img src="'+nombreChar5+'" /><br />'+nombre+'</a></li>';
	});
	$("#home_title_aplicaciones").text($("#txt_1").val());
	$("#block2 #apli_material1").css("display","none");
	$("#block2 #apli_material2").css("display","");
	$("#block2 #apli_material2").html(result);
}

function material2Click_apli(obj_click) {

	var material1=$("#block1 #material1_val").val();
	var material2=$(obj_click).attr("value");
	//TIENE APLICACIONES?
	var obj2=getFF();
	var result=getDependeAplicaciones_apli(material1,material2,obj2);
	if (result==false) {
		//TIENE PROPIEDADES?
		//alert("No hay aplicaciones.");	
	}	

}

function getDependeAplicaciones_apli(material1,material2,xmlObj2) {
	if (material1 && material2) {
		var result="";
		var cont=0;
		var nombreDirectoAux="";
		$(xmlObj2).find("material[material1='"+material1+"'][material2='"+material2+"']").each(function(){
			$(this).find("aplicacion").each(function(){
				result=result+'<input class="button2" type="button" name="aplicacion" material1="'+material1+'" material2="'+material2+'" aplicacion="'+$(this).attr("nombre")+'" value="'+$(this).attr("nombre")+'" /><br />';
				cont++;
				nombreDirectoAux=$(this).attr("nombre");
			});
		});
		//alert(cont);
		if (cont>0) {
			//print	aplicaciones buttons
			
			//printamos caracteristicas
			if (cont==1) {
				var result=getDependeCaractericticas_apliDirectas_apli(xmlObj2,material1,material2,$("#tmp_apli").val());
			} else {
				//$("#block2 #apli_material2").html(result);
				//var result=getDependeCaractericticas_apli(xmlObj2);
				var result=getDependeCaractericticas_apliDirectas_apli(xmlObj2,material1,material2,$("#tmp_apli").val());
			}
		} else { 
			return false;
		}
	}
}







function getDependeCaractericticas_apliDirectas_apli(xmlObj2,material1,material2,aplicacion) {
	//$("input[name='aplicacion']").click(function(){
		var flexible="";
		var superficies_grandes="";
		var exterior="";
		var temperaturas_extremas="";
		var resistencia_agua="";
		var transparencia="";
		
		var chars="";
		var cont=0;
		//var material1=$(this).attr("material1");
		//var material2=$(this).attr("material2");
		//var aplicacion=$(this).attr("aplicacion");
		//var cont=0;
		var atributos=new Array();
		$(xmlObj2).find("material[material1='"+material1+"'][material2='"+material2+"']").each(function(){
			$(this).find("aplicacion[nombre='"+aplicacion+"']").each(function(){
				$(this).find("producto").each(function(){
					chars=chars+"|";
					//SACAMOS LOS ATRIBUTOS POR ORDENNN!!
					var obj2 = {}; // this object will hold key-value pairs of elem attributes
					var attribs = $(this)[0].attributes;
					for (var i = 0; i < attribs.length; i++) {
						obj2[attribs[i].name] = attribs[i].value;
						if (attribs[i].name!="ID" && attribs[i].name!="nombre") {
							//alert(attribs[i].name);
							chars=chars+','+attribs[i].name;
							if (jQuery.inArray(attribs[i].name,atributos)==-1) {
								atributos[cont]=attribs[i].name;
								cont++;
							}
						}
					}
				});
			});
		});
		//alert(atributos[0]+'--'+atributos[1]+'--'+atributos[2]+'--'+atributos[3]+'--'+atributos[4]+'--'+atributos[5]);

		if (chars!="") {
			//alert(atributos);
			var pas=0;
			if (atributos.length==1) {
				var attr_aux="["+atributos[0]+"=0]";
				var attr_aux2="["+atributos[0]+"=1]";
				$(xmlObj2).find("material[material1='"+material1+"'][material2='"+material2+"']").each(function(){
					$(this).find("aplicacion[nombre='"+aplicacion+"']").each(function(){
						var nombre="";
						$(this).find("producto"+attr_aux).each(function(){
							pas=1;
						});
					});
				});	
				if (pas==0) {
					$(xmlObj2).find("material[material1='"+material1+"'][material2='"+material2+"']").each(function(){
						$(this).find("aplicacion[nombre='"+aplicacion+"']").each(function(){
							var nombre="";
							$(this).find("producto"+attr_aux2).each(function(){
								pas=1;
							});
						});
					});					
				}	
				//alert(pas);
				if (pas==1) {
					getProduct_apli(xmlObj2,"["+atributos[0]+"]",atributos,material1,material2,aplicacion);
				}
			} else {
			
				var partes=chars.split("|");
				if (partes.length==2) {
					var partes2=partes[1].split(",");	
					if (partes2.length==2) {
						//alert("directo");
						getProduct_apli(xmlObj2,"["+partes2[1]+"]",atributos,material1,material2,aplicacion);
					}
				} else {
					showCaracteristicas_apli(xmlObj2,chars,atributos,"","",material1,material2,aplicacion,"");
				}
			}
		}
		return chars;
	//});
	
}









function getDependeCaractericticas_apli(xmlObj2) {
	$("input[name='aplicacion']").click(function(){
		var flexible="";
		var superficies_grandes="";
		var exterior="";
		var temperaturas_extremas="";
		var resistencia_agua="";
		var transparencia="";
		
		var chars="";
		var cont=0;
		var material1=$(this).attr("material1");
		var material2=$(this).attr("material2");
		var aplicacion=$(this).attr("aplicacion");
		//var cont=0;
		var atributos=new Array();
		$(xmlObj2).find("material[material1='"+material1+"'][material2='"+material2+"']").each(function(){
			$(this).find("aplicacion[nombre='"+aplicacion+"']").each(function(){
				$(this).find("producto").each(function(){
					chars=chars+"|";
					//SACAMOS LOS ATRIBUTOS POR ORDENNN!!
					var ob2j = {}; // this object will hold key-value pairs of elem attributes
					var attribs = $(this)[0].attributes;
					for (var i = 0; i < attribs.length; i++) {
						obj2[attribs[i].name] = attribs[i].value;
						if (attribs[i].name!="ID" && attribs[i].name!="nombre") {
							//alert(attribs[i].name);
							chars=chars+','+attribs[i].name;
							if (jQuery.inArray(attribs[i].name,atributos)==-1) {
								atributos[cont]=attribs[i].name;
								cont++;
							}
						}
					}
				});
			});
		});
		//alert(atributos[0]+'--'+atributos[1]+'--'+atributos[2]+'--'+atributos[3]+'--'+atributos[4]+'--'+atributos[5]);

		if (chars!="") {
			//alert(atributos);
			var pas=0;
			if (atributos.length==1) {
				var attr_aux="["+atributos[0]+"=0]";
				var attr_aux2="["+atributos[0]+"=1]";
				$(xmlObj2).find("material[material1='"+material1+"'][material2='"+material2+"']").each(function(){
					$(this).find("aplicacion[nombre='"+aplicacion+"']").each(function(){
						var nombre="";
						$(this).find("producto"+attr_aux).each(function(){
							pas=1;
						});
					});
				});	
				if (pas==0) {
					$(xmlObj2).find("material[material1='"+material1+"'][material2='"+material2+"']").each(function(){
						$(this).find("aplicacion[nombre='"+aplicacion+"']").each(function(){
							var nombre="";
							$(this).find("producto"+attr_aux2).each(function(){
								pas=1;
							});
						});
					});					
				}	
				//alert(pas);
				if (pas==1) {
					getProduct_apli(xmlObj2,"["+atributos[0]+"]",atributos,material1,material2,aplicacion);
				}
			} else {
			
				var partes=chars.split("|");
				if (partes.length==2) {
					var partes2=partes[1].split(",");	
					if (partes2.length==2) {
						//alert("directo");
						getProduct_apli(xmlObj2,"["+partes2[1]+"]",atributos,material1,material2,aplicacion);
					}
				} else {
					showCaracteristicas_apli(xmlObj2,chars,atributos,"","",material1,material2,aplicacion,"");
				}
			}
		}
		return chars;
	});
	
}

function showCaracteristicas_apli(xmlObj2,chars,atributos,chars_pre,bt_valor,material1,material2,aplicacion,actual) {
	
		if (actual!="") {
		var attr_repl="";
		var xmlObj=getFF();
		$(xmlObj).find("material[material1='"+material1+"'][material2='"+material2+"']").each(function(){
			$(this).find("aplicacion[nombre='"+aplicacion+"']").each(function(){
				$(this).find("producto["+actual+"='"+bt_valor+"']:eq(0)").each(function(){
					//SACAMOS LOS ATRIBUTOS POR ORDENNN!!
					var obj = {}; // this object will hold key-value pairs of elem attributes
					var attribs = $(this)[0].attributes;
					//var attr_repl="";
					for (var i = 0; i < attribs.length; i++) {
						obj[attribs[i].name] = attribs[i].value;
						if (attribs[i].name!="ID" && attribs[i].name!="nombre") {
							attr_repl=attr_repl+','+attribs[i].name;
						}
					}
					//return attr_repl;
				});
			});
		});
		}
		
	if (chars) {

		if (($.isArray(atributos))) {
			//alert("si")	;
			//alert('>>>'+atributos[0]);
			var valor1=atributos[0];
			var valor2=atributos[1];
			var valor3=atributos[2];
			var valor4=atributos[3];
			var valor5=atributos[4];
			var valor6=atributos[5];

		} else {
			//alert("no");	
			//alert('>>>'+atributos.split(",")[0]);
			if (attr_repl!="") {
				atributos=attr_repl;	
			}
			var valor1=atributos.split(",")[0];
			var valor2=atributos.split(",")[1];
			var valor3=atributos.split(",")[2];
			var valor4=atributos.split(",")[3];
			var valor5=atributos.split(",")[4];
			var valor6=atributos.split(",")[5];
		}
				

		if (actual) {
			chars_pre=chars_pre+"["+actual+"=]";
			chars_pre=chars_pre.replace("["+actual+"=]","["+actual+"="+bt_valor+"]");	
		}
		var result="";
		//var partes=chars.split(",");
		//alert(partes[0]);
		if (chars.indexOf(valor1)>-1 && chars_pre.indexOf(valor1)==-1) {
			//result=result+replaceNombreCaracteristicas_apli(valor1)+'<br />';
			$("#block2 #home_title_aplicaciones").text(replaceNombreCaracteristicas(valor1));
			actual=valor1;
		} else if (chars.indexOf(valor2)>-1 && chars_pre.indexOf(valor2)==-1) {
			//result=result+replaceNombreCaracteristicas_apli(valor2)+'<br />';
			$("#block2 #home_title_aplicaciones").text(replaceNombreCaracteristicas(valor2));
			actual=valor2;
		} else if (chars.indexOf(valor3)>-1 && chars_pre.indexOf(valor3)==-1) {
			//result=result+replaceNombreCaracteristicas_apli(valor3)+'<br />';
			$("#block2 #home_title_aplicaciones").text(replaceNombreCaracteristicas(valor3));
			actual=valor3;
		} else if (chars.indexOf(valor4)>-1 && chars_pre.indexOf(valor4)==-1) {
			//result=result+replaceNombreCaracteristicas_apli(valor4)+'<br />';
			$("#block2 #home_title_aplicaciones").text(replaceNombreCaracteristicas(valor4));
			actual=valor4;
		} else if (chars.indexOf(valor5)>-1 && chars_pre.indexOf(valor5)==-1) {
			//result=result+replaceNombreCaracteristicas_apli(valor5)+'<br />';
			$("#block2 #home_title_aplicaciones").text(replaceNombreCaracteristicas(valor5));
			actual=valor5;
		} else if (chars.indexOf(valor6)>-1 && chars_pre.indexOf(valor6)==-1) {
			//result=result+replaceNombreCaracteristicas_apli(valor6)+'<br />';
			$("#block2 #home_title_aplicaciones").text(replaceNombreCaracteristicas(valor6));
			actual=valor6;
		}
		result=" ";
		if (result) {

			result=result+'<input class="button3" style="border:1px solid #ff0000;background-color:#ff0000;width:50px;margin-right:10px;" type="button" onclick="showCaracteristicas_apli(\'\',\''+chars+'\',\''+atributos+'\',\''+chars_pre+'\',\'1\',\''+material1+'\',\''+material2+'\',\''+aplicacion+'\',\''+actual+'\')" name="enviar" value="Si"><input class="button3" style="border:1px solid #ff0000;background-color:#ff0000;width:50px;margin-right:10px;" type="button" onclick="showCaracteristicas_apli(\'\',\''+chars+'\',\''+atributos+'\',\''+chars_pre+'\',\'0\',\''+material1+'\',\''+material2+'\',\''+aplicacion+'\',\''+actual+'\')" name="enviar" value="No"><br clear="all" />';
			$("#block2 #apli_material2").html(result);
		}
		
		if (chars_pre!="") {
			getProduct_apli('',chars_pre,atributos,material1,material2,aplicacion);
		}
	}
	
}

function getProduct_apli(xmlObj2,attributes,noinclude,material1,material2,aplicacion) {
	//alert(material1+'---'+material2+'---'+aplicacion+'---'+attributes+'---'+xmlObj2);
	//attributes="[flexible=1]";
	//alert("producto"+attributes);
	//var noinclude="";
	var xmlObj2=getFF_apli();
	var noinclude_char="";
	if (($.isArray(noinclude))) {
		var valor1=noinclude[0];
		var valor2=noinclude[1];
		var valor3=noinclude[2];
		var valor4=noinclude[3];
		var valor5=noinclude[4];
		var valor6=noinclude[5];
	} else {
		var valor1=noinclude.split(",")[0];
		var valor2=noinclude.split(",")[1];
		var valor3=noinclude.split(",")[2];
		var valor4=noinclude.split(",")[3];
		var valor5=noinclude.split(",")[4];
		var valor6=noinclude.split(",")[5];
	}
	
	if (attributes.indexOf(valor1)==-1 && attributes.indexOf(valor1)!="undefined") {
		noinclude_char=noinclude_char+"["+valor1+"]";
	}
	if (attributes.indexOf(valor2)==-1 && attributes.indexOf(valor2)!="undefined") {
		noinclude_char=noinclude_char+"["+valor2+"]";
	}
	if (attributes.indexOf(valor3)==-1 && attributes.indexOf(valor3)!="undefined") {
		noinclude_char=noinclude_char+"["+valor3+"]";
	}
	if (attributes.indexOf(valor4)==-1 && attributes.indexOf(valor4)!="undefined") {
		noinclude_char=noinclude_char+"["+valor4+"]";
	}
	if (attributes.indexOf(valor5)==-1 && attributes.indexOf(valor5)!="undefined") {
		noinclude_char=noinclude_char+"["+valor5+"]";
	}
	if (attributes.indexOf(valor6)==-1 && attributes.indexOf(valor6)!="undefined") {
		noinclude_char=noinclude_char+"["+valor6+"]";
		
	}
	noinclude_char=noinclude_char.replace("[undefined]","");
	noinclude_char=noinclude_char.replace("[undefined]","");
	noinclude_char=noinclude_char.replace("[undefined]","");
	noinclude_char=noinclude_char.replace("[undefined]","");
	noinclude_char=noinclude_char.replace("[undefined]","");
	noinclude_char=noinclude_char.replace("[undefined]","");
	
	//alert(noinclude_char);
	if (noinclude_char!="") {
		noinclude_char=":not("+noinclude_char+")";
	}
	//noinclude_char=":not([superficies_grandes][transparencia])";
	//alert("producto"+attributes+noinclude_char);
	var prod_nombre="";
	$(xmlObj2).find("material[material1='"+material1+"'][material2='"+material2+"']").each(function(){
		$(this).find("aplicacion[nombre='"+aplicacion+"']").each(function(){
			var nombre="";
			var ids2="";
			$(this).find("producto"+attributes+noinclude_char).each(function(){
				nombre=nombre+"|"+$(this).attr("nombre");
				ids2=ids2+"|"+$(this).attr("ID");
			});
			
			showProduct_apli(nombre,ids2);
			return false;
		});
	});	
	//return nombre;
}

function showProduct_apli(nombre,ids) {
	//alert(nombre+"---"+ids);

	if (nombre!="" && ids!="") {
	
		var code='';
		var code_aux='';
		var partes=new Array();
		partes=nombre.split("|");
		var contador=0;
		for (var i=0;i<partes.length;i++) {
			if (i>0) {
				code_aux=code_aux+'<a class="pag" onclick="viewProductDiv_apli('+i+');">'+i+'</a>';
				contador++;
			}			
		}
		if (contador>1) {
			window.location='../productos/productos.asp?ids='+ids;
			return false;	
		} else {
			window.location='../productos/producto.asp?id='+ids.replace("|","");
			return false;	
		}
		
		code_aux=code_aux+'<br clear="all" />';
		if (contador<2) {code_aux='';}
		
		for (var i=0;i<partes.length;i++) {
			if (partes[i]!="") {
		
				if ($("div.ficha_prod").size()==0) {
					var style='';
				} else {
					var style='style=display:none;';
				}

				var img_name=getImageName_apli(partes[i]);
				code='<div class="ficha_prod prod'+i+'" '+style+'><p>'+$("#txt_productos_recomendados").val()+':</p>';
				code=code+code_aux+'<h2 style="font-size:13px;color:#FFFF00;">'+partes[i]+'</h2><br /><img src="images/productos/'+img_name+'" />';
				code=code+'<br /><p>'+$("#txt_para_mas_informacion").val()+' <a style="color:#EF0000" style="color:#EF0000" href="http://www.pattex.es" target="_blank">Pattex.es</a></p>';
				code=code+'<br /><p>'+$("#txt_atc").val()+' <strong style="color:#EF0000">900 180 406</strong></p></div>';
				//alert(code);
				if ($("div.ficha_prod").size()==0) {
					$("#block2 #apli_material2").html(code);
				} else {
					$("#block2 #apli_material2").append(code);
				}
			}
		}
		//window.location='../productos/producto.asp?nombre='+nombre;
	}
}


function viewProductDiv_apli(contador) {
	$("div.ficha_prod").css("display","none");
	$("div.prod"+contador).css("display","");
}

function getImageName_apli(nombre) {
	if (nombre) {
		nombre=nombre.replace(" ","_");
		nombre=nombre.replace(" ","_");
		nombre=nombre.replace(" ","_");
		nombre=nombre.replace(" ","_");
		nombre=nombre.replace(" ","_")+'.jpg';
		return nombre;
	}	
}

function replaceNombreCaracteristicas_apli(nombre) {
	if (nombre) {
		var nombreChar7="";
		if (nombre=="flexible") {
			nombreChar7=$("#txt_char_flexible").val();	
		} else if (nombre=="resistencia_agua") {
			nombreChar7=$("#txt_char_resistencia_agua").val();
		} else if (nombre=="superficies_grandes") {
			nombreChar7=$("#txt_char_superficies_grandes").val();
		} else if (nombre=="transparencia") {
			nombreChar7=$("#txt_char_transparencia").val();
		} else if (nombre=="exterior") {
			nombreChar7=$("#txt_char_exterior").val();
		} else if (nombre=="temperaturas_extremas") {
			nombreChar7=$("#txt_temperaturas_extremas").val();
		}
		return nombreChar7;
	}	
}

function verify_apli() {
 // 0 Object is not initialized
 // 1 Loading object is loading data
 // 2 Loaded object has loaded data
 // 3 Data from object can be worked with
 // 4 Object completely initialized
	if (xmlDoc2.readyState != 4) {
		return false;
	}
}


function eliminarDuplicados_apli(a) {  
	var i,  
	l=a.length,  
	o=[],  
	ob={};    
	
	for (i=0;i<l;i++) {  
		ob[a[i]]=0;  
	}  
	for (i in ob) {  
		o.push(i);  
	}  
	return o;  
}
