// full.js

// Cross-Browser Version
// V.03.02.12-Full


//  	 BROWSER CHECK
// Decide browser version
var NS4 = true // assume NS4 being used, workaround NS4 startp problem
var NS4 = (document.layers)? true:false;
var NS6 = (document.getElementById)? true:false;
var IE4 = (document.all)? true:false;
var IE5 = false;
 // Microsoft Stupidity Check(tm).
  if (IE4) {
    if (navigator.userAgent.indexOf('MSIE 5')>0) {
      IE5 = true;
      IE4= false;
    }
    if (navigator.userAgent.indexOf('MSIE 6')>0) {
      IE5 = true;
      IE4= false;
    }
    if (NS6) {
      NS6 = false;
    }
  }


var detect = navigator.userAgent.toLowerCase();
var OS,browser,version,total,thestring,place; 

if (checkIt('konqueror'))      {browser = "Konqueror"; OS = "Linux"; }
else if (checkIt('omniweb')) 	browser = "OmniWeb"
else if (checkIt('opera')) 	browser = "Opera"
else if (checkIt('webtv')) 	browser = "WebTV";
else if (checkIt('icab')) 	browser = "iCab"
else if (checkIt('msie')) 	browser = "IE"
else if (!checkIt('compatible'))
{	browser = "Netscape" ; version = detect.charAt(8);
}
else browser = "Unknown";
if (!version) version = detect.charAt(place + thestring.length);
if (!OS)
{	if (checkIt('linux'))    OS = "Linux";
	else if (checkIt('x11')) OS = "Unix";
	else if (checkIt('mac')) OS = "Mac"
	else if (checkIt('win')) OS = "Windows"
	else OS = "Unknown";
}

function checkIt(string)
{ 	place = detect.indexOf(string) + 1; thestring = string; return place;
}

var showbwsrinfo =  "Browser: "+browser+version+", OS: "+OS+ " \nTests: [NS4:"+NS4+" NS6:"+NS6+"][ IE4:"+IE4+" IE5:"+IE5+"]"

//-----> fine browser check <-------------------------------------------------------------------------------------------------//

//-----------------> Inizio sezione 1 <-------------------------//

var interval = 50;
var increment = 1;
var pause = 2500;
var bannerColor = "#336699";
var leftPadding = 0;
var topPadding = 5;
var bannerLeft=0;
var bannerTop=0;



if (NS4) {
  
  var bannerWidth= document.images.holdspace.width;
  var bannerHeight = document.images.holdspace.height;
  var bannerLeft=document.images.holdspace.x;
  var bannerTop=document.images.holdspace.y;
    
  }
  // cross browser section
  else {
       //----> cross browser section for NS6 - IE5+ - Gecko - Mozilla");  <--------//
       
       bannerWidth=document.getElementById("holdspace").width;
       bannerHeight=document.getElementById("holdspace").height;
       var bannerLeft=document.getElementById("holdspace").offsetLeft;
       var bannerTop=document.getElementById("holdspace").offsetTop;

  }


onload=lanciaTutti;

function showMessage(n, show) {
  
  if (NS4) {

     var whichEl= eval("message" + n);
     whichEl.visibility = (show)? ("show"): ("hide");
     
  } else if (IE4)
  {
     var whichEl= eval("message" + n + ".style");
     whichEl.visibility = (show)? ("visible"): ("hidden");
  }

  else {

        var whichEl= document.getElementById("message" + n).style;
        whichEl.visibility = (show)? ("visible"): ("hidden");
  }

}


function nextMessage() {
  var fromInd = current;
  current = (fromInd == ar.length - 1) ? 0 : fromInd + 1;
  scrollBanner(fromInd, current);
}

function moveUp() {
  if (NS4) {
    fromEl.top -= increment;
    if (toEl.top - increment <= toElTarget) {
      toEl.top = toElTarget;
      clearInterval(intervalID);
      fromEl.visibility = "hide";
      timeoutID = setTimeout("nextMessage()", pause);
    } else {
      toEl.top -= increment;
    }

  } else if (IE4) {
    fromEl.pixelTop -= increment;
    
    if (toEl.pixelTop - increment <= toElTarget) {
      
      toEl.pixelTop = toElTarget;
      clearInterval(intervalID);
      fromEl.visibility = "hidden";
      timeoutID = setTimeout("nextMessage()", pause);
    } else {
      toEl.pixelTop -= increment;
    }
  } else {
    
    da_meno1=parseInt(fromEl.top) - increment
    fromEl.top = da_meno1.toString()+"px";

    if (parseInt(toEl.top) - increment <= parseInt(toElTarget)) {
      toEl.top = toElTarget+"px";
      clearInterval(intervalID);
      fromEl.visibility = "hidden";
      timeoutID = setTimeout("nextMessage()", pause);
    } else {

      var a_meno1=parseInt(toEl.top)-increment;
      toEl.top = a_meno1.toString()+"px";
    }
  }
}

