// JavaScript Document
function MM_findObj(n, d, f) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(f) x=d.forms[f][n]; if(!x) x=d[n];
  if(!x&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
	return false;
  }
function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' deve essere un indirizzo e-mail.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' e\' obbligatorio.\n'; }
  } if (errors) alert('ATTENZIONE!!\n'+errors);
  document.MM_returnValue = (errors == '');
}
function MM_goToURL(ind) { //v3.0
  document.MM_returnValue = false;
  document.location=ind;
}
function doLoad(sURL){
	var sURL = unescape(sURL);
	location.href = sURL;
}
function expand(divid){
	eval(document.getElementById(divid)).style.display = '';
}
function collapse(divid){
	eval(document.getElementById(divid)).style.display = 'none';
}
function expand_collapse(divid,saveval){
	stato=document.getElementById(divid).style.display;
	if(stato == 'none'){
		eval(document.getElementById(divid)).style.display = '';
	}else{
		eval(document.getElementById(divid)).style.display = 'none';
	}
	if (saveval) {
		if (document.getElementById(divid).style.display=='none') setSessionVar('exp_col_'+divid,'none',saveval);
		else setSessionVar('exp_col_'+divid,'block',saveval);
	}
}
function prendiElementoDaId(id_elemento,extension,parametri,callbackfunction){
	var elemento,id_elemento,extension,parametri;
	var elm=AJS.$(id_elemento);
	/*if(parametri){
		parametri='&'+parametri;
	}*/
	AJS.BASE_URL= "./";
	var d= AJS.getRequest(extension+"?"+parametri,null,"get" );
	d.addCallback(function (res_txt,req){AJS.setHTML(elm,res_txt);if (callbackfunction) callbackfunction(id_elemento);} );
	d.addErrback(function (res_txt,req){AJS.setHTML(elm,"Impossibile effettuare l'operazione richiesta.<br />")} );
	d.addErrback(function (res_txt,req){AJS.setHTML(elm,res_txt)} );
	var loadingElm= AJS.$bytc('div','ajaxLoading',elm);
	if(loadingElm[0])
		AJS.setHTML(loadingElm[0],'<img src="image/loading.gif" />a');
	else
		AJS.setHTML(elm,'<img src="image/loading.gif" />');
	d.sendReq();
}
function prendiElementoDaId_timeOut(id_elemento,extension,parametri,timeOut){
	var elemento,id_elemento,extension,parametri;
	var elm=AJS.$(id_elemento);
	/*if(parametri){
		parametri='&'+parametri;
	}*/
	AJS.BASE_URL= "./";
	var d= AJS.getRequest(extension+"?"+parametri,null,"get" );
	d.addCallback(function (res_txt,req){AJS.setHTML(elm,res_txt)} );
	d.addErrback(function (res_txt,req){AJS.setHTML(elm,"Impossibile effettuare l'operazione richiesta.<br />")} );
	d.addErrback(function (res_txt,req){AJS.setHTML(elm,res_txt)} );
	var loadingElm= AJS.$bytc('div','ajaxLoading',elm);
	/*if(loadingElm[0])
		AJS.setHTML(loadingElm[0],'<img src="image/loading.gif" />a');
	else
		AJS.setHTML(elm,'<img src="image/loading.gif" />');*/
	d.sendReq();
	ricarica(id_elemento,extension,parametri,timeOut)
}
function ricarica(id_elemento,extension,parametri,timeOut){
	var id_elemento,extension,parametri,timeOut;
	setTimeout("prendiElementoDaId_timeOut(\'"+id_elemento+"\',\'"+extension+"\',\'"+parametri+"\',\'"+timeOut+"\')",timeOut);
}
function visualizza_gruppo(selObj,id_elemento,extension,parametro){
	var selObj,id_elemento,extension,parametro;
	var parametri=parametro+selObj.value;
	if(selObj.value != ''){
		prendiElementoDaId(id_elemento,extension,parametri);
	}
}
function formContents_check(form) {
        var form = AJS.$(form);
        var r = {};
        var fn = function(elms) {
            AJS.map(elms, function(e) {
                if(e.name){
                		if(e.type == 'checkbox'){
                			if(e.checked){
                				r[e.name] = e.value || '';
                				}
                		}else{
                			r[e.name] = e.value || '';
                		}
                	}
            });
        }
        fn(AJS.$bytc('input', null, form));
        fn(AJS.$bytc('textarea', null, form));
        fn(AJS.$bytc('select', null, form));
        return r;
    }
