//*************************************************************************************************
// LIBRARY 	:	FUNCTION_LIST.JS :: DYNAMIC EXTRANET ENGINE
// ACTION	:	functions needed for the dynamic LISTS [3.6]
// VERSION	: 	v5.0
var e_counter=new Array();
var browser = (navigator.appName.indexOf("Internet Explorer") != -1) ? 'IE' :'OTHER';

function in_array(val,arr){
	var x=false;
	for(var i=0;i<arr.length;i++){
		if(arr[i]==val){
			x=true;
			break;
		}
	}
	return x;
}

function populate_select(id){
	for(var i=0;i<a_keys_available.length;i++){
		var x=document.createElement("option");
		if(browser=='IE'){
			document.getElementById(id).add(x);
		}else{
			document.getElementById(id).add(x, null);
		}
		try{
			document.getElementById(id).appendChild(x);
		}catch(e1){}
		document.getElementById(id).options[i].value=a_keys_available[i];
		document.getElementById(id).options[i].text=a_vals_available[i];
	}
}

function add_field_selected(key, val, field_name){
	var y=document.getElementById(field_name);
	var x=document.createElement("option");
	x.text = val;
	x.value = key;
	if (y.length > 0) {
		var elbefore = y.options[0];
		if(browser=='IE') y.add(x, y.selectedIndex);
		else y.add(x, elbefore);
		a_keys_selected.unshift(key);
		a_vals_selected.unshift(val);
	}else{
		if(browser=='IE') y.add(x);
		else y.add(x, null);
		a_keys_selected.unshift(key);
		a_vals_selected.unshift(val);
	}
}

function remove_field_selected(id, i){
	var y=document.getElementById(id);
	y.remove(i);
	a_keys_selected.splice(i, 1);
	a_vals_selected.splice(i, 1);
}

function move_fields(op, field_name){
	if(op=='add'){
		var id= 'available_'+field_name;
		for(var i=0;i<a_vals_available.length;i++){
			if(document.getElementById(id).options[i].selected==true){
				var xx=document.getElementById(id).options[i].text;
				if(!in_array(xx, a_vals_selected)){
					add_field_selected(document.getElementById(id).options[i].value, document.getElementById(id).options[i].text, 'selected_'+field_name);
					document.getElementById(id).options[i].selected=false;
				}
			}
		}
	}else{
		var id = 'selected_'+field_name;
		for(var i=a_vals_selected.length - 1;i>=0;i--){
			if(document.getElementById(id).options[i].selected==true){
				remove_field_selected(id, i);
		   }
		}
	}
}

function select_selected_fields(field_name){
	var x=document.getElementById('selected_'+field_name);
	var y='|';
	for(var i=0;i<x.length;i++){
		x.options[i].selected=true;
		if(i>0){
			y+='|';
		}
		y+=x.options[i].value;
	}
	document.getElementById(field_name).value=y+'|';
	//document.form_manage.submit();
}
//tied selects
function create_select_0(sel, child_field_name){
   var this_select = sel.id;
   document.getElementById(child_field_name).length = 0;
   if(sel.value=="-1"){
	   document.getElementById(child_field_name).length = 1;
	   document.getElementById(child_field_name).options[0] = new Option("Choose...");
	   document.getElementById(child_field_name).options[0].value = "-1";
   }else{
		   if( typeof(valori_0[sel.value])=="object"){
			   if(valori_0[sel.value].length > 0){
				  document.getElementById(child_field_name).options[0] = new Option("Choose...");
				   document.getElementById(child_field_name).options[0].value = "-1";

				  for(i = 0; i<valori_0[sel.value].length; i++){
					  document.getElementById(child_field_name).options[i+1] = new Option(show_0[sel.value][i]);
					  document.getElementById(child_field_name).options[i+1].value = valori_0[sel.value][i];
				  }
			   }else{
				  document.getElementById(child_field_name).options[0] = new Option("Choose...");
				  document.getElementById(child_field_name).options[0].value = "-1";
			   }
		   }else{
			   document.getElementById(child_field_name).options[0] = new Option("Choose...");
			   document.getElementById(child_field_name).options[0].value = "-1";
		   }
   }
}
