/* vim : syntax=javascript : */
// Template comuns/js_naveg_auto.tpl
//<script>


   

function canvia_familia(nom_formulari,funcio_update){

	var formulari = document.getElementById(nom_formulari);
    var sel_fam = formulari.familia;
	var sel_subfam = formulari.subfamilia;
    var sel_marca = formulari.marca;

    var codfam = ""+sel_fam.options[sel_fam.selectedIndex].value;
    var codsubfam = ""+sel_subfam.options[sel_subfam.selectedIndex].value;
    var codmar = ""+sel_marca.options[sel_marca.selectedIndex].value;
	
	var sfam_visibles;
	var mar_visibles;
	
	var subfamilies;
	buida_select(sel_subfam);
	buida_select(sel_marca);
	for (cm in tmar){
		tmar[cm].visible = false;
	}

	if (codfam != '*'){
		
		subfamilies = tsfam[codfam];

		if (  codmar == '*'){
			mar_visibles = mar_x_fam[codfam];
			sfam_visibles = tsfam[codfam];
		}
		else if ( codmar != '*'){

			mar_visibles = mar_x_fam[codfam];
			sfam_visibles = sfam_x_fam_mar[codfam][codmar];
		}

		for ( cm in mar_visibles){
			tmar[cm].visible = true;
		}
		for ( csf in sfam_visibles){

			tsfam[codfam][csf].visible = true;
		}

	}
	else{

		for (cm in tmar){
			tmar[cm].visible = true;
		}
		subfamilies = Array();
	}


	for (csf  in subfamilies){

		if (subfamilies[csf].visible){
			sel_subfam.options.add(new Option(subfamilies[csf].dessubfam,subfamilies[csf].codsubfam));
			
		}
	}
	for (cmar in tmar){

		if (tmar[cmar].visible){
			sel_marca.options.add(new Option(tmar[cmar].desmar,cmar));
			if (codmar != '*' && codmar == cmar){
				sel_marca.options[sel_marca.length-1].selected = true;
			}
		}
	}

    if (typeof(funcio_update) == "string" && funcio_update.length >0){
		eval(funcio_update+";");
    }

}

function canvia_subfamilia(nom_formulari,funcio_update){
	var formulari = document.getElementById(nom_formulari);


    var sel_fam = formulari.familia;
	var sel_subfam = formulari.subfamilia;
    var sel_marca = formulari.marca;

	var codfam = "" + sel_fam.options[sel_fam.selectedIndex].value;
	var codsubfam =""+ sel_subfam.options[sel_subfam.selectedIndex].value;
	var codmar = "" + sel_marca.options[sel_marca.selectedIndex].value;
	
	var mar_visibles;

	buida_select(sel_marca);

	for (cm in tmar){
		tmar[cm].visible = false;
	}

	if (codsubfam != '*'){

		mar_visibles = mar_x_fam_sfam[codfam][codsubfam];
	}
	else{
		mar_visibles = mar_x_fam[codfam];
	}

	for (cm in mar_visibles){
		tmar[cm].visible = true;
	}
	for ( cm in tmar){
		if (tmar[cm].visible){
			sel_marca.options.add(new Option(tmar[cm].desmar,cm));
			if ( codmar != '*' && codmar == cm){
				sel_marca.options[sel_marca.length-1].selected = true;
			}
		}
	}

    if (typeof(funcio_update) == "string" && funcio_update.length >0){
		eval(funcio_update+";");
    }
}