function scrollBanner(from, to) {
  if (NS4) {
    fromEl = eval("message" + from);
    toEl = eval("message" + to);
    toEl.top = fromEl.top + bannerHeight;
    toElTarget = fromEl.top;
  
  
  } else if (IE4){
    fromEl = eval("message" + from + ".style");
    toEl = eval("message" + to + ".style");
    toEl.pixelTop = fromEl.pixelTop + bannerHeight;
    toElTarget = fromEl.pixelTop;
    
  }

  else {

    var msg_fm="message"+from;
    var msg_to="message"+to;

    fromEl = document.getElementById(msg_fm).style;
    toEl = document.getElementById(msg_to).style;
    getTop=parseInt(fromEl.top);
    split=getTop+bannerHeight;
    stringa=split.toString()+"px";
   
    toEl.top = stringa;
    toElTarget = getTop;
    fromEl.top=getTop.toString()+"px";

  }
  
  showMessage(to, true); // show the upcoming message
  intervalID = setInterval("moveUp()", interval);
}

function makeIE() {
  
  // assign the necessary code to a variable
  

  var text = '<DIV ID="banner" STYLE="position:absolute">';
  
  for (var i = ar.length - 1; i >= 0; i--) {
    text += '<DIV ID="message' + i + '"STYLE="position:absolute"></DIV>';
  }
  text += '</DIV>';

  
  // insert the code before the end of the document
  document.body.insertAdjacentHTML("BeforeEnd", text);

  // define the main element's properties
  with (banner.style) {
    width = bannerWidth;
    height = bannerHeight;
    clip = "rect(0 " + bannerWidth + " " + bannerHeight + " 0)";
    backgroundColor = bannerColor;
    pixelLeft = bannerLeft;
    pixelTop = bannerTop;
  }

  // define the child elements' properties
  for (i = 0; i < ar.length; i++) {
    
    with (eval("message" + i + ".style")) {
      visibility = "hidden";
      pixelLeft = leftPadding;
      pixelTop = topPadding;

      width = bannerWidth - leftPadding;
      backgroundColor = bannerColor;
    }
  }
}

function makeNS6() {
  // create the main element
  
  var text = '<DIV ID="banner" STYLE="position:absolute">';
  for (var i = ar.length - 1; i >= 0; i--) {
    text += '<DIV ID="message' + i + '"STYLE="position:absolute"></DIV>';
  }
  text += '</DIV>';
  

  // insert the code before the end of the document
  document.getElementById("marker").innerHTML=text;
  
  // define the main element's properties
  with (document.getElementById("banner").style) {
    width = bannerWidth;
    height = bannerHeight;
    
    clip = "rect(0 " + bannerWidth + " " + bannerHeight + " 0)";
    backgroundColor = bannerColor;
    left = bannerLeft;
    top = bannerTop;
  }

  // define the child elements' properties
  
  for (i = 0; i < ar.length; i++) {
    
    with (document.getElementById("message" + i).style) {
      visibility = "hidden";
      left = leftPadding;
      top = topPadding;
      width = bannerWidth - leftPadding;
      backgroundColor = bannerColor;
    }
  }
}




function makeNS() {
  // create the main element
  banner = new Layer(bannerWidth);

  // define the main element's properties
  with (banner) {
    
    clip.right = bannerWidth;
    clip.bottom = bannerHeight;
    document.bgColor = bannerColor;
    left = bannerLeft;
    top = bannerTop;
    visibility = "show";
  }

  // define the child elements' properties
  for (var i = 0; i < ar.length; i++) {
    // create a child element
    eval("message" + i + " = " +
         "new Layer(bannerWidth - leftPadding, banner)");
    with(eval("message" + i)) {
      visibility = "hide";
      left = leftPadding;
      top = topPadding;
      document.bgColor = bannerColor;
    }
  }
}


function fillBanner() {
  var whichEl;
  if (NS4) {
    for (var i = 0; i < ar.length; i++) {
      whichEl = eval("message" + i);
      whichEl.document.write(ar[i]);
      whichEl.document.close();
    }

  } else {
    for (var i = 0; i < ar.length; i++) {
      // sez. cross-browser
      whichEl = document.getElementById("message" + i);
      whichEl.innerHTML = ar[i];
    }
  }  
}


function startBanner() {

  if (NS4) {
     makeNS();
  }

  else {
     makeNS6();
  }
  
  fillBanner();
  showMessage(0, true);
  current = 0;
  timeoutID = setTimeout("nextMessage()", pause);
  
}

