

	function NewWindow(mypage,myname,w,h)
	{
		var win = null;

 		LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
 		TopPosition = (screen.height) ? (screen.height-h)/2 : 0;

		settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',resizable=no,menubar=no,toolbar=no,scrolling=auto,scrollbars=no,location=no,status=no';

	 	win = window.open(mypage,myname,settings)

 		win.focus();
	}
	
	
	function changeActiveTab(i,tabId,enabled,tabCount) 
	{
		for( var j=0; j < tabCount; ++j ) {
			if( j==i ) {
				activateTab(j,tabId,enabled);
			} else {
				deactivateTab(j,tabId,enabled);
			}
		}
	}
	
	function activateTab(i,tabId,enabled) 
	{
		document.getElementById( "tab-left:"+tabId+i ).src=BASE_IMAGES + "tab-left_active.gif";
		document.getElementById( "tab-bg:"+tabId+i ).style.background="url(" + BASE_IMAGES + "tab-bg_active.gif)";
		document.getElementById( "tab-right:"+tabId+i ).src=BASE_IMAGES + "tab-right_active.gif";
		document.getElementById( "tab-body:"+tabId+i ).style.display='block';
	}
	
	function deactivateTab(i,tabId,enabled) 
	{
		document.getElementById( "tab-left:"+tabId+i ).src=BASE_IMAGES + "tab-left_inactive.gif";
		document.getElementById( "tab-bg:"+tabId+i ).style.background="url(" + BASE_IMAGES + "tab-bg_inactive.gif)";
		document.getElementById( "tab-right:"+tabId+i ).src=BASE_IMAGES + "tab-right_inactive.gif";
		document.getElementById( "tab-body:"+tabId+i ).style.display='none';
	}
		
		
		
		
	function linkPage(page,form_name) {
		document.getElementById("bookmark").value = page;
		for (var i=0; i< document.forms.length; i++){
			if(document.forms[i].name==form_name)
				document.forms[i].submit();
		}
	}
	
	
	function submitenter(myfield,e,pagenumber,form_name)	{
		var keycode;
		if (window.event) keycode = window.event.keyCode;
		else if (e) keycode = e.which;
		else return true;
		
		if (keycode == 13){
			var page=myfield.form.boxPage.value;
			if (parseInt(page)<=parseInt(pagenumber)){
				linkPage(page, form_name);
				return true;
				}
			return false;
			}
		else
		return true;
	}
	
	function linkPageNew(page,form_name,bookmark_name) {
		for (var i=0; i< document.forms.length; i++){
			if(document.forms[i].name==form_name){
				for (var j=0; j< document.forms[i].elements.length; j++){
					if(document.forms[i].elements[j].name==bookmark_name){
						document.forms[i].elements[j].value = page;
					}
				}
				document.forms[i].submit();
			}
		}
	}

	function submitenterNew(myfield,e,pagenumber,form_name,bookmark_name)	{
		var keycode;
		if (window.event) keycode = window.event.keyCode;
		else if (e) keycode = e.which;
		else return true;
		
		if (keycode == 13){
			var page=myfield.form.boxPage.value;
			if (parseInt(page)<=parseInt(pagenumber)){
				linkPageNew(page, form_name,bookmark_name);
				return true;
				}
			return false;
			}
		else
		return true;
	}
	
	function linkPageRetainChecked(page,form_name,bookmark_name,prev_bookmark_name,servlet) {
		for (var i=0; i< document.forms.length; i++){
			if(document.forms[i].name==form_name){
				//Update bookmark value
				for (var j=0; j< document.forms[i].elements.length; j++){
					if(document.forms[i].elements[j].name==bookmark_name){
						var previous_bookmark = document.forms[i].elements[j].value;
						document.forms[i].elements[j].value = page;
					}
				}
				//Update previous bookamrk value
				for (var j=0; j< document.forms[i].elements.length; j++){
					if(document.forms[i].elements[j].name==prev_bookmark_name){
						document.forms[i].elements[j].value = previous_bookmark;
					}
				}
				//Set action to servlet
				document.forms[i].target="_self";
				document.forms[i].action=basePath+servlet;
				document.forms[i].submit();
			}
		}
	}

	function submitenterRetainChecked(myfield,e,pagenumber,form_name,bookmark_name,prev_bookmark_name,servlet)	{
		var keycode;
		if (window.event) keycode = window.event.keyCode;
		else if (e) keycode = e.which;
		else return true;
		
		if (keycode == 13){
			var page=myfield.form.boxPage.value;
			if (parseInt(page)<=parseInt(pagenumber)){
				linkPageNew(page, form_name,bookmark_name);
				return true;
				}
			return false;
			}
		else
		return true;
	}
		