function canvia_marca(nom_formulari,funcio_update){
	var formulari = document.getElementById(nom_formulari);
    var sel_fam = formulari.familia;
    var sel_subfam = formulari.subfamilia;
	var sel_marca = formulari.marca;
    var codfam = sel_fam.options[sel_fam.selectedIndex].value;
    var codsubfam = sel_subfam.options[sel_subfam.selectedIndex].value;
	var codmar = sel_marca.options[sel_marca.selectedIndex].value;
	
	var fam_visibles;
	var sfam_visibles;

	buida_select(sel_fam);
	buida_select(sel_subfam);

	for (cf in tfam){
		tfam[cf].visible = false;
	}
	if ( codfam != '*'){
		for (csf in tsfam[codfam]){
			tsfam[codfam][csf].visible = false;
		}
	}

	if (codmar != '*'){

		fam_visibles = fam_x_mar[codmar];
		if ( codfam != '*'){
			sfam_visibles = sfam_x_fam_mar[codfam][codmar];
		}
		else{
			sfam_visibles = Array();
		}

	}
	else{

		fam_visibles = tfam;

		if (codfam != '*'){
			sfam_visibles = tsfam[codfam]
		}
	}
	for (cf in fam_visibles){
		tfam[cf].visible = true;
	}

	for (cf in tfam){
		if (tfam[cf].visible){
			sel_fam.options.add(new Option(tfam[cf].desfam,cf));
			if ( codfam != '*' && codfam == cf){
				sel_fam.options[sel_fam.length-1].selected = true;
			}
		}
	}
	if (codfam != '*'){ //Carreguem desplegable subfamilies

		for (csf in sfam_visibles){
			tsfam[codfam][csf].visible = true;
		}
		for ( csf in tsfam[codfam]){

			if (tsfam[codfam][csf].visible){
				sel_subfam.options.add(new Option(tsfam[codfam][csf].dessubfam,csf));
				if ( codsubfam != '*' && codsubfam == csf ){
					sel_subfam.options[sel_subfam.length-1].selected = true;
				}
			}
		}

	}

    if (typeof(funcio_update) == "string" && funcio_update.length >0){
		eval(funcio_update+";");
    }
}




function buida_select(sel){
    var nelems = sel.options.length;
    var i;
    for(i = 1; i<nelems;i++) sel.remove(1);
}

function update_ok_button(nom_formulari){
	var sel_can,sel_fam,sel_subfam,sel_marca;
	var fam,subfam,marca,codi_art,disponibles,liquidacio,novedades;
	var form_cerca = document.getElementById(nom_formulari);
	var boto = document.getElementById('boto_cerca');

	sel_fam = form_cerca.familia;
	sel_subfam = form_cerca.subfamilia;
	sel_marca = form_cerca.marca;
	
	fam = sel_fam.options[sel_fam.selectedIndex].value;
	subfam = sel_subfam.options[sel_subfam.selectedIndex].value;
	marca = sel_marca.options[sel_marca.selectedIndex].value;


	mod_cod_art = form_cerca.mod_codigo_art;
	mod_desc = form_cerca.mod_desc_art;

	if (fam == '*' && subfam  == '*' && marca == '*' && 
			mod_cod_art.value == 'false' && mod_desc.value == 'false' ){
		boto.disabled = true;
		boto.className = 'boto_inactiu';
	}
	else{
		boto.disabled = false;
		boto.className = 'boto';
	}
			
}


function carrega_families(nom_formulari,codfam,codsubfam,codmar){
	
	var formulari = document.getElementById(nom_formulari);
    var sel_fam = formulari.familia;
    var sel_subfam = formulari.subfamilia;
    var sel_marca = formulari.marca;
    var fam_activa;
	var fam_visibles = Array();
	var sfam_visibles = Array();
	var mar_visibles = Array();

	
	omple_taules_aux();
	
	if ( codfam != '*' && codmar != '*'){
		sfam_visibles = sfam_x_fam_mar[codfam][codmar];
	}
	else if (codfam != '*'){
		sfam_visibles = tsfam[codfam];
	}
	else{
		sfam_visibles = Array();
	}
	if (codmar == '*'){
		/*
		for (cf in tfam){
			fam_visibles[cf] = cf;
		}*/
		fam_visibles = tfam;
	}
	else{
		fam_visibles = fam_x_mar[codmar];
	}

	if (codfam != '*' && codsubfam !='*'){
		mar_visibles = mar_x_fam_sfam[codfam][codsubfam];
	}
	else if (codfam != '*'){
		mar_visibles = mar_x_fam[codfam];
	}
	else{

		mar_visibles = tmar;
	}

	for (cf in fam_visibles){
		tfam[cf].visible = true;
	}
	if (codfam != '*'){
		for (csf in sfam_visibles){
			tsfam[codfam][csf].visible = true;
		}
	}
	for (cm in mar_visibles ){
		tmar[cm].visible = true;
	}


	for ( cf in tfam){
		if ( tfam[cf].visible){
			sel_fam.options.add( new Option(tfam[cf].desfam,cf));
			if ( codfam == cf ){
				sel_fam.options[sel_fam.length-1].selected = true;
			}
		}
    }

	if (codfam != '*'){
		for ( csf in tsfam[codfam]){
			if (tsfam[codfam][csf].visible){
				sel_subfam.options.add(new Option(tsfam[codfam][csf].dessubfam,csf));
				if ( codsubfam == csf){
					sel_subfam.options[sel_subfam.length-1].selected = true;
				}
			}
		}
	}

	for (cm in tmar){
		if (tmar[cm].visible){
			sel_marca.options.add(new Option(tmar[cm].desmar,cm));
			if ( cm == codmar){
				sel_marca.options[sel_marca.length-1].selected = true;
			}
		}
	}
	
}

