/**
 * Title    : T324Scripts
 * Version  : 1.1
 * Created  : 07 February 2006
 * Modified : 05 April 2006
 */

// Simplify getElementById()
function $(id) {
  return document.getElementById(id);
}

/* 
 * Cross-browser event model helper function
 *
 * addEvent(window, 'load', 'functionName');
 * addEvent(window, 'load', function() { doSomething(someParam); });
 */
 
var addEvent;
if (document.addEventListener) { // Non-IE
	addEvent = function(element, type, handler) {
		element.addEventListener(type, handler, false);
	};
} else if (document.attachEvent) { // IE6+
    addEvent = function(element, type, handler) {
        element.attachEvent("on" + type, handler);
    };
} else { // Older Browsers
    addEvent = function(element, type, handler) {
		var oldHandler = element['on' + type];
		if (oldHandler === null) {
			element['on' + type] = handler;
		} else {
			element['on' + type] = function(e) { oldHandler(e); handler(e); };
		}
	};
}

function copyrightDate(startYear) {
	var d = new Date();
	var y = new Date().getFullYear();
	
	var result = (y != startYear) ? startYear + "-" + y : startYear;
	return result;
}

// NoSpamEmail Script
// Example: nospam("domain.com","info","Click here to get more information");
function nospam(domain,name,visible){
	document.write('<a href=\"mail' + 'to:' + name + '@' + domain + '\">');
	document.write(visible + '</a>');
}

// NoSpamEmail Script 2
// Example: nospam2("domain,"info","com");
function nospam2(domain,name,tld){
	document.write('<a href=\"mail' + 'to:' + name + '@' + domain + '.' + tld + '\">');
	document.write(name + '@' + domain + '.' + tld + '</a>');
}

function checkEmail (email) {
	var error = false;
	if (email === "") {
   		error = "You didn't enter an email address.\n";
	}

    var emailFilter=/^.+@.+\..{2,3}$/;
    if (!(emailFilter.test(email))) { 
       error = "Please enter a valid email address.\n";
    } else {
		//test email for illegal characters
       	var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/;
        if (email.match(illegalChars)) {
        	error = "The email address contains illegal characters.\n";
       	}
    }
	
	return error;    
}

function init_menu() {
	var menuParams = menus;
	for (var i = 0; i < menuParams.length; i++) {
		var menuObj = menuParams[i];
		var id = menuObj.id;
	   	
		if (null === $(id)) { continue; }

		var selector = "#" + id + ' .menuList';
		var menuList = $S(selector);
	
		var menuId = 'menu' + i;
		menuList[0].id = menuId;
		
		for (var j = 0; j < menuObj.hilite.length; j++) {
			var theItem = $S(selector + ' .' + menuObj.hilite[j]);
			if (theItem) {
				//theItem[0].setAttribute('class', theItem[0].getAttribute('class') + ' youarehere');
				addClassName(theItem[0], 'youarehere');
			}
		}

		var opt = menuObj.menuOptions || {};
		var menu = DynarchMenu.setup(menuId, opt);
	}
}

function removeClassName(el, className) { 
	var newClass = el.className.replace(className, '').trim();
	el.className = newClass;
	//el.setAttribute('class', newClass);
}

function addClassName(el, className) { 
	var newClass = (el.className + ' ' + className).trim();
	removeClassName(el, className); 
	el.className = newClass;
	//el.setAttribute('class', newClass);
}

String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); }
