/*
 * Tooltip script 
 * powered by jQuery (http://www.jquery.com)
 * 
 * written by Alen Grakalic (http://cssglobe.com)
 * 
 * for more info visit http://cssglobe.com/post/1695/easiest-tooltip-and-image-preview-using-jquery
 *
 */
 


this.tooltip = function(){	
	/* CONFIG */		
		xOffset = 10;
		yOffset = 20;		
		// these 2 variable determine popup's distance from the cursor
		// you might want to adjust to get the right result		
	/* END CONFIG */		
	$("a.tooltip").hover(function(e){											  
		this.t = this.title;
		this.title = "";									  
		$("body").append("<p id='tooltip'>"+ this.t +"</p>");
		$("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px")
			.fadeIn("fast");		
    },
	function(){
		this.title = this.t;		
		$("#tooltip").remove();
    });	
	$("a.tooltip").mousemove(function(e){
		$("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px");
	});			
};

this.tooltip2 = function(){	
	/* CONFIG */		
		xOffset = 10;
		yOffset = 20;		
		// these 2 variable determine popup's distance from the cursor
		// you might want to adjust to get the right result		
	/* END CONFIG */		
	$("a.tooltip2").hover(function(e){											  
		this.t = this.title;
		this.title = "";									  
		$("body").append("<p id='tooltip2'>"+ this.t +"</p>");
		$("#tooltip2")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px")
			.fadeIn("fast");		
    },
	function(){
		this.title = this.t;		
		$("#tooltip2").remove();
    });	
	$("a.tooltip2").mousemove(function(e){
		$("#tooltip2")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px");
	});			
};


