/*
Title: Security Products Scripting
Author: Daniel Pinnick
Company: 1105 Media
Description: Common Scripts ( Sitewide Library -production )
Version: Summer/Fall 2006
		¬¿¬
*/

/*===============================================================================*/

// @author: Richard Herrera
// @description: Tabbed Interface
var EnableTabs = {
	init : function() {
		var container = getElementsByClassName(document, "*", "tabbedFields");
		if (!container) return;

		for (var i = 0; i < container.length; i++) {
			ClassName.add(container[i], "enabled");

			var menu, links, tabbers;
			menu = getElementsByClassName(container[i], "*", "tabMenu")[0];
			tabbers = getElementsByClassName(container[i], "*", "tabContent");

			links = menu.getElementsByTagName("a");
			for (var k = 0; k < links.length; k++) {

				if (ClassName.test(links[k].parentNode, "focus", true)) ClassName.add(tabbers[k], "show");
				else ClassName.add(tabbers[k], "hide");

				links[k].onclick = function() { return EnableTabs.onclick(this); };

				var trigger = tabbers[k].getElementsByTagName("a");
				for (var l = 0; l < trigger.length; l++) {
					if (ClassName.test(trigger[l], "closeThisTab", true)) {
						trigger[l].onclick = function() {
							ClassName.replace(this.parentNode, "show", "hide");
							ClassName.remove(getElementsByClassName(menu, "li", "focus")[0], "focus");
							return false;
						};
					}
				}
			}
		}
	},
	onclick : function(e) {
		var f = e.parentNode.parentNode.getElementsByTagName("a");
		var g = getElementsByClassName(e.parentNode.parentNode.parentNode, "*", "tabContent");

		for (var k = 0; k < f.length; k++) {
			if (f[k] == e) {
				if (ClassName.test(e.parentNode.parentNode.parentNode, "collapse", true)) {
					if (!(ClassName.test(f[k].parentNode, "focus"))) ClassName.replace(g[k], "hide", "show");
					else {
						ClassName.replace(g[k], "show", "hide");
						ClassName.remove(f[k].parentNode, "focus");
						return false;
					}
				}
				else {
					ClassName.replace(g[k], "hide", "show");
				}
			}
			else {
				ClassName.replace(g[k], "show", "hide");
				ClassName.remove(f[k].parentNode, "focus");
			}
		}
		ClassName.add(e.parentNode, "focus");

		for (var l = 0; l < g.length; l++) {
			if (ClassName.test(g[l], "show", true)) {
				var target = g[l].getElementsByTagName("input")[0] ? g[l].getElementsByTagName("input")[0] : g[l].getElementsByTagName("select")[0];
				if (!target) break;
				else target.focus();
			}
		}
		return false;
	}
};
DomLoaded.load(EnableTabs.init);
/*===============================================================================*/

//--- [  Drop Menu  ] -------------------------------------------------------------------------------------|
function dropMenu() {//v1.1s dp
 var s1, s2, b="block", n="none";
 if(navigator.appVersion.indexOf("MSIE") == -1) { return; }
 var i, reg=/\s*over/,li=document.getElementById("navmain").getElementsByTagName("LI");
	for (i=0; i<li.length; i++) {
		li[i].onmouseover=function() {
			this.className+=' over';
		};
		li[i].onmouseout=function() {
			this.className=this.className.replace(reg,'');
		};
	}
}

//--- [  toggle Side Panels  ] -----------------------------------------------------------------------------|
function togglePanel(tMid, sMid) {//v1.0 dp
  var tM, sM;
	if ((tM = document.getElementById(tMid)) != null) {
		if ((sM = document.getElementById(sMid)) != null) {
			var tr = tM.childNodes[0];
			sM.style.display = "none";
			tr.onclick = function() {
				var ds = sM.style.display;
				var tS = (tM.childNodes[0].className);
    			sM.style.display = (ds == "block") ? "none" : "block";
				tM.childNodes[0].className = (tS=="triggerActive") ?"triggerNorm" : "triggerActive";
				return false;
			};
			tr.onfocus = function() {
				this.blur();
			};
		}
	}
}

// @author: Richard Herrera
// @description: Style Zebra Tables
var ZebraTables = function() {
	// Style All Tables
	var table = document.getElementsByTagName("table");
	// Style Specific Tables
	// var table = getElementsByClassName(document, "table", "zebra");
	if (!table) return;
	for (var i = 0; i < table.length; i++) {
		var tbody = table[i].getElementsByTagName("tbody");
		if (tbody) {
			for (var j = 0; j < tbody.length; j++) {
				var tr = tbody[j].getElementsByTagName("tr");
				for (var k = 0; k < tr.length; k = (k + 2)) ClassName.add(tr[k], "alt");
			}
		} else {
			var tr = table[i].getElementsByTagName("tr");
			for (var j = 0; j < tr.length; j = (j + 2)) ClassName.add(tr[j], "alt");
		}
	}
};
//DomLoaded.load(ZebraTables);

//--- [  Login Slide Control ] ---------------------|
var gOH=0;
function slidePanel(el,b,f,s,i,p){//v1.0 dp
 var d,st,nc,e = document.getElementById(el);
	if(b == f){return}
	if(st != s){
		e.style.display  = "block";
		e.style.overflow = "hidden";
	}
	if(e.memory){
		window.clearInterval(e.memory);
	}
	st = 0;
	e.memory = window.setInterval(function(){
		d =f-b; 
		nc = b + (Math.pow(((1/s) *st),p) *d);
		e.currentHeight = Math.ceil(nc);
		e.style.height = e.currentHeight + "px"; 
		st++;
		if(st > s){
			window.clearInterval(e.memory);
			/*e.style.height="auto";*/
			gOH = e.currentHeight;
		}
	},i);
	resetPanel(e); 
}

//--- [  Login Slide Reset ] ------------------------------------------------------------|
function resetPanel(el){//v1.0 dp
	if(gOH == 58){
		document.getElementById("loginImg").src="img/v1/site/ico_login_norm.gif";
		clearTimeout(LvL_reset);
	} else {
		LvL_reset = setTimeout("slidePanel('login',58,0,25,30,.3,.222)",8000);
	}
}

//--- [  Login Trigger ] ----------------------------------------------------------------|
function Login() {//v1.0 dp
 var i,el;//,el = document.getElementById("loginControl");
 if ((el = document.getElementById("loginControl")) != null) {
 var trigger = el.getElementsByTagName("A");
	for (i=0; i<trigger.length; i++) {
		trigger[0].onclick = function() {
			slidePanel('login',0,58,5,1,.333);
			//el.images[0].setAttribute("src","img/ico_login_active.gif");
			document.getElementById("loginImg").src="img/v1/site/ico_login_active.gif";
			this.blur();
			return false;
		};
	}
	}
}

//--- [  Initiation  ] ------------------------------|
var init = function() {
	dropMenu();
	togglePanel("newProds","newProdsSub");
	togglePanel("resources","resourcesSub");
	ZebraTables;
	Login();
	};

window.onload = init;
//window.onload = ZebraTables;
