function removeAllOptions(el)
{
  var elSel = document.getElementById(el);
  var i;
  var l = elSel.length - 1;
  for (i = l; i>=0; i--) {
      elSel.remove(i);
  }
}

//mai intai transforma toate in litere mici si apoi transforma prima litera in litera mare
function ucfirst(str) {
str=str.toLowerCase();
var firstLetter = str.slice(0,1);
return firstLetter.toUpperCase() + str.substring(1);
}

function appendOptionLast(el, text, val)
{
  var elOptNew = document.createElement('option');
  elOptNew.text = ucfirst(text);
  elOptNew.value = val;
  var elSel = document.getElementById(el);

  try {
    elSel.add(elOptNew, null); // standards compliant; doesn't work in IE
  }
  catch(ex) {
    elSel.add(elOptNew); // IE only
  }
}

function removeOptionSelected(el)
{
  var elSel = document.getElementById(el);
  var i;
  for (i = elSel.length - 1; i>=0; i--) {
    if (elSel.options[i].selected) {
      elSel.remove(i);
    }
  }
}

function selecto(el, val) {
	var elSel = document.getElementById(el);
    for (i = elSel.length - 1; i>=0; i--) {
       if (elSel.options[i].value==val) elSel.selectedIndex = i;
    }
	//alert(el+' = '+val);
}

function loadfile(obj, elem, url, first, sel) {
	if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
	  var txthttp=new XMLHttpRequest();
	} else {// code for IE6, IE5
	  var txthttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
		txthttp.onreadystatechange=function() {
			if (txthttp.readyState==4 && txthttp.status==200) {
					var txtDoc=txthttp.responseText;
					removeAllOptions(elem);
					var x = txtDoc.split("|");
					var y = '';
					if (first) appendOptionLast(elem, first, '');
					if (x[0]) {
						for (i=0;i<x.length;i++) {
							y = x[i].split('#');
							appendOptionLast(elem, y[1], y[0]);
							if (sel && (sel==y[0])) document.getElementById(elem).selectedIndex=i+1;

						}
					} 
			}
		} // function
	url += obj.options[obj.selectedIndex].value;
	txthttp.open("GET",url,true);
	txthttp.send();
}

function loadfile2(elem, url, first, sel) {
	if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
	  var txthttp=new XMLHttpRequest();
	} else {// code for IE6, IE5
	  var txthttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
		txthttp.onreadystatechange=function() {
			if (txthttp.readyState==4 && txthttp.status==200) {
					var txtDoc=txthttp.responseText;
					removeAllOptions(elem);
					var x = txtDoc.split("|");
					var y = '';
					if (first) appendOptionLast(elem, first, '');
					if (x[0]) {
						for (i=0;i<x.length;i++) {
							y = x[i].split('#');
							appendOptionLast(elem, y[1], y[0]);
							if (sel && (sel==y[0])) document.getElementById(elem).selectedIndex=i+1;

						}
					} 
			}
		} // function
	txthttp.open("GET",url,true);
	txthttp.send();
}

function dump(arr,levelmax,level) {
	var dumped_text = "";
	if(!level) level = 0;
	
	//The padding given at the beginning of the line.
	var level_padding = "";
	for(var j=0;j<level+1;j++) level_padding += "    ";
	
	if(typeof(arr) == 'object') { //Array/Hashes/Objects
	 for(var item in arr) {
	  var value = arr[item];
	 
	  if(typeof(value) == 'object') { //If it is an array,
	   dumped_text += level_padding + "'" + item + "' ...\n";
	   if (levelmax>=level) dumped_text += dump(value,levelmax-1,level+1);
	   else dumped_text += "|\n";
	  } else {
	   dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
	  }
	 }
	} else { //Stings/Chars/Numbers etc.
	 dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
	}
	return dumped_text;
} 