function valida_dades(){

	var form1 = document.getElementById("busca");

	if (form1.mod_codigo_art.value=="false")
	{
		form1.txtReffab.value="";
	}else if (form1.txtReffab.value.length==0)
	{
		form1.mod_codigo_art.value="false"
	}

	if (form1.mod_desc_art.value=="false")
	{
		form1.txtDes.value = "";
	}else if (form1.txtDes.value.length==0)
	{
		form1.mod_desc_art.value="false"
	}



	form1.submit();
}

function comprovaTextArea(nomArea){
	var form1=document.getElementById("busca");
	var modif;
	var txt;
	if (nomArea == 'txtReffab') {
		modif=form1.mod_codigo_art;
	}
	else if (nomArea == 'txtDes'){
		modif=form1.mod_desc_art;
	}
	if (modif.value=="false") {
		modif.value = "true";
		txt = document.getElementById(nomArea);
		txt.value="";
	}
}

function no_foco(nomArea, str){

	var form1 = document.getElementById("busca");
	var txt = document.getElementById(nomArea)
	if (txt.value==""){
		if (nomArea == 'txtReffab')
		{
			var modif=form1.mod_codigo_art;
		}else  if (nomArea == 'txtDes'){
			var modif=form1.mod_desc_art;
		}
			modif.value="false";
			txt.value=str;
	}

}


function omple_taules_aux(){

	for (i=0; i< r_FSFM.length;i++){
		codfam = "" + r_FSFM[i].codfam;
		codmar = "" + r_FSFM[i].codmar;
		codsubfam = "" + r_FSFM[i].codsubfam;


		// OMPLIM TAULA DE SUBFAMILIES PER FAMILIA I MARCA
		if ( typeof(sfam_x_fam_mar[codfam]) == 'undefined'){
			sfam_x_fam_mar[codfam] = Array();
		}
		if (typeof(sfam_x_fam_mar[codfam][codmar]) == 'undefined'){
			sfam_x_fam_mar[codfam][codmar] = Array();
		}
		sfam_x_fam_mar[codfam][codmar][codsubfam] = codsubfam;

		// OMPLIM FAMILIES PER MARCA
		if (typeof (fam_x_mar[codmar]) == 'undefined'){

			fam_x_mar[codmar] = Array();
		}
		fam_x_mar[codmar][codfam] = codfam;
		// FI OMPLIR FAMILIES PER MARCA 


		// FI OMPLIR TAULA DE SUBFAMILIES PER FAMILIA I MARCA 

		// OMPLIM TAULA DE MARQUES PER FAMILIA 
		// TAULA DE MARQUES PER FAMILIA I SUBFAMILIA
		if (typeof(mar_x_fam[codfam]) == 'undefined'){

			mar_x_fam[codfam] = Array();
		}
		if (typeof(mar_x_fam_sfam[codfam]) == 'undefined'){
			mar_x_fam_sfam[codfam] = Array();
		}
		if (typeof(mar_x_fam_sfam[codfam][codsubfam]) == 'undefined'){
			mar_x_fam_sfam[codfam][codsubfam] = Array();
		}
		mar_x_fam[codfam][codmar] = codmar;
		mar_x_fam_sfam[codfam][codsubfam][codmar] = codmar;
		// FI OMPLIR TAULA DE MARQUES PER FAMILIA 

	} 
}


//</script>