var Browser = {
  Version: function() {
    var version = 999;
    if (navigator.appVersion.indexOf("MSIE") != -1)
      version = parseFloat(navigator.appVersion.split("MSIE")[1]);
    return version;
  }
}

function getElementsByClassName(className, tag, elm)
{
	var testClass = new RegExp("(^|s)" + className + "(s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i ];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}

function ucfirst( str ) 
{
	var f = str.charAt(0).toUpperCase();
	return f + str.substr(1);
}

function parseUrlParams(url)
{
    var params = new Array;
	querystring = url.split("?")[1];
    assoc = querystring.split("&");

    for(i = 0; i < assoc.length; i++){
		param = assoc[i].split("=");
		params[param[0]] = param[1];
    }
    return params;
}

function addEvent( obj, type, fn )
{
	if (obj.addEventListener)
		obj.addEventListener( type, fn, false );
	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] );
	}
}
 
function removeEvent( obj, type, fn )
{
	if (obj.removeEventListener)
		obj.removeEventListener( type, fn, false );
	else if (obj.detachEvent)
	{
		obj.detachEvent( "on"+type, obj[type+fn] );
		obj[type+fn] = null;
		obj["e"+type+fn] = null;
	}
}

function inArray( array, string )
{
	for(i=0;i<array.length;i++)
		if(array[i]==string)
			return true;
	return false;
}

function removeValueFromArray(table, value)
{
	tmp = new Array();
	for(i=0;i<table.length;i++)
		if( table[i] != value )
			tmp.push(table[i]);
	return tmp;
}

function empty (mixed_var) {
    var key;
    if (mixed_var === "" || mixed_var === 0 || mixed_var === "0" || mixed_var === null || mixed_var === false || mixed_var === undefined )
        return true;
    if (typeof mixed_var == 'object')
    {
        for (key in mixed_var)
            return false;
        return true;
    }
    return false;
}