var $random = function(min,max){return Math.floor(Math.random()*(max-min+1)+min);}
var Cookie = {
  set: function(name, value, daysToExpire) {
    var expire = '';
    if (daysToExpire != undefined) {
      var d = new Date();
      d.setTime(d.getTime() + (86400000 * parseFloat(daysToExpire)));
      expire = '; expires=' + d.toGMTString();
    }
    return (document.cookie = escape(name) + '=' + escape(value || '') + expire);
  },
  get: function(name) {
    var cookie = document.cookie.match(new RegExp('(^|;)\\s*' + escape(name) + '=([^;\\s]*)'));
    return (cookie ? unescape(cookie[2]) : null);
  },
  erase: function(name) {
    var cookie = Cookie.get(name) || true;
    Cookie.set(name, '', -1);
    return cookie;
  },
  accept: function() {
    if (typeof navigator.cookieEnabled == 'boolean') {
      return navigator.cookieEnabled;
    }
    Cookie.set('_test', '1');
    return (Cookie.erase('_test') === '1');
  }
};
var $E = function(sel,e){
	var ret;
	(null == e)?ret=$$(sel)[0]:ret=$(e).select(sel)[0];
	return ret;	
}
var $M = function (movieName) {
	return (Prototype.Browser.IE) ? window[movieName] : document[movieName];
}

String.prototype.toInt = function(){
	return parseInt(this, 10);	
}
Element.addMethods ({
	getTag: function(tag){
		return tag.tagName.toLowerCase();
	},
	isVisible : function(elm) {
		while(elm.tagName != 'BODY') {
			if(!$(elm).visible()) return false;
			elm = elm.parentNode;
		}
		return true;
	}
});
var evtQ = [];
var evtQhandler = null;
function checkevtQ(){
	if( job = evtQ.shift() ) job[0](job[1]);
	if( job = evtQ.shift() ) job[0](job[1]);
	if( job = evtQ.shift() ) job[0](job[1]);
	if( job = evtQ.shift() ) job[0](job[1]);
}
function enqueue(func,opt){ evtQ.push([func,opt]); }
function prequeue(func,opt){ evtQ.unshift([func,opt]); }
document.observe("dom:loaded",function(){ Qhandler = setInterval(checkevtQ,50); });