// starting the script on page load

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function fixScroll(cur) {
 ScollDown();
                    $(this).delay(20,function(){
                      stopScroll();
    });
 ScollUp();
                    $(this).delay(20,function(){
                      stopScroll();
    });
}
$(document).ready(function() {
	$("a[href='#']").click(function () { 
      return false;
    });
$("#snrollh").removeAttr('href');
$("[href^=http://]").addClass("external").attr({ target: "_blank" });
$(".internal").removeClass('external').attr({ target: "_self" });
$(".scroll1Content").mousewheel(function(event, delta) {
        if (delta > 0 ) {
 			theScroll[0].scrollNorth(0);
                    $(this).delay(1000,function(){
                    theScroll[0].endScroll();

    });
		};
		if (delta < 0 ) {
			  theScroll[0].scrollSouth(0);
                    $(this).delay(1000,function(){
                        theScroll[0].endScroll();
    });
		};
		 return false;
                              
});
    $(".scroll1Content").append(' <img src="print.gif" width="31" height="25" align="right" style="cursor:pointer"> <p> &nbsp; </p> <p> &nbsp; </p> ');
	//$("#contentContainer").append('<div id="gartron"> <a href="http://gartron.org/" class="tooltip2" title="http://gartron.org">GaRtRoN DESIGN</a> &copy; 2009</div>');
	$(".popup").hide();
	$(".main_content").hide();
	$(".main_content_long").hide();
    tooltip();
	tooltip2();
	$("#snroll").toggle(
      function () {
        $("#snroll").attr({src : "images/socialnetworking_on.gif"});
		 $("#snrollh").attr({onMouseOut : "", onMouseOver : "" });
		jsSocialN();
      },
      function () {
         $("#snroll").attr({src : "images/socialnetworking_off.gif" });
		 $("#snrollh").attr({onMouseOut : "MM_swapImgRestore()", onMouseOver : "MM_swapImage('snroll','','images/socialnetworking_on.gif',0)" });
		 jsSocialN();
      });

	var top1state = "_o";
	$("#topButton1").children("a").bind("mouseover focus", function(e){
		top1state = $(this).children("img").attr("src").match("_b");
		if(top1state) {
			$(this).children("img").attr("src", $(this).children("img").attr("src").replace("_b","_o"));
			return true;
		}
		top1state = $(this).children("img").attr("src").match("_d");
		if(top1state) {
			$(this).children("img").attr("src", $(this).children("img").attr("src").replace("_d","_o"));
			return true;
		}
		top1state = $(this).children("img").attr("src").match("_l");
		if(top1state) {
			$(this).children("img").attr("src", $(this).children("img").attr("src").replace("_l","_o"));
			return true;
		}
	}).bind("mouseout blur", function(e){
		$(this).children("img").attr("src", $(this).children("img").attr("src").replace("_o",top1state));
	});
	
	var top2state = "_o";
	$("#topButton2").children("a").bind("mouseover focus", function(e){
		top2state = $(this).children("img").attr("src").match("_b");
		if(top2state) {
			$(this).children("img").attr("src", $(this).children("img").attr("src").replace("_b","_o"));
			return true;
		}
		top2state = $(this).children("img").attr("src").match("_d");
		if(top2state) {
			$(this).children("img").attr("src", $(this).children("img").attr("src").replace("_d","_o"));
			return true;
		}
		top2state = $(this).children("img").attr("src").match("_l");
		if(top2state) {
			$(this).children("img").attr("src", $(this).children("img").attr("src").replace("_l","_o"));
			return true;
		}
	}).bind("mouseout blur", function(e){
		$(this).children("img").attr("src", $(this).children("img").attr("src").replace("_o",top2state));
	});
	
	var top3state = "_o";
	$("#topButton3").children("a").bind("mouseover focus", function(e){
		top3state = $(this).children("img").attr("src").match("_b");
		if(top3state) {
			$(this).children("img").attr("src", $(this).children("img").attr("src").replace("_b","_o"));
			return true;
		}
		top3state = $(this).children("img").attr("src").match("_d");
		if(top3state) {
			$(this).children("img").attr("src", $(this).children("img").attr("src").replace("_d","_o"));
			return true;
		}
		top3state = $(this).children("img").attr("src").match("_l");
		if(top3state) {
			$(this).children("img").attr("src", $(this).children("img").attr("src").replace("_l","_o"));
			return true;
		}
	}).bind("mouseout", function(e){
		$(this).children("img").attr("src", $(this).children("img").attr("src").replace("_o",top3state));
	});

//$(document.body).bind("mousedown", function(e){
//	$(".popup").hide(600);
//	$.dimScreenStop(); 
//  });



$(document).bind('keydown', 'esc', function(e){
	$(".popup").hide(600);
	$.dimScreenStop(); 
  });
	
	$(".popup_corner_x").bind("mousedown", function(e){
     $(".popup").hide(600);
  });
	$('img[src="print.gif"]').bind("mousedown", function () { 
     $($(this).parent()).jqprint();
    });
	
	
	$(window).resize(function(){
		sizeElements();
	});
	
});

function sizeElements() {
	var wH = $(window).height();
	redrawScrollbars();
	if(wH > 440){
		$("#contentContainer").height(wH);
		if($(".main_content_long").length){
			wH = wH - 164;
			$(".main_content_long").height(wH);
			wH = wH - 126;	
			$(".root1").height(wH);
			$(".scroll1Container").height(wH).css({'clip' : 'rect(0px, 518px, ' + wH + 'px, 0px)'});
			wH = wH + 200;
		}
	}
	else {
		$("#contentContainer").height(maxSmall+290);
		$(".root1").height(maxSmall);
		$(".scroll1Container").height(maxSmall).css({'clip' : 'rect(0px, 518px, '+maxSmall+'px, 0px)'});
	}
}

function jsAlert(t) {
   $(".popup").hide(600)	
	if(t==0){t=1;}
	var $pt = $("#popup" + t);
	$pt.center(false,true);
	$pt.fadeTo(0, 1);
	$pt.show(700);
	 $(".popup").css({ visibility:"visible"});
    $.dimScreen(1000, 0.65,  function() {});
	$('#__dimScreen').click(function(){$(".popup").hide(600);
	$.dimScreenStop(); 
  });
}

function jsOpenp(t) {
    $(".popup").hide(600)	
	if(t==0){t=1;}
	var $pt = $("#openp" + t);
	$pt.center(false,true);
	$pt.fadeTo(0, 1);
	$pt.show(700);
}

