/* scripts for Song Tree  *  Validated by JSLint February 23, 2011 */

/* Contents:
   mailLink.js
   cfScript (browser detection for image cross-fader, menus and #siteLinks)
   #siteLinks (for "sticky sidebar" navigation links)
*/

// 9
/* mailLink.js */

var bk1 = 'Booking';
var st1 = 'Concerts';
var st2 = 'SongTree' + '&#46;' + 'org';
var part1 = '';
var part2 = '';
var bk = bk1 + '<span style="font-size:4px;">&nbsp;<\/span>&#64;<span style="font-size:4px;">&nbsp;<\/span>' + st2;
var st = st1 + '<span style="font-size:4px;">&nbsp;<\/span>&#64;<span style="font-size:4px;">&nbsp;<\/span>' + st2;

function text(part1, text1, linktext, text2, part2) {
  var result = (text1 + '<a href="' + '&#109;ail' + 'to&#58;' + part1 + '&#64;' + part2 + '">' + linktext + '<\/a>' + text2);
  return result;
}
// 24


/* cfScript */

var agt = navigator.userAgent.toLowerCase();
var appVer = navigator.appVersion.toLowerCase();
// 31

/* test for iCab 4 or greater */
var isiCab = (agt.indexOf('icab\/')!==-1);
if (isiCab === true) {
   var iCabIndex = agt.indexOf('icab\/');
   iCabVersion = parseInt(agt.substring(iCabIndex+5,iCabIndex+6),10);
}
// 39

/* test for Safari */
var isSafari = ((agt.indexOf('safari')!==-1)&&(agt.indexOf('applewebkit')!==-1))?true:false; /* 'AppleWebKit' April 28, 2010 */
if (isSafari === true) {
   var safariIndex = agt.indexOf('applewebkit\/');
   safariVersion = parseInt(agt.substring(safariIndex+12,safariIndex+17),10);
}
// 47

/* test for Firefox */
var isFirefox = (agt.indexOf('firefox\/')!==-1);
if (isFirefox === true) {
   var fxIndex = agt.indexOf('firefox\/');
   fxVersion = parseFloat(agt.substring(fxIndex+8,fxIndex+11),10);
}
// 55

/* test for Opera */
var isOpera = (agt.indexOf('opera\/')!==-1);
var isPresto = (agt.indexOf('presto\/')!==-1);
if (isOpera === true) {
   if (isPresto === true) {  /* for version 10+ */
      var prIndex = agt.indexOf('version\/');
      opVersion = parseFloat(agt.substring(prIndex+8,prIndex+12),10);
   } else {  /* for version less than 10 */
      var opIndex = agt.indexOf('opera\/');
      opVersion = parseInt(agt.substring(opIndex+6,opIndex+7),10);
   }
}
// 69

/* test for IE 6 or greater */
isIE = ((agt.indexOf('msie')!==-1) && (agt.indexOf('windows')!==-1)); /* test for "Windows" to avoid spoofing mobiles, added April 19, 2010 */
if (isIE === true) {
   var ieIndex  = agt.indexOf('msie');
   ieVersion = parseInt(agt.substring(ieIndex+5,ieIndex+6),10);
}
// 77

/* test for mobile versions */
var isMobile = ((agt.indexOf('mini')!==-1) || (agt.indexOf('mobil')!==-1)); /* test for mobile versions, added April 19, 2010 */
// 81


/* test for iCab 4, Safari 1.3.2, Firefox 1.5, Opera 9, or IE 6 */
var cf_okay = (isMobile === false) && ((isiCab && (iCabVersion >= 4) === true) || (isSafari && (safariVersion >= 312) === true) ||
(isFirefox && (fxVersion >= 1.5) === true) || (isOpera && (opVersion >= 9) === true) || (isIE && (ieVersion >= 6) === true));

/* test for iCab 3, Safari 2.0, Firefox 3, or Opera 10.5 (added April 12 & 28, 2010, for navigation menus) */
var menus_okay = (isMobile === false) && ((isiCab && (iCabVersion >= 3) === true) || (isSafari && (safariVersion >= 419) === true) ||
(isFirefox && (fxVersion >= 3.0) === true) || (isOpera && (opVersion >= 10.5) === true));

/* test for iCab 3, Safari 3.0, Firefox 1.5, Opera 9, or IE 7 (added May 11, 2010, for #siteLinks) */
var siteLinks_okay = (isMobile === false) && ((isiCab && (iCabVersion >= 3) === true) || (isSafari && (safariVersion >= 523) === true) ||
(isFirefox && (fxVersion >= 1.5) === true) || (isOpera && (opVersion >= 9) === true) || (isIE && (ieVersion >= 7) === true));
// 95


/* #siteLinks */

if (siteLinks_okay) {
	window.onscroll = function() {
// 102
		/* variables for offset */
		var x;
		var x1 = document.getElementById('bodyTD').offsetLeft;
		var x2 = document.getElementById('contentTable').offsetLeft;
		var xOffset = (x1 + x2 + 6);
		// var y;
		// document.getElementById('siteLinks').style.position = 'fixed';
// 110
		/* if scrolling vertically */
		if (document.documentElement.scrollTop > 173 || self.pageYOffset > 173) {
			document.getElementById('siteLinks').style.position = 'fixed';
			document.getElementById('siteLinks').style.top = '0px';
		} else if (document.documentElement.scrollTop < 173 || self.pageYOffset < 173) {
			document.getElementById('siteLinks').style.position = 'absolute';
			document.getElementById('siteLinks').style.top = '173px';
		//	y = (173 - self.pageYOffset);
		//	document.getElementById('siteLinks').style.top = (y + 'px');
		}
// 121
		/* if scrolling horizontally - IE */
		if (document.documentElement.scrollLeft > 0) {
			x = (xOffset - document.documentElement.scrollLeft);
			document.getElementById('siteLinks').style.position = 'fixed';
			document.getElementById('siteLinks').style.left = (x + 'px');
		} else if (document.documentElement.scrollLeft === 0) {
			document.getElementById('siteLinks').style.left = xOffset;
		}
// 130
		/* if scrolling horizontally - other browsers */
		if (self.pageXOffset > 0) {
			x = (xOffset - self.pageXOffset);
			document.getElementById('siteLinks').style.position = 'fixed';
			document.getElementById('siteLinks').style.left = (x + 'px');
		} else if (self.pageXOffset === 0) {
			document.getElementById('siteLinks').style.left = xOffset;
		}
	};
}
// 141
