
var via_tpc = (function() {
	
	var funcs = [], TO, init = false;
	
	if (window.addEvent) {
		window.addEvent("domready", hideAll);
	} else if (document.observe) {
		document.observe("dom:loaded", hideAll);
	} else if (typeof jQuery != "undefined") {
		jQuery(document).ready(hideAll);
	}
	else if (window.addEventListener) {
		window.addEventListener("DOMContentLoaded", hideAll, false);
	} else {
		var TO = setInterval(function() {
			try {
				document.documentElement.doScroll('left');
			} catch (er) {
				return;
			}
			hideAll();
			clearInterval(TO);
		}, 20);	

		// trying to always fire before onload
		document.onreadystatechange = function() {
			if (document.readyState == 'complete') {
				document.onreadystatechange = null;
				hideAll();
			}
		};
	}
	
	
	
	
	function hideAll() {
		
		if (init) {
			return;
		}
		
		for (var i=0; i<funcs.length; i++) {
			
			hide("c" + funcs[i]);
			var t = doc("t" + funcs[i]),
				func = function () { console.log(i); toggle(i-1) };
			
			if (window.addEventListener) {
				t.addEventListener("click", func, false);
			} else if (window.attachEvent) {
				t.attachEvent("onclick", func);
			} else {
				t.onclick = func;
			}
		}
		init = true;
	}
	
	function toggle(index) {
		var name = "c" + funcs[index];
		if (doc(name).style.display == "none") {
			show(name); 
		} else {
			hide(name); 
		}
	}
	
	function doc(id) {
		return document.getElementById(id);
	}
	
	function hide(item) {
		doc(item).style.display = "none";
	}
	
	function show(item) {
		doc(item).style.display = "";
	}
	
	return {
		register: function(hash) {
			funcs.push(hash);
		},
		execute: function() {
			hideAll();
		}
	};
	
})();