function jsSocialN() {
	var $sn = $("#snbutoff");
	var $snon = $("#snbuton");
	var $logo = $("#socialn");
	$snon.css({ visibility:"visible"});
	$logo.slideToggle(700);
	//$sn.toggle();
	//$snon.toggle();
	

}


function showContent(t) { 
	if(t==0){t=1;}
	var fr = jQuery.url.attr("file") + '?Sc=' + t;
	var $mc = $("#content" + t);
	$(".main_content_long").hide(300);
	$(".main_content").hide(300);
	$mc.center({
		vertical: false,
		horizontal: true
  });
	$mc.css("position","absolute");
	$mc.css("top","153px");
	$mc.css("margin-top","0px");
	$mc.css({ visibility:"visible"});
	$mc.fadeTo(0, 1);
	$mc.show(1000, function(){	
		sizeElements();
	});
	//$("#lang").html('<a href="fr/'+ fr +'">FRAN&Ccedil;AIS</a>')
	//$("#fr").attr("href",fr);	
}

var uid = new Date().getTime();

/* Copyright (c) 2006 Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
 * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
 *
 * $LastChangedDate: 2007-06-20 16:25:35 -0500 (Wed, 20 Jun 2007) $
 * $Rev: 2125 $
 *
 * Version: 2.2
 */
(function($){$.fn.extend({mousewheel:function(f){if(!f.guid)f.guid=$.event.guid++;if(!$.event._mwCache)$.event._mwCache=[];return this.each(function(){if(this._mwHandlers)return this._mwHandlers.push(f);else this._mwHandlers=[];this._mwHandlers.push(f);var s=this;this._mwHandler=function(e){e=$.event.fix(e||window.event);$.extend(e,this._mwCursorPos||{});var delta=0,returnValue=true;if(e.wheelDelta)delta=e.wheelDelta/120;if(e.detail)delta=-e.detail/3;if(window.opera)delta=-e.wheelDelta;for(var i=0;i<s._mwHandlers.length;i++)if(s._mwHandlers[i])if(s._mwHandlers[i].call(s,e,delta)===false){returnValue=false;e.preventDefault();e.stopPropagation();}return returnValue;};if($.browser.mozilla&&!this._mwFixCursorPos){this._mwFixCursorPos=function(e){this._mwCursorPos={pageX:e.pageX,pageY:e.pageY,clientX:e.clientX,clientY:e.clientY};};$(this).bind('mousemove',this._mwFixCursorPos);}if(this.addEventListener)if($.browser.mozilla)this.addEventListener('DOMMouseScroll',this._mwHandler,false);else this.addEventListener('mousewheel',this._mwHandler,false);else
this.onmousewheel=this._mwHandler;$.event._mwCache.push($(this));});},unmousewheel:function(f){return this.each(function(){if(f&&this._mwHandlers){for(var i=0;i<this._mwHandlers.length;i++)if(this._mwHandlers[i]&&this._mwHandlers[i].guid==f.guid)delete this._mwHandlers[i];}else{if($.browser.mozilla&&!this._mwFixCursorPos)$(this).unbind('mousemove',this._mwFixCursorPos);if(this.addEventListener)if($.browser.mozilla)this.removeEventListener('DOMMouseScroll',this._mwHandler,false);else this.removeEventListener('mousewheel',this._mwHandler,false);else
this.onmousewheel=null;this._mwHandlers=this._mwHandler=this._mwFixCursorPos=this._mwCursorPos=null;}});}});$(window).one('unload',function(){var els=$.event._mwCache||[];for(var i=0;i<els.length;i++)els[i].unmousewheel();});})(jQuery);

// -----------------------------------------------------------------------
// eros@recoding.it
// jqprint 0.3
//
// - 19/06/2009 - some new implementations, added Opera support
// - 11/05/2009 - first sketch
//
// Printing plug-in for jQuery, evolution of jPrintArea: http://plugins.jquery.com/project/jPrintArea
// requires jQuery 1.3.x
//------------------------------------------------------------------------

