var causale;
var totale=0;
var nextid=0;

if (!window.console) {
    window.console = {};
    window.console.log = function(){};
}

function find_citta(cap,citta,abbr,stato,stato_id){
	res = find_citta_by_cap(cap);
	if (res!=undefined){
		$(stato_id).value = 108;
		$(stato).value = "Italy";
		$(citta).value = res['comune'];
		$(abbr).value = res['provincia'];
		populate_stato(stato, stato_id)
	}
}

function find_citta_by_cap(cap){
	var res;
	if (cap.length==5){
		var query = "SELECT * FROM ang_comuni WHERE cap='"+cap+"' OR cap=CONCAT(SUBSTRING('"+cap+"',1,3),'00')";
		new Ajax.Request("ajax.php?op=query&query="+query+"&method=db_select_as", {
			asynchronous:false,
			onSuccess: function(transport){
				eval(transport.responseText);
				if (result['1']!=undefined){	
					res = result['1'];
					res['stato_id'] = 108;
					res['stato'] = "Italy";
				}
			}
		});
	}
	return res;
}

function populate_stato(stato, stato_id){
	$(stato).value = $(stato_id).options[$(stato_id).selectedIndex].text
}

function disable_opt(id, value, force){
	for(var i in $(id).options){ 
		el = $(id).options[i];
		if (i<$(id).options.length){
			if(el.value==value) {
				el.setAttribute('disabled', 'disabled');
			}else if (!force){
				el.removeAttribute('disabled');
			}
		}
	};
	
	if ($(id).value == value){
		if ($(id).selectedIndex == ($(id).options.length-1)){
			$(id).selectedIndex--;
		}else{
			$(id).selectedIndex++;
		}
	}
}

function convert_day(days){
	var anni = Math.floor(days / 365);
	days -= Math.floor(anni)*365;
	
	var mesi = Math.floor(days / 30.41);
	days -= Math.floor(mesi * 30.41);
	
	var sett = Math.floor(days / 7);
	days -= Math.floor(sett) * 7;
	
	var str = new Array()
	if (anni>1) { str.push(anni+" anni"); 		}else if (anni==1) { str.push(anni+" anno"); 		}
	if (mesi>1) { str.push(mesi+" mesi"); 		}else if (mesi==1) { str.push(mesi+" mese"); 		}
	if (sett>1) { str.push(sett+" settimane"); 	}else if (sett==1) { str.push(sett+" settimana"); 	}
	if (days>1) { str.push(days+" giorni"); 	}else if (days==1) { str.push(days+" giorno");	 	}
	return str.join(", ")
}

function formatDate(date, fmt) {
    function pad(value) {
        return (value.toString().length < 2) ? '0' + value : value;
    }
    return fmt.replace(/%([a-zA-Z])/g, function (_, fmtCode) {
        switch (fmtCode) {
        case 'Y':
            return date.getUTCFullYear();
        case 'M':
            return pad(date.getUTCMonth() + 1);
        case 'd':
            return pad(date.getUTCDate());
        case 'H':
            return pad(date.getUTCHours());
        case 'm':
            return pad(date.getUTCMinutes());
        case 's':
            return pad(date.getUTCSeconds());
        default:
            throw new Error('Unsupported format code: ' + fmtCode);
        }
    });
}

function resizeIframe(){
	if ($('svg')!=undefined){
		var h = document.viewport.getHeight();
		var new_h = h-146;
		$('svg').setAttribute('height',new_h);
		$('svg').setAttribute('width',document.viewport.getWidth());
	}
}

function setSession(key,val,function_call){
	new Ajax.Request('ajax.php?op=ss&key='+key+'&val='+val, {
		onSuccess: function(tansport){
			eval(function_call);
		}
	});
}

function erase_table_row(el, post_function){
	if (typeof(post_function)=='string'){
		var to_pass = $$('#'+el.up().up().id+" input");
		var base = el.up().up().up();
		eval(post_function+"(base,to_pass)");
	}
	el.up().up().remove();
}


function showGraph(){
	openTooltip('index.php?module='+gup('module')+'&file='+gup('file')+'&act=graph', 'graph-editor');
}

function show_commlist(tipo,check){
	if (check.checked){
		document.getElementById(tipo+'_list').style.display = 'block';
	}else{
		document.getElementById(tipo+'_list').style.display = 'none';
	}
}

function openPage(url){
	location.href=url;
}

function openForceUrl(url, title){
	var extget = getQueryString4editor();
	url+=extget;
	//window.open(url, title, 'width=1024,height=768,scrollbars=yes,resize=yes');
	if (Shadowbox.isOpen()){
		content_history.push(url);
		content_count++;
		var iframe = new Element('iframe');
		iframe.setAttribute('src', url);
		iframe.setAttribute('height', '100%');
		iframe.setAttribute('width', '100%');
		iframe.setAttribute('frameborder', 'none');
		$('sb-player').update(iframe);
		$('sb-nav-previous').show();
		$('sb-nav-previous').setAttribute('onClick', 'goBack()');
	}else{ 
		var vp = document.viewport.getDimensions();
		Shadowbox.open({
	        content:    url,
	        player:     "iframe",
	        height:     vp.height,
	        width:      vp.width
	    });
	    content_history.push(url);
	}
}

function openUrl(url, title, callback){
	openTooltip(url, title, callback);
	return false;
}

function goBack(){
	content_count--;	
	if (content_history[content_count].indexOf('index.php')==0){	
		var iframe = new Element('iframe');
		iframe.setAttribute('src', content_history[content_count]);
		iframe.setAttribute('height', '100%');
		iframe.setAttribute('width', '100%');
		iframe.setAttribute('frameborder', 'none');
		$('sb-player').update(iframe);
	}else{
		$('sb-player').update(content_history[content_count]);
	}
	
	if (content_count==0){
		$('sb-nav-previous').hide();
	}
}


function openUploader(url, title, session, querystring, size){
	new Ajax.Request(url, {
		method: 'get',
		evalScripts: 'force',
		onSuccess: function(transport){
			Ajax_Uploader(transport.responseText, title, session, querystring, size)
		}
	})
	return false;
}

function openTooltip(url, id, callback){
	new Ajax.Request(url, {
		method: 'get',
		evalScripts: 'force',
		onSuccess: function(transport) {
			if (callback!=undefined){
				function_callback = unescape(callback);
			}
			Ajax_Tooltip(transport.responseText,id);
		}
	});
	return true;
}

function openComix(url, id, ancora, auto){
	new Ajax.Request(url, {
		method: 'get',
		evalScripts: true,
		onSuccess: function(transport) {
			if (auto){
				transport.responseText+='<a href="#" onclick="return Ajax_Comix_close();"><img src="img/chiudi_btn.png" width="80" alt="Chiudi" border="0" class="chiudi_btn "></a>'
			}
			Ajax_Comix(transport.responseText,id,ancora)
		}
	});
	return false;
}



