function fetch_object(idname){
    if (document.getElementById){
        return document.getElementById(idname);
    }else if (document.all){
        return document.all[idname];
    }else if (document.layers){
        return document.layers[idname];
    }else{
        return null;
    }
}

function getElementsByClass(searchClass, pnode, tag) {

    function _GetElementsByClass(outArray, seed, needle) {
        while (seed) {
            if (seed.className==needle) outArray.push(seed);
            if (seed.nodeType == "1") {
                _GetElementsByClass(outArray, seed.firstChild, needle)
            }
            seed = seed.nextSibling;
        }
    }
    var outArray = new Array();
	if ( pnode == null ) pnode = document.documentElement; else pnode=pnode.firstChild;
    _GetElementsByClass(outArray, pnode, searchClass);
    return outArray;
}
/*
function getElementsByClass(searchClass,pnode,tag) {
	var classElements = new Array();
	if ( pnode == null ) pnode = document;
	if ( tag == null ) tag = '*';
	var els = pnode.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');
	for (i = 0, j = 0; i < elsLen; i++) {
	alert(els[i].className+'='+searchClass);
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}*/

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 addListener( obj, type, fn, bubbling ) {
	bubbling = bubbling || false;
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, bubbling );
		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;
			};
		}
	};
}();
EventCache.flush();
addListener(window,'unload',EventCache.flush);


function setCookie(Cookie, value, expiredays){
    var ExpireDate = new Date ();
    ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000));
    document.cookie = Cookie + "=" + escape(value) +
    ((expiredays == null) ? "" : "; expires=" + ExpireDate.toGMTString());
}
function getCookie(Cookie){
    if (document.cookie.length > 0){
        begin = document.cookie.indexOf(Cookie+"=");
        if (begin != -1){
            begin += Cookie.length+1;
            end = document.cookie.indexOf(";", begin);
            if (end == -1) end = document.cookie.length;
            return unescape(document.cookie.substring(begin, end));
        }
    }
    return null;
}
function DelCookie(sName) {
  document.cookie = sName + "=; expires=Fri, 31 Dec 1999 23:59:59 GMT;";
}

function WriteSupportMail() {
    var n = "support";var d = "elitistclub"; var z = "com";
    document.write('<a href=\"mailto:'+n+'@'+d+'.'+z+'\">');
    document.write(n+'@'+d+'.'+z+'</a>');
}

function confirmLink(theLink, confirmMsg) {
    var is_confirmed = confirm(confirmMsg);
    if (is_confirmed) {
        theLink.href += '&is_js_confirmed=1';
    }
    return is_confirmed;
}


function odd_table(table_id,class_1,class_2,skip_beg,skip_end) {
    var rows=document.getElementById(table_id).getElementsByTagName('tr');
    for (var i=skip_beg; i<rows.length-skip_end; i+=2) {
        rows[i].className += ' '+class_1;
        if (i+1<rows.length-skip_end) {
            rows[i+1].className += ' '+class_2;
        }
    }
}
