var initEvents = new Array(  );

function $( e ) { return document.getElementById( e ); }

function $n( e ) { return document.getElementsByTagName( e ); }


var FLAGS = {
    w3: function() {
        return !!(document.getElementById && document.createElement);
    }(),
    ie: function() {
        return /*@cc_on!@*/0;
    }(),
    ssl: function() {
     return (("https:" == document.location.protocol) ? true : false);
    }(),
    queryStringVars: function()
    {
       var vars = new Array();
       var loc  = window.location.toString();
       if (loc.indexOf( "?" ) != -1)
       {
           loc = loc.substr( loc.indexOf( "?" )+1, loc.length );
	   loc = loc.split( "&" );
	   
	   for (var i = 0; i < loc.length; i++)
	   {
               var temp =  loc[i].split( "=" );
	       
	       vars[temp[0]] = temp[1];
	   }
       }

       return vars;
    }(),
    baseURL: function() { return window.location.toString().replace( /\?.*/, "" ); }()
};

function generateQueryString( vars )
{
    var queryString = "?";
    
    var j = 0;
    for (var i in vars)
    {
        if (j > 0) queryString += "&";
	queryString += i + "=" + vars[i];
        j++;
    }
    return queryString;
}

var addEvent = function() {
    if ( window.addEventListener ) {
        return function(el, type, fn) {
            el.addEventListener(type, fn, false);
        };
    } else if ( window.attachEvent ) {
        return function(el, type, fn) {
            var f = function() {
                fn.call(el, window.event);
            };
            el.attachEvent('on'+type, f);
        };
    } else {
        return function(el, type, fn) {
            element['on'+type] = fn;
        }
    }
}();



function init() {
	if (arguments.callee.done) return;

	arguments.callee.done = true;

	if (_timer) clearInterval(_timer);

	if (initEvents)
        {
            for (var i = 0; i < initEvents.length; i++)
            {
                initEvents[i]();
            }
        }
/*Event.cancelEvent = function()
{
    this.returnValue = false;
    if (this.preventDefault) this.preventDefault();
    if (this.cancelBubble) this.cancelBubble = true;
    return false;
};*/
}

{



var initAttached = false;

/* for Mozilla/Opera9 */
if (document.addEventListener) {
	document.addEventListener("DOMContentLoaded", init, false);
        initAttached = true;
}

/* for Internet Explorer */
/*@cc_on @*/
/*@if (@_win32)
	document.write("<script id=__ie_onload defer src=//:></script>");
	var script = document.getElementById("__ie_onload");
	script.onreadystatechange = function() {
		if (this.readyState == "complete") {
			init(); // call the onload handler
		}
	};
        initAttached = true;
/*@end @*/

/* for Safari */
if (/KHTML|WebKit/i.test(navigator.userAgent)) // sniff
{ 
	var _timer = setInterval(function() {
		if (/loaded|complete/.test(document.readyState)) {
			init(); // call the onload handler
		}
	}, 10);
        initAttached = true;
}

if (!initAttached)
{
    window.onload = init;
}

};