function conta_caratteri(smstxt){
	var mlength=smstxt.getAttribute? parseInt(smstxt.getAttribute("maxlength")) : ""
	var char_disp = mlength - (smstxt.value.length * 1);
	$('disp').value = char_disp;

	if (char_disp<=0)
		smstxt.value = smstxt.value.substring(0,mlength-1);
}

function addNode(selectbox,val,label){
	if (val=='*'){
		var len = selectbox.options.length-1;
		var nuovo_tipo = prompt("Indicare la nuova "+label, "");
		selectbox.options[len] = null;
		selectbox.options[len] = new Option(nuovo_tipo,nuovo_tipo);
		selectbox.options[len].selected = true;
	}
	return false;
}

function changeSelected(val, tot, id){
	if(val.checked) 
		checkAll(tot,id); 
	else 
		uncheckAll(tot,id);
}

function checkAll(item,id){
	var loop;
	for( loop=0;loop<=item;loop++ ){
		var elem = $(id+'_'+loop );
		elem.checked=true;
	}
	if ($('cont')!=undefined) $('cont').innerHTML = $('tot').innerHTML
}

function uncheckAll(item,id){
	var loop;
	for( loop=0;loop<=item;loop++ ){
		var elem = $(id+'_'+loop );
		elem.checked=false;
	}
	if ($('cont')!=undefined) $('cont').innerHTML = "0";
}

/* Attività avanzate */
function check_val(id,tipo,field,valid_min,valid_max){
	var vans = 0;	
	if (tipo=='CHECK'){
		valid = (field.checked) ? 1 : 0;
	}else if (tipo=='SINGLE'){
		valid = (field.value.substring(0,1)=='P') ? 1 : 0;
	}else if (tipo=='MULTIPLE'){
		value = $('domanda_'+id+'_hdd').value;
		pieces = value.split(",");
		for(var i = 0; i < pieces.length; i=i+1){
			var tmp = (pieces[i].substring(0,1)=='P') ? 1 : 0;
			vans = vans + tmp;
		}
		valid = (vans==pieces.length) ? 1 : 0;
	}else if (tipo=='VALUE'){
		valid = (field.value>=valid_min && field.value<=valid_max) ? 1 : 0;
	}
	var color = (valid=='1') ? 'green' : 'red';
	var alt	  = (valid=='1') ? 'Valido' : 'Non valido';
	$('valid_img_'+id).innerHTML = '<img src="img/'+color+'.png" border="0" align="top" alt="'+alt+'" />';
	$('valid_'+id).value = valid;
	
	var prot = $('prot_1');
	
	if (prot!=undefined){
		var query = 'SELECT T.oggetto, R.answer, R.question_flag, R.question_yes, R.question_no FROM tsk_protocolli AS T LEFT JOIN tsk_protocolli_req AS R ON (T.id_prot=R.id_prot) WHERE T.id_prot='+prot.value;
		new Ajax.Request('ajax.php?op=query&query='+query, {
			onComplete: function(transport){
				eval(transport.responseText);
				if (result['1']['question_flag']==1){
					cont = true;
					$$('.valid_flag').each(function(el){
						cont = (cont && el.value==1);
					});					
					
					$('label_question').innerHTML = result['1']['oggetto'];
					$('label_question_yes').innerHTML = result['1']['question_yes'];
					$('label_question_no').innerHTML = result['1']['question_no'];
					$('ans_boh').checked = (result['1']['answer']==$('ans_boh').value)
					$('ans_yes').checked = (result['1']['answer']==$('ans_yes').value)
					$('ans_no').checked = (result['1']['answer']==$('ans_no').value)
					if (cont){
						$('answer_prot').show();
					}else{
						$('answer_prot').hide();
						$('ans_boh').checked = true;
					}
				}
			}
		})
	}
}

function show_tab_row(element){
	var el = $(element);
	if (el.style.display=='none'){
		el.style.display='table-row'
	}else{
		el.style.display='none'
	}
	return false;
}


function show_el(element){
	var el = $(element);
	if (el.style.display=='none'){
		el.style.display='block'
	}else{
		el.style.display='none'
	}
	return false;
}

function show_req(val){
	if (val>0) $("att_req").style.display="block";
	else $("att_req").style.display="none";
}

function findPos(obj) {
	var curleft = curtop = offleft = offtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop  += obj.offsetTop;
			if ($('sb-overlay').getWidth()>0){
				if (obj.cumulativeScrollOffset()[1]>0){
					offtop = obj.cumulativeScrollOffset()[1];
				}
				if (obj.cumulativeScrollOffset()[0]>0){
					offleft  = obj.cumulativeScrollOffset()[0];
				}
			}
		} while (obj = obj.offsetParent);
	}
	return [curleft-offleft,curtop-offtop];
}

function getViewPort(cc){
	var viewportwidth;
	var viewportheight;
	// the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
	if (typeof window.innerWidth != 'undefined'){
		viewportwidth = window.innerWidth,
		viewportheight = window.innerHeight
	}

	// IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)
	else if (typeof document.documentElement != 'undefined'
     		&& typeof document.documentElement.clientWidth !=
			'undefined' && document.documentElement.clientWidth != 0){
		viewportwidth = document.documentElement.clientWidth,
		viewportheight = document.documentElement.clientHeight
	}
	// older versions of IE
	else{
		viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
		viewportheight = document.getElementsByTagName('body')[0].clientHeight
	}
	if (cc='w') return viewportwidth
	else return viewportheight
}

function change_date(gg,mm,aa){
	if ($('datagg_da')){
		$('datagg_da').value = gg;
		$('datamm_da').value = mm;
		$('dataaaaa_da').value = aa;
		var form = document.forms.ag_stamp;
		buildData(form,'da');
	}
	if ($('datagg_a')){
		$('datagg_a').value = gg;
		$('datamm_a').value = mm;
		$('dataaaaa_a').value = aa;
		var form = document.forms.ag_stamp;
		buildData(form,'a');
	}
	
}

function check_avaibility(res){
	risorse = getMultiple(res);
	data_dal = $('dataora_dal').value;
	data_al = $('dataora_al').value;
	data_al = (data_al>0) ? data_al : data_dal;
	
	ora_dal = $('ora_final_dalle').value;
	ora_al = $('ora_final_alle').value;
	ora_al = (ora_al>0) ? ora_al : ora_dal;
	if ((data_dal>0) && (ora_dal>0)){
		var query = "select count(*) as cnt,R.descrizione as risorsa from tsk_protocolli AS P ";
		query += "left join res_risorse as R ON (R.id_risorsa=" + res + ")";
		query += "where (P.risorse_id LIKE '" + res + ",%'  or P.risorse_id LIKE '%," + res + ",%' or P.risorse_id LIKE '%," + res + "' or P.risorse_id=" + res + ") ";
		query += "and " + data_dal + " between P.dal AND IFNULL(P.al," + data_al + ") ";
		query += (data_dal==data_al) ? "and " + ora_dal + " between P.dalle AND IFNULL(P.alle," + ora_al + ") " : "and P.alle<=" + ora_dal + " ";
		query += "group by R.id_risorsa";
		new Ajax.Request('ajax.php?op=query&query='+query, {
			onSuccess: function(transport){
				eval(transport.responseText);
				if (result[1]['cnt']>0){	
					var msg = "Attenzione:\nLa risorsa "+result['1']['risorsa']+" risulta essere occupata\n"
					alert(msg);
				}
			}
		})
	}
}