/*****************************************************************************************
******************************   FUNZIONI DI ATTESA  *************************************
*****************************************************************************************/

function mostraAttesa(testo) {
  // variabili di funzione
  var
    // totale dei puntini mostrati
    puntini = 0,
    // elemento contenente il testo
    // oppure il nodo testuale all'interno
    // dello stesso elemento
    testoIntrattenimento = prendiElementoDaId("testo-temporaneo"),
    // funzione per aggiungere puntini al testo scelto
    animaTesto = function() {
      // stringa locale contenente i vari puntini
      var testoAggiunto = "";
      // ciclo per aggiungere i puntini
      for(var a = 0; a < puntini; a++)
        testoAggiunto += ".";
      // assegnazione del nuovo testo al nodo
      // comprensivo dei puntini
      testoIntrattenimento.nodeValue = testo + testoAggiunto;
      // controllo sul totale puntini
      // se inferiori a 4
      if(puntini < 4)
        // si aggiunge un altro punto
        puntini++;
      // altrimenti si ricomincia da nessun punto
      else
        puntini = 0;
      // richiamo alla stessa funzione con intervallo non
      // inferiore ai 250 millisecondi
      setTimeout(animaTesto, 300);
    };

  // verifica della precedente assegnazione
  // del nodo testuale all'interno dell'elemento
  if(testoIntrattenimento.firstChild) {
    // in questo caso è necesario riassegnare
    // la funzione al fine di eliminare l'intervallo
    // successivo ...
    animaTesto = function(){};
    // ... per poi eliminare il nodo precedentemente aggiunto
    testoIntrattenimento.removeChild(testoIntrattenimento.firstChild);
  }
  else {
    // nodo inesistente, è necessario crearlo
    // con il testo predefinito ...
    testoIntrattenimento = document.createTextNode(testo);
    // ... ed assegnarlo all'elemento
    prendiElementoDaId("testo-temporaneo").appendChild(testoIntrattenimento);
    // per poter richiamare la funzione
    animaTesto();
  };
}; 





		
	/**
		********************************* funzioni di utilità *********************************
	**/
	
	function compare_date(a,b) {
    	// y2k notes: two digit years less than 50 are treated as 20XX, greater than 50 are treated as 19XX
    	aa = a;
    	bb = b;
    	if (aa.length == 10) {
        	dt1 = aa.substr(6,4)+aa.substr(3,2)+aa.substr(0,2);
    	} else {
        	yr = aa.substr(6,2);
        	if (parseInt(yr) < 50) { yr = '20'+yr; } else { yr = '19'+yr; }
        	dt1 = yr+aa.substr(3,2)+aa.substr(0,2);
    	}
    	if (bb.length == 10) {
        	dt2 = bb.substr(6,4)+bb.substr(3,2)+bb.substr(0,2);
    	} else {
        	yr = bb.substr(6,2);
        	if (parseInt(yr) < 50) { yr = '20'+yr; } else { yr = '19'+yr; }
        		dt2 = yr+bb.substr(3,2)+bb.substr(0,2);
    	}
       
    	if (dt1==dt2) return 0;
    	if (dt1<dt2) return -1;
    	return 1;
	}
	
