net = new Object();
net.ContentLoader = function(url, onload, params) {

	var div = $("ajaxLoadingDiv");
	if(div){
		div.style.display="";
	}

	var hiddenLoading = function(txt){
		if(div){
			div.style.display="none";
		}
		onload(txt);
	}

	if(params==null){
		new Ajax(url, {
			method: 'get',
			onComplete: hiddenLoading
		}).request();
	}else{
		new Ajax(url, {
			method: 'post',
			data: params,
			onComplete: hiddenLoading
		}).request();
	}
}

function AjaxGetUrl(url, ajaxID, callBackFunction){

	function completeFunction(txt){
		try {
			var ajaxElement = document.getElementById(ajaxID);
			if(ajaxElement!=null){
				ajaxElement.innerHTML = txt;
			}
			eval(callBackFunction+'()');
		} catch(e) {
  		}
	}

	new Ajax(url, {
		method: 'get',
		onComplete: completeFunction
	}).request();
}

function ShowHiddenElement(elementID,objCall){
	var element = document.getElementById(elementID);
	if(element!=null){
		var display = element.style.display;
		var img=null;

		if(objCall!=undefined && objCall.lastChild.nodeName=="IMG"){
			img = objCall.lastChild;
		}

		if(display==""){
			if(img==null){
				if(objCall!=undefined) objCall.innerHTML=objCall.innerHTML+"<img src=\"libs/views/imgs/s_asc.png\" border=0>";
			}else{
				img.src="libs/views/imgs/s_asc.png";
			}
			element.style.display="none";
		}else{
			if(img==null){
				if(objCall!=undefined) objCall.innerHTML=objCall.innerHTML+"<img src=\"libs/views/imgs/s_desc.png\" border=0>";
			}else{
				img.src="libs/views/imgs/s_desc.png";
			}
			element.style.display="";
		}
	}
}

//--- restituisce un oggetto contenente i dati di un form ---//
function getFormData(id_form){
	var obj = new Object;
	var form = document.getElementById(id_form);
	var inputs = form.getElementsByTagName('input');
	var selects = form.getElementsByTagName('select');
	var textareas = form.getElementsByTagName('textarea');

	for(var i=0; i<inputs.length; i++){

		var input = inputs[i];
		var type = input.type;
		var name = input.name;
		var value = "";
		switch(type){
			case "text":
			case "hidden":
				value = input.value;
				obj[name]=value;
			break;
			case "checkbox":
				if(input.checked){
					value = input.value;
					obj[name]=value;
				}else{
					obj[name]="";
				}
			break;
		}
	}
	for(var i=0; i<selects.length; i++){

		var select = selects[i];
		var name = select.name;

		if(select.selectedIndex!=-1){
			var value = select.options[select.selectedIndex].value;
			obj[name] = value;
		}
	}
	for(var i=0; i<textareas.length; i++){

		var textarea = textareas[i];
		var name = textarea.name;
		var value = textarea.value;
		obj[name] = value;
	}
	return obj;
}

//--- setta i dati di un form con i valori dell'oggetto passato ---//
function setFormData(id_form, obj){
	var form = document.getElementById(id_form);
	var inputs = form.getElementsByTagName('input');
	var selects = form.getElementsByTagName('select');
	var textareas = form.getElementsByTagName('textarea');

	for(var i=0; i<inputs.length; i++){

		var input = inputs[i];
		var type = input.type;
		var name = input.name;
		var value = "";
		switch(type){
			case "text":
			case "hidden":
				if(obj[name]!=undefined){
					input.value = obj[name];
				}else{
					input.value = "";
				}
			break;
			case "checkbox":
				if(obj[name]!=undefined && obj[name]==input.value){
					input.checked=true;
				}else{
					input.checked=false;
				}
			break;
		}
	}

	for(var i=0; i<selects.length; i++){

		var select = selects[i];
		var name = select.name;
		for (var k=0; k<select.options.length; k++) {
			if(select.options[k].value==obj[name]){
				select.selectedIndex = k;
				break;
			}
		}
	}

	for(var i=0; i<textareas.length; i++){

		var textarea = textareas[i];
		var name = textarea.name;
		if(obj[name]!=undefined){
			textarea.value = obj[name];
		}else{
			textarea.value = "";
		}
	}
}

function addRow(id_before, tdArray, id_row){
	var trBefore = document.getElementById(id_before);
	var tbody = trBefore.parentNode;
	var row = document.createElement("TR");
	row.id=id_row;
	for(var i=0; i<tdArray.length; i++){
		var td = document.createElement("TD");
		td.innerHTML=tdArray[i];
		row.appendChild(td);
	}

	tbody.insertBefore(row, trBefore);
}

var trcorrente = null;
function rowEvidenced(tr){
	if (trcorrente!=null) {
		  trcorrente.style.fontWeight= "normal";
	}
	tr.style.fontWeight = "bold";
    trcorrente = tr;
}

function postByForm(args){
	var html = '';
	var pos = args.indexOf('?');
	if(pos==0){
		args = args.substr(pos+1,args.length-1);
	}

	if((typeof args)=="string"){
		args = args.split("&");
	}

	if(window.addEventListener) {
		html += '?';
		for(var i=0; i<args.length; i++){
			html+='&'+args[i];
		}
		window.location=html;
	}else{
		html += '<form method="GET" action="?" id="postByForm">'
		for(var i=0; i<args.length; i++){
			var split = args[i].split('=');
			var key = split[0];
			var value = split[1];
			html +='<input type="hidden" id="'+key+'" name="'+key+'" value="'+value+'">';
		}
		html += '</form>';
		document.write(html);
		var form = document.getElementById("postByForm");
		form.submit();
	}
}

function formatDecimal(argvalue, addzero, decimaln)
{
	var numOfDecimal = (decimaln == null) ? 2 : decimaln;
	var number = 1;
	number = Math.pow(10, numOfDecimal);
	argvalue = Math.round(parseFloat(argvalue) * number) / number;
	argvalue = "" + argvalue;
	if (argvalue.indexOf(".") == 0)
	{
	  argvalue = "0" + argvalue;
	}
	if (addzero == true)
	{
		if (argvalue.indexOf(".") == -1)
		{
			argvalue = argvalue + ".";
		}

		while ((argvalue.indexOf(".") + 1) > (argvalue.length - numOfDecimal))
		{
			argvalue = argvalue + "0";
		}
	}
	return argvalue;
}