function setStatus(check,id){
	if (check.checked==true){
		$(id).value = 1;
	}else{
		$(id).value = 0;
	}
}

function noop(){
	return true;
}

function open_tsearch(ref,inc){
	if ($('anagrafica_'+ref+'_tx')!=undefined){
		var clifor_desc = $('anagrafica_'+ref+'_tx');
		var clifor_id = $('anagrafica_'+ref);
	}else if ($('anagrafica_id_'+ref+'_tx')!=undefined){
		var clifor_desc = $('anagrafica_id_'+ref+'_tx');
		var clifor_id = $('anagrafica_id_'+ref);
	}else if($('clifor_ls_tx')!=undefined){
		var clifor_desc = $('clifor_ls_tx');
		var clifor_id = $('clifor_ls');
	}else if($('cli'+ref+'_tx')!=undefined){
		var clifor_desc = $('cli'+ref+'_tx');
		var clifor_id = $('cli'+ref);
	}
	if (clifor_desc!=undefined) {	
		var s_cliente = "&cliente="+escape(clifor_desc.value)+"&cliente_id="+clifor_id.value;
	}else{
		var s_cliente = "";
	}
	inc_prot = inc;
	openComix('ajax.php?op=protTask&inc_prot='+inc_prot+'&ref='+ref+s_cliente+'&from[module]='+gup('module')+'&from[file]='+gup('file'), 'comix_att_'+ref, 'search_'+ref);
}

function reopen_tsearch(text,li){
	var id;
	var val;
	try{
		id  = li.id.split("|")[0];
		val = li.id.split("|")[1];
		$(id).value = val
	}catch(e){
		val = $('search_cliente').value;
	}
	var ref = gup('ref');
	var inc_prot = $('inc_prot').value;
	var url = 'ajax.php?op=protTask&ref='+ref;
	if 	($('clifor_ls_tx')!=undefined){
		var clifor_desc = $('clifor_ls_tx');
	}else if ($('anagrafica_'+ref+'_tx')!=undefined){
		var clifor_desc = $('anagrafica_'+ref+'_tx');
	}

	var task = $('search_task_id'); 
	var prot = $('search_prot_id');
	url += (clifor_desc!=undefined) ? '&cliente='+escape(clifor_desc.value) : '';
	url += (val!=undefined) ? '&cliente_id='+val : '';
	url += (task!=undefined) ? '&task='+task.value : '';
	url += (prot!=undefined) ? '&prot='+prot.value : '';
	url += (inc_prot!=undefined) ? '&inc_prot='+inc_prot : '';
	url += '&from[module]='+gup('module');
	url += '&from[file]='+gup('file');
	new Ajax.Updater('taskprot_selecter', url);
}

function close_tsearch(){
	//Recupera riferimento prot e inserisci nel campo adeguato
	var ref = $('ref').value;
	if ($('search_prot_id')!=undefined)
		var prot = $('search_prot_id').value;
	else
		var prot = 0;
	
	if 	($('search_cliente_tx')!=undefined){
		var cliente_id = $('search_cliente').value;
		var query = "SELECT descrizione FROM ang_anagrafica WHERE id_anagrafica="+cliente_id
		var cliente = ""
		new Ajax.Request('ajax.php?op=query&query='+query, {
			 onSuccess: function(transport){
					eval(transport.responseText);
					cliente = result['1']['descrizione'];
					if ($('cliente_'+ref)!=undefined)
						$('cliente_'+ref).value = cliente_id;	
					if ($('cliente_'+ref+'_tx')!=undefined)
						$('cliente_'+ref+'_tx').value = cliente;
					if ($('anagrafica_'+ref)!=undefined)
						$('anagrafica_'+ref).value = cliente_id;
					if ($('anagrafica_id_'+ref)!=undefined)
						$('anagrafica_id_'+ref).value = cliente_id;							
					if ($('anagrafica_'+ref+'_tx')!=undefined) 
						$('anagrafica_'+ref+'_tx').value = cliente;
					if ($('anagrafica_id_'+ref+'_tx')!=undefined) 
						$('anagrafica_id_'+ref+'_tx').value = cliente;
	
			}
		});
	}else{
		var cliente_tx = 0;
	}
	
	if 	($('search_task_id')!=undefined){
		var task = $('search_task_id').value;
		if (task=='NEW'){
			new Ajax.Request('ajax.php?op=db_insert&table=tsk_task&values[contratto_id]='+$('newtask_contratto').value+'&values[oggetto]='+$('newtask_oggetto').value+'&values[riferimento]='+$('newtask_riferimento').value+'&values[cliente_id]='+cliente_id, {
				asynchronous:false,
				onComplete: function(transport){
					task = transport.responseText;
				}
			})
		}
	}else{
		var task = 0;
	}
	
	if ($('tecnico_'+ref)!=undefined)
		var id_tecn = $('tecnico_'+ref).value;
	else
		var id_tecn = 0;
	
	if ($('prot_'+ref)!=undefined) $('prot_'+ref).value = prot;
	if ($('task_'+ref)!=undefined) $('task_'+ref).value = task;
	if ($('task_id_'+ref)!=undefined) $('task_id_'+ref).value = task;			
	if ($('ufficio_'+ref)!=undefined){
		var query = "SELECT categorie FROM tsk_task WHERE id_task="+task;
		new Ajax.Request('ajax.php?op=query&query='+query, {
			onSuccess: function(transport){
				eval(transport.responseText);
				var params = new Object();
				params['table'] = "res_livelli_op";
				params['idfield'] = "id_livello";
				params['descfield'] = "descrizione";
				params['grouptab'] = new Object();
				params['grouptab']['table'] = 'res_aree',
				params['grouptab']['id'] = 'id_area',
				params['grouptab']['desc'] ='descrizione';
				params['group_id'] = 'settore_id'
				params['filterkey'] = "business_id"
				params['filterval'] = result['1']['categorie'];
				params['def'] = "Centro di attivita/Ufficio";
				params['classe'] = "filter";
				new Ajax.Updater('ufficio_'+ref+'_div', 'ajax.php?op=html&type=menu&name='+$('ufficio_'+ref).name+'&id=ufficio_'+ref+'&value=&params='+Object.toJSON(params));
			}
		})
		
		
	}	
	
	if (($('form_avanzamento')!=undefined) && ((prot>0) || ($('tipo').value>0))){
		new Ajax.Updater('form_avanzamento', 'index.php?module=Risorse&file=attivita_form&act=req_form&prot='+prot+'&id_tecn='+id_tecn+'&tipologia_id='+$('tipo').value, {
  				method: 'get'
  		});
	}

	if (($('tipo')!=undefined) && (prot>0)){
		var query = "select p.tipologia_id, p.ticket_flag, t.credits, p.ticket_acceptance from tsk_protocolli as p left join res_tipologia as t on (p.tipologia_id=t.id_tipologia) where p.id_prot="+prot;
		new Ajax.Request('ajax.php?op=query&query='+query, {
			onSuccess: function(transport){
				eval(transport.responseText);
				if ((result['1']['ticket_flag']=="1") && (result['1']['ticket_acceptance']=="")){
					alert('L\'attivita\' e\' in attesa di autorizzazione e non puo\' essere lavorata');
					$('rendiconto_form').hide();
				}else{
					$('rendiconto_form').show();
					$('tipo').value = result['1']['tipologia_id'];
					if ((($('tipo').value=="0") || ($('tipo').value=="")) && (result['1']['tipologia_id']*1>0)){
						$('tipo').options[$('tipo').options.length] = new Element('option', { value: result['1']['tipologia_id']}).update('Selected');
						$('tipo').value = result['1']['tipologia_id'];	
					}
					
					if ((result['1']==undefined) || (result['1']['tipologia_id']*1>0)){
						$('tab_rl_req_0').style.display = 'none';
						filtra_rl_form(result['1']['tipologia_id'])
						if (result['1']['ticket_flag']==1){
							//$('crediti_lavorazione_div').show();
							//$('crediti_ora').value = result['1']['credits'];
						}
					}else{
						$('tipologia_lavorazione_div').show();
						$('tab_rl_req_0').style.display = 'table-row';
						//$('crediti_lavorazione_div').hide();
						//$('crediti_ora').value = "";
					}
				}
				
			}
		});
	}

	($('esistente')!=undefined && $('esistente').checked) ?	att_mode('E') : att_mode('N');

	Ajax_Comix_close();
}


