function $(){
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++){
		var element = arguments[i];
		if (typeof element == 'string') element = document.getElementById(element);
		if (arguments.length == 1) return element;
		elements.push(element);
	}
	return elements;
}

function addEvent( obj, type, fn ) {
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, false );
		EventCache.add(obj, type, fn);
	}else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
		EventCache.add(obj, type, fn);
	}else {
		obj["on"+type] = obj["e"+type+fn];
	}
}

var EventCache = function(){
	var listEvents = [];
	return {
		listEvents : listEvents,
		add : function(node, sEventName, fHandler){
			listEvents.push(arguments);
		},
		flush : function(){
			var i, item;
			for(i = listEvents.length - 1; i >= 0; i = i - 1){
				item = 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 togglecheck(init,name) {
	var inputElements = document.getElementsByName(name);
	for (var i=0; inputElements[i]; i++){
		if(init.checked==false){
			inputElements[i].checked=false;
		}else{
			inputElements[i].checked=true;
		}
	}
}

function getElementsByClassName(classname,tag) {
	if(!tag) tag = "*";
	var nodes =  document.getElementsByTagName(tag);
	var regexp = new RegExp('\\b' + classname + '\\b');
	var classItems = new Array();
	for(var i=0; nodes[i]; i++) {
		var thisItem = nodes[i];
		if(regexp.test(thisItem.className)) classItems.push(thisItem);
	}
	return classItems;
}

function getUrlParam(name){
	var regex = new RegExp("[\\?&]" + name + "=([^&#]*)");
	var tmpURL = window.location.href;
	var results = regex.exec(tmpURL.toLowerCase());
	if( results == null ) return null;
	return results[1];
}

function toggle(obj) {
	var el = $(obj);
	if ( el.style.display != 'none' ) {
		el.style.display = 'none';
	}else {
		el.style.display = '';
	}
}

function hide(obj) {
	var el = $(obj);
	el.style.display = 'none';
}

function show(obj) {
	var el = $(obj);
	el.style.display = '';
}

function turnoffAutoComplete(){
	var inputElements = document.getElementsByTagName("input");
	for (i=0; inputElements[i]; i++){
		inputElements[i].setAttribute("autocomplete","off");
	}	
}

function isdefined(variable){
    return (typeof(window[variable]) == "undefined") ? false: true;
}

function AddJavascript(jsFile){
	var headID = document.getElementsByTagName("head")[0];         
	var scriptNode = document.createElement('script');
	scriptNode.language='javascript';
	scriptNode.src=jsFile;
	headID.appendChild(scriptNode);
}