/*
/* Add Event modified from dustindiaz.com
*/
var acloaded = false;

function addEvent( obj, type, fn ) {
	if (obj.addEventListener) {
		obj.addEventListener(type, fn, false);
		EventCache.add(obj, type, fn);
	}	else if (obj.attachEvent) {
		var t = type+fn;
		obj["e"+type+fn] = fn;
		obj[t] = function () { obj["e"+t]( window.event ); };
		obj.attachEvent( "on"+type, obj[t] );
		EventCache.add(obj, type, fn);
	} else obj["on"+type] = obj["e"+type+fn];
};
EventsCache = function () {
	s = this;
};
EventsCache.prototype = {
	listEvents : [],
	add : function (node, sEventName, fHandler){ s.listEvents.push(arguments); },
	flush : function(){
		for (var i = s.listEvents.length; i > 0;i--) s.remove(s.listEvents[i-1]);
	},
	remove : function(item){
		//var item = s.listEvents[i];
		if(item[0].removeEventListener) item[0].removeEventListener(item[1], item[2], item[3]);
		if(item[1].substring(0, 2) != "on")	item[1] = "on" + item[1];
		if(item[0].detachEvent) item[0].detachEvent(item[1], item[2]);
		item[0][item[1]] = null;
	}
};
function cancelEvent(e) {
    if(!e) e = window.event;
    if (typeof e.stopPropagation != 'undefined') {
    	e.stopPropagation(); e.preventDefault();
    } else if (typeof e.preventDefault != 'undefined')	{
        e.preventCapture(); e.preventDefault(); e.preventBubble();
    } else {
			e.cancelBubble = true;
      e.returnValue = false;
    }
};
var EventCache = new EventsCache();
addEvent(window,'unload', EventCache.flush);
 /* end addevent shiz */

 function $gbid() { // getElementById
	function $e(el){ return (typeof(el) == 'string') ? document.getElementById(el) : el; };
	if (arguments.length == 1) return $e(arguments[0]);
	for (var i = 0,arg = arguments.length,el = []; i < arg; i++ ) el.push($gbid(arguments[i]));
	return el;
};
function $$(c, tag, root){ // getElementByClassName
		root = (!root) ? document : $gbid(root);
		tag = (!tag) ? '*' : tag.toUpperCase();
    var a = [];
    var re = new RegExp('(^| )' + c + '( |$)');
    var el = root.getElementsByTagName(tag);
    for (var i=0,l=el.length; i<l; i++) if (re.test(el[i].className)) a.push(el[i]);
    return a;
};

function xhr(){};
xhr.prototype = {
	xh: '',
	init: function (){
		try { return new XMLHttpRequest(); }
		catch (e) { try { return new ActiveXObject("Msxml2.XMLHTTP"); }
		catch (e) { try { return new ActiveXObject("Microsoft.XMLHTTP"); }
		catch (e) { return false; } } }
	},
	conn: function (uri, vars, fc, m, sync){
		xh = this.init();
		if (xh){
			var sync = (!sync) ? true : false;
			var m = (!m || (m.toUpperCase() == "get")) ? 'GET' : 'POST';
			var openuri = (m == "GET" && vars != '') ? uri+'?'+vars : uri;
			xh.open(m, openuri, sync);
			if (m == 'POST')	xh.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			xh.onreadystatechange = function(){ if (xh.readyState == 4 && fc) fc(xh); };
			xh.send(vars);
			return true;
		} else return false;
	}
};


function emailToFriend (email, name, page){
	email = email.stripTags();
	name = name.stripTags();
	$('emailFriendConfirm').innerHTML = 'Sending..';
	var getstr = "name=" + name + "&email=" + email + "&page=" + page;
	var x = new xhr();
	x.conn("/xhr/emailfriend/", getstr, function (x){
		$('emailFriendConfirm').innerHTML = x.responseText;
		setTimeout(function () { $('emailContainer').style.display = 'none'; }, 5000);
	}, "POST");
};