function fill_periodic(row){
	var num = $(row+'_num').value;
	var spc = $(row+'_spc').value;
	$(row+'_def').value = num+spc;
	if (spc == 'S') $(row).value = num*52;
	if (spc == 'M') $(row).value = num*12;
	if (spc == 'A') $(row).value = num;
	try{
		update_row(row.replace('freq_',''));
	}catch(error){
	
	}
	return;
}

function fill_art(lsart,idx){
	if (lsart=="NEW"){
		//window.open('index.php?module=Magazzino&file=articoli&pop=UP&row='+idx, 'NuovoArticolo', 'width=640,height=480,scrollbars=yes,resizable=yes');
		var url = 'index.php?module=Magazzino&file=articoli&pop=UP&row='+idx;
		var vp = document.viewport.getDimensions();
		Shadowbox.open({
	        content:    url,
	        player:     "iframe",
	        height:     vp.height,
	        width:      vp.width
	    });
	}else{
		if ((lsart!=0) && (idx>=0)) {
			var tofill = $('res'+idx);
			if (tofill!=undefined) tofill.value = lsart;
		}
		if ($('res'+idx) != undefined)
			var articolo = $('res'+idx).value;
		else var articolo = 0;
		
		var query = "select a.alpha_cod,a.descrizione,a.cod_fornitore from mag_articoli as a where id_articoli="+articolo;
		new Ajax.Request('ajax.php?op=query&query='+query, {
			onSuccess: function(transport){
				eval(transport.responseText);
				if ($('note'+idx) != undefined)
					$('note'+idx).value = result['1']['descrizione'];
				if ($('codfor'+idx) != undefined)
					$('codfor'+idx).value = result['1']['cod_fornitore'];
				if ($('alpha'+idx) != undefined)
					$('alpha'+idx).value = result['1']['alpha_cod'];
			}
		});
	}
	return false;
}

document.getElementsByClassName = function(clsName){
    var retVal = new Array();
    var elements = document.getElementsByTagName("*");
    for(var i = 0;i < elements.length;i++){
        if(elements[i].className.indexOf(" ") >= 0){
            var classes = elements[i].className.split(" ");
            for(var j = 0;j < classes.length;j++){
                if(classes[j] == clsName)
                    retVal.push(elements[i]);
            }
        }
        else if(elements[i].className == clsName)
            retVal.push(elements[i]);
    }
    return retVal;
}

function filterbiblio(filter){
	new Ajax.Updater('search_result', 'index.php?module=Extra&file=biblio&id=ALL&filter=' + filter);
	return false;
}

function filternorme(filter){
	new Ajax.Updater('search_result', 'index.php?module=Extra&file=normative&id=ALL&filter=' + filter);
	return false;
}


function buildData(form,spec){
	var gg = $('datagg_'+spec).value*1;
	var mm = ($('datamm_'+spec).value*1)-1;
	var aa = $('dataaaaa_'+spec).value;
	var orario = ($('orario_'+spec).value).split(":");
	var ggmysql = gg;
	var mmmysql = mm;
	var aamysql = aa;
	
	var time = new Date();
	if ((gg>0) && (mm>=0) && (aa>0)){
		time.setFullYear(aa);
		time.setMonth(mm);
		time.setDate(gg);
		time.setHours(orario[0], orario[1], 0);
		var timestamp = (time.getTime() / 1000);
		
		var mmstring = ((mmmysql+1)<10) ? '0'+(mmmysql+1) : (mmmysql+1);
		var ggstring = (ggmysql<10) ? '0'+ggmysql : ggmysql;
		$('dataora_'+spec).value = Math.round(timestamp);
		$('dataora_mysql_'+spec).value = aamysql+'-'+mmstring+'-'+ggstring;
		
		if ((gup("module")=='Amministrazione') || (gup("module")=='Contabilita')){
			if (aa>1000){	
				checkquery('dataora_'+spec);
			}
		}
	}else{
		$('dataora_'+spec).value = "NULL";
		$('dataora_mysql_'+spec).value = "NULL";
	}
	return false;
}

function buildOra(form,spec){
	var ora = ($('ora_'+spec).value*1 >= 10) ? $('ora_'+spec).value : '0' + ($('ora_'+spec).value*1);
	var minuti = ($('min_'+spec).value*1 >=10) ? $('min_'+spec).value : '0' + ($('min_'+spec).value*1);
	$('ora_final_'+spec).value = ora+minuti;
	calcola_ore(spec);
	return false;
}