(function($) {
    var opt;

    $.fn.jqprint = function (options) {
        opt = $.extend({}, $.fn.jqprint.defaults, options);

        var $element = (this instanceof jQuery) ? this : $(this);
        
        if (opt.operaSupport && $.browser.opera) 
        { 
            var tab = window.open("","jqPrint-preview");
            tab.document.open();

            var doc = tab.document;
        }
        else 
        {
            var $iframe = $("<iframe  />");
        
            if (!opt.debug) { $iframe.css({ position: "absolute", width: "0px", height: "0px", left: "-600px", top: "-600px" }); }

            $iframe.appendTo("body");
            var doc = $iframe[0].contentWindow.document;
        }
        
        if (opt.importCSS)
        {
            if ($("link[media=print]").length > 0) 
            {
                $("link[media=print]").each( function() {
                    doc.write("<link type='text/css' rel='stylesheet' href='" + $(this).attr("href") + "' media='print' />");
                });
            }
            else 
            {
                $("link").each( function() {
                    doc.write("<link type='text/css' rel='stylesheet' href='" + $(this).attr("href") + "' />");
                });
            }
        }
        
        if (opt.printContainer) { doc.write($element.outer()); }
        else { $element.each( function() { doc.write($(this).html()); }); }
        
        doc.close();
        
        (opt.operaSupport && $.browser.opera ? tab : $iframe[0].contentWindow).focus();
        setTimeout( function() { (opt.operaSupport && $.browser.opera ? tab : $iframe[0].contentWindow).print(); if (tab) { tab.close(); } }, 1000);
    }
    
    $.fn.jqprint.defaults = {
		debug: false,
		importCSS: true, 
		printContainer: true,
		operaSupport: true
	};

    // Thanks to 9__, found at http://users.livejournal.com/9__/380664.html
    jQuery.fn.outer = function() {
      return $($('<div></div>').html(this.clone())).html();
    } 
})(jQuery);

// Delay Plugin for jQuery
// - http://www.evanbot.com
// - &#169; 2008 Evan Byrne