String.prototype.stripSlashes = function (){ return this.replace(/\\(\"|\')/g, 1); };
String.prototype.stripTags		= function (){ return this.replace(/<\/?[^>]+>/gi, ''); };
String.prototype.escape    		= function (){ return escape(this); };
String.prototype.unescape  		= function (){ return unescape(this); };
String.prototype.ucFirst 			= function (){ return this.substr(0,1).toUpperCase() + this.substr(1, this.length); };
function isset(varname){
  return(typeof(window[varname])!='undefined');
};

function hasClass( element, className ) {
	return element.className.match( '\\b' + className + '\\b' );
}

function addClass( element, className ) {
	if( !element.className.match( '/\\b' + className + '\\b/' ) )
		element.className += ' ' + className;
}

function removeClass( element, className ) {
	element.className = element.className.replace( new RegExp( '\\b' + className + '\\b', 'g' ), '' );
}

addEvent(window, 'load', loaded);

function loaded(){

	findFilters();
	//findMenu('mainmenu')
	//setInterval("clockUpdate()",1000);

}

function findFilters (){
	var filter = $gbid('filter');
	if (filter && filter.getAttribute('for').length > 0){
		addEvent(filter, 'keyup', filterTable);
	}
};


function filterTable (){
		var listTable = $gbid(this.getAttribute('for'));
		if (listTable){
			var listRows = listTable.getElementsByTagName('tr');
			for (var i=0;i<listRows.length; i++){
				if (listRows[i].className != "theader"){
					var listRowCells = listRows[i].getElementsByTagName('td');
					var innerText = "";
					for (var o=0;o<listRowCells.length; o++){
						if (listRowCells[o].innerText){
							innerText = innerText + " " + listRowCells[o].innerText;
						} else {
							innerText = innerText + " " + listRowCells[o].textContent;
						}
					}
					if (innerText.toLowerCase().match(this.value.toLowerCase())){
						listRows[i].style.display = "";
					} else {
						listRows[i].style.display = "none";
					}
			}
			}
		}
};

function xhrButton (getURL){
		$gbid('one').style.display = "block";
		$gbid('one').innerHTML = "Submitting...";
	var x = new xhr();

	x.conn(getURL, "", function (x){
		$gbid('one').innerHTML = x.responseText;
	}, "POST");
};
function xhrLink (getURL){
	var x = new xhr();
	x.conn(getURL, "", function (x){

	}, "POST");
};

function findMenu(id){
	var menu = $gbid(id);
	if (menu) {
			var lis = menu.getElementsByTagName('li');
			for (var i=0; i < lis.length; i++){
				var ul = lis[i].getElementsByTagName('ul');
				if (ul && ul.length > 0){
					addEvent(ul[0].parentNode, 'mouseover', function(){ this.getElementsByTagName('ul')[0].style.display = "block"; });
					addEvent(ul[0].parentNode, 'mouseout',  function(){ delayedNone(this.getElementsByTagName('ul')[0])});
				}
			}
	}
}

function delayedNone (el){
	setTimeout(function(){el.style.display = "none"}, 2000);
}

function windowOpen (earl){
	window.open(earl, 'ContactDirector',"height=400,width=550,status=no,toolbar=no,menubar=no,location=no");
}

function clockUpdate (){
	var dte = new Date();
	var hrs = dte.getHours();
	var min = dte.getMinutes();
	var sec = dte.getSeconds();

	var month = dte.getMonth() + 1
	var day = dte.getDate()
	var year = dte.getFullYear()

	var col = ":";
	var spc = " ";
	var slash = "/"

	if (min<=9) min="0"+min;
	if (sec<=9) sec="0"+sec;

	document.getElementById('clock').innerHTML = day+slash+month+slash+year+spc+spc+hrs+col+min+col+sec;
}

function xhrDelete(getUrl, obj){
	var objRow = obj.parentNode.parentNode;
	objRow.className = "theader";
	objRow.style.backgroundColor = "#994444";
	if (confirm('Are you sure you want to Delete this?')){
		xhrButton(getUrl);
		objRow.style.display= 'none';
	}
	objRow.className = "";
	objRow.style.backgroundColor = "white";
}

function addToMailingList (email, name){
	email = email.stripTags();
	name = name.stripTags();
	var getstr = "add=1&name=" + name + "&email=" + email;
	var x = new xhr();
	x.conn("/xhr/maillist/", getstr, function (x){
		$gbid('mailListConfirm').innerHTML = x.responseText;
	}, "POST");
};

function removeFromMailingList (email){
	email = email.stripTags();
	var getstr = "remove=1&&email=" + email;
	var x = new xhr();
	x.conn("/xhr/maillist/", getstr, function (x){
		$gbid('mailListConfirm2').innerHTML = x.responseText;
	}, "POST");
};