// inizio modulo 2

// variabili modulo 2

var nDots = 5;    //lettere +1
var Xpos = 0;
var Ypos = 0;
var DELTAT = .01;
var SEGLEN = 10;
var SPRINGK = 10;
var MASS = 1;
var GRAVITY = 50;
var RESISTANCE = 10;
var STOPVEL = 0.1;
var STOPACC = 0.1;
var DOTSIZE = 11;
var BOUNCE = 0.75;
var isNetscape = navigator.appName=="Netscape";
var followmouse = true;
var dots = new Array();


function startInit() {
	
	var i = 0;
	for (i = 0; i < nDots; i++) {
		dots[i] = new dot(i);

                //dots[i] contiene i parametri per identificare ogni lettere (x, y, dx, dy, obj).
                //obj è il puntatore dell'oggetto a cui ci si riferisce (es. document.dot0)
              

	}

        if (NS4){
	   for (i = 0; i < nDots; i++) {
		dots[i].obj.left = dots[i].X;
		dots[i].obj.top = dots[i].Y;

           }
           startanimate();
        }
           else
        {  // cross-browser definition
           for (i = 0; i < nDots; i++) {
               dots[i].obj.left = dots[i].X;
               dots[i].obj.top =dots[i].Y;
           }
           setTimeout("startanimate()", 3000);
        }



}


function dot(i) {
	this.X = Xpos;
	this.Y = Ypos;
	this.dx = 0;
	this.dy = 0;
	this.obj="";
        
	if (NS4) {
          
          this.obj = eval("document.dot" + i);
	
	}
          else
	{
        
          // cross-browser definition
          this.obj = eval(document.getElementById("dot"+i).style);
	}
        
}


function startanimate() {	
	setInterval("animate()", 20);
}


function setInitPositions(dots) {
	var startloc = document.all.tags("LI");
	var i = 0;
	for (i = 0; i < startloc.length && i < (nDots - 1); i++) {
		dots[i+1].X = startloc[i].offsetLeft
		startloc[i].offsetParent.offsetLeft - DOTSIZE;
		dots[i+1].Y = startloc[i].offsetTop +
		startloc[i].offsetParent.offsetTop + 2*DOTSIZE;
	}
	dots[0].X = dots[1].X;
	dots[0].Y = dots[1].Y - SEGLEN;
}


function MoveHandler(e) {
        
        // used by NS4
	Xpos = e.pageX;
	Ypos = e.pageY;	  
	return true;
}


function MoveHandlerIE() {
        
        // used by IE
	Xpos = window.event.x + document.body.scrollLeft;
	Ypos = window.event.y + document.body.scrollTop;	  
}

function MoveHandlerNS6(e) {

        //used by NS6 and Gecko 
        Xpos=e.pageX; 
        Ypos=e.pageY;
}

if (NS4) {
	document.captureEvents(Event.MOUSEMOVE);
	document.onMouseMove = MoveHandler;
} 
else if (NS6) {
        document.addEventListener("mousemove",MoveHandlerNS6,true);
}
else {
        
	document.onmousemove = MoveHandlerIE;
}


function vec(X, Y)

{
this.X = X;
this.Y = Y;
}


// adds force in X and Y to spring for dot[i] on dot[j]

function springForce(i, j, spring)
{
	var dx = (dots[i].X - dots[j].X);
	var dy = (dots[i].Y - dots[j].Y);
	var len = Math.sqrt(dx*dx + dy*dy);
	if (len > SEGLEN) {
		var springF = SPRINGK * (len - SEGLEN);
		spring.X += (dx / len) * springF;
		spring.Y += (dy / len) * springF;
   	}
}


