	(function (jQuery){
	    this.version = '(beta)(0.0.3)';
	        this.all = {};
	    this.special_keys = {
	        27: 'esc', 9: 'tab', 32:'space', 13: 'return', 8:'backspace', 145: 'scroll', 20: 'capslock',
	        144: 'numlock', 19:'pause', 45:'insert', 36:'home', 46:'del',35:'end', 33: 'pageup',
	        34:'pagedown', 37:'left', 38:'up', 39:'right',40:'down', 112:'f1',113:'f2', 114:'f3',
	        115:'f4', 116:'f5', 117:'f6', 118:'f7', 119:'f8', 120:'f9', 121:'f10', 122:'f11', 123:'f12'};

	    this.shift_nums = { "`":"~", "1":"!", "2":"@", "3":"#", "4":"$", "5":"%", "6":"^", "7":"&",
	        "8":"*", "9":"(", "0":")", "-":"_", "=":"+", ";":":", "'":"\"", ",":"<",
	        ".":">",  "/":"?",  "\\":"|" };

	    this.add = function(combi, options, callback) {
	        if (jQuery.isFunction(options)){
	            callback = options;
	            options = {};
	        }
	        var opt = {},
	            defaults = {type: 'keydown', propagate: false, disableInInput: false, target: jQuery('html')[0]},
	            that = this;
	        opt = jQuery.extend( opt , defaults, options || {} );
	        combi = combi.toLowerCase();

	        // inspect if keystroke matches
	        var inspector = function(event) {
	            event = jQuery.event.fix(event); // jQuery event normalization.
	            var element = event.target;
	            // @ TextNode -> nodeType == 3
	            element = (element.nodeType==3) ? element.parentNode : element;

	            if(opt['disableInInput']) { // Disable shortcut keys in Input, Textarea fields
	                var target = jQuery(element);
	                if( target.is("input") || target.is("textarea")){
	                    return;
	                }
	            }
	            var code = event.which,
	                type = event.type,
	                character = String.fromCharCode(code).toLowerCase(),
	                special = that.special_keys[code],
	                shift = event.shiftKey,
	                ctrl = event.ctrlKey,
	                alt= event.altKey,
	                propagate = true, // default behaivour
	                mapPoint = null;

	            while (!that.all[element] && element.parentNode){
	                element = element.parentNode;
	            }

	            var cbMap = that.all[element].events[type].callbackMap;
	            if(!shift && !ctrl && !alt) { // No Modifiers
	                mapPoint = cbMap[special] ||  cbMap[character]
	                        }
	            // deals with combinaitons (alt|ctrl|shift+anything)
	            else{
	                var modif = '';
	                if(alt) modif +='alt+';
	                if(ctrl) modif+= 'ctrl+';
	                if(shift) modif += 'shift+';
	                // modifiers + special keys or modifiers + characters or modifiers + shift characters
	                mapPoint = cbMap[modif+special] || cbMap[modif+character] || cbMap[modif+that.shift_nums[character]]
	            }
	            if (mapPoint){
	                mapPoint.cb(event);
	                if(!mapPoint.propagate) {
	                    event.stopPropagation();
	                    event.preventDefault();
	                    return false;
	                }
	            }
	                };
	        // first hook for this element
	        if (!this.all[opt.target]){
	            this.all[opt.target] = {events:{}};
	        }
	        if (!this.all[opt.target].events[opt.type]){
	            this.all[opt.target].events[opt.type] = {callbackMap: {}}
	            jQuery.event.add(opt.target, opt.type, inspector);
	        }
	        this.all[opt.target].events[opt.type].callbackMap[combi] =  {cb: callback, propagate:opt.propagate};
	        return jQuery;
	        };
	    this.remove = function(exp, opt) {
	        opt = opt || {};
	        target = opt.target || jQuery('html')[0];
	        type = opt.type || 'keydown';
	                exp = exp.toLowerCase();
	        delete this.all[target].events[type].callbackMap[exp]
	        return jQuery;
	        };
	    jQuery.hotkeys = this;
	    return jQuery;
	})(jQuery);



function HindWindow(sh,fnDone){
my_div = $('<div id="f"></div>');

my_div.appendTo("body");
$("#f").css("position","absolute").css("top","0").css("left","0").css("background","#000").css("width","100%").css("opacity","0").css("height",document.body.scrollHeight).css("zIndex","65554");
if (sh){
             $("select").css("display", "none");
             $("object").css("display", "none");
	     $("#f").show().animate({opacity: "0.8"},"slow",function(){if(fnDone!=''){fnDone();}});
	 }else{
	     $("#f").animate({opacity: "0"},"slow");
	     $("select").css("display", "");
	     $("object").css("display", "");
	     $("#f").css("display", "none").css("zIndex","-65554").remove();
	     if(fnDone!=''){fnDone();}
	 }
}
function cl(){return false}

function ShowMessQ(mess){
                   var h = document.body.scrollTop;

 HindWindow(true,function(){

 			    var my_mess = $('<div id="h_mess" class="csshmess">'+mess+'</div>');
			    my_mess.appendTo("body");
			    $(my_mess).css("position","absolute").css("top","-500").css("left",(document.body.scrollWidth/2)-200).css("background","#fff").css("width","400").css("opacity","1").css("zIndex","65555").css("padding","5px").css("border","2px solid #ccc");
			    $(my_mess).show().animate({top:200+h},"slow").animate({top:70+h},"slow").animate({top:130+h},"slow").animate({top:90+h},"slow").animate({top:100+h},"slow").html("<span class='span'>"+mess+"</span>"); alrt=true;


$("#f").click(function(){

            $(my_mess).animate({left:"-1000"},500,function(){
	    HindWindow(false,cl); $(my_mess).remove();
	    })

	 })
	 
	 



$(window).scroll(function () {

    $(my_mess).animate({top:(100 + $(document).scrollTop() + "px")},{duration:1000,queue:false});

    });
});

}

var ShowAdminPanel = true;

if (getCookie("showadminpanel")==1){ShowAdminPanel = true}else{ShowAdminPanel = false}

$.hotkeys.add('Ctrl+space', function(){
  if (ShowAdminPanel){
   $("#adminPanel").animate({top: "-57"},"slow");  ShowAdminPanel=false;   setCookie("showadminpanel",0, "Mon, 01-Jan-2030 00:00:00 GMT", "/");
  }else{
   $("#adminPanel").animate({top: "0"},"slow");     ShowAdminPanel=true;    setCookie("showadminpanel",1, "Mon, 01-Jan-2030 00:00:00 GMT", "/");
  }
});


$(document).ready(function(){
$("#adminPanel").dblclick(function(){

  if (ShowAdminPanel){
    $("#adminPanel").animate({top: "-57"},"slow");  ShowAdminPanel=false;  setCookie("showadminpanel",0, "Mon, 01-Jan-2030 00:00:00 GMT", "/");
  }else{
    $("#adminPanel").animate({top: "0"},"slow");     ShowAdminPanel=true;  setCookie("showadminpanel",1, "Mon, 01-Jan-2030 00:00:00 GMT", "/");
  }

})

})
	
	
	