function calcola_ore(spec){
	try{
		spec = spec.replace('_dalle','').replace('_alle','');
		curr_ora = $('ora_'+spec+'_alle').value; 
		curr_min = $('min_'+spec+'_alle').value; 
		prev_ora = $('ora_'+spec+'_dalle').value;
		prev_min = $('min_'+spec+'_dalle').value;
		ore = ((curr_ora*1) - (prev_ora*1))*3600;
		if((ore<0) && (curr_ora!='')) {
			ore+=86400;
		}
		mis = (curr_min*60) - (prev_min*60);
		tot = (((ore*1)+(mis*1))/3600);
		if (tot<=0) tot=0
		if ($('ore_'+spec)!=undefined) $('ore_'+spec).value = tot.toFixed(2);
		calcola_crediti(spec)
	}catch(e){
		console.log(e);
	}
	return false;
}

function calcola_crediti(spec){
	if ($('crediti')!=undefined){
		$('crediti').value = ($('crediti_ora').value * $('ore_'+spec).value).toFixed(2);
	}
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
	return false;
}

function ReadCookie(cookieName) {
	var theCookie=""+document.cookie;
	var ind=theCookie.indexOf(cookieName);
	if (ind==-1 || cookieName=="") return ""; 
	var ind1=theCookie.indexOf(';',ind);
	if (ind1==-1) ind1=theCookie.length; 
	return unescape(theCookie.substring(ind+cookieName.length+1,ind1));
}

function eraseCookie(name) {
	createCookie(name,"",-1);
	return false;
}

function expand_col(id){
	var element = $(id);
	if (element.style.display=="block")
		element.style.display="none";
	else
		element.style.display="block";
	return false;
}

function checkCR(evt) {
	var evt  = (evt) ? evt : ((event) ? event : null);
	var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
    if ((evt.keyCode == 13) && (node.type=="text")) {return false;}
}

document.onkeypress = checkCR;

//Task
function filterTask(form){
	var start = form.dataora_dal.value;
	var end = form.dataora_al.value;
	var task = form.task.value;
	var rif = form.rif.value;
	var prov = form.prov.value;
	var cliente = form.cliente.value;
	var citta = form.citta.value;
	var stato = form.stato.value;
	var cat = form.cat.value
	var chiusi = form.sel_chiusi.checked;
	
	if (start > 0) var timestart = start; else var timestart = 0;
	if (end > 0) var timeend = end; else var timeend = 10000000000;

	var filter = new Array;
	var ftosend;
	var i = 0;
	
	if (task != '') {
		filter[i] = 'T.id_task="' + task + '"';
		i++;
	}
	if (rif  != '') { 
		filter[i] = 'T.riferimento LIKE "|' + rif + '|"';
		i++;
	}
	if (prov  > 0) { 
		filter[i] = 'C.provincia ="' + prov + '"';
		i++;
	}
	if (citta!=''){
		filter[i] = 'C.citta LIKE "|' + citta + '|"';
		i++;
	}
	if ((cliente>0) && ($('cliente_tx').value!='')){
		filter[i] = 'T.cliente_id = ' +cliente;
		i++;
	}
	if (stato>0){
		filter[i] = escape('(T.tipologia LIKE "|,' + stato + '" OR T.tipologia LIKE "|' + stato + ',0|" OR T.tipologia = "' + stato + '")');
		i++;
	}
	if (cat>0){
		filter[i] = 'T.categorie = ' + cat;
		i++;
	}
	if (chiusi){
		var cl = 'SI';
	}else{
		var cl = 'NO';
	}
	

	filter[i] = 'T.aperto > ' + timestart + ' and T.aperto < ' + timeend;
	ftosend = filter.join(' and ');
	new Ajax.Updater('task_sel', 'index.php?module='+((version='v1') ? 'Task' : 'Produzione')+'&file=task&id=ALL&filter=' + ftosend + '&closed='+cl);
	return false;
}
function filterInfoTask(form){
	var start = form.dataora_dal.value;
	var end = form.dataora_al.value;
	var task = form.task.value;
	var rif = form.rif.value;
	var prov = form.prov.value;
	var cliente = form.cliente.value;
	var citta = form.citta.value;
	var stato = form.stato.value;
	var cat = form.cat.value
	var chiusi = form.sel_chiusi.checked;
	
	if (start > 0) var timestart = start; else var timestart = 0;
	if (end > 0) var timeend = end; else var timeend = 10000000000;

	var filter = new Array;
	var ftosend;
	var i = 0;
	
	if (task != '') {
		filter[i] = 'T.id_task=' + task;
		i++;
	}
	if (rif  != '') { 
		filter[i] = 'T.riferimento LIKE "|' + rif + '|"';
		i++;
	}
	if (prov  > 0) { 
		filter[i] = 'C.provincia ="' + prov + '"';
		i++;
	}
	if (citta!=''){
		filter[i] = 'C.citta LIKE "|' + citta + '|"';
		i++;
	}
	if ((cliente>0) && ($('cliente_tx').value!='')){
		filter[i] = 'T.cliente_id = ' +cliente;
		i++;
	}
	if (stato>0){
		filter[i] = escape('(T.tipologia LIKE "|,' + stato + '" OR T.tipologia LIKE "|' + stato + ',0|" OR T.tipologia = "' + stato + '")');
		i++;
	}
	if (cat>0){
		filter[i] = 'T.categorie = ' + cat;
		i++;
	}
	if (chiusi){
		var cl = 'SI';
	}else{
		var cl = 'NO';
	}
	

	filter[i] = 'T.aperto > ' + timestart + ' and T.aperto < ' + timeend;
	ftosend = filter.join(' and ');
	if (version=='v1'){
		new Ajax.Updater('task_sel', 'index.php?module=Task&file=task&id=ALL&act=info&filter=' + ftosend + '&closed='+cl);
	}else{	
		new Ajax.Updater('task_sel', 'index.php?module=Produzione&file=task&id=ALL&act=info&filter=' + ftosend + '&closed='+cl);
	}
	return false;
}
//Attivitˆ
/*function updateRowTooltip_planner(row){
	if ($('validator_Risorse_attivita')!=undefined){
		eval($('validator_Risorse_attivita').innerHTML);
		var test = validate(validator,validator_class);
	}else{
		var test = true;
	}
	if (test){
		var extget = getQueryString4editor();
		if ($('prot_GANT')!=undefined){
			extget = extget + '&from=gant';
			new Ajax.Request('index.php?module=Risorse&file=attivita_form&act=save&row='+row+'&new=0&start='+gup('start')+extget, {
				parameters: $('form_'+row).serialize(true),
				onSuccess: function(transport){
					window.location.reload()		
				}
			});
			
		}else{
			new Ajax.Request('index.php?module=Risorse&file=attivita_form&act=save&row='+row+'&new=0&start='+gup('start')+extget, {
				parameters: $('form_'+row).serialize(true),
				onSuccess: function(transport){
					reload_planner();		
				}
			});

		}
		if ($$('.prototip').size()>0){
			Tips.removeAll();
		}
	}
}*/

