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: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},{
			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.platform,
			subString: "Linux",
			identity: "Linux"
		}]
};
BrowserDetect.init();

/*

var slideshow = {
	div: null,
	img: null,
	fx: null,
	totalCount: null,
	curCount: 1,
	prefix: null,
	init: function(divEl,tCount,pfx) {
		slideshow.div = divEl;
		slideshow.img = divEl.getElementsByTagName('img')[0];
		slideshow.totalCount = tCount;
		slideshow.prefix = pfx;
		slideshow.fx = new Fx.Styles(slideshow.img, {duration:3000, wait: true, transition: Fx.Transitions.Expo.easeOut });
		setTimeout(slideshow.next, 4000);
	},
	next: function() {
		if (!dropdowns.active) {
			//next Image
			if (slideshow.curCount >= slideshow.totalCount) {
				slideshow.curCount = 1;
			} else {
				slideshow.curCount++;
			}
			var tmpImg = new Image();
			tmpImg.onload = function() {
				var op = 1;
				if (slideshow.img.getStyle('opacity') > 0) { // if img is showing load div w/img and fade out img
					op = 0;
					slideshow.div.setStyle('background-image','url(' + this.src + ')');
				} else { //else load image, fade in
					slideshow.img.src = this.src;
				}
				slideshow.fx.start({
					'opacity': op
				});
			}
			tmpImg.src = slideshow.prefix + slideshow.curCount + '.jpg';
		}
		setTimeout(slideshow.next, 7000);
	}
}
*/


var inputPlaceholder = {
	className: 'faded',
	init: function() {
		var inputBoxes = $ES('form input[title]');
		inputBoxes.each(function(el, i) {
			if (el.value == '') el.value = el.title;
			el.addClass(inputPlaceholder.className);
			el.addClass('active');
			el.onfocus = inputPlaceholder.enterField;
			el.onblur = inputPlaceholder.exitField;
			inputLabel = $ES('label[for=' + el.id + ']');
			inputLabel.addClass('hide');
		});
	},
	enterField: function() {
		if (this.value == this.title) {
			this.value = '';
			this.removeClass(inputPlaceholder.className);
		}
	},
	exitField: function() {
		if (this.value == '') {
			this.value = this.title;
			this.addClass(inputPlaceholder.className);
		}
	}
}
window.addEvent('domready', inputPlaceholder.init);

var dropdowns = {
	active: false,
	init: function() {
		navRoot = document.getElementById('nav');
		for (i=0; i<navRoot.childNodes.length; i++) {
			node = navRoot.childNodes[i];
			if (node.nodeName == 'LI' && document.body.className != node.className && node.getElementsByTagName('ul')[0]) {
				node.onmouseover = function() {
					dropdowns.active = true;
					this.className += ' over';
				};
				node.onmouseout = function() {
					dropdowns.active = false;
					this.className = this.className.replace(' over', '');
				};
			}
		}
	}
}
window.addEvent('domready', dropdowns.init);

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	}
	return {
		'x': curleft,
		'y': curtop
	};
}

function getScroll() {
  var scrOfX = 0, scrOfY = 0;
  if(typeof(window.pageYOffset) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && (document.body.scrollLeft || document.body.scrollTop) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return {
  	'x': scrOfX,
  	'y': scrOfY
  };
}

var fixedMenu = {
	init: function() {
		fixedMenu.el = $ES('#content .rightside');
		fixedMenu.origY = findPos(fixedMenu.el).y;
		window.addEvent('scroll', fixedMenu.move);
	},
	move: function() {
		var y = getScroll().y;
		if (y>235) {
			fixedMenu.el.setStyles({
				'position': 'fixed',
				'top': 20
			});
		} else {
			fixedMenu.el.setStyles({
				'position': 'absolute',
				'top': fixedMenu.origY
			});
		}
	}
}

if (!(BrowserDetect.browser == 'Explorer' && BrowserDetect.version < 7)) {
	window.addEvent('domready', fixedMenu.init);
}