function animate() {	
	var start = 0;
	if (followmouse) {

            if (NS4) {
		dots[0].X = Xpos;
		dots[0].Y = Ypos;	
            
            }
            else if (IE5) {
                dots[0].X = Xpos;
		dots[0].Y = Ypos;
            }
            else
            {
             
             dots[0].X = Xpos;
             dots[0].Y = Ypos;
             
            }  
            
            
		start = 1;
	}
	for (i = start ; i < nDots; i++ ) {
		var spring = new vec(0, 0);
		if (i > 0) {
			springForce(i-1, i, spring);
		}
		if (i < (nDots - 1)) {
			springForce(i+1, i, spring);
		}
		var resist = new vec(-dots[i].dx * RESISTANCE, -dots[i].dy * RESISTANCE);
	var accel = new vec((spring.X + resist.X)/ MASS, (spring.Y + resist.Y)/ MASS + GRAVITY);
	dots[i].dx += (DELTAT * accel.X);
	dots[i].dy += (DELTAT * accel.Y);
	if (Math.abs(dots[i].dx) < STOPVEL &&
	Math.abs(dots[i].dy) < STOPVEL &&
	Math.abs(accel.X) < STOPACC &&
	Math.abs(accel.Y) < STOPACC) {
		dots[i].dx = 0;
		dots[i].dy = 0;
	}
	dots[i].X += dots[i].dx;
	dots[i].Y += dots[i].dy;
	var height, width;
	if (NS4) {
		height = window.innerHeight + document.scrollTop;
		width = window.innerWidth + document.scrollLeft;
		// alert(height+"  "+width);
	} else if (NS6) {
                height = window.innerHeight + window.scrollX;
		width = window.innerWidth + window.scrollY;
                
                //   potrebbe non funzionare in presenza
                //   delle scrollbar .....
                //   da provare
        }
	else {
		height = document.body.clientHeight + document.body.scrollTop;
		width = document.body.clientWidth + document.body.scrollLeft;
                
	}
	
	if (dots[i].Y >=  height - DOTSIZE - 1) {
		if (dots[i].dy > 0) {
		dots[i].dy = BOUNCE * -dots[i].dy;
		}
	dots[i].Y = height - DOTSIZE - 1;
	}
	if (dots[i].X >= width - DOTSIZE) {
		if (dots[i].dx > 0) {
		dots[i].dx = BOUNCE * -dots[i].dx;
	}
	dots[i].X = width - DOTSIZE - 1;
	}
	if (dots[i].X < 0) {
		if (dots[i].dx < 0) {
		dots[i].dx = BOUNCE * -dots[i].dx;
		}
		dots[i].X = 0;
	}
	dots[i].obj.left = dots[i].X;			
	dots[i].obj.top =  dots[i].Y;		
 	}
}

// fine modulo 2


// inizio modulo 3

function scrollit(seed)
	{
   	var m1  = "e. tel.";
	var m2  = " elettronica e telecomunicazioni ";
	var m3  = " - Trieste - ITALIA";
	var m4  = "..... computer, reti aziendali,";
	var m5  = "..... accesso a internet ";
	var m6  = "..... assistenza tecnica ";
	

	var msg=m1+m2+m3+m4+m5+m6;

	var out = " ";
	var c   = 1;
	if (seed > 100) 
		{
		seed--;
		cmd="scrollit("+seed+")";
		timerTwo=window.setTimeout(cmd,100);
		}
	else if (seed <= 100 && seed > 0)
		{
			for (c=0 ; c < seed ; c++) 
				{
					out+=" ";
				}
		out+=msg;
		seed--;
		window.status=out;
		cmd="scrollit("+seed+")";
		timerTwo=window.setTimeout(cmd,100);
		}
	else if (seed <= 0)
		{
		if (-seed < msg.length)
			{
			out+=msg.substring(-seed,msg.length);
			seed--;
			window.status=out;
			cmd="scrollit("+seed+")";
			timerTwo=window.setTimeout(cmd,100);
			}
		else
			{
			window.status=" ";
			timerTwo=window.setTimeout("scrollit(100)",75);
    			}
   		}
	}


// fine modulo 3



function lanciaTutti () {

	startBanner ();
	startInit();
	scrollit(100);
   
}

function hopremuto(cosa){
                 // var url="http://oiswww.eumetsat.org/IDDS-cgi/listImages?m=7,s=2,c=2,o=0,f=1,a=0,n=6,d=1,v=400,p=0";

                 var url=cosa+".htm";
                 var Attributi="";
                 if (document.all) {
                     Attributi="location=no; status=no; help=no; resizable=no; width=510; scrollbars=yes";
                     
                  }
                  else
                  {
                     Attributi="location=no,toolbar=no,menubar=no,personalbar=no,scrollbars=yes,resizable=no,width=500";
                                 
                     
                  }

                 var dlg = window.open(url, "ha_dialog", Attributi);
        }
        
        
function per_informazioni(){
             locationstring = 'mai' + 'lto:' + 'in'+'fo' + '@' + 'etelindustriale' + '.' + 'net';
             window.location.replace(locationstring);
}

function aziende(){
             locationstring = 'mai' + 'lto:' + 'az'+'ien'+'de' + '@' + 'etelindustriale' + '.' + 'net';
             window.location.replace(locationstring);
}

function job(){
             locationstring = 'mai' + 'lto:' + 'j'+'ob' + '@' + 'etelindustriale' + '.' + 'net';
             window.location.replace(locationstring);
}

function webm(){
             locationstring = 'mai' + 'lto:' + 'we'+'bmas'+'ter' + '@' + 'etelindustriale' + '.' + 'net';
             window.location.replace(locationstring);
}
