/*------------- Fader -------------------------------
USE:


-----------------------------------------------------*/

// text and links to show in the fader
function setupFadeLinks() {
  arrFadeLinks[0] = "void";
  arrFadeTitles[0] = "";
  arrFadeLinks[1] = "cds.html";
  arrFadeTitles[1] = "io ballo brisco - il nuovo cd live <br />di banda brisca";
  arrFadeLinks[2] = "terraevino.html";
  arrFadeTitles[2] = "terra e vino - castelletto d'orba<br />sabato 1 ottobre 2011";
  arrFadeLinks[3] = "cds.html";
  arrFadeTitles[3] = "io ballo brisco - il nuovo cd live <br />di banda brisca";
  arrFadeLinks[4] = "terraevino.html";
  arrFadeTitles[4] = "terra e vino - castelletto d'orba<br />sabato 1 ottobre 2011";
}

// You can also play with these variables to control fade speed, fade color, and how fast the colors jump.

var m_FadeOut = 0; 	// black
var m_FadeIn = 215; 	// light grey
var m_Fade = 255;	// all range
var m_FadeStep = 3;	// smooth
var m_FadeWait = 3200;	// intervall to restart cycle
var m_bFadeOut = true;

var m_iFadeInterval;

window.onload = Fadewl;

var arrFadeLinks;
var arrFadeTitles;
var arrFadeCursor = 0;
var arrFadeMax;

// setup the fade links and speed
function Fadewl() {

  m_iFadeInterval = setInterval(fade_ontimer, 20);
  arrFadeLinks = new Array();
  arrFadeTitles = new Array();
  setupFadeLinks();
  arrFadeMax = arrFadeLinks.length-1;
  setFadeLink();
}

// set the links to every anchor
function setFadeLink() {
  var ilink = document.getElementById("fade_link");
  ilink.innerHTML = arrFadeTitles[arrFadeCursor];
  ilink.href = arrFadeLinks[arrFadeCursor];
}

// start the fade
function fade_ontimer() {
  if (m_bFadeOut) {
    m_Fade-=m_FadeStep;
    if (m_Fade<m_FadeOut) {
      arrFadeCursor++;
      if (arrFadeCursor>arrFadeMax)
        arrFadeCursor=0;
      setFadeLink();
      m_bFadeOut = false;
    }
  } else {
    m_Fade+=m_FadeStep;
    if (m_Fade>m_FadeIn) {
      clearInterval(m_iFadeInterval);
      setTimeout(Faderesume, m_FadeWait);
      m_bFadeOut=true;
    }
  }
  var ilink = document.getElementById("fade_link");
  if ((m_Fade>m_FadeOut)&&(m_Fade<m_FadeIn))
    ilink.style.color = "#" + ToHex(m_Fade);
}

// restart the cycle
function Faderesume() {
  m_iFadeInterval = setInterval(fade_ontimer, 20);
}

// couple of function to stop and restart fade onMouseOver
function FadeMousePause() {
  clearInterval(m_iFadeInterval);
}


function FadeMouseResume() {
  m_iFadeInterval = setInterval(fade_ontimer, 20);
}

// set hexadecimal value of color
function ToHex(strValue) {
  try {
    var result= (parseInt(strValue).toString(16));

    while (result.length !=2)
            result= ("0" +result);
    result = result + result + result;
    return result.toUpperCase();
  }
  catch(e)
  {
  }
}


/* ----  Browser detection ------------------------
USE:
    - Browser name: BrowserDetect.browser
    - Browser version: BrowserDetect.version
    - OS name: BrowserDetect.OS
---------------------------------------------------*/


var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();

/*  if (BrowserDetect.browser == "Explorer" && BrowserDetect.version == "6")
         document.getElementById("tocenter").style.marginTop = "0px";    */