jQuery.fn.delay = function(time,func){
	this.each(function(){
		setTimeout(func,time);
	});
	
	return this;
};
(function($){$.fn.extend({alignWith:function(elem,pos,options){elem=$(elem);var eDom=elem.get(0),eOff=elem.offset(),eX=eOff.left,eY=eOff.top,eW=eDom.offsetWidth,eH=eDom.offsetHeight,pT='',pE='',args=[],rXM=/^([tbcm]{2}|lr|rl)$/i,rXR=/^r?[rtbcm]r?$/i,rYM=/^([lrcm]{2}|tb|bt)$/i,rYB=/^b?[lrbcm]b?$/i,tCss={position:'absolute',left:eX,top:eY},op={x:0,y:0,appendToBody:false};if(undefined!==options){$.extend(op,options);} if(!/^[tblrcm]{1,4}$/.test(pos)){pos='c';} args=pos.split('');switch(args.length){case 1:pT=pE=''+pos+pos;break;case 2:pT=pE=pos;break;case 3:pT=''+args[0]+args[1];pE=''+args[2]+args[2];break;case 4:pT=''+args[0]+args[1];pE=''+args[2]+args[3];break;} return this.each(function(){var t=$(this),tX=eX,tY=eY,tW=this.offsetWidth,tH=this.offsetHeight;if(rXM.test(pT)){tX-=(tW/2);}else if(rXR.test(pT)){tX-=tW;} if(rXM.test(pE)){tX+=(eW/2);}else if(rXR.test(pE)){tX+=eW;} if(rYM.test(pT)){tY-=(tH/2);}else if(rYB.test(pT)){tY-=tH;} if(rYM.test(pE)){tY+=(eH/2);}else if(rYB.test(pE)){tY+=eH;} tX-=parseInt(t.css('margin-left'),10);tY-=parseInt(t.css('margin-top'),10);if(0!==op.x){tX+=parseInt(op.x,10);} if(0!==op.y){tY+=parseInt(op.y,10);} tCss.left=tX;tCss.top=tY;t.css(tCss);if(op.appendToBody){t.appendTo('body');}});}});})(jQuery);

 (function($){dc={dcCreate:function(s,e){o=$.extend({imgPrefix:"/images/",fileType:".gif",expand:10,radius:0,position:"inside",resize:"",exclude:""},s);o.e=$.isArray(o.expand)?o.expand.length==2?{t:o.expand[0],r:o.expand[1],b:o.expand[0],l:o.expand[1]}:{t:o.expand[0],r:o.expand[1],b:o.expand[2],l:o.expand[3]}:{t:o.expand,r:o.expand,b:o.expand,l:o.expand};o.r=$.isArray(o.radius)?o.radius.length==2?{t:o.radius[0]>o.e.t?o.radius[0]-o.e.t:0,r:o.radius[1]>o.e.r?o.radius[1]-o.e.r:0,b:o.radius[0]>o.e.b?o.radius[0]-o.e.b:0,l:o.radius[1]>o.e.l?o.radius[1]-o.e.l:0}:{t:o.radius[0]>o.e.t?o.radius[0]-o.e.t:0,r:o.radius[1]>o.e.r?o.radius[1]-o.e.r:0,b:o.radius[2]>o.e.b?o.radius[2]-o.e.b:0,l:o.radius[3]>o.e.l?o.radius[3]-o.e.l:0}:{t:o.radius>o.e.t?o.radius-o.e.t:0,r:o.radius>o.e.r?o.radius-o.e.r:0,b:o.radius>o.e.b?o.radius-o.e.b:0,l:o.radius>o.e.l?o.radius-o.e.l:0};o.x=o.exclude.replace(/\s/g,"").split(",");return this.each(function(){(g=$(this)).addClass("dCorner").css({"height":g.height(),"width":g.width()});(u=g.find(">.dcContent")).css({"height":u.height(),"width":u.width()});if(o.resize!="")g.find(o.resize).each(function(){$(this).load(function(){$(this).parents(".dCorner").dcResize("r")})});for(x in a=[["t","top"],["r","right"],["b","bottom"],["l","left"]]){s=g.append('<div class="dcItem dc'+a[x][1]+'">'+($.inArray(a[x][1],o.x)==-1?'<img src="'+o.imgPrefix+a[x][1]+o.fileType+'" />':"")+"</div>").find(">.dc"+a[x][1]);if(x!=1&&x!=3){o.position=="inside"?s.css("margin-left",o.e.l+o.r.l).width(g.innerWidth()-(o.r.l+o.e.l+o.r.r+o.e.r)):s.css(a[x][1],-eval("o.e."+a[x][0])).css("margin-left",o.r.l).width(g.innerWidth()-(o.r.l+o.r.r));s.height(eval("o.e."+a[x][0])).css("display","block");for(y in b=[["l","left"],["r","right"]]){c=g.append('<div class="dcItem dc'+a[x][1]+"-"+b[y][1]+'">'+($.inArray(a[x][1]+"-"+b[y][1], o.x)==-1?'<img src="'+o.imgPrefix+a[x][1]+"-"+b[y][1]+o.fileType+'" />':"")+"</div>").find(">.dc"+a[x][1]+"-"+b[y][1]);if(o.position!="inside")c.css(a[x][1],-eval("o.e."+a[x][0])).css(b[y][1],-eval("o.e."+b[y][0]));c.height(eval("o.e."+a[x][0])+eval("o.r."+a[x][0])).width(eval("o.e."+b[y][0])+eval("o.r."+b[y][0])).css("display","block");png(c)}}else{o.position=="inside"?s.css("margin-top",o.e.t+o.r.t).height(g.innerHeight()-(o.r.t+o.e.t+o.r.b+o.e.b)):s.css(a[x][1],-eval("o.e."+a[x][0])).css("margin-top",o.r.t).height(g.innerHeight()-(o.r.t+o.r.b));s.width(eval("o.e."+a[x][0])).css("display","block")}png(s)}widthFix(g);if(e!=false)g.parents(".dCorner").dcResize("r")})},dcResize:function(e){return this.each(function(){if((g=$(this)).hasClass("dCorner")){g.css("zoom","0");if(e=="r")g.css({"height":"","width":""});g.find(">.dctop,>.dcbottom").width(g.innerWidth()-((c=g.find(">.dctop-left")).width()+parseInt(c.css("left").replace("px"))+(d=g.find(">.dctop-right")).width()+parseInt(d.css("right").replace("px"))));g.find(">.dcleft,>.dcright").height(g.innerHeight()-(c.height()+parseInt(c.css("top").replace("px"))+(d=g.find(">.dcbottom-left")).height()+parseInt(d.css("bottom").replace("px"))));widthFix(g);if(e=="r")g.css({"height":g.height(),"width":g.width()});g.css("zoom","1");if(e!=false)g.parents(".dCorner").dcResize("r")}})},dcClear:function(e){return this.each(function(){$(this).removeClass("dCorner").find(">.dcItem").remove();if(e!=false)$(this).parents(".dCorner").dcResize("r")})}};$.each(dc,function(i){$.fn[i]=this});function png(p){if($.browser.msie&&o.fileType==".png"){p.css("filter","progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+(i=$(p).find("img")).attr("src")+"',sizingMethod='scale')");i.css("filter","alpha(opacity=0)")}}function widthFix(c){if($.browser.version<7.0&&$.browser.msie){c.find(">.dctop-right,>.dcright,>.dcbottom-right").css("margin-right",c.innerWidth()%2!=0?"-1px":"0px");c.find(">.dcbottom-left,>.dcbottom,>.dcbottom-right").css("margin-bottom",c.innerHeight()%2!=0?"-1px":"0px")}}})(jQuery);
 
 (function($){$.dimensions={version:'1.2'};$.each(['Height','Width'],function(i,name){$.fn['inner'+name]=function(){if(!this[0])return;var torl=name=='Height'?'Top':'Left',borr=name=='Height'?'Bottom':'Right';return this.is(':visible')?this[0]['client'+name]:num(this,name.toLowerCase())+num(this,'padding'+torl)+num(this,'padding'+borr);};$.fn['outer'+name]=function(options){if(!this[0])return;var torl=name=='Height'?'Top':'Left',borr=name=='Height'?'Bottom':'Right';options=$.extend({margin:false},options||{});var val=this.is(':visible')?this[0]['offset'+name]:num(this,name.toLowerCase())+num(this,'border'+torl+'Width')+num(this,'border'+borr+'Width')+num(this,'padding'+torl)+num(this,'padding'+borr);return val+(options.margin?(num(this,'margin'+torl)+num(this,'margin'+borr)):0);};});$.each(['Left','Top'],function(i,name){$.fn['scroll'+name]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(name=='Left'?val:$(window)['scrollLeft'](),name=='Top'?val:$(window)['scrollTop']()):this['scroll'+name]=val;}):this[0]==window||this[0]==document?self[(name=='Left'?'pageXOffset':'pageYOffset')]||$.boxModel&&document.documentElement['scroll'+name]||document.body['scroll'+name]:this[0]['scroll'+name];};});$.fn.extend({position:function(){var left=0,top=0,elem=this[0],offset,parentOffset,offsetParent,results;if(elem){offsetParent=this.offsetParent();offset=this.offset();parentOffset=offsetParent.offset();offset.top-=num(elem,'marginTop');offset.left-=num(elem,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&$.css(offsetParent,'position')=='static'))offsetParent=offsetParent.offsetParent;return $(offsetParent);}});function num(el,prop){return parseInt($.curCSS(el.jquery?el[0]:el,prop,true))||0;};})(jQuery);
//dimScreen()
//by Brandon Goldman
jQuery.extend({
    //dims the screen
    dimScreen: function(speed, opacity, callback) {
        if(jQuery('#__dimScreen').size() > 0) return;
        
        if(typeof speed == 'function') {
            callback = speed;
            speed = null;
        }

        if(typeof opacity == 'function') {
            callback = opacity;
            opacity = null;
        }

        if(speed < 1) {
            var placeholder = opacity;
            opacity = speed;
            speed = placeholder;
        }
        
        if(opacity >= 1) {
            var placeholder = speed;
            speed = opacity;
            opacity = placeholder;
        }

        speed = (speed > 0) ? speed : 500;
        opacity = (opacity > 0) ? opacity : 0.5;
        return jQuery('<div></div>').attr({
                id: '__dimScreen'
                ,fade_opacity: opacity
                ,speed: speed
            }).css({
            background: '#fff'
	        ,cursor: 'pointer'
            ,height: '100%'
            ,left: '0px'
            ,opacity: 0
            ,position: 'absolute'
            ,top: '0px'
            ,width: '100%'
            ,zIndex: 999
        }).appendTo("#content").fadeTo(speed, opacity, callback);
    },
    
    //stops current dimming of the screen
    dimScreenStop: function(callback) {
        var x = jQuery('#__dimScreen');
        var opacity = x.attr('fade_opacity');
        var speed = x.attr('speed');
        x.fadeOut(speed, function() {
            x.remove();
            if(typeof callback == 'function') callback();
        });
    }
});

//hotkeys 
(function(jQuery){jQuery.fn.__bind__=jQuery.fn.bind;jQuery.fn.__unbind__=jQuery.fn.unbind;jQuery.fn.__find__=jQuery.fn.find;var hotkeys={version:'0.7.9',override:/keypress|keydown|keyup/g,triggersMap:{},specialKeys:{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',109:'-',112:'f1',113:'f2',114:'f3',115:'f4',116:'f5',117:'f6',118:'f7',119:'f8',120:'f9',121:'f10',122:'f11',123:'f12',191:'/'},shiftNums:{"`":"~","1":"!","2":"@","3":"#","4":"$","5":"%","6":"^","7":"&","8":"*","9":"(","0":")","-":"_","=":"+",";":":","'":"\"",",":"<",".":">","/":"?","\\":"|"},newTrigger:function(type,combi,callback){var result={};result[type]={};result[type][combi]={cb:callback,disableInInput:false};return result;}};hotkeys.specialKeys=jQuery.extend(hotkeys.specialKeys,{96:'0',97:'1',98:'2',99:'3',100:'4',101:'5',102:'6',103:'7',104:'8',105:'9',106:'*',107:'+',109:'-',110:'.',111:'/'});jQuery.fn.find=function(selector){this.query=selector;return jQuery.fn.__find__.apply(this,arguments);};jQuery.fn.unbind=function(type,combi,fn){if(jQuery.isFunction(combi)){fn=combi;combi=null;}
if(combi&&typeof combi==='string'){var selectorId=((this.prevObject&&this.prevObject.query)||(this[0].id&&this[0].id)||this[0]).toString();var hkTypes=type.split(' ');for(var x=0;x<hkTypes.length;x++){delete hotkeys.triggersMap[selectorId][hkTypes[x]][combi];}}
return this.__unbind__(type,fn);};jQuery.fn.bind=function(type,data,fn){var handle=type.match(hotkeys.override);if(jQuery.isFunction(data)||!handle){return this.__bind__(type,data,fn);}
else{var result=null,pass2jq=jQuery.trim(type.replace(hotkeys.override,''));if(pass2jq){result=this.__bind__(pass2jq,data,fn);}
if(typeof data==="string"){data={'combi':data};}
if(data.combi){for(var x=0;x<handle.length;x++){var eventType=handle[x];var combi=data.combi.toLowerCase(),trigger=hotkeys.newTrigger(eventType,combi,fn),selectorId=((this.prevObject&&this.prevObject.query)||(this[0].id&&this[0].id)||this[0]).toString();trigger[eventType][combi].disableInInput=data.disableInInput;if(!hotkeys.triggersMap[selectorId]){hotkeys.triggersMap[selectorId]=trigger;}
else if(!hotkeys.triggersMap[selectorId][eventType]){hotkeys.triggersMap[selectorId][eventType]=trigger[eventType];}
var mapPoint=hotkeys.triggersMap[selectorId][eventType][combi];if(!mapPoint){hotkeys.triggersMap[selectorId][eventType][combi]=[trigger[eventType][combi]];}
else if(mapPoint.constructor!==Array){hotkeys.triggersMap[selectorId][eventType][combi]=[mapPoint];}
else{hotkeys.triggersMap[selectorId][eventType][combi][mapPoint.length]=trigger[eventType][combi];}
this.each(function(){var jqElem=jQuery(this);if(jqElem.attr('hkId')&&jqElem.attr('hkId')!==selectorId){selectorId=jqElem.attr('hkId')+";"+selectorId;}
jqElem.attr('hkId',selectorId);});result=this.__bind__(handle.join(' '),data,hotkeys.handler)}}
return result;}};hotkeys.findElement=function(elem){if(!jQuery(elem).attr('hkId')){if(jQuery.browser.opera||jQuery.browser.safari){while(!jQuery(elem).attr('hkId')&&elem.parentNode){elem=elem.parentNode;}}}
return elem;};hotkeys.handler=function(event){var target=hotkeys.findElement(event.currentTarget),jTarget=jQuery(target),ids=jTarget.attr('hkId');if(ids){ids=ids.split(';');var code=event.which,type=event.type,special=hotkeys.specialKeys[code],character=!special&&String.fromCharCode(code).toLowerCase(),shift=event.shiftKey,ctrl=event.ctrlKey,alt=event.altKey||event.originalEvent.altKey,mapPoint=null;for(var x=0;x<ids.length;x++){if(hotkeys.triggersMap[ids[x]][type]){mapPoint=hotkeys.triggersMap[ids[x]][type];break;}}
if(mapPoint){var trigger;if(!shift&&!ctrl&&!alt){trigger=mapPoint[special]||(character&&mapPoint[character]);}
else{var modif='';if(alt)modif+='alt+';if(ctrl)modif+='ctrl+';if(shift)modif+='shift+';trigger=mapPoint[modif+special];if(!trigger){if(character){trigger=mapPoint[modif+character]||mapPoint[modif+hotkeys.shiftNums[character]]||(modif==='shift+'&&mapPoint[hotkeys.shiftNums[character]]);}}}
if(trigger){var result=false;for(var x=0;x<trigger.length;x++){if(trigger[x].disableInInput){var elem=jQuery(event.target);if(jTarget.is("input")||jTarget.is("textarea")||jTarget.is("select")||elem.is("input")||elem.is("textarea")||elem.is("select")){return true;}}
result=result||trigger[x].cb.apply(this,[event]);}
return result;}}}};window.hotkeys=hotkeys;return jQuery;})(jQuery);

jQuery.url=function(){var segments={};var parsed={};var options={url:window.location,strictMode:false,key:["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],q:{name:"queryKey",parser:/(?:^|&)([^&=]*)=?([^&]*)/g},parser:{strict:/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,loose:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/}};var parseUri=function(){str=decodeURI(options.url);var m=options.parser[options.strictMode?"strict":"loose"].exec(str);var uri={};var i=14;while(i--){uri[options.key[i]]=m[i]||""}uri[options.q.name]={};uri[options.key[12]].replace(options.q.parser,function($0,$1,$2){if($1){uri[options.q.name][$1]=$2}});return uri};var key=function(key){if(!parsed.length){setUp()}if(key=="base"){if(parsed.port!==null&&parsed.port!==""){return parsed.protocol+"://"+parsed.host+":"+parsed.port+"/"}else{return parsed.protocol+"://"+parsed.host+"/"}}return(parsed[key]==="")?null:parsed[key]};var param=function(item){if(!parsed.length){setUp()}return(parsed.queryKey[item]===null)?null:parsed.queryKey[item]};var setUp=function(){parsed=parseUri();getSegments()};var getSegments=function(){var p=parsed.path;segments=[];segments=parsed.path.length==1?{}:(p.charAt(p.length-1)=="/"?p.substring(1,p.length-1):path=p.substring(1)).split("/")};return{setMode:function(mode){strictMode=mode=="strict"?true:false;return this},setUrl:function(newUri){options.url=newUri===undefined?window.location:newUri;setUp();return this},segment:function(pos){if(!parsed.length){setUp()}if(pos===undefined){return segments.length}return(segments[pos]===""||segments[pos]===undefined)?null:segments[pos]},attr:key,param:param}}();