function updateRowTooltip_task(row){
	if ($('validator_Risorse_attivita')!=undefined){
		eval($('validator_Risorse_attivita').innerHTML);
		var test = validate(validator,validator_class);
	}else{
		var test = true;
	}
	if (test){
		var extget = getQueryString4editor();
		if ($('prot_GANT')!=undefined){
			extget = extget + '&from=gant';
		}
		new Ajax.Request('index.php?module=Risorse&file=attivita&act=save&row='+row+'&new=0&start='+gup('start')+extget, {
			parameters: $('form_'+row).serialize(true),
			onSuccess: function(transport){
				window.location.reload()		
			}
		});
	}
}


function updateRowTooltip_attivita(row){
	if ($('validator_Risorse_attivita')!=undefined){
		eval($('validator_Risorse_attivita').innerHTML);
		var test = validate(validator,validator_class);
	}else{
		var test = true;
	}
	if (test){
		var extget = getQueryString4editor();
		if ($('prot_GANT')!=undefined){
			extget = extget + '&from=gant';
		}
		new Ajax.Request('index.php?module=Risorse&file=attivita&act=save&row='+row+'&new=0&start='+gup('start')+extget,{
			parameters: $('form_'+row).serialize(true),
			onSuccess: function(transport){
				if (transport.responseText=='OK'){
					window.location.reload()
				}else {
					openForceUrl('index.php?module=Produzione&file=task&act=edit&row='+content+'&pop=UP','task');
					window.location.reload()
				}
			}
		})
	}
}

function updateRowTooltip_canoni(row){
	if ($('validator_Risorse_attivita')!=undefined){
		eval($('validator_Risorse_attivita').innerHTML);
		var test = validate(validator,validator_class);
	}else{
		var test = true;
	}
	if (test){
		var extget = getQueryString4editor();
		if ($('prot_GANT')!=undefined){
			extget = extget + '&from=gant';
		}
		new Ajax.Request('index.php?module=Produzione&file=canoni&act=save&row='+row+'&new=0&start='+gup('start')+extget,{
			parameters: $('form_'+row).serialize(true),
			onSuccess: function(transport){
				if (transport.responseText=='OK'){
					window.location.reload()
				}else {
					openForceUrl('index.php?module=Produzione&file=task&act=edit&row='+content+'&pop=UP','task');
					window.location.reload()
				}
			}
		})
	}
}


//Amministrazione'

function filter_conti_mastro(form){
	var mastro = $('mastro').value;
	var conto = $('conto').value;
	var descrizione = $('descrizione').value;
	var spenti = $('spenti').checked;
	var filter = new Array;
	var ftosend;
	var i = 0;
	
	if (mastro!=0) {
		filter[i] = 'C.mastro_id="'+mastro+'"';
		i++;
	}
	
	if (conto!='') {
		filter[i] = 'C.conto_num<="'+conto+'"';
	}
	
	if (descrizione != '') {
		filter[i] = 'C.descrizione LIKE "|' + descrizione + '|"';
		i++;
	}
	
	if (spenti){
		filter[i] = '( C.status = 0  OR C.status = 1 )';
		i++;
	}

	ftosend = filter.join(' and ');
	new Ajax.Updater('report', 'index.php?module='+((version=='v1') ? 'Contabilita' : 'Amministrazione')+'&file=conti&id=ALL&filter=' + ftosend);
	return false;

}

function filterMoviment_pn_cond(form){
	var condominio = form.condominio.value;
	var dal = form.dal.value;
	var al = form.al.value;
	
	var filter = new Array;
	var ftosend;
	var i = 0;
	
	if (dal!=0) {
		filter[i] = 'FROM_UNIXTIME(P.data_movimento,"%Y%m%d")>=FROM_UNIXTIME('+dal+',"%Y%m%d")';
		i++;
	}
	
	if (al!=0) {
		filter[i] = 'FROM_UNIXTIME(P.data_movimento,"%Y%m%d")<=FROM_UNIXTIME('+al+',"%Y%m%d")';
		i++;
	}
	
	if (condominio != '0') {
		filter[i] = 'P.sezionale=' + condominio;
		i++;
	}

	ftosend = filter.join(' and ');
	new Ajax.Updater('primanotahome', 'index.php?module='+((version=='v1') ? 'Contabilita' : 'Amministrazione')+'&file=primanota&id=ALL&filter=' + ftosend);
	return false;
}

function stampamov_pn_cond(form){
	var condominio = form.condominio.value;
	var dal = form.dal.value;
	var al = form.al.value;
	
	var filter = new Array;
	var ftosend;
	var i = 0;
	
	if (dal!=0) {
		filter[i] = 'FROM_UNIXTIME(P.data_movimento,"%Y%m%d")>=FROM_UNIXTIME('+dal+',"%Y%m%d")';
		i++;
	}
	
	if (al!=0) {
		filter[i] = 'FROM_UNIXTIME(P.data_movimento,"%Y%m%d")<=FROM_UNIXTIME('+al+',"%Y%m%d")';
		i++;
	}
	
	if (condominio != '0') {
		filter[i] = 'P.sezionale=' + condominio;
		i++;
	}

	ftosend = filter.join(' and ');
	location.href='index.php?module='+((version=='v1') ? 'Contabilita' : 'Amministrazione')+'&file=primanota&id=ALL&act=print&filter=' + ftosend;
}

function filter_conti_cassa(form){
	var dal = form.dal.value;
	var al = form.al.value;
	var filter = new Array;
	var ftosend;
	var i = 0;
	if (dal>0){
		filter[i] = 'dal=' + dal;
		i++;
	}
	if (al>0){
		filter[i] = 'al=' + al;
		i++
	}
	ftosend = filter.join('&');
	new Ajax.Updater('report', 'index.php?module='+((version=='v1') ? 'Contabilita' : 'Amministrazione')+'&file=casse&id=ALL&filter=1&'+ftosend);
	return false;
}

