//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//trasforma url in link html
function httpLink(str)
{var openTag='<<';
 var closeTag='>>';
 while(str.indexOf(openTag)!=-1)
 {var startPos=str.indexOf(openTag);
  var endPos=str.indexOf(closeTag,startPos);
  var strLink=str.substring(startPos+2,endPos);
  str=str.replace(openTag+strLink+closeTag,'<a target="_new" href="http://'+strLink+'" >'+strLink+'</a>');	
 }
 return str;		
}

//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
function DOM_NewsHead(gsett,gg,mm,aa,h,m)
{//stili==============
 var tabStyle="margin-top:0px;width:100%;border-width:3px;border-style:solid;border-color:#aaaacc;";
 var headStyle="color:#ffffff;background-color:#aaaacc;font-family:Arial;font-size:1em;font-weight:bold;text-align:center;";
 //===================
 this.tab=document.createElement("table");
 this.tab.style.cssText=tabStyle;

 var tbody=document.createElement("tbody");
 var riga=document.createElement("tr");
 var cella=document.createElement("td");
  cella.style.cssText=headStyle;
 
 if(h<10){h='0'+h;}
 if(m<10){m='0'+m;}
 
 var dataStr = gsett+'  '+gg+' '+mm+' '+aa+' - '+'      '+h+':'+m;
 var contenuto=document.createTextNode(dataStr);
  cella.appendChild(contenuto);
 riga.appendChild(cella);
 tbody.appendChild(riga);  
 this.tab.appendChild(tbody);
}

//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
function DOM_News(riquadro,data,titolo,dest,notizia,doclink,icona)
{//stili==============
var dataStyle="background-color:#eeeeef;color:navy;font-family:Arial;font-size:0.8em;text-align:left;width:80px;padding-left:2px;";
var titoloStyle="color:blue;background-color:#eeeef0;font-family:Arial;font-weight:bold;text-align:center;font-variant:small-caps;font-size:0.9em;white-space:pre;";
var linkStyle="text-align:right;color:#ffffff;background-color:#eeeef0;width:24px;";
var iconaStyle="border:0px;text-align:right;color:transparent;background-color:#eeeef0;";
var destinatariStyle="background-color:#eeeef0;color:deeppink;font-family:Arial;font-size:0.8em;font-variant:small-caps;text-align:right;width:120px;";
var notiziaStyle="background-color:#ffffff;color:navy;font-family:comic sans ms, courier;font-size:0.9em;text-align:left;padding: 0px 4px 0px 4px;";
var tabStyle="margin-top:0px;width:100%;border-width:3px;border-style:solid;border-color:"+riquadro;
//=====================
this.tab=document.createElement("table");
 this.tab.style.cssText=tabStyle;

 var tbody=document.createElement("tbody");
// I riga  ******************************************************
 var riga=document.createElement("tr");
   riga.style.height='20px';
   // 1 cella ************************************* data 
   var cella=document.createElement("td");
    cella.style.cssText=dataStyle;
   var contenuto=document.createTextNode(data);
   cella.appendChild(contenuto);
   riga.appendChild(cella);
   // 2 cella ************************************* titolo
   var cella=document.createElement("td");
   cella.style.cssText=titoloStyle;
   var contenuto=document.createTextNode(titolo);
   cella.appendChild(contenuto);
   riga.appendChild(cella);
   // 3 cella ************************************* destinatari
   var cella=document.createElement("td");
   cella.style.cssText=destinatariStyle;
   var contenuto=document.createTextNode(dest);
   cella.appendChild(contenuto);
   riga.appendChild(cella);
   // 4 cella ************************************* link al documento
   var cella=document.createElement("td");
   cella.style.cssText=linkStyle;
   var lnk = document.createElement("a");
   lnk.setAttribute("href",doclink);
   lnk.setAttribute("target",'_new');
   if (icona!='') {var ico = document.createElement("img");
   ico.setAttribute("src",icona);
   ico.setAttribute("title",'LEGGI DOCUMENTO');
   ico.style.cssText=iconaStyle;
   lnk.appendChild(ico);}
   cella.appendChild(lnk);
   riga.appendChild(cella);
tbody.appendChild(riga);  
// II riga  ******************************************************
 var riga=document.createElement("tr");
   // unica cella ************************************* notizia 
   var cella=document.createElement("td");
   cella.setAttribute("colSpan","4");
   //cella.setAttribute("class","notiziaN");
   cella.style.cssText=notiziaStyle;
  // var contenuto=document.createTextNode(notizia);
  // cella.appendChild(contenuto);
  notizia=httpLink(notizia);
  cella.innerHTML=notizia;
  riga.appendChild(cella);
 tbody.appendChild(riga);  
 this.tab.appendChild(tbody);  
 this.tab.cellSpacing=0;
}    

//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
function DOM_NewsBox(boxId)   // id,n1,n2,n3,...
{var INFINITO = 3; // numero oltre il quale si ha lo scorrimento
 this.box = document.getElementById(boxId);
 this.numNews=arguments.length-1;
 this.tab=document.createElement("table");
 var tbody=document.createElement("tbody");
 
 for (var n=1;n<=this.numNews;n++)
  {var riga=document.createElement("tr");
   var cella=document.createElement("td");
   cella.appendChild(arguments[n].tab);
   riga.appendChild(cella);
   tbody.appendChild(riga);
   }
 this.tab.appendChild(tbody);  

// start/stop scrolling
   var istanza = this;
   var stop = function(){istanza.scrollEnd();};
   this.tab.onmouseover=stop;
   var start = function(){istanza.scrollStart('up');};
   this.tab.onmouseout=start;
 
 this.box.appendChild(this.tab);
 
 this.box.scrollTop=0;
 this.intervallo=null;
 this.scrollDelay=50;
 this.scrollAmount=1;
 this.direzione='up';
 this.scrollStart = function(dir)
		      {if (this.numNews<=INFINITO) this.box.style.overflowY='auto';
		      else
		        {this.direzione=dir;
		         var istanza = this;
                         var azione = (this.direzione=='up')?
		                 function(){istanza.scrollUp('up');}:
				 function(){istanza.scrollDown('down')};
		         if (this.intervallo!=null) this.scrollEnd();
		         this.intervallo = setInterval(azione,this.scrollDelay);}
		      }

this.scrollDown = function()
                      {this.box.scrollTop = this.box.scrollTop - this.scrollAmount;}

this.scrollUp = function()
                      {this.box.scrollTop = this.box.scrollTop + this.scrollAmount;
		       var tbody=this.tab.getElementsByTagName("tbody")[0];
                       var primaRiga=tbody.getElementsByTagName("tr")[0];
                       if(primaRiga.clientHeight<this.box.scrollTop)
			   {this.rotate();}
		      }

this.scrollEnd = function()
                      {clearInterval(this.intervallo);}

this.rotate = function()
                      {var tbody=this.tab.getElementsByTagName("tbody")[0];
                       var primaRiga=tbody.getElementsByTagName("tr")[0];
		       tbody.appendChild(primaRiga);
		       this.box.scrollTop=0;}
}