function formSendAndUpdate(fo,pa,id_elemento,callbackfunction){
	var form_contents = formContents_check(fo);
	//alert(form_contents['cod_gruppo']+form_contents.length);
	/*for(i=0 ; i< fo.length-1; i++)
		if((fo[i].name.indexOf('cod_')!=-1) && (fo[i].checked))
			str=str + fo[i].value + ',';
	fo['list_utenti'].value=str;
	if (str != '') fo.submit();
	else window.alert('ATTENZIONE! Nessun utente selezionato.');*/
	var elm=AJS.$(id_elemento);
	AJS.BASE_URL= "./";
	var d= AJS.getRequest(pa,null,"POST" );
	d.addCallback(function (res_txt,req){AJS.setHTML(elm,res_txt);if (callbackfunction) callbackfunction(id_elemento);});
	d.addErrback(function (res_txt,req){AJS.setHTML(elm,"Impossibile effettuare l'operazione richiesta.<br />")} );
	AJS.setHTML(elm,'<img src="image/loading.gif" />');
	d.sendReq(form_contents);
}

function aggiornaNote(id_elemento){
	prendiElementoDaId('elenco_note','ajax_scrivi_note.php','','');
	}
function aggiornaFestivita(id_elemento){
	prendiElementoDaId('elenco_festivita','ajax_scrivi_festivita.php','','');
	}
function aggiornaRitardi(id_elemento){
	//selec_monitor
	//prendiElementoDaId('elenco_corse','ajax_scrivi_corse.php','','');
	//alert('ci sono');
	formSendAndUpdate('selec_monitor','ajax_scrivi_corse.php','elenco_corse');
	}
function scrivi_ritardo(e,x,y,id_corsa,nome_corsa,ritardo,fermata,parte,limit){
	var subobj,visibile,e,x,y;
	subobj=document.getElementById('finestra_ritardo');
	visibile= subobj.style.visibility;
	if(visibile == 'hidden'){
		subobj.innerHTML=dataframe(id_corsa,nome_corsa,ritardo,fermata,parte,limit);
		subobj.style.visibility ='visible';
		subobj.style.left = (getposOffset(e, "left")+x)+"px";
		subobj.style.top = (getposOffset(e, "top")+y)+"px";
		subobj.style.display="block";
		}else{
			subobj.style.visibility ='hidden';
			}
}
function dataframe(id_corsa,nome_corsa,ritardo,fermata,parte,limit) {
   var id_corsa,nome_corsa,ritardo,fermata,parte,limit;
   var s = '<strong>Imposta il ritardo per la corsa '+nome_corsa+'</strong> <form name="gestisci_ritardo" action="" method="post" onsubmit="formSendAndUpdate(this,\'ajax_gestisci_ritardo.php\',\'elenco_corse\',aggiornaRitardi); return false;">';
   s += '<input type="text" name="ritardo" value="'+ritardo+'"/> *<br />';
   s += '<input type="hidden" name="id_corsa" value="'+id_corsa+'">';
   s += '<input type="hidden" name="fermta" value="'+fermata+'">';
   s += '<input type="hidden" name="parte" value="'+parte+'">';
   s += '<input type="hidden" name="limit" value="'+limit+'">';
   s += '<input type="submit" value="Salva">'; 
   s += '<input name="annulla" type="button" onclick="scrivi_ritardo(event,\'finestra_ritardo\')" value="Annulla"/></form>';
  return s;
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}