function stampaPartitari(form,tipo,clifor,centro_costo,id,desc,mastro,conto){
	var dal = form.dal.value;
	var al = form.al.value;
	if ($('includi_id_txt')!=undefined){	
		var inc = $('includi_id_txt').value;
	}else{
		var inc = 1;
	}
	if (form.partite_chiuse!=undefined){	
		var partite_chiuse = form.partite_chiuse.value;
	}else{
		var partite_chiuse = 0;
	}
	var filter = new Array;
	var ftosend;
	var i = 0;
	if (dal>0){
		filter[i] = 'dal=' + dal;
		i++;
	}
	if (al>0){
		filter[i] = 'al=' + al;
		i++
	}
	if (clifor!=''){
		filter[i] = 'clifor=' + clifor;
		i++; 
	}
	if (tipo!=''){
		filter[i] = 'tipo=' + tipo;
		i++;
	}
	if (mastro!=''){
		filter[i] = 'mastro=' + mastro;
		i++;
	}
	if (conto!=''){
		filter[i] = 'conto=' + conto;
		i++;
	}
	if (id!=''){
		filter[i] = 'id=' + id;
		i++;
	}
	if (centro_costo>0){
		filter[i] = 'centro_costo=' + centro_costo;
		i++;
	}
	if (desc!=''){
		filter[i] = 'desc=' + desc;
		i++;
	}
	filter[i] = 'inc=' + inc;
	i++;
	filter[i] = 'partite_chiuse=' + partite_chiuse;
	i++;
	filter[i] = 'filter=1';
	ftosend = filter.join('&');
	window.open('index.php?module='+((version=='v1') ? 'Contabilita' : 'Amministrazione')+'&file=conti&act=print&'+ftosend);
}

function inviaPartitari(form,tipo,clifor,id,desc,mastro,conto){
	var dal = form.dal.value;
	var al = form.al.value;
	if (form.include!=undefined){	
		var inc = form.includi.value;
	}else{
		var inc = 1;
	}
	var filter = new Array;
	var ftosend;
	var i = 0;
	if (dal>0){
		filter[i] = 'dal=' + dal;
		i++;
	}
	if (al>0){
		filter[i] = 'al=' + al;
		i++
	}
	if (clifor!=''){
		filter[i] = 'clifor=' + clifor;
		i++; 
	}
	if (tipo!=''){
		filter[i] = 'tipo=' + tipo;
		i++;
	}
	if (mastro!=''){
		filter[i] = 'mastro=' + mastro;
		i++;
	}
	if (conto!=''){
		filter[i] = 'conto=' + conto;
		i++;
	}
	if (id!=''){
		filter[i] = 'id=' + id;
		i++;
	}
	if (desc!=''){
		filter[i] = 'desc=' + desc;
		i++;
	}
	filter[i] = 'inc=' + inc;
	i++;
	//filter[i] = 'filter=1';
	ftosend = filter.join('&');
	openForceUrl('index.php?module='+((version=='v1') ? 'Contabilita' : 'Amministrazione')+'&file=conti&act=mail&'+ftosend+'&pop=UP','stampa');
}

function noop(){
	return false;
}


function filterCliFor_an(form,tipo){
	var citta	 	= form.citta.value;
	var provincia 	= form.provincia.value;
	var cap		 	= form.cap.value;
	var zona	 	= form.zona.value;
	var rag_soc		= form.rag_soc.value;
	var spenti 		= $('spenti').checked;
	
	var filter = new Array;
	var ftosend;
	var i = 0;
	if (citta != '') {
		filter[i] = 'citta LIKE "|' + citta + '|"';
		i++;
	}
	if (rag_soc != '') {
		filter[i] = 'descrizione LIKE "|' + rag_soc + '|"';
		i++;
	}
	if (provincia != '') {
		filter[i] = 'provincia = "' + provincia + '"';
		i++;
	}
	if (cap != '') {
		filter[i] = 'cap LIKE "|' + cap + '|"';
		i++;
	}
	if (zona != '') {
		filter[i] = 'zona = ' + zona;
		i++;
	}
	if (spenti){
		filter[i] = '( A.status = 0  OR A.status = 1 )';
		i++;
	}

	
	ftosend = filter.join(' and ');
	new Ajax.Updater(tipo, 'index.php?module=Anagrafica&file='+tipo+'&id=ALL&filter=' + escape(ftosend));
	
	return false;
}

function filterRubrica_an(form,tipo){
	var rag_soc		= form.rag_soc.value;
	var azienda		= form.azienda.value;
	
	var filter = new Array;
	var ftosend;
	var i = 0;
	if (rag_soc != '') {
		filter[i] = 'A.descrizione LIKE "|' + rag_soc + '|"';
		i++;
	}
	if (azienda != '') {
		filter[i] = '(C.descrizione LIKE "|' + azienda + '|" OR F.descrizione LIKE "|' + azienda + '|")';
		i++;
	}
	
	ftosend = filter.join(' and ');
	new Ajax.Updater(tipo, 'index.php?module=Anagrafica&file='+tipo+'&id=ALL&filter=' + ftosend);
	return false;
}

function filterDomain(form){
	var dominio		= form.dominio.value;
	var contatto	= form.contatto.value;
	var registrant  = form.registrant.value;
	var server		= form.dominio_server_id.value;
	var dal			= form.dal.value;
	var al 			= form.al.value;
	var mese		= form.mese.value;
	var mese_a		= form.mese_a.value;
	var anno		= form.anno_fatturazione.value;
	var status		= form.status_canone.value;
	var cat			= form.categorie.value
	
	var filter = new Array;
	var ftosend;
	var i = 0;
	if (dominio != '') {
		filter[i] = 'P.oggetto LIKE "|' + dominio + '|"';
		i++;
	}
	if (contatto != '') {
		filter[i] = 'C.descrizione LIKE "|' + contatto + '|"';
		i++;
	}
	if (registrant != '') {
		filter[i] = 'Ent.descrizione LIKE "|' + registrant + '|"';
		i++;
	}
	if (server>0) {
		filter[i] = 'Srv.id_server  = '+server;
		i++;
	}
	if (dal!=0) {
		filter[i] = 'P.data>="'+dal+'"';
		i++;
	}
	if (al!=0) {
		filter[i] = 'P.data<="'+al+'"';
		i++;
	}

	if (mese>0) {
		if (mese_a>0){
			filter[i] = 'FROM_UNIXTIME(P.dal, "%c") >= '+mese+' and FROM_UNIXTIME(P.dal, "%c") <= '+mese_a;
		}else{	
			filter[i] = 'FROM_UNIXTIME(P.dal, "%c") = '+mese;
		}
		i++;
	}
	
	if (anno>0) {
		filter[i] = 'FROM_UNIXTIME(P.dal, "%Y") = '+anno;
		i++
	}
	
	if (cat>0) {
		filter[i] = 'T.categorie = '+cat;
		i++;
	}
	
	if (status!=0) {
		filter[i] = 'P.status_canone="'+status+'"';
	}
	
	ftosend = filter.join(' and ');
	new Ajax.Updater('chiamatehome', 'index.php?module=Produzione&file=canoni&id=ALL&filter=' + ftosend);
	return false;
}

