var HELPCLASS = 'help';
var helptexts = new Array;


addEvent(window, 'load', new Function("initHelpText('helptexts')"));
addEvent(window, 'load', new Function("initHelpTextsPopup(helptexts)"));


function Popup (title, text, y, qmark) {
	this.title = title;
	this.text = text;
	this.y = y;
    this.qmark = qmark;
}

Popup.prototype.show = function () {
	if(!document.getElementById('helpPopUp')) {
		var hp = document.createElement('div');
		hp.id = 'helpPopUp';
		hp.style.top = getOffsetTop(this.qmark) + "px";
		hp.innerHTML = '<div class="popUpTitle"><div class="title">' + this.title + '  </div><div class="close"><a href="javascript:;" onclick="closePopUp();" ><span>x</span></a></div></div><div id="popUpContent">' + this.text + '</div></div>';
		toggleSelectBoxes('hidden');
		//createBG();
		top.document.getElementById('wrapper').appendChild(hp);
	}
}

function initHelpTextsPopup (texts) {
	var qmarks = document.getElementsByTagName('a');
	var counter = 0;
	var y = 0;
	for (var i=0; i < qmarks.length; i++) {
		if (qmarks[i].className == HELPCLASS) {
			y = getOffsetTop(qmarks[i]);
			var p = new Popup(texts[counter][0], texts[counter][1], y, qmarks[i]);
			qmarks[i].pu = p;
			qmarks[i].onclick = function () {
				this.href = "javascript:;";
				this.pu.show()
			}
			counter++;
		}
	}
}

function closePopUp () {
	var hp = document.getElementById('helpPopUp');
	hp.parentNode.removeChild(hp);
	toggleSelectBoxes('visible');
	//clearBG();
}

function toggleSelectBoxes(s) {
	var browser = getBrowser();
	if ((browser == 'WIN_IE6') || (browser == 'WIN_IE55')) {
		var entries = top.document.getElementsByTagName('select')
		for (var i=0; i<entries.length; i++) entries[i].style.visibility = s;
   }
}

function getOffsetTop(object) {
	if (object) return object.offsetTop + getOffsetTop(object.offsetParent);
	else return 0;
}

function createBG() {
	bg = top.document.createElement('div');
	bg.id = 'imagelayer';
	bg.innerHTML = '<img src="static/img/trans.gif" alt="" width="980" height="' + top.document.body.offsetHeight + '" />';
	top.document.getElementById('wrapper').appendChild(bg);
}

function clearBG() {
	bg = top.document.getElementById('imagelayer');
	//bg.parentNode.removeChild(bg);
}


function initHelpText(ID) {
	var counter = 0;
	
	if (document.getElementById(ID)) {
		var list = document.getElementById(ID)
		list.style.display = "none"
		var entries = list.getElementsByTagName('li');
		var counter = entries.length;
		for (var i=0; i<entries.length; i++) {
			var temp = entries[i].innerHTML;
			var totalLength = temp.length;
			var titleLength = temp.lastIndexOf('</');
			var helpTitle = temp.substr(0, titleLength);
			helpTitle = helpTitle.slice(6, titleLength);
			var helpText = temp.slice((titleLength + 7), totalLength);
			helptexts [i] = new Array (helpTitle , helpText);
		}
	}
}


function getBrowser () {
	var mvIndex;
	var mozVers;
	var os = navigator.platform.toLowerCase(); 
	var agt = navigator.userAgent.toLowerCase(); 
	var ver = navigator.appVersion.toLowerCase();
	
	if (os.indexOf('win') != -1) {
		if (agt.indexOf("msie 6.0")!=-1) return "WIN_IE6";
		else if (agt.indexOf("msie 5.5")!=-1) return "WIN_IE55";
		else if (agt.indexOf("msie 5.0")!=-1) return "WIN_IE50";
		else if (agt.indexOf("netscape")!=-1) return "Netscape";
		else if (agt.indexOf("mozilla")!=-1) {
			var mvIndex = agt.indexOf('; rv:1.');
			var mozVers = agt.substr(mvIndex + 7, 1); 
			if (mozVers > 3) return "WIN_MOZ";
		}
	}
	else if (os.indexOf('mac') != -1) {
		if (agt.indexOf("safari")!=-1) return "MAC_SAF";
		else if (agt.indexOf("netscape")!=-1) return "Netscape";
		else if (agt.indexOf("mozilla")!=-1) {
			var mvIndex = agt.indexOf('; rv:1.');
			var mozVers = agt.substr(mvIndex + 7, 1); 
			if (mozVers > 3) return "MAC_MOZ";
		}
	}
	else if (os.indexOf('linux') != -1) {
		if (agt.indexOf("mozilla")!=-1) {
			var mvIndex = agt.indexOf('; rv:1.');
			var mozVers = agt.substr(mvIndex + 7, 1); 
			if (mozVers > 3) return "LINUX_MOZ";
		}
	}
	else if ((os.indexOf('unix') != -1) || (os.indexOf('x11') != -1) ||
			 (os.indexOf('sun') != -1) || (os.indexOf('solaris') != -1)) {
		if (agt.indexOf("mozilla")!=-1) {
			var mvIndex = agt.indexOf('; rv:1.');
			var mozVers = agt.substr(mvIndex + 7, 1); 
			if (mozVers > 3) return "UNIX_MOZ";
		}
	}
}