function filterCanoni(form){
	var canone		= form.canone.value;
	var contatto	= form.contatto.value;
	var dal			= form.dal.value;
	var al 			= form.al.value;
	var mese		= form.mese.value;
	
	var filter = new Array;
	var ftosend;
	var i = 0;
	if (dominio != '') {
		filter[i] = 'P.oggetto LIKE "|' + dominio + '|"';
		i++;
	}
	if (contatto != '') {
		filter[i] = 'C.descrizione LIKE "|' + contatto + '|"';
		i++;
	}
	if (dal!=0) {
		filter[i] = 'P.data>="'+dal+'"';
		i++;
	}
	if (al!=0) {
		filter[i] = 'P.data<="'+al+'"';
	}

	if (mese>0) {
		filter[i] = 'FROM_UNIXTIME(P.dal, "%c") = '+mese;
		i++;
	}
	
	ftosend = filter.join(' and ');
	new Ajax.Updater('chiamatehome','index.php?module=Produzione&file=canoni&id=ALL&filter=' + ftosend);
	return false;
}
		

function gup(name){
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

function getQueryString(){
	var querystring = new Array;
	// parse current url into an array with the keys/values
	var q = String (document.location).split ('?')[1];
	if (!q) return false;
	q = q. split ('&');
	for (var i = 0 ; i < q.length; i++){
		// for each key/value, split them at the '='
		// and add them to the qerystring array
		var o = q[i].split('=');
		if (unescape(o[0]).search(/function/)<0)
			querystring[o[0]] = o[1];
	}
	// return the querystring
	return querystring;
}

function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function getMultiple(ob){
 	selected = new Array();
  	for (var i = 0; i < ob.options.length; i++){
    	if (ob.options[i].selected){
     		selected.push(ob.options[i].value);
     	}
	}
	return selected;
}

function getMultipleCK(ob){
 	var selected = new Array();
  	for (var i = 0; i < ob.length; i++){
    	if (ob[i].checked){
     		selected.push(ob[i].value);
     	}
	}
	return selected;
}

function getRadioVal(ob){
 	for (var i = 0; i < ob.length; i++){
    	if (ob[i].checked){
     		return ob[i].value
     	}
	}
}

function getCount(id){
	i = 1;
	while($(id+i)!=undefined){
		i++;
	}
	return i-1;
}

function in_array(needle, strict) {
    for(var i = 0; i < this.length; i++) {
        if(strict) {
            if(this[i] === needle) {
                return true;
            }
        } else {
            if(this[i] == needle) {
                return true;
            }
        }
    }

    return false;
}

Array.prototype.in_array = in_array;

function filterPartitari(form,tipo,clifor,centro_costo,id,mastro,conto){
	var dal = form.dal.value;
	var al = form.al.value;
	if (form.includi!=undefined){	
		var inc = form.includi.value;
	}else{
		var inc = 1;
	}
	if (form.partite_chiuse!=undefined){	
		var partite_chiuse = form.partite_chiuse.value;
	}else{
		var partite_chiuse = 0;
	}
	var filter = new Array;
	var ftosend;
	var i = 0;
	if (dal>0){
		filter[i] = 'dal=' + dal;
		i++;
	}
	if (al>0){
		filter[i] = 'al=' + al;
		i++
	}
	if (clifor!=''){
		filter[i] = 'clifor=' + clifor;
		i++; 
	}
	if (centro_costo!=''){
		filter[i] = 'centro_costo=' + centro_costo;
		i++; 
	}
	if (tipo!=''){
		filter[i] = 'tipo=' + tipo;
		i++;
	}
	if (mastro!=''){
		filter[i] = 'mastro=' + mastro;
		i++;
	}
	if (conto!=''){
		filter[i] = 'id=' + conto;
		i++;
	}
	if (id!=''){
		filter[i] = 'id=' + id;
		i++;
	}
	filter[i] = 'inc=' + inc;
	i++;
	filter[i] = 'partite_chiuse=' + partite_chiuse
	i++;
	filter[i] = 'filter=1';
	ftosend = filter.join('&');
	var div_id = ($('partitario')!=undefined) ? 'partitario' : 'sb-player';
	new Ajax.Updater(div_id,'index.php?module='+((version=='v1') ? 'Contabilita' : 'Amministrazione')+'&file=conti&act=partitario&'+ftosend);
	return false;
}

/* Funzioni per agenda classica */
function cancella_controllo(id){
	var conf = confirm("Vuoi cancellare il controllo?\nL'azione e' irreversibile");
	if (conf){
		new Ajax.Request('index.php?module=Risorse&file=agenda&act=delAgElement&tipo=C&id='+id,{
			onSuccess: function(transport){
				cancella_prot_support(transport.responseText);
			}
		});
	}
}

function cancella_prot(id){
	var conf = confirm("Vuoi cancellare il protocollo?\nL'azione e' irreversibile");
	if (conf){
		new Ajax.Request('index.php?module=Risorse&file=agenda&act=delAgElement&tipo=A&id='+id,{
			onSuccess: function(transport){
				cancella_prot_support(transport.responseText);
			}
		});
	}
}


/* Funzioni per planner */
function cancella_controllo_planner(id){
	var conf = confirm("Vuoi cancellare il controllo?\nL'azione e' irreversibile");
	if (conf){
		new Ajax.Request('index.php?module=Risorse&file=agenda&act=delAgElement&tipo=C&id='+id,{
			onSuccess: function(transport){
				reload_planner(transport.responseText);
			}
		});
	}
}

function cancella_prot_planner(id){
	var conf = confirm("Vuoi cancellare il protocollo?\nL'azione e' irreversibile");
	if (conf){
		new Ajax.Request('index.php?module=Risorse&file=agenda&act=delAgElement&tipo=A&id='+id,{
			onSuccess: function(transport){
				reload_planner(transport.responseText);
			}
		});
	}
}

function cancella_prot_support(content){
	if (content=='OK'){
		window.location.reload();
	}
}

function incassa_paga(row,tipo,fatt,data){
	var et = (tipo=='inc') ? "l\'incasso della fattura "+fatt+" del "+data+"?" : "il pagamento della fattura "+fatt+" del "+data+"?";
	var conf = confirm('Vuoi effettuare '+et+'\nL\'azione e\' irreversibile');
	if (conf){
		var url="index.php?module=Amministrazione&file=primanota&row="+row+"&act=paga_incassa&tipo="+tipo
		openForceUrl(url, 'conti');
	}
}

function number_format (number, decimals, dec_point, thousands_sep) {
    number = (number + '').replace(/[^0-9+\-Ee.]/g, '');
    var n = !isFinite(+number) ? 0 : +number,
        prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
        sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
        dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
        s = '',
        toFixedFix = function (n, prec) {
            var k = Math.pow(10, prec);
            return '' + Math.round(n * k) / k;
        };
    // Fix for IE parseFloat(0.55).toFixed(0) = 0;
    s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
    if (s[0].length > 3) {
        s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
    }
    if ((s[1] || '').length < prec) {
        s[1] = s[1] || '';
        s[1] += new Array(prec - s[1].length + 1).join('0');
    }
    return s.join(dec);
}
