/**
 * @author Alexander Farkas
 * v. 1.21
 */


(function($) {
	if(!document.defaultView || !document.defaultView.getComputedStyle){ // IE6-IE8
		var oldCurCSS = jQuery.curCSS;
		jQuery.curCSS = function(elem, name, force){
			if(name === 'background-position'){
				name = 'backgroundPosition';
			}
			if(name !== 'backgroundPosition' || !elem.currentStyle || elem.currentStyle[ name ]){
				return oldCurCSS.apply(this, arguments);
			}
			var style = elem.style;
			if ( !force && style && style[ name ] ){
				return style[ name ];
			}
			return oldCurCSS(elem, 'backgroundPositionX', force) +' '+ oldCurCSS(elem, 'backgroundPositionY', force);
		};
	}
	
	var oldAnim = $.fn.animate;
	$.fn.animate = function(prop){
		if('background-position' in prop){
			prop.backgroundPosition = prop['background-position'];
			delete prop['background-position'];
		}
		if('backgroundPosition' in prop){
			prop.backgroundPosition = '('+ prop.backgroundPosition;
		}
		return oldAnim.apply(this, arguments);
	};
	
	function toArray(strg){
		strg = strg.replace(/left|top/g,'0px');
		strg = strg.replace(/right|bottom/g,'100%');
		strg = strg.replace(/([0-9\.]+)(\s|\)|$)/g,"$1px$2");
		var res = strg.match(/(-?[0-9\.]+)(px|\%|em|pt)\s(-?[0-9\.]+)(px|\%|em|pt)/);
		return [parseFloat(res[1],10),res[2],parseFloat(res[3],10),res[4]];
	}
	
	$.fx.step. backgroundPosition = function(fx) {
		if (!fx.bgPosReady) {
			var start = $.curCSS(fx.elem,'backgroundPosition');
			
			if(!start){//FF2 no inline-style fallback
				start = '0px 0px';
			}
			
			start = toArray(start);
			
			fx.start = [start[0],start[2]];
			
			var end = toArray(fx.options.curAnim.backgroundPosition);
			fx.end = [end[0],end[2]];
			
			fx.unit = [end[1],end[3]];
			fx.bgPosReady = true;
		}
		//return;
		var nowPosX = [];
		nowPosX[0] = ((fx.end[0] - fx.start[0]) * fx.pos) + fx.start[0] + fx.unit[0];
		nowPosX[1] = ((fx.end[1] - fx.start[1]) * fx.pos) + fx.start[1] + fx.unit[1];           
		fx.elem.style.backgroundPosition = nowPosX[0]+' '+nowPosX[1];

	};
})(jQuery);

/*!
 * Color animation jQuery-plugin
 * http://www.bitstorm.org/jquery/color-animation/
 * Based on code copyright 2007 John Resig
 * Copyright 2010 Edwin Martin <edwin@bitstorm.org>
 * Released under the MIT and GPL licenses.
 */

(function($) {
	var properties = ['color', 'backgroundColor', 'borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor', 'outlineColor'];
	$.each(properties, function(i, property) {
		$.fx.step[property] = function(fx) {
			if (!fx.init) {
				fx.begin = parseColor($(fx.elem).css(property));
				fx.end = parseColor(fx.end);
				fx.init = true;
			}

			fx.elem.style[property] = calculateColor(fx.begin, fx.end, fx.pos);
		}
	});

	// borderColor doesn't fit in standard fx.step above.
	$.fx.step.borderColor = function(fx) {
		if (!fx.init) {
			fx.end = parseColor(fx.end);
		}
		var borders = properties.slice(2, 6); // All four border properties
		$.each(borders, function(i, property) {
			if (!fx.init) {
				fx[property] = {begin: parseColor($(fx.elem).css(property))};
			}

			fx.elem.style[property] = calculateColor(fx[property].begin, fx.end, fx.pos);
		});
		fx.init = true;
	}

	// Calculate an in-between color. Returns "#aabbcc"-like string.
	function calculateColor(begin, end, pos) {
		return '#'
				+ get2hex(begin[0] + pos * (end[0] - begin[0]))
				+ get2hex(begin[1] + pos * (end[1] - begin[1]))
				+ get2hex(begin[2] + pos * (end[2] - begin[2]));
	}

	// Get two-digits hex number
	function get2hex(i) {
		var hex = parseInt(i).toString(16);
		return hex.length == 1 ? '0'+hex : hex;
	}

	// Parse an CSS-syntax color. Outputs an array [r, g, b]
	function parseColor(color) {
		var match, triplet;

		// Match #aabbcc
		if (match = /#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})/.exec(color)) {
			triplet = [parseInt(match[1], 16), parseInt(match[2], 16), parseInt(match[3], 16)];

			// Match #abc
		} else if (match = /#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])/.exec(color)) {
			triplet = [parseInt(match[1], 16) * 17, parseInt(match[2], 16) * 17, parseInt(match[3], 16) * 17];

			// Match rgb(n, n, n)
		} else if (match = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color)) {
			triplet = [parseInt(match[1]), parseInt(match[2]), parseInt(match[3])];

			// No browser returns rgb(n%, n%, n%), so little reason to support this format.
		}

		return triplet;
	}
})(jQuery);

/*
 * jOla jQuery plugin - Rel. 0.1
 *
 * Copyright (c) 2010 Giovanni Casassa (senamion.com - senamion.it)
 *
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://www.senamion.com
 *
 */


(function($)
{
	$.fn.jOla = function(o) {

		o = $.extend({
			speed: 40,
			expansion: 5,
			multiplier: 1.2,
			rStart: 0,
			gStart: 0,
			bStart: 255,
			rStep: 8,
			gStep: 0,
			bStep: -32,
			position: 0,
			color: true,
			size: true,
			bottomadd: 0,
			bottomstart: 0
		}, o);

		return this.each(function(i) {
			var el = $(this);
			var	uuid = (el.attr('id') || el.attr('class') || 'internalName') + '_jlb';
			var currentFontSizeNum = parseInt(el.css("font-size"));
			var currentFontColor = el.css("color");
			var myText = "";
			var aStr = el.text().split("");
			var	position = o.position;

			for (var len in aStr)
				myText += "<span style='position: relative' id='jOla_" + uuid + "_" + len + "'>" + aStr[len] + "</span>";
			el.html(myText);

			var t = setInterval(function() {
				var	newFontSize = currentFontSizeNum;
				var	newBottomVal = o.bottomstart;

				if (o.size) {
					$("#jOla_" + uuid + "_" + position).css({fontSize: currentFontSizeNum});
					for (i=0;i<=o.expansion;i++) {
						newFontSize *= o.multiplier;
						$("#jOla_" + uuid + "_" + (position+1+i) + ", #jOla_" + uuid + "_" + (position+1+(o.expansion*2)-i))
							.css({fontSize: newFontSize});
					}
				}
				if (o.color) {
					$("#jOla_" + uuid + "_" + position).css({"color": currentFontColor});
					for (i=0;i<=o.expansion;i++) {
						$("#jOla_" + uuid + "_" + (position+1+i) + ", #jOla_" + uuid + "_" + (position+1+(o.expansion*2)-i))
							.css({"color": "rgb("+(o.rStart+(o.rStep*i))+","+(o.gStart+(o.gStep*i))+","+(o.bStart+(o.bStep*i))+")"});
					}
				}

				if (o.bottomadd != 0 && o.bottomstart != 0) {
					$("#jOla_" + uuid + "_" + position).css({"top": "0"});
					for (i=0;i<=o.expansion;i++) {
						newBottomVal += o.bottomadd;
						$("#jOla_" + uuid + "_" + (position+1+i) + ", #jOla_" + uuid + "_" + (position+1+(o.expansion*2)-i))
							.css({"top": newBottomVal});
					}
				}
				position ++;
				
				if (position > len)
					clearInterval(t);
			}, o.speed);
		});
	};
})(jQuery);


/**
 * @license 
 * jQuery Tools 1.2.5 Overlay - Overlay base. Extend it.
 * 
 * NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.
 * 
 * http://flowplayer.org/tools/overlay/
 *
 * Since: March 2008
 * Date:    Wed Sep 22 06:02:10 2010 +0000 
 */
(function($) { 

	// static constructs
	$.tools = $.tools || {version: '1.2.5'};
	
	$.tools.overlay = {
		
		addEffect: function(name, loadFn, closeFn) {
			effects[name] = [loadFn, closeFn];	
		},
	
		conf: {  
			close: null,	
			closeOnClick: true,
			closeOnEsc: true,			
			closeSpeed: 'fast',
			effect: 'default',
			
			// since 1.2. fixed positioning not supported by IE6
			fixed: !$.browser.msie || $.browser.version > 6, 
			
			left: 'center',		
			load: false, // 1.2
			mask: null,  
			oneInstance: true,
			speed: 'normal',
			target: null, // target element to be overlayed. by default taken from [rel]
			top: '10%'
		}
	};

	
	var instances = [], effects = {};
		
	// the default effect. nice and easy!
	$.tools.overlay.addEffect('default', 
		
		/* 
			onLoad/onClose functions must be called otherwise none of the 
			user supplied callback methods won't be called
		*/
		function(pos, onLoad) {
			
			var conf = this.getConf(),
				 w = $(window);				 
				
			if (!conf.fixed)  {
				pos.top += w.scrollTop();
				pos.left += w.scrollLeft();
			} 
				
			pos.position = conf.fixed ? 'fixed' : 'absolute';
			this.getOverlay().css(pos).fadeIn(conf.speed, onLoad); 
			
		}, function(onClose) {
			this.getOverlay().fadeOut(this.getConf().closeSpeed, onClose); 			
		}		
	);		

	
	function Overlay(trigger, conf) {		
		
		// private variables
		var self = this,
			 fire = trigger.add(self),
			 w = $(window), 
			 closers,            
			 overlay,
			 opened,
			 maskConf = $.tools.expose && (conf.mask || conf.expose),
			 uid = Math.random().toString().slice(10);		
		
			 
		// mask configuration
		if (maskConf) {			
			if (typeof maskConf == 'string') { maskConf = {color: maskConf}; }
			maskConf.closeOnClick = maskConf.closeOnEsc = false;
		}			 
		 
		// get overlay and triggerr
		var jq = conf.target || trigger.attr("rel");
		overlay = jq ? $(jq) : null || trigger;	
		
		// overlay not found. cannot continue
		if (!overlay.length) { throw "Could not find Overlay: " + jq; }
		
		// trigger's click event
		if (trigger && trigger.index(overlay) == -1) {
			trigger.click(function(e) {				
				self.load(e);
				return e.preventDefault();
			});
		}   			
		
		// API methods  
		$.extend(self, {

			load: function(e) {
				
				// can be opened only once
				if (self.isOpened()) { return self; }
				
				// find the effect
		 		var eff = effects[conf.effect];
		 		if (!eff) { throw "Overlay: cannot find effect : \"" + conf.effect + "\""; }
				
				// close other instances?
				if (conf.oneInstance) {
					$.each(instances, function() {
						this.close(e);
					});
				}
				
				// onBeforeLoad
				e = e || $.Event();
				e.type = "onBeforeLoad";
				fire.trigger(e);				
				if (e.isDefaultPrevented()) { return self; }				

				// opened
				opened = true;
				
				// possible mask effect
				if (maskConf) { $(overlay).expose(maskConf); }				
				
				// position & dimensions 
				var top = conf.top,					
					 left = conf.left,
					 oWidth = overlay.outerWidth({margin:true}),
					 oHeight = overlay.outerHeight({margin:true}); 
				
				if (typeof top == 'string')  {
					top = top == 'center' ? Math.max((w.height() - oHeight) / 2, 0) : 
						parseInt(top, 10) / 100 * w.height();			
				}				
				
				if (left == 'center') { left = Math.max((w.width() - oWidth) / 2, 0); }

				
		 		// load effect  		 		
				eff[0].call(self, {top: top, left: left}, function() {					
					if (opened) {
						e.type = "onLoad";
						fire.trigger(e);
					}
				}); 				

				// mask.click closes overlay
				if (maskConf && conf.closeOnClick) {
					$.mask.getMask().one("click", self.close); 
				}
				
				// when window is clicked outside overlay, we close
				if (conf.closeOnClick) {
					$(document).bind("click." + uid, function(e) { 
						if (!$(e.target).parents(overlay).length) { 
							self.close(e); 
						}
					});						
				}						
			
				// keyboard::escape
				if (conf.closeOnEsc) { 

					// one callback is enough if multiple instances are loaded simultaneously
					$(document).bind("keydown." + uid, function(e) {
						if (e.keyCode == 27) { 
							self.close(e);	 
						}
					});			
				}

				
				return self; 
			}, 
			
			close: function(e) {

				if (!self.isOpened()) { return self; }
				
				e = e || $.Event();
				e.type = "onBeforeClose";
				fire.trigger(e);				
				if (e.isDefaultPrevented()) { return; }				
				
				opened = false;
				
				// close effect
				effects[conf.effect][1].call(self, function() {
					e.type = "onClose";
					fire.trigger(e); 
				});
				
				// unbind the keyboard / clicking actions
				$(document).unbind("click." + uid).unbind("keydown." + uid);		  
				
				if (maskConf) {
					$.mask.close();		
				}
				 
				return self;
			}, 
			
			getOverlay: function() {
				return overlay;	
			},
			
			getTrigger: function() {
				return trigger;	
			},
			
			getClosers: function() {
				return closers;	
			},			

			isOpened: function()  {
				return opened;
			},
			
			// manipulate start, finish and speeds
			getConf: function() {
				return conf;	
			}			
			
		});
		
		// callbacks	
		$.each("onBeforeLoad,onStart,onLoad,onBeforeClose,onClose".split(","), function(i, name) {
				
			// configuration
			if ($.isFunction(conf[name])) { 
				$(self).bind(name, conf[name]); 
			}

			// API
			self[name] = function(fn) {
				if (fn) { $(self).bind(name, fn); }
				return self;
			};
		});
		
		// close button
		closers = overlay.find(conf.close || ".close");		
		
		if (!closers.length && !conf.close) {
			closers = $('<a class="close"></a>');
			overlay.prepend(closers);	
		}		
		
		closers.click(function(e) { 
			self.close(e);  
		});	
		
		// autoload
		if (conf.load) { self.load(); }
		
	}
	
	// jQuery plugin initialization
	$.fn.overlay = function(conf) {   
		
		// already constructed --> return API
		var el = this.data("overlay");
		if (el) { return el; }	  		 
		
		if ($.isFunction(conf)) {
			conf = {onBeforeLoad: conf};	
		}

		conf = $.extend(true, {}, $.tools.overlay.conf, conf);
		
		this.each(function() {		
			el = new Overlay($(this), conf);
			instances.push(el);
			$(this).data("overlay", el);	
		});
		
		return conf.api ? el: this;		
	}; 
	
})(jQuery);


/*
 * jQuery Tools 1.2.5 - The missing UI library for the Web
 * 
 * [tooltip, tooltip.slide]
 * 
 * NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.
 * 
 * http://flowplayer.org/tools/
 * 
 * File generated: Wed Jan 12 17:14:25 GMT 2011
 */
(function(f){function p(a,b,c){var h=c.relative?a.position().top:a.offset().top,d=c.relative?a.position().left:a.offset().left,i=c.position[0];h-=b.outerHeight()-c.offset[0];d+=a.outerWidth()+c.offset[1];if(/iPad/i.test(navigator.userAgent))h-=f(window).scrollTop();var j=b.outerHeight()+a.outerHeight();if(i=="center")h+=j/2;if(i=="bottom")h+=j;i=c.position[1];a=b.outerWidth()+a.outerWidth();if(i=="center")d-=a/2;if(i=="left")d-=a;return{top:h,left:d}}function u(a,b){var c=this,h=a.add(c),d,i=0,j=
0,m=a.attr("title"),q=a.attr("data-tooltip"),r=o[b.effect],l,s=a.is(":input"),v=s&&a.is(":checkbox, :radio, select, :button, :submit"),t=a.attr("type"),k=b.events[t]||b.events[s?v?"widget":"input":"def"];if(!r)throw'Nonexistent effect "'+b.effect+'"';k=k.split(/,\s*/);if(k.length!=2)throw"Tooltip: bad events configuration for "+t;a.bind(k[0],function(e){clearTimeout(i);if(b.predelay)j=setTimeout(function(){c.show(e)},b.predelay);else c.show(e)}).bind(k[1],function(e){clearTimeout(j);if(b.delay)i=
setTimeout(function(){c.hide(e)},b.delay);else c.hide(e)});if(m&&b.cancelDefault){a.removeAttr("title");a.data("title",m)}f.extend(c,{show:function(e){if(!d){if(q)d=f(q);else if(b.tip)d=f(b.tip).eq(0);else if(m)d=f(b.layout).addClass(b.tipClass).appendTo(document.body).hide().append(m);else{d=a.next();d.length||(d=a.parent().next())}if(!d.length)throw"Cannot find tooltip for "+a;}if(c.isShown())return c;d.stop(true,true);var g=p(a,d,b);b.tip&&d.html(a.data("title"));e=e||f.Event();e.type="onBeforeShow";
h.trigger(e,[g]);if(e.isDefaultPrevented())return c;g=p(a,d,b);d.css({position:"absolute",top:g.top,left:g.left});l=true;r[0].call(c,function(){e.type="onShow";l="full";h.trigger(e)});g=b.events.tooltip.split(/,\s*/);if(!d.data("__set")){d.bind(g[0],function(){clearTimeout(i);clearTimeout(j)});g[1]&&!a.is("input:not(:checkbox, :radio), textarea")&&d.bind(g[1],function(n){n.relatedTarget!=a[0]&&a.trigger(k[1].split(" ")[0])});d.data("__set",true)}return c},hide:function(e){if(!d||!c.isShown())return c;
e=e||f.Event();e.type="onBeforeHide";h.trigger(e);if(!e.isDefaultPrevented()){l=false;o[b.effect][1].call(c,function(){e.type="onHide";h.trigger(e)});return c}},isShown:function(e){return e?l=="full":l},getConf:function(){return b},getTip:function(){return d},getTrigger:function(){return a}});f.each("onHide,onBeforeShow,onShow,onBeforeHide".split(","),function(e,g){f.isFunction(b[g])&&f(c).bind(g,b[g]);c[g]=function(n){n&&f(c).bind(g,n);return c}})}f.tools=f.tools||{version:"1.2.5"};f.tools.tooltip=
{conf:{effect:"toggle",fadeOutSpeed:"fast",predelay:0,delay:30,opacity:1,tip:0,position:["top","center"],offset:[0,0],relative:false,cancelDefault:true,events:{def:"mouseenter,mouseleave",input:"focus,blur",widget:"focus mouseenter,blur mouseleave",tooltip:"mouseenter,mouseleave"},layout:"<div/>",tipClass:"tooltip"},addEffect:function(a,b,c){o[a]=[b,c]}};var o={toggle:[function(a){var b=this.getConf(),c=this.getTip();b=b.opacity;b<1&&c.css({opacity:b});c.show();a.call()},function(a){this.getTip().hide();
a.call()}],fade:[function(a){var b=this.getConf();this.getTip().fadeTo(b.fadeInSpeed,b.opacity,a)},function(a){this.getTip().fadeOut(this.getConf().fadeOutSpeed,a)}]};f.fn.tooltip=function(a){var b=this.data("tooltip");if(b)return b;a=f.extend(true,{},f.tools.tooltip.conf,a);if(typeof a.position=="string")a.position=a.position.split(/,?\s/);this.each(function(){b=new u(f(this),a);f(this).data("tooltip",b)});return a.api?b:this}})(jQuery);
(function(d){var i=d.tools.tooltip;d.extend(i.conf,{direction:"up",bounce:false,slideOffset:10,slideInSpeed:200,slideOutSpeed:200,slideFade:!d.browser.msie});var e={up:["-","top"],down:["+","top"],left:["-","left"],right:["+","left"]};i.addEffect("slide",function(g){var a=this.getConf(),f=this.getTip(),b=a.slideFade?{opacity:a.opacity}:{},c=e[a.direction]||e.up;b[c[1]]=c[0]+"="+a.slideOffset;a.slideFade&&f.css({opacity:0});f.show().animate(b,a.slideInSpeed,g)},function(g){var a=this.getConf(),f=a.slideOffset,
b=a.slideFade?{opacity:0}:{},c=e[a.direction]||e.up,h=""+c[0];if(a.bounce)h=h=="+"?"-":"+";b[c[1]]=h+"="+f;this.getTip().animate(b,a.slideOutSpeed,function(){d(this).hide();g.call()})})})(jQuery);



/**
 *  jQuery Plugin textgrad, version 0.1
 *  (c) 2007 Guillaume Andrieu, sub-tenante@gmail.com (remove hyphen)
 *  http://github.com/subtenante/TextGrad
 *  Licensed GPL licenses:
 *   http://www.gnu.org/licenses/gpl.html
 *
 * v0.1:
 *  Compatible with jQuery 1.4.2 thanks to alexn's fix.
 */
(function($){

/**
 * SPANIZE routine
 */
$.spanizeText = function(obj,spanClass,maxGroup){
  var text=$(obj).html();
  var res = "";
  var tag="";
  var spanlength=1;
  var reg = new RegExp ("^([^\\s<&]|&[a-z]*;){1,"+maxGroup+"}");
  while (text.length>0){
    if (tag=text.match(/^(\s|(<[^>]*>))+\s*/)){
      if (tag.length>0){
      text = text.substr(tag[0].length);
      res+=tag[0];}}
    if (tag=text.match(reg)){spanlength=tag[0].length;}
    else spanlength=1;
    res+="<span"+(spanClass==''?'':' class="'+spanClass+'"')+">"+text.substring(0,spanlength)+"</span>";
    text=text.substring(spanlength);
  }
  $(obj).html(res);
};

/**
 * spanize jquery function
 */
$.fn.spanize = function(spanClass,maxGroup){
  $(this).each(function(){$.spanizeText(this,spanClass,maxGroup);});
};

/**
 * UNSPANIZE routine
 */
$.unspanize = function(obj,spanClass){
  var text=$(obj).html();
  var reg = new RegExp ("<(?:span|SPAN)[^>]*"+(spanClass==''?'':' class=(?:"|\')?'+spanClass+'(?:"|\')?')+">([^<\\s]+)</(?:span|SPAN)>",'g');
  text=text.replace(reg,"$1");
  //alert($(obj).html()+"\n\n"+text);
  $(obj).html(text);
};

/**
 * unspanize jquery function
 */
$.fn.unspanize = function(spanClass){
  $(this).each(function(){$.unspanize(this,spanClass);});
}



$.str2color = function(str){
  if (str && str.constructor == Array && str.length == 3) return str;
  var res;
  if (str.match(/rgb\([0-9]{1,3},[0-9]{1,3},[0-9]{1,3}\)/)){
    str.replace("rgb(","");str.replace(")","");
    res=str.split(",");
    for(i=0;i<3;i++){if (res[i]>255) res[i]=255;}
    return res;}
  else if (str.match(/#?[0-9a-fA-F]{6}/)){
    if (str.length==7) str=str.substring(1);
    res = [parseInt(str.substring(0,2),16),
           parseInt(str.substring(2,4),16),
           parseInt(str.substring(4,6),16)];}
  else if(str.match(/#?[0-9a-fA-F]{3}/)){
    if (str.length==4) str=str.substring(1);
    res =  [parseInt(str.substring(0,1)+str.substring(0,1),16),
            parseInt(str.substring(1,2)+str.substring(1,2),16),
            parseInt(str.substring(2,3)+str.substring(2,3),16)];}
  else res = [0,0,0];
  return res;};

/**
 * DEFAULTS for textgrad
 */
$.textGrad = {};
$.textGrad.defaults = {
debut:'F00',
fin:'0FF',
maxGroup:3,
type:'',
spanClass:''
};

/**
 * textgrad jquery function
 */
$.fn.textgrad=function(settings){

  //+++++ FUNCTIONS
  var abspos = function(jobj){
    var curleft = 0;
    var curtop = 0;
    if (jobj.offsetParent) {
      curleft += jobj.offsetLeft;
      curtop += jobj.offsetTop;
      var obj=jobj;
      while (obj = obj.offsetParent) {
        curleft += obj.offsetLeft;
        curtop += obj.offsetTop;}}
    return [curleft,curtop];};

  var pos = function(jobj){
    var res=abspos(jobj);
    return [res[0]-0.5*jobj.offsetWidth,res[1]+0.5*jobj.offsetHeight];};

  var boxpos = function(jobj){
    var tpos = abspos(jobj);
    $(jobj).prepend('<span class="test">p</span>');
    var res = [tpos[0]+0.5*$('span.test',jobj).get(0).offsetWidth,
    tpos[1]+0.5*$('span.test',jobj).get(0).offsetHeight,
    jobj.offsetWidth-0.5*$('span.test',jobj).get(0).offsetWidth,
    jobj.offsetHeight-0.5*$('span.test',jobj).get(0).offsetHeight];
    // thanks to alexn
    $('span.test:lt(1)',jobj).remove();
    return res;};

  var spandim = function(span){
    var tpos = pos(span);
    var res = [tpos[0],tpos[1],0.5*span.offsetWidth,0.5*span.offsetHeight];
    return res;};

  var pickingrad = function(point){
    if (grad.length==0) return [0,0,0];
    if (grad.length==1) return grad[0]['col'];

    point=100*point;
    if (point<=grad[0]['pc']) {
      //alert(point+" "+grad[0]['col']);
      return grad[0]['col'];}
    if (point>=grad[grad.length-1]['pc']) {
      //alert(point+" "+grad[0]['col']);
      return grad[grad.length-1]['col'];}

    var mins=0;var maxs=100;var minc=[0,0,0];var maxc=[0,0,0];
    var i=0;
    while(point>=grad[i]['pc'] && i<grad.length){mins=grad[i]['pc'];minc=grad[i]['col'];i++;}
    i=grad.length-1;
    while(point<=grad[i]['pc'] && i>=0){maxs=grad[i]['pc'];maxc=grad[i]['col'];i--;}
    var res=[0,0,0];
    var mult = (point-mins)/(maxs-mins);
    for(i=0;i<3;i++){res[i]=minc[i]+(maxc[i]-minc[i])*mult;}
    //alert(minc+"\n"+maxc+"\n"+point+"\n"+mult+"\n"+res);
    return res;
  };

  var getcolor = function(span,bp){
    var sp=spandim(span);
    var res=[0,0,0];
    if (type=='|'){
      var delta=(sp[1]-bp[1])/bp[3];
    }
    else if (type=='o'){
      Cx=bp[0]+bp[2]/2;Cy=bp[1]+bp[3]/2;
      r=Math.sqrt((Cx-sp[0])*(Cx-sp[0])+(Cy-sp[1])*(Cy-sp[1]));
      R=Math.sqrt((bp[2])*(bp[2])/4+(bp[3])*(bp[3])/4);
      var delta =r/R;
    }
    else if (type=='_' || 2.5*sp[3]>bp[3]){
      var delta=(sp[0]-bp[0])/bp[2];
    }
    else if (type=='/'){
      multx=(sp[0]-bp[0])/bp[2];
      multy=(bp[3]-sp[1]+bp[1])/bp[3];
      var delta = (multx+multy)/2;
    }
    else{
      multx=(sp[0]-bp[0])/bp[2];
      multy=(sp[1]-bp[1])/bp[3];
      var delta = (multx+multy)/2;
    }
    var res = pickingrad(delta);
    res = "rgb("+Math.round(res[0])+","+Math.round(res[1])+","+Math.round(res[2])+")";
    //alert(sp+"\n"+bp+"\n"+$(span).text()+"\n"+res);
    return res;
  };

  var treatgrad=function(){
    for(i=0;i<opt['colgrad'].length;i++){
      opt['colgrad'][i]['col']=$.str2color(opt['colgrad'][i]['col']);}
    return opt['colgrad'];
  };
  //----- FUNCTIONS

  //+++++ PARAMS
  var opt = settings||{};
  var d = $.textGrad.defaults;
  var coldeb=$.str2color(opt['debut']||opt['begin']||d['debut']);
  var colfin=$.str2color(opt['fin']||opt['end']||d['fin']);
  var grad=opt['colgrad']?treatgrad():[{pc:0,col:coldeb},{pc:100,col:colfin}];
  var maxGroup = opt['maxGroup']||d['maxGroup'];
  var type = opt['type']||d['type'];
  var spanize = opt['spanize']||1;
  var spanClass = opt['spanClass']||d['spanClass'];
  //----- PARAMS

  $(this).each(function(){

    if (spanize>0) $.spanizeText(this,spanClass,maxGroup);

    var blockpos=boxpos(this);

    $("span"+(spanClass==''?'':'.'+spanClass),this).each(function(){$(this).css('color',getcolor(this,blockpos))});

    if (opt['cb'] && opt['cb'].constructor == Function) opt['cb'].call(this);

  });//EO $(this).each(...);
};//EO $.fn.textgrad

/**
 * textscan jquery function
 */
$.fn.textscan = function(settings){

  var opt = settings||{};
  var initColor = $.str2color(opt['initColor']||"000");
  var endColor  = $.str2color(opt['endColor']||"F00");
  var transColor= $.str2color(opt['transColor']||"FFF");
  var spcl = opt['spanClass']||'animgradsp';
  var direction = opt['direction']||'->';
  var mg = opt['maxGroup']||2;
  var spnz = opt['spanize']||1;
  var unspnz = opt['unspanize']||1;
  var amplitude = opt['amplitude']||20;
  var step = opt['step']||5;

  $(this).each(function(){
    var timer;
    var steps = 100+2*amplitude;
    var currStep=(direction=='->'?0:100);
    var grad;
    var obj=this;
    $(this).textgrad({spanize:spnz,maxGroup:mg,spanClass:spcl,debut:initColor,fin:initColor});
    timer = window.setInterval(function() {
      if(direction=='->'){
      currStep+=step;
      grad=[{pc:currStep-2*amplitude,col:endColor}
           ,{pc:currStep-amplitude,col:transColor}
           ,{pc:currStep,col:initColor}];}
      else{
      currStep-=step;
      grad=[{pc:currStep,col:initColor}
           ,{pc:currStep+amplitude,col:transColor}
           ,{pc:currStep+2*amplitude,col:endColor}];}
      $(obj).textgrad({spanize:-1,spanClass:spcl,colgrad:grad});
      // End the process
      if (currStep >= steps+1 || currStep<=-2*amplitude-1) {
        if (unspnz>0){
          $.unspanize(obj,spcl);}
        window.clearInterval(timer);timer=null;
        if (opt['cb'] && opt['cb'].constructor == Function) opt['cb'].call(obj);
      }
    },50);
  });//EO each
};//EO textscan*/


/*EOP*/
})(jQuery);


(function($){$.gritter={};$.gritter.options={fade_in_speed:'medium',fade_out_speed:1000,time:6000}
$.gritter.add=function(params){try{return Gritter.add(params||{});}catch(e){var err='Gritter Error: '+e;(typeof(console)!='undefined'&&console.error)?console.error(err,params):alert(err);}}
$.gritter.remove=function(id,params){Gritter.removeSpecific(id,params||{});}
$.gritter.removeAll=function(params){Gritter.stop(params||{});}
var Gritter={fade_in_speed:'',fade_out_speed:'',time:'',_custom_timer:0,_item_count:0,_is_setup:0,_tpl_close:'<div class="gritter-close"></div>',_tpl_item:'<div id="gritter-item-[[number]]" class="gritter-item-wrapper [[item_class]]" style="display:none"><div class="gritter-top"></div><div class="gritter-item">[[image]]<div class="[[class_name]]"><span class="gritter-title">[[username]]</span><p>[[text]]</p></div><div style="clear:both"></div></div><div class="gritter-bottom"></div></div>',_tpl_wrap:'<div id="gritter-notice-wrapper"></div>',add:function(params){if(!params.title||!params.text){throw'You need to fill out the first 2 params: "title" and "text"';}
if(!this._is_setup){this._runSetup();}
var user=params.title,text=params.text,image=params.image||'',sticky=params.sticky||false,item_class=params.class_name||'',time_alive=params.time||'';this._verifyWrapper();this._item_count++;var number=this._item_count,tmp=this._tpl_item;$(['before_open','after_open','before_close','after_close']).each(function(i,val){Gritter['_'+val+'_'+number]=($.isFunction(params[val]))?params[val]:function(){}});this._custom_timer=0;if(time_alive){this._custom_timer=time_alive;}
var image_str=(image!='')?'<img src="'+image+'" class="gritter-image" />':'',class_name=(image!='')?'gritter-with-image':'gritter-without-image';tmp=this._str_replace(['[[username]]','[[text]]','[[image]]','[[number]]','[[class_name]]','[[item_class]]'],[user,text,image_str,this._item_count,class_name,item_class],tmp);this['_before_open_'+number]();$('#gritter-notice-wrapper').append(tmp);var item=$('#gritter-item-'+this._item_count);item.fadeIn(this.fade_in_speed,function(){Gritter['_after_open_'+number]($(this));});if(!sticky){this._setFadeTimer(item,number);}
$(item).bind('mouseenter mouseleave',function(event){if(event.type=='mouseenter'){if(!sticky){Gritter._restoreItemIfFading($(this),number);}}
else{if(!sticky){Gritter._setFadeTimer($(this),number);}}
Gritter._hoverState($(this),event.type);});return number;},_countRemoveWrapper:function(unique_id,e){e.remove();this['_after_close_'+unique_id](e);if($('.gritter-item-wrapper').length==0){$('#gritter-notice-wrapper').remove();}},_fade:function(e,unique_id,params,unbind_events){var params=params||{},fade=(typeof(params.fade)!='undefined')?params.fade:true;fade_out_speed=params.speed||this.fade_out_speed;this['_before_close_'+unique_id](e);if(unbind_events){e.unbind('mouseenter mouseleave');}
if(fade){e.animate({opacity:0},fade_out_speed,function(){e.animate({height:0},300,function(){Gritter._countRemoveWrapper(unique_id,e);})})}
else{this._countRemoveWrapper(unique_id,e);}},_hoverState:function(e,type){if(type=='mouseenter'){e.addClass('hover');var find_img=e.find('img');(find_img.length)?find_img.before(this._tpl_close):e.find('span').before(this._tpl_close);e.find('.gritter-close').click(function(){var unique_id=e.attr('id').split('-')[2];Gritter.removeSpecific(unique_id,{},e,true);});}
else{e.removeClass('hover');e.find('.gritter-close').remove();}},removeSpecific:function(unique_id,params,e,unbind_events){if(!e){var e=$('#gritter-item-'+unique_id);}
this._fade(e,unique_id,params||{},unbind_events);},_restoreItemIfFading:function(e,unique_id){clearTimeout(this['_int_id_'+unique_id]);e.stop().css({opacity:''});},_runSetup:function(){for(opt in $.gritter.options){this[opt]=$.gritter.options[opt];}
this._is_setup=1;},_setFadeTimer:function(e,unique_id){var timer_str=(this._custom_timer)?this._custom_timer:this.time;this['_int_id_'+unique_id]=setTimeout(function(){Gritter._fade(e,unique_id);},timer_str);},stop:function(params){var before_close=($.isFunction(params.before_close))?params.before_close:function(){};var after_close=($.isFunction(params.after_close))?params.after_close:function(){};var wrap=$('#gritter-notice-wrapper');before_close(wrap);wrap.fadeOut(function(){$(this).remove();after_close();});},_str_replace:function(search,replace,subject,count){var i=0,j=0,temp='',repl='',sl=0,fl=0,f=[].concat(search),r=[].concat(replace),s=subject,ra=r instanceof Array,sa=s instanceof Array;s=[].concat(s);if(count){this.window[count]=0;}
for(i=0,sl=s.length;i<sl;i++){if(s[i]===''){continue;}
for(j=0,fl=f.length;j<fl;j++){temp=s[i]+'';repl=ra?(r[j]!==undefined?r[j]:''):r[0];s[i]=(temp).split(f[j]).join(repl);if(count&&s[i]!==temp){this.window[count]+=(temp.length-s[i].length)/f[j].length;}}}
return sa?s:s[0];},_verifyWrapper:function(){if($('#gritter-notice-wrapper').length==0){$('body').append(this._tpl_wrap);}}}})(jQuery);


/*
 *  vFlection.js 1.0 - jQuery plugin
 *  Written by Anthony J. Montalvo  
 *  Vortex Computing L.L.C.
 *
 *  Original Idea By Roman Cortes
 * 
 *  Copyright (c) 2010 Anthony J. Montalvo  
 *  Licensed under the GPL (GPL-LICENSE.txt).
 *
 *  Built for jQuery library
 *  http://jquery.com
 * 
 *  Example:
 * 
 * $('.menu-item a').vflection({
 * color:'black',  
 * parent: 'li',
 * height: 20,
 * darkness: 20,
 * opacity: 20
 * });
 *  
 * <ul>
 *  <li class="text menu-item" ><a href="#">Home</a></li> 
 *  <li class="text menu-item" ><a href="#">About Us</a></li> 
 * </ul>
 *
 */
(function($){$.fn.extend({vflection:function(options){var defaults={color:"black",height:20,darkness:20,opacity:20,parent:"li",top:0};var options=$.extend(defaults,options);return this.each(function(index){var i=$(this);options.top=parseInt(i.css("font-size"));for(var n=0;n<options.height;n++)
{if(k=document.getElementById(index+'reflection'+n))document.body.removeChild(k);var c=$(document.createElement('div')).css({"height":'1px',"padding-right":i.css("padding-right"),"padding-left":i.css("padding-left"),"overflow":'hidden',"opacity":((options.opacity-n)/(options.opacity*10)).toPrecision(1),"position":'relative'}).addClass(index+'_reflection_'+n);var d=$(document.createElement('div')).css({"color":options.color,"fontFamily":i.css("font-family"),"fontSize":i.css("font-size"),"fontWeight":i.css("font-weight"),"lineHeight":i.css("line-height"),"marginTop":(n-options.top)+'px',}).addClass("text").text($.trim(i.text()));c[0].appendChild(d[0]);i.parents(options.parent).get(0).appendChild(c[0]);}});}});})(jQuery);
 
 /**
 * FontEffect - jQuery plugin for font effect
 *
 * @author Alessandro Uliana (fonteffect@iofo.it)
 *
 * Copyright (c) 2009 Alessandro Uliana
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 * Demo and examples on
 * http://www.iofo.it/jquery/fonteffect/
 *
 * @requires jQuery v1.3.2
 * @version: 1.0.0 - 30/3/2009
 */
(function($){var FE={};FE.divcounter=0;FE.tabpos=["","0001021020212212","00010203041020304041424344142434","000102030405061020304050606162636465162636465666"];FE.font={serif:"Georgia, 'Times New Roman', 'Century Schoolbook L', serif",sans_serif:"Verdana, Helvetica, Arial, 'URW Gothic L', sans-serif",monospace:"'Courier New', Courier, 'DejaVu Sans Mono', monospace",fantasy:"Impact, Papyrus, fantasy",cursive:"'Comic Sans MS' cursive"};$.fn.FontEffect=function(o){var d=$.extend({outline:false,outlineColor1:"",outlineColor2:"",outlineWeight:1,mirror:false,mirrorColor:"#000",mirrorOffset:-10,mirrorHeight:50,mirrorDetail:1,mirrorTLength:50,mirrorTStart:0.2,shadow:false,shadowColor:"#aaa",shadowOffsetTop:5,shadowOffsetLeft:5,shadowBlur:1,shadowOpacity:0.1,gradient:false,gradientColor:"",gradientFromTop:true,gradientPosition:20,gradientLength:50,gradientSteps:20,proportional:false,hideText:false,debug:false},o);this.not(".JQFE").each(function(){if(!d.outline&&!d.shadow&&!d.mirror&&!d.gradient){d.outline=true;};if(d.outline){if(d.outlineColor1==""&&d.outlineColor2==""){d.outlineColor1=pickcontrast($(this).css("color"));};if(d.outlineColor2=="")d.outlineColor2=d.outlineColor1;};if(d.gradient&&d.gradientColor==""){d.gradientColor=pickcontrast($(this).css("color"));};var userdisplay=$(this).css("display");var userposition=$(this).css("position");$(this).css({display:"inline",position:((userposition=="absolute")?"absolute":"relative")});var h=$(this).height();var w=$(this).width()*1.04;var W=w+"px";var H=h+"px";var t=$(this).html();$(this).data("options",d).addClass("JQFE").css({width:W,height:H,display:userdisplay,position:(($(this).css("position")!="absolute")?"relative":"absolute"),zoom:1});var MyContainer=$("<div></div>").css({width:W,height:H,position:"relative"});MyContainer.append($("<div class='JQFEText'>"+t+"</div>").css({display:d.hideText?"none":"inline",width:W,height:H,position:"relative",zIndex:100}));var alldivsup=$("<div></div>").css({width:W,height:H,left:"0px",position:"absolute",top:parseInt($(this).css("paddingTop"))*0+"px",zIndex:110});var alldivsdown=$(alldivsup).clone().css({zIndex:90});FE.divounter+=4;$(this).html("");if(d.mirror){for(i=0;i<h*(d.mirrorHeight/100);i++){if(d.proportional){var css_top1=(h+d.mirrorOffset+i*d.mirrorDetail).pxToEm({scope:this});var css_height=d.mirrorDetail.pxToEm({scope:this});var css_top2=((h*-1)+i*(100/d.mirrorHeight)).pxToEm({scope:this});}
else{var css_top1=(h+d.mirrorOffset+i*d.mirrorDetail)+"px";var css_height=d.mirrorDetail+"px";var css_top2=((h*-1)+i*(100/d.mirrorHeight))+"px";};var css_opacity=d.mirrorTStart-(i*(d.mirrorTStart/((d.mirrorHeight/100)*d.mirrorTLength)));var appo=$("<div class='JQFEMirror'></div>").css({position:"absolute",top:css_top1,height:css_height,width:W,overflow:"hidden"}).append($("<div>"+t+"</div>").css({position:"absolute",color:d.mirrorColor,top:css_top2,opacity:css_opacity}));FE.divounter+=i*2;if(css_opacity<0.01)break;alldivsdown.append(appo);};};if(d.outline){var totdiv=(d.outlineWeight)*8;var to=FE.tabpos[d.outlineWeight];for(i=0;i<totdiv;i++){appo=$("<div class='JQFEOutline'>"+t+"</div>").css({position:"absolute",top:(to.charAt(i*2)-d.outlineWeight)+"px",left:(to.charAt(i*2+1)-d.outlineWeight)+"px",width:W,color:((i<totdiv/2+d.outlineWeight)?d.outlineColor1:d.outlineColor2),zIndex:((i>totdiv-totdiv/3)?20:30)});FE.divounter+=i;alldivsdown.append(appo);};};if(d.shadow){var totdiv=(d.shadowBlur)*8;var to=FE.tabpos[d.shadowBlur];for(i=0;i<totdiv;i++){appo=$("<div class='JQFEShadow'>"+t+"</div>").css({opacity:d.shadowOpacity,position:"absolute",top:(to.charAt(i*2)-d.shadowBlur)+d.shadowOffsetTop+"px",left:(to.charAt(i*2+1)-d.shadowBlur)+d.shadowOffsetLeft+"px",width:W,height:H,color:d.shadowColor,zIndex:10});FE.divounter+=i;alldivsdown.append(appo);};};if(d.gradient){var step=Math.round((h*(d.gradientLength*0.01))/d.gradientSteps);var postop=h*(d.gradientPosition*0.01);var opa=(1/d.gradientSteps);var gcolor=d.gradientColor;for(i=0;i<d.gradientSteps;i++){if(d.proportional){css_top1=(((i==0)?0:postop)+i*step).pxToEm({scope:this});css_height=(((i==0)?postop:0)+step).pxToEm({scope:this});css_top2=((((i==0)?0:postop)+i*step)*-1).pxToEm({scope:this});}
else{css_top1=(((i==0)?0:postop)+i*step)+"px";css_height=(((i==0)?postop:0)+step)+"px";css_top2=((((i==0)?0:postop)+i*step)*-1)+"px";};appo=$("<div class='JQFEGradient'></div>").css({position:"absolute",top:css_top1,height:css_height,left:"0px",width:W,overflow:"hidden"}).append($("<div>"+t+"</div>").css({width:"100%",position:"absolute",top:css_top2,color:gcolor,opacity:1-opa*i}));FE.divounter+=i*2;alldivsup.append(appo);};};MyContainer.append(alldivsdown);MyContainer.append(alldivsup);$(this).append(MyContainer);});function hex2rgb(hexcolor){hexcolor=hexcolor.substring(1);if(hexcolor.length==3)hexcolor=hexcolor.charAt(0)+hexcolor.charAt(0)+hexcolor.charAt(1)+hexcolor.charAt(1)+hexcolor.charAt(2)+hexcolor.charAt(2);var rgbcolor="rgb("+parseInt(hexcolor.substring(0,2),16)+", "+parseInt(hexcolor.substring(2,4),16)+", "+parseInt(hexcolor.substring(4,6),16)+")";return(rgbcolor);};function chkColorString(col){return(/(#([0-9A-Fa-f]{3,6})\b)|(rgb\(\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*\))|(rgb\(\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*\))/.test(col));};function pickcontrast(col){if(chkColorString(col)){col=col.toUpperCase();if(col.charAt(0)=="#")col=hex2rgb(col);var appo=col.substring(4,col.length-1).split(", ");var g=255-parseInt(appo[0]);var b=255-parseInt(appo[1]);var r=255-parseInt(appo[2]);col="rgb("+r+", "+g+", "+b+")";};return(col);};return this;};$.fn.changeOptionsFE=function(newoptions){if(this){var oldoptions=$(this).data("options")||{};$.extend(oldoptions,newoptions);$(this).data("options",oldoptions);};};$.fn.redrawFE=function(newoptions){if(this){if(newoptions)$(this).changeOptionsFE(newoptions);$(this).removeFE();$(this).FontEffect($(this).data("options"));};};$.fn.removeFE=function(removeoptions){if(this&&$(this).hasClass("JQFE")){var t=$(this).find("div[class='JQFEText']").html();$(this).removeClass("JQFE");if(removeoptions)$(this).data("options",{});$(this).find("div[class^='JQFE']").remove();$(this).html(t);};};})(jQuery);Number.prototype.pxToEm=String.prototype.pxToEm=function(settings){settings=$.extend({scope:'body',reverse:false},settings);var pxVal=(this=='')?0:parseFloat(this);var scopeVal;var getWindowWidth=function(){var de=document.documentElement;return self.innerWidth||(de&&de.clientWidth)||document.body.clientWidth;};if(settings.scope=='body'&&$.browser.msie&&(parseFloat($('body').css('font-size'))/getWindowWidth()).toFixed(1)>0.0){var calcFontSize=function(){return(parseFloat($('body').css('font-size'))/getWindowWidth()).toFixed(3)*16;};scopeVal=calcFontSize();}
else{scopeVal=parseFloat($(settings.scope).css("font-size"));};var result=(settings.reverse==true)?(pxVal*scopeVal).toFixed(2)+'px':(pxVal/scopeVal).toFixed(2)+'em';return result;};

/*!
 * Text Animation v1.2.0
 * http://sideroad.secret.jp/
 *
 * Copyright (c) 2009 sideroad
 *
 * licensed under the MIT licenses.
 * Date: 2009-03-01
 */
//TextAnimation Plugin
(function($) {  
      
    $.fn.textAnimation = function(settings) {  
      
	    if($.browser.msie) return this;
        var container = this;
        settings = $.extend({  
            mode : "roll"
        }, settings);
            
        function parse(e){
            if(e.hasClass("isTextAnimated")) return;
            var text = e.text();
            e.html("");
            for(var i=0;i< text.length;i++) {
                var span = $("<span></span>").text(text.charAt(i));
                e.append(span);
            }
            e.addClass("isTextAnimated");
        }
            
        function parseDiv(e,width,verticalAlign){
            if(e.hasClass("isTextAnimated")) return;
            var text = e.text();
            e.html("");
			
			//css setting
			var css = {position:"absolute"};
			verticalAlign = verticalAlign || "bottom";
			css[verticalAlign] = "0px";
            
			//width setting
			if(width === false) width = e[0].style.fontSize.replace(/px/,"")/1.25;
			
			for(var i=0;i< text.length;i++) {
				css.left = width*i;
                var div = $("<div></div>").text(text.charAt(i)).css(css);
				e.append(div);
            }
            e.addClass("isTextAnimated").css({position:"relative"});
        }
		
		function execute(options,start,finish){
			var time  = options.time;
			var interval = options.interval;
            var repeat = options.repeat;
            var startId;
			var amountInterval = interval + time;
			if(finish) amountInterval*=2;
			var e = options.e;
			
			if (options.onStart) {
				e.bind(options.onStart, function(){
					if (startId) return;
					start();
					if (repeat) {
						startId = setInterval(start, amountInterval);
						if (finish) {
							setTimeout(function(){
								finish();
								if (repeat) 
									setInterval(finish, amountInterval);
							}, amountInterval / 2);
						}
					}
				});
			} else {
                start();
                if(repeat) setInterval(start, amountInterval);
				if(finish) {
					setTimeout(function(){
                        finish();
                        if(repeat) setInterval(finish, amountInterval);
					},amountInterval/2);
				}
			}
			if (options.onFinish) {
                e.bind(options.onFinish, function(){
                    if (startId && repeat) {
						clearInterval(startId);
						startId = false;
					}
					if(finish) finish();
					
                });
			}
		}
			
        
		var f = {
			roll: function(e){
                var options = $.extend({
                    e : e,
					minsize : 15,
					magnification:15,
					delay : 20,
                    onStart : false,
					onFinish : false,
					onToggle : false,
					stuff : 1,
					fixed : "bottom"
                },settings);
                
                parseDiv(e,options.minsize/options.stuff,options.fixed);
				var i = 0;
                var minsize = options.minsize;
                var magnification = options.magnification;
                e.css({height:minsize+magnification+"px",textAlign:"center"});
				var elements = e.children();
				var de = options.delay;
                var r = function(){
                    i--;
                    elements.each(function(j){
                        var fontSize = Math.abs(Math.sin((i+j)/de)*magnification)+minsize;
                        this.style.fontSize = fontSize+"px";
						this.style.width = minsize+"px";
                    });
                };
				
				if (options.onStart) {
					var intervalId;
                    e.bind(options.onStart, function(){
						r();
						intervalId = setInterval(r,30);
					});
					e.bind(options.onFinish,function(){
						if(intervalId) clearInterval(intervalId);
					});
				} else {
					r();
					setInterval(r, 30);
				}
			},
			
			step : function(e) {
                var options = $.extend({
                    e : e,
                    minsize : 12,
                    maxsize :35,
					fixed : "bottom",
					upper : true,
					stuff: 2.0,
                    delay : 50,
                    interval : 3000,
                    duration : 300,
					repeat: true,
                    onStart : false,
                    onFinish : false
                },settings);
                
                parseDiv(e,options.minsize,options.fixed);
                e.css({height:options.maxsize+"px",textAlign:"center"});
				var elements = e.children().css({
					fontSize: "0px",
					width: "0px",
					left: "0px",
					opacity: 0
				});
				var length = elements.length;
				var m = (options.maxsize-options.minsize) / (length-1);
			    var ba = options.minsize;
				var upper = options.upper;
				if (!upper) {
					m *= -1;
					ba = options.maxsize;
				}
                var du = options.duration;
                var de = options.delay;
				var st = options.stuff;
				var interval = options.interval;
				
                var start = function(){
                    var left = 0;
                    elements.each(function(i){
                        var c = $(this);
                        
                        setTimeout(function(){
                            var fs = ba + (m * i);
                            c.animate({
                                fontSize:fs+"px",
                                width : fs,
                                left: left,
								opacity:1.0
                            },{
                                duration: du
                            });
                            left += (fs / st);
                            
                        },de*i);
                    });
                }
                var finish = function(){
                    elements.each(function(i){
                        var c = $(this);
                                                
                        setTimeout(function(){
                            c.animate({
                                fontSize: "0px",
                                width: 0,
                                left: 0,
                                opacity:0
                            },{
                                duration: du
                            });
                            
                        },de*i);
                    });
                }
				
				options.time = (options.delay * length);
				execute(options,start, finish);
			},
            
            highlight:function(e){
                var options = $.extend({
                    e : e,
                    baseColor : "#AAAAAA",
                    highlightColor : "#FDFF00",
                    delay : 50,
                    interval : 100,
                    duration : 300,
                    repeat: true,
                    onStart : false,
                    onFinish : false
                },settings);
                
                parse(e);
                var i = 0;
                var elements = e.children().css({color:options.baseColor});
                var length = elements.length;
                if(!options.interval && !options.delay) options.interval = 100;
                var hc = options.highlightColor;
                var bc = options.baseColor;
                var du = options.duration;
                var de = options.delay;
                
                var start = function(){
                    elements.each(function(i){
                        var s = $(this);
                        setTimeout(function(){
                            s.animate({
                                color: hc
                            }, {
                                duration: du
                            }).animate({
                                color: bc
                            },{
                                duration: du
                            });
                        },de*i);
                    });
                }
                
                options.time = (options.delay * length);
                execute(options,start);
            },
            
            jump:function(e){
                var options = $.extend({
                    e : e,
                    altitude : 30,
					bound : true,
                    delay : 400,
                    interval : 300,
                    duration : 600,
                    fixed : "bottom",
                    repeat: true,
                    onStart : false,
                    onFinish : false
                },settings);
                
                parseDiv(e,false,options.fixed);
                e.css({height:e[0].style.fontSize});
                var i = 0;
                var elements = e.children();
                var length = elements.length;
                if(!options.interval && !options.delay) options.interval = 100;
                var al = options.altitude;
                var bo = options.bound;
                var du = options.duration;
                var de = options.delay;
				var ea = options.bound ? "easeOutBounce" : "easeInQuad";
				var fi = options.fixed;
                
                var start = function(){
                    elements.each(function(i){
                        var s = $(this);
                        setTimeout(function(){
							var cssleave = {};
                            cssleave[fi] = al;
							var cssarrive = {};
                            cssarrive[fi] = 0;
                            s.animate(cssleave, {
                                duration: du,
								easing : "swing"
                            }).animate(cssarrive,{
                                duration: du,
								easing : ea
                            });
                        },de*i);
                    });
                }
                
                options.time = (options.delay * length);
                execute(options,start);
            } ,
            
            puff : function(e) {
                var options = $.extend({
                    e : e,
                    duration : 400,
                    interval : 400,
                    onStart : false,
                    onFinish : false,
                    repeat : true,
                    percent : 300,
                    color : false,
					times : 1
                },settings);
                
				var times = options.times;
				var du = options.duration/options.times;
                var start = function(){
					var f = function(){
                            var position = e.position();
                            var css = {
                                "position": "absolute",
                                "left": position.left + "px",
                                "top": position.top + "px",
                                "z-index": -1000
                            };
                            if (options.color) 
                                css.color = options.color;
                            if (options.backgroundColor) 
                                css.backgroundColor = options.backgroundColor;
                            
                            e.clone().attr("id", "").insertBefore(e).css(css).hide("puff", {
                                percent: options.percent
                            }, options.duration, function(){
                                $(this).remove();
                            });
				    }
					f();
                    for(var i=0;i<times-1;i++) {
						setTimeout(f,du*i);
					}
                }
                options.time = options.duration;
                execute(options,start);
            },
            
            bigMessage : function(e) {
                var options = $.extend({
                    e : e,
                    duration : 700,
                    interval : 5000,
                    onStart : false,
                    onFinish : false,
                    repeat : false,
                    color : false,
					repeat:false,
					scale : 0.7
                },settings);
                
				var css ={
                    position: "relative",
                    fontStyle: "monospace",
                    top: 0,
                    overflow: "hidden"
                };
				if(options.color) css.color = options.color;
				
				var message = $("<div></div>").text(e.text()).css(css);
				var container = $("<div></div>").css({
                        position:"fixed",
                        overflow:"hidden"
                }).append(message);
                var length = message.text().length;
				var du = options.duration*length;
				var sc = options.scale;
                var start = function(){
                    var bWidth = $(window).width();
                    var bHeight = $(window).height();
                    var fontSize = bHeight*sc;

					container.css({
                        top : (bHeight/2)-(fontSize/2),
                        width : bWidth,
                        height: fontSize
                    });

                    $(document.body).append(container);
                    message.css({
                        fontSize : fontSize+"px",
                        left : bWidth,
                        width : fontSize*length/2,
                        height: fontSize
					}).animate({
						left : -1*fontSize*length/2
					},{
						easing:"linear",
						duration: du,
						complete: function(){
							container.remove();
						}
					});
                }
                options.time = du;
                execute(options,start);
            }
		}
		
        return container.each(function(){  
            f[settings.mode]($(this));
        });
    }
  
})(jQuery);

/*
 * jEffects - jQuery Plugin
 * Simple and fancy animated effects
 *
 * Documentation included in package bought on CodeCanyon
 * 
 * Copyright (c) 2010 Rezoner Sikorski
 *
 * Version: 1.0.32 (09/06/2010)
 * Requires: jQuery v1.42+
 *
 */
 
 (function($) {
	
	var config = {
		setRelativePosition : true,
		relativeZIndex : 4,
		disableIE6 : true,
		disableIE7 : false
	};

	var defaults = {
		fireball : {
			chars : [ '.', 'o', '&middot;', '&bull;'  ],
			chaos:200,			
			colors : [ '#f40', '#fa0', '#c40' ],
			duration: 2000,
			particles: 10,
			randomizeParticles : false,
			targetX: -200,
			targetY: -200
		},
		bomb : {
			chars : [ '.', 'o', '&middot;', '&bull;'  ],
			colors : [ '#aaa', '#bbb', '#fff' ],
			duration: 1000,
			particles: 8,
			randomizeParticles : false,
			radius:100,			
			targetX: 0,
			targetY: 0
		},
		concentrate : {
			chars : [ '.', '&bull;', '&middot;' ],
			colors : [ '#af8', '#4c8', '#4cf' ],
			duration: 1000,
			particles: 12,
			randomizeParticles : false,
			radius:100			
		},						
		snow : {
			chars : [ '.', 'o', '&middot;', '&bull;'  ],
			colors : [ '#fff', '#8cf', '#6ae' ],
			duration: 1200,	
			particles: 6,
			randomizeParticles : false,
			range: 80
		},
		bubbles : {
			chars : [ '.', 'o', '&middot;', '&bull;'  ],
			colors : [ '#48c', '#8ef', '#8cf' ],
			duration: 1200,	
			particles: 6,
			randomizeParticles : false,
			range: 80
		},
		distance : {
			maxFont : 40,
			minFont : 16
		}
		
		
	};
	
var charsTable = [ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' ];
var lastChar = '';
/* common functions ----------------------------------------------------------*/

	function echo ( text ) {
			$("body").append("<p>"+text+"</p>");
	}
	
	function isArray(obj) {
	    return obj.constructor == Array;
	}
	
	/* distance between two points */
	
	function distance(x1, y1, x2, y2 ){
	
	   var dx = x1 - x2;
	   var dy = y1 - y2;
	
	   return Math.sqrt(dx*dx + dy*dy);
	}
	
/* Fireball Effect -----------------------------------------------------------*/

	function fireball( $o, data ) {
	
		var color = data.colors[ Math.floor( Math.random() * data.colors.length ) ];
		
		var step = 2 * Math.PI / ( data.particles );
	
		var oWidth = $o.width();
		var x = $o.offset().left;  
		var y = $o.offset().top;
		
		angle = -1 + Math.random() * 2;

		for( i=0 ; i<data.particles ; i++ ) {
	
		if( data.randomizeParticles )
			color = data.colors[ Math.floor( Math.random() * data.colors.length ) ];
			
			var $p = $("<div>"+data.chars[Math.floor(Math.random()*data.chars.length )]+"</div>");
			$p.addClass('jEffects-'+data.type+'-particle').addClass('jEffects-particle');;
	
			var sx = x + Math.floor(Math.random()*oWidth);
			
			$p.css({ left:sx, top:y, color:color });
				
			$p.animate({
				left: x + oWidth / 2 + data.targetX + Math.cos( angle + i * step ) * data.chaos,
				top:  y + data.targetY + data.chaosY * Math.sin( angle + i * step ) * data.chaos,
				opacity:0 }, data.duration, "swing", function(){
				$(this).remove();
			});
			
			$("body").append( $p );
		}
	
	}

/* Bubbles Effect ------------------------------------------------------------*/

	function bubbles( $o, data ) {
	
		var color = data.colors[ Math.floor( Math.random() * data.colors.length ) ];
		
		var step = 2 * Math.PI / ( data.particles );
	
		var oWidth = $o.width();
		
		var x = $o.offset().left;  
		
		if( data.direction == 'down' )
		var y = $o.offset().top + $o.height() / 2;
			else 
		var y = $o.offset().top;
	
		var ty = y + ( data.direction == 'up' ? -data.range : data.range ); 
		
		for( i=0 ; i<data.particles ; i++ ) {
	
		if( data.randomizeParticles )
			color = data.colors[ Math.floor( Math.random() * data.colors.length ) ];
			
			var $p = $("<div>"+data.chars[Math.floor(Math.random()*data.chars.length )]+"</div>");
			$p.addClass('jEffects-'+data.type+'-particle').addClass('jEffects-particle');
			
			var tx = x + Math.floor(Math.random()*oWidth);
			
			$p.css({ left:tx, top:y, color:color });
					
			$p.animate({
				top: ty,
				opacity:0 }, data.duration, "swing", function(){
				$(this).remove();
			});
			
			$("body").append( $p );
		}
	
	}

/* Concentrate Effect --------------------------------------------------------*/

	function concentrate( $o, data ) {
	
		var $p = $("<div>X</div>");
		$p.addClass('jEffects-'+data.type+'-particle').addClass('jEffects-particle');
		$("body").append($p);		
			
		var color = data.colors[ Math.floor( Math.random() * data.colors.length ) ];
		
		var step = 2 * Math.PI / ( data.particles );

		var x = $o.offset().left + $o.width() / 2 + $p.width() / 2;
		var y = $o.offset().top + $o.height() / 2 - $p.height() / 2;
		
		$p.remove();
		
		angle = -1 + Math.random() * 2;
		
		for( i=0 ; i<data.particles ; i++ ) {
	
	
		if( data.randomizeParticles )
			color = data.colors[ Math.floor( Math.random() * data.colors.length ) ];
			
			$p = $("<div>"+data.chars[Math.floor(Math.random()*data.chars.length )]+"</div>");
			$p.addClass('jEffects-'+data.type+'-particle').addClass('jEffects-particle');
			
			$p.css({ 
				left: x + Math.cos( angle + i * step ) * data.radius,
				top:  y + Math.sin( angle + i * step ) * data.radius,
				color:color, opacity:0 
			});
				
			$p.animate({
				left:x, top:y, 
				opacity:1 }, data.duration, "swing", function(){
				$(this).remove();
			});
			
			$("body").append( $p );
		}
	
	}

/* Distance Effect -----------------------------------------------------------*/

	function distanceMenu( $o, e, data ) {
			
		$o.children().each( function( i, c ){
		$c = $(c);
		
		var cx = $c.offset().left + $c.width() / 2;  
		var cy = $c.offset().top + $c.height() / 2;
			
		var fs = data.maxFont - distance( e.pageX, e.pageY, cx, cy ) / 7;
			
		if( fs < data.minFont ) fs = data.minFont;
		if( fs > data.maxFont ) fs = data.maxFont;
			
		$c.stop().css( { "font-size":fs } );
			
		});
		
	}
	
	function setup ( $o, effect ){
	
		if( $.fx.off ) return false;	 
	
		var data = $.extend( {}, defaults[effect.type], effect );

		if( data.catchChars )
			$o.keydown( function( e ){
			if( e.which > 32 && e.which <= 90 ) 
				lastChar = String.fromCharCode( e.which );
			else
			lastChar = '';
			data.chars = [ lastChar ];
		});
	
		if( undefined === data.event ) {
			if( ( $o.attr('tagName') == 'INPUT' && $o.attr('type') == 'text' ) || $o.attr('tagName') == 'TEXTAREA' ) { 
				data.event = 'keydown';
			}
			else
				data.event = 'mouseenter';
		}
		
		if( config.setRelativePosition )
		$o.css({position:"relative", 'z-index':config.relativeZIndex });
		
		switch( data.type ) {
			case 'fireball':
				data.chaosY = false;
				$o.bind( data.event, function(){
					fireball( $o, data );	
				});	
			break;
			case 'bomb':
				data.chaosY = true;
				data.chaos = data.radius;
				$o.bind( data.event, function(){
					fireball( $o, data );	
				});	
			break;			
			case 'bubbles':
				$o.bind( data.event, function(){
					data.direction = 'up';
					bubbles( $o, data );	
				});	
			break;
			case 'snow':
				$o.bind( data.event, function(){
					data.direction = 'down';
					bubbles( $o, data );	
				});	
			break;
			case 'concentrate':
				$o.bind( data.event, function(){
					concentrate( $o, data );	
				});	
			break;			
			case 'distance':
				$o.children().css( { "font-size":data.minFont } );
				$o.bind( 'mousemove', function( e ){
					distanceMenu( $o, e, data );	
				});	
			$o.bind( 'mouseleave', function( e ){
				$o.children().stop().animate( { "font-size":data.minFont }, 300 );		
			});
	
			break;			
		}
			
	};
	
	$.jEffects = function( command, options ){
		switch( command ){
				case 'config':
					config = $.extend( {}, config, options );					
				break;
				case 'defaults':
					for( key in options ) {
						defaults[key] = $.extend( {}, defaults[key], options[key] );
					}
					
				break;
						
			};
	}

	$.fn.jEffects = function( command, options ){
		
		if( config.disableIE6 && $.browser.msie && parseInt($.browser.version) <= 6 )
			return this;

		if( config.disableIE7 && $.browser.msie && parseInt($.browser.version) <= 7 )
			return this;
	
		if( isArray(command) ){
			for( i in command ) {
				this.each(function( io, o ){
					setup( $(o), command[i] );
				});
			}			
			return this;
		}
		else if( typeof command == 'object' ){
			return this.each(function( i, o ){
				setup( $(o), command );
			});
		}
		else {
			if( typeof options != 'object' ) options = { }
			options.type = command;

			return this.each(function( i, o ){
				setup( $(o), options );
			});
			// $.jEffects( command, options );
		};	
	};




	
})(jQuery);
 
 /*!
 * jQuery JavaScript plugin magicScroller v1.0
 * http://jquery.com/
 *
 * Copyright 2010, Jos� Edmundo Mart�nez Retama
 * GPL License
 * Date: Mon May 24 08:11:13 2010 -0500
 */
 ( function($) {
	//defins the function name
	//recive an object with atributes
    $.fn.magicScroller = function(params){

        //the default opctions
        $.fn.magicScroller.opc_default = {
                    displaytype:"one",
                    elementsByRow:3,
                    topSeparator:5,
                    leftSeparator:3,
                    delayTime:500,
                    animationTime:1000,
                    rowsDisplayed:2
        };

        // check if params are sent, else defaults is asigned
        opc = $.extend( $.fn.magicScroller.opc_default, params );
	//the final propieties are appended
	$.fn.magicScroller.needed = {
		displaytype: opc.displaytype, //how the elements will display
		positions:{}, // Contains the positions of all elements
		elements:opc.elements, //contains the elemts to scroll
		mask:opc.mask,//mascara de los elementos
		elementsPerRow:new Array(), //assigned elements per row
		elementsByRow: opc.elementsByRow, //number displayed elements by row
		topSeparator:opc.topSeparator, //number of pixels of top element separator
		leftSeparator:opc.leftSeparator, //number of pixels of left element separator
		totalRows: 0, //the total of rows created
		delayTime:opc.delayTime, //interval time of next element
		animationTime:opc.animationTime, //diring animation time
		rowsDisplayed:opc.rowsDisplayed, //how rows will display on each next action
		blockElements: new Array(), //the elements in blocks
		numberOfBlocks:0, //blocks generated ( this depends of rows displayed and elements per row )
		actualyDisplayed:0, //block actulally displayed
		stepScroll:0,  //the step of scroll
                prev:opc.prevbtn, // prev button
                next:opc.nextbtn //next button
	};


        $.fn.magicScroller.initializeAll = function(){
		//elements of actual row
		row = new Array();
		//elements of actual block
		block = new Array();
		//files counter
		counter = 0;
		//initiallize the elements block
		$.fn.magicScroller.needed.blockElements = new Array();
		//for each elements
		$.fn.magicScroller.needed.elements.each( function(i){
			//the element is in absolute position
			this.style.position = "absolute";
			//top style to the element
			this.style.top = $.fn.magicScroller.needed.positions.top[i] + 'px';
			//drop the margins
			this.style.margin = "0px";
			//asign the leftstyle to element ( initialize in negative value )
			this.style.left = '-' + $.fn.magicScroller.needed.positions.width[i] + 'px';
			//the opacity of the element is 0 for display in fadeIn efect
			this.style.opacity = '0';
			//get the mod for to know if is a new row
			mod = i % $.fn.magicScroller.needed.elementsByRow;
			if( mod == 0 ){
				//re initialize the row
				row = new Array();
				//increase the files counter for to know what row to manipulate
				counter++;
			}
			//add the element index to the row
			row.push( i );
			//verify if the rows counter is greater than rowsDisplayed, if true the elements block is completed
			if( counter > $.fn.magicScroller.needed.rowsDisplayed ){
				//add the block to the block elements
				$.fn.magicScroller.needed.blockElements.push( block );
				//reinitialize the block
				block = new Array();
				//the counter is 1
				counter = 1;
			}
			//the index of element is added to block
			block.push( i );
			//if is the last element per row or if is the last element
			if( mod == $.fn.magicScroller.needed.elementsByRow - 1 || i == $.fn.magicScroller.needed.elements.size() -1 )
			$.fn.magicScroller.needed.elementsPerRow.push(row); //se agrega la fila completa a el array
			//only if is the last element
			if( i == $.fn.magicScroller.needed.elements.size() -1 )
			$.fn.magicScroller.needed.blockElements.push(block);//se agrega block a blockelements
		});
		//
		//get the number of blocks
		$.fn.magicScroller.needed.numberOfBlocks = $.fn.magicScroller.needed.blockElements.length;
		//the actually block displayed
		$.fn.magicScroller.needed.actualyDisplayed = 0;
                display();
	};




        // returns the jQuery object list
        return this.each( function(){
                        //set the styles to mask
			$.fn.magicScroller.needed.mask.css({
                            position:"absolute",
                            'overflow-y':"hidden"

                        });
                        //get positions
			setPositions();
                        //initialize
			$.fn.magicScroller.initializeAll();
			$.fn.magicScroller.needed.prev.click( function(e){
				e.preventDefault();
				prevRow();
			});
			$.fn.magicScroller.needed.next.click( function(e){
				e.preventDefault();
				nextRow();
			});
        });


        //define the positions of elements
	function setPositions(){
		/**
		* left positions of all elements
		* @var Array
		*/
		var left = new Array();
		/**
		* top positions of all elements
		* @var Array
		*/
		var top = new Array();
		/**
		* width of all elements
		* @var Array
		*/
		var clientWidth = new Array();
		/**
		* height of all elemets
		* @var Array
		*/
		var clientHeight = new Array();
		/**
		* total of elements
		* @var int
		*/
		totalEl = $.fn.magicScroller.needed.elements.size();

		/**
		* top of next elements, starts 0
		* @var int
		*/
		ftop = 0;
		/**
		* left of next elements, starts 0
		* @var Array
		*/
		fleft = 0;
		//for each element
		$.fn.magicScroller.needed.elements.each( function(i){
			//add this width element to array
			clientWidth.push(this.clientWidth);
			//add this height element to array
			clientHeight.push(this.clientHeight);
			// if mod is 0, will add new row
			if( i % $.fn.magicScroller.needed.elementsByRow == 0 ){
				//the first element of row will be the leftSeparator only
				fleft = $.fn.magicScroller.needed.leftSeparator;
				//the top will increase, except if it�s the first row instead will be the top  separatyor only
				ftop += (i==0) ? $.fn.magicScroller.needed.topSeparator:this.clientHeight + $.fn.magicScroller.needed.topSeparator;
				$.fn.magicScroller.needed.totalRows++;
			}
			else //for each added element the left will increase
				fleft += $.fn.magicScroller.needed.leftSeparator + this.clientWidth;
			top.push(ftop); //this top element is added to array
			left.push(fleft); //this left element is added to array
		});
		//to positions object will add the propieties top, left, clientWith y clientHeight, width the elemets values
		$.fn.magicScroller.needed.positions.top = top;
		$.fn.magicScroller.needed.positions.left = left;
		$.fn.magicScroller.needed.positions.width = clientWidth;
		$.fn.magicScroller.needed.positions.height = clientHeight;
		//the step scroll is asigned
		$.fn.magicScroller.needed.stepScroll = $.fn.magicScroller.needed.positions.height[0] + $.fn.magicScroller.needed.topSeparator;
	}

	//show the elements by one
	function displayElementsByOne(){
		time = $.fn.magicScroller.needed.delayTime;
		$($.fn.magicScroller.needed.blockElements[ $.fn.magicScroller.needed.actualyDisplayed ]).each( function(i){
				index = parseInt(this);
				animationTime = $.fn.magicScroller.needed.animationTime;
				delayTime = $.fn.magicScroller.needed.delayTime;
				eval("setTimeout(\"$($.fn.magicScroller.needed.elements[" + index + "]).animate({left: $.fn.magicScroller.needed.positions.left[" + index + "] + 'px',opacity:'.6'}," + animationTime + ").delay(200).animate({opacity:1},'medium')\"," + ( time+=delayTime ) + ")");
		});
	}
	//show the elements by row
	function displayElementsByRow(){
		time = 0;
		animationTime = $.fn.magicScroller.needed.animationTime;
		delayTime = $.fn.magicScroller.needed.delayTime;
		elementsByRow = $.fn.magicScroller.needed.elementsByRow;
		$($.fn.magicScroller.needed.blockElements[ $.fn.magicScroller.needed.actualyDisplayed ]).each( function(i){
				index = parseInt(this);
				eval("setTimeout(\"$($.fn.magicScroller.needed.elements[" + index + "]).animate({left: $.fn.magicScroller.needed.positions.left[" + index + "] + 'px',opacity:'.6'}," + animationTime + ").delay(200).animate({opacity:1},'medium')\"," + ( ( i%elementsByRow==0 ) ? time+=delayTime:time ) + ")");
		});
	}
	//display elements by column
	function displayElementsByColumn(){

		animationTime = $.fn.magicScroller.needed.animationTime;
		delayTime = $.fn.magicScroller.needed.delayTime;
		elementsByRow = $.fn.magicScroller.needed.elementsByRow;
		time = new Array();
		timeA = 0;
		counter = -1;
		for(i = 0;i < elementsByRow;i++ )
			time.push( timeA+=delayTime );
		$($.fn.magicScroller.needed.blockElements[ $.fn.magicScroller.needed.actualyDisplayed ]).each( function(i){
				index = parseInt(this);
				mod = i % elementsByRow;
				counter = ( mod == 0) ? counter+1:counter;
				eval("setTimeout(\"$($.fn.magicScroller.needed.elements[" + index + "]).animate({left: $.fn.magicScroller.needed.positions.left[" + index + "] + 'px',opacity:'.6'}," + (animationTime + (counter * 200)) + ").delay(200).animate({opacity:1},'medium')\"," + ( time[mod] ) + ")");
		});
	}

	//display the prev row
	function prevRow(){
		$.fn.magicScroller.needed.actualyDisplayed--;
		if( $.fn.magicScroller.needed.actualyDisplayed >= 0 ){
			addtop =  ( $.fn.magicScroller.needed.actualyDisplayed == $.fn.magicScroller.needed.numberOfBlocks - 1 ) ? Math.ceil($.fn.magicScroller.needed.blockElements[ $.fn.magicScroller.needed.numberOfBlocks - 1 ].length / $.fn.magicScroller.needed.elementsPerRow) * $.fn.magicScroller.needed.stepScroll : $.fn.magicScroller.needed.rowsDisplayed * $.fn.magicScroller.needed.stepScroll;

			$.fn.magicScroller.needed.elements.animate({top:'+=' + addtop + 'px'});
		}
		else
			$.fn.magicScroller.needed.actualyDisplayed = 0;
	}
	//display the next row
	function nextRow(){
		if( $.fn.magicScroller.needed.actualyDisplayed < $.fn.magicScroller.needed.numberOfBlocks-1 ){
			addtop =  ( $.fn.magicScroller.needed.actualyDisplayed == $.fn.magicScroller.needed.numberOfBlocks - 1 ) ? Math.ceil($.fn.magicScroller.needed.blockElements[ $.fn.magicScroller.needed.numberOfBlocks - 1 ].length / $.fn.magicScroller.needed.elementsPerRow) * $.fn.magicScroller.needed.stepScroll : $.fn.magicScroller.needed.rowsDisplayed * $.fn.magicScroller.needed.stepScroll;
			$.fn.magicScroller.needed.elements.animate({top:'-=' + addtop + 'px'});
			$.fn.magicScroller.needed.actualyDisplayed++;
			display();
		}
		else
			$.fn.magicScroller.needed.actualyDisplayed = $.fn.magicScroller.needed.numberOfBlocks -1;
	}

	function display(){
		switch($.fn.magicScroller.needed.displaytype){
			case 'one':
				displayElementsByOne();
				break;
			case 'row':
				displayElementsByRow();
				break;
			case 'column':
				displayElementsByColumn();
				break;
		}
	}

    };
	
})(jQuery);
 
 
 //////////////////////////////////////////////////////////////////////////////////
// CloudCarousel V1.0.4
// (c) 2010 by R Cecco. <http://www.professorcloud.com>
// MIT License
//
// Reflection code based on plugin by Christophe Beyls <http://www.digitalia.be>
//
// Please retain this copyright header in all versions of the software
//////////////////////////////////////////////////////////////////////////////////
(function($){function Reflection(a,b,c){var d,cntx,imageWidth=a.width,imageHeight=a.width,gradient,parent;parent=$(a.parentNode);if($.browser.msie){this.element=d=parent.append("<img class='reflection' style='position:absolute'/>").find(':last')[0];d.src=a.src;d.style.filter="flipv progid:DXImageTransform.Microsoft.Alpha(opacity="+(c*100)+", style=1, finishOpacity=0, startx=0, starty=0, finishx=0, finishy="+(b/imageHeight*100)+")"}else{this.element=d=parent.append("<canvas class='reflection' style='position:absolute'/>").find(':last')[0];if(!d.getContext){return}cntx=d.getContext("2d");try{$(d).attr({width:imageWidth,height:b});cntx.save();cntx.translate(0,imageHeight-1);cntx.scale(1,-1);cntx.drawImage(a,0,0,imageWidth,imageHeight);cntx.restore();cntx.globalCompositeOperation="destination-out";gradient=cntx.createLinearGradient(0,0,0,b);gradient.addColorStop(0,"rgba(255, 255, 255, "+(1-c)+")");gradient.addColorStop(1,"rgba(255, 255, 255, 1.0)");cntx.fillStyle=gradient;cntx.fillRect(0,0,imageWidth,b)}catch(e){return}}$(d).attr({'alt':$(a).attr('alt'),title:$(a).attr('title')})}var s=function(a,b){this.orgWidth=a.width;this.orgHeight=a.height;this.image=a;this.reflection=null;this.alt=a.alt;this.title=a.title;this.imageOK=false;this.options=b;this.imageOK=true;if(this.options.reflHeight>0){this.reflection=new Reflection(this.image,this.options.reflHeight,this.options.reflOpacity)}$(this.image).css('position','absolute')};var t=function(o,p,q){var r=[],funcSin=Math.sin,funcCos=Math.cos,ctx=this;this.controlTimer=0;this.stopped=false;this.container=o;this.xRadius=q.xRadius;this.yRadius=q.yRadius;this.showFrontTextTimer=0;this.autoRotateTimer=0;if(q.xRadius===0){this.xRadius=($(o).width()/2.3)}if(q.yRadius===0){this.yRadius=($(o).height()/6)}this.xCentre=q.xPos;this.yCentre=q.yPos;this.frontIndex=0;this.rotation=this.destRotation=Math.PI/2;this.timeDelay=1000/q.FPS;if(q.altBox!==null){$(q.altBox).css('display','block');$(q.titleBox).css('display','block')}$(o).css({position:'relative',overflow:'hidden'});$(q.buttonLeft).css('display','inline');$(q.buttonRight).css('display','inline');$(q.buttonLeft).bind('mouseup',this,function(a){a.data.rotate(-1);return false});$(q.buttonRight).bind('mouseup',this,function(a){a.data.rotate(1);return false});if(q.mouseWheel){$(o).bind('mousewheel',this,function(a,b){a.data.rotate(b);return false})}$(o).bind('mouseover click',this,function(a){clearInterval(a.data.autoRotateTimer);var b=$(a.target).attr('alt');if(b!==undefined&&b!==null){clearTimeout(a.data.showFrontTextTimer);$(q.altBox).html(($(a.target).attr('alt')));$(q.titleBox).html(($(a.target).attr('title')));if(q.bringToFront&&a.type=='click'){var c=$(a.target).data('itemIndex');var d=a.data.frontIndex;var e=c-d;a.data.rotate(-e)}}});$(o).bind('mouseout',this,function(a){var b=a.data;clearTimeout(b.showFrontTextTimer);b.showFrontTextTimer=setTimeout(function(){b.showFrontText()},1000);b.autoRotate()});$(o).bind('mousedown',this,function(a){a.data.container.focus();return false});o.onselectstart=function(){return false};this.innerWrapper=$(o).wrapInner('<div style="position:absolute;width:100%;height:100%;"/>').children()[0];this.showFrontText=function(){if(r[this.frontIndex]===undefined){return}$(q.titleBox).html($(r[this.frontIndex].image).attr('title'));$(q.altBox).html($(r[this.frontIndex].image).attr('alt'))};this.go=function(){if(this.controlTimer!==0){return}var a=this;this.controlTimer=setTimeout(function(){a.updateAll()},this.timeDelay)};this.stop=function(){clearTimeout(this.controlTimer);this.controlTimer=0};this.rotate=function(a){this.frontIndex-=a;this.frontIndex%=r.length;this.destRotation+=(Math.PI/r.length)*(2*a);this.showFrontText();this.go()};this.autoRotate=function(){if(q.autoRotate!=='no'){var a=(q.autoRotate==='right')?1:-1;this.autoRotateTimer=setInterval(function(){ctx.rotate(a)},q.autoRotateDelay)}};this.updateAll=function(){var a=q.minScale;var b=(1-a)*0.5;var w,h,x,y,scale,item,sinVal;var c=(this.destRotation-this.rotation);var d=Math.abs(c);this.rotation+=c*q.speed;if(d<0.001){this.rotation=this.destRotation}var e=r.length;var f=(Math.PI/e)*2;var g=this.rotation;var j=$.browser.msie;this.innerWrapper.style.display='none';var k;var l='px',reflHeight;var m=this;for(var i=0;i<e;i++){item=r[i];sinVal=funcSin(g);scale=((sinVal+1)*b)+a;x=this.xCentre+(((funcCos(g)*this.xRadius)-(item.orgWidth*0.5))*scale);y=this.yCentre+(((sinVal*this.yRadius))*scale);if(item.imageOK){var n=item.image;w=n.width=item.orgWidth*scale;h=n.height=item.orgHeight*scale;n.style.left=x+l;n.style.top=y+l;n.style.zIndex=""+(scale*100)>>0;if(item.reflection!==null){reflHeight=q.reflHeight*scale;k=item.reflection.element.style;k.left=x+l;k.top=y+h+q.reflGap*scale+l;k.width=w+l;if(j){k.filter.finishy=(reflHeight/h*100)}else{k.height=reflHeight+l}}}g+=f}this.innerWrapper.style.display='block';if(d>=0.001){this.controlTimer=setTimeout(function(){m.updateAll()},this.timeDelay)}else{this.stop()}};this.checkImagesLoaded=function(){var i;for(i=0;i<p.length;i++){if((p[i].width===undefined)||((p[i].complete!==undefined)&&(!p[i].complete))){return}}for(i=0;i<p.length;i++){r.push(new s(p[i],q));$(p[i]).data('itemIndex',i)}clearInterval(this.tt);this.showFrontText();this.autoRotate();this.updateAll()};this.tt=setInterval(function(){ctx.checkImagesLoaded()},50)};$.fn.CloudCarousel=function(a){this.each(function(){a=$.extend({},{reflHeight:0,reflOpacity:0.5,reflGap:0,minScale:0.5,xPos:0,yPos:0,xRadius:0,yRadius:0,altBox:null,titleBox:null,FPS:30,autoRotate:'no',autoRotateDelay:1500,speed:0.2,mouseWheel:false,bringToFront:false},a);$(this).data('cloudcarousel',new t(this,$('.cloudcarousel',$(this)),a))});return this}})(jQuery);

 
 /*
 * simplyScroll 1.0.4 - a scroll-tastic jQuery plugin
 *
 * http://logicbox.net/jquery/simplyscroll
 * http://logicbox.net/blog/simplyscroll-jquery-plugin
 * http://plugins.jquery.com/project/simplyScroll
 *
 * Copyright (c) 2009 Will Kelly - http://logicbox.net
 *
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * Last revised: 03/07/2009 21:13
 *
 */

(function($){$.fn.simplyScroll=function(o){return this.each(function(){new $.simplyScroll(this,o);});};var defaults={className:'simply-scroll',frameRate:24,speed:1,horizontal:true,autoMode:'off',pauseOnHover:true,startOnLoad:false,localJsonSource:'',flickrFeed:'',jsonImgWidth:240,jsonImgHeight:180};$.simplyScroll=function(el,o){var self=this;this.o=$.extend({},defaults,o||{});this.auto=this.o.autoMode!=="off"?true:false;this.$list=$(el);this.$list.addClass('simply-scroll-list').wrap('<div class="simply-scroll-clip"></div>').parent().wrap('<div class="'+this.o.className+' simply-scroll-container"></div>');if(!this.o.auto){this.$list.parent().parent().prepend('<div class="simply-scroll-forward"></div>').prepend('<div class="simply-scroll-back"></div>');}
if(this.o.flickrFeed){$.getJSON(this.o.flickrFeed+"&format=json&jsoncallback=?",function(data){json=[];$.each(data.items,function(i,item){json.push({"src":item.media.m,"title":item.title,"link":item.link});});self.renderData(json);});}else if(this.o.localJsonSource){$.getJSON(this.o.localJsonSource,function(json){self.renderData(json);});}else{if(!this.o.startOnLoad){this.init();}else{$(window).load(function(){self.init();});}}};$.simplyScroll.fn=$.simplyScroll.prototype={};$.simplyScroll.fn.extend=$.simplyScroll.extend=$.extend;$.simplyScroll.fn.extend({init:function(){this.$items=this.$list.children();this.$clip=this.$list.parent();this.$container=this.$clip.parent();if(!this.o.horizontal){this.itemMax=this.$items[0].offsetHeight;this.clipMax=this.$clip.height();this.dimension='height';this.moveBackClass='simply-scroll-btn-up';this.moveForwardClass='simply-scroll-btn-down';}else{this.itemMax=this.$items[0].offsetWidth;this.clipMax=this.$clip.width();this.dimension='width';this.moveBackClass='simply-scroll-btn-left';this.moveForwardClass='simply-scroll-btn-right';}
this.posMin=0;this.posMax=this.$items.length*this.itemMax;this.$list.css(this.dimension,this.posMax+'px');if(this.o.autoMode=='loop'){var addItems=Math.ceil(this.clipMax/this.itemMax);this.$items.slice(0,addItems).clone(true).appendTo(this.$list);this.posMax+=(this.clipMax-this.o.speed);this.$list.css(this.dimension,this.posMax+(this.itemMax*addItems)+'px');}
this.interval=null;this.intervalDelay=Math.floor(1000/this.o.frameRate);while(this.itemMax%this.o.speed!==0){this.o.speed--;if(this.o.speed===0){this.o.speed=1;break;}}
var self=this;this.trigger=null;this.funcMoveBack=function(){self.trigger=this;self.moveBack();};this.funcMoveForward=function(){self.trigger=this;self.moveForward();};this.funcMoveStop=function(){self.moveStop();};this.funcMoveResume=function(){self.moveResume();};if(this.auto){if(this.o.pauseOnHover){this.$clip.hover(this.funcMoveStop,this.funcMoveResume);}
this.moveForward();}else{this.$btnBack=$('.simply-scroll-back',this.$container).addClass('simply-scroll-btn'+' '+this.moveBackClass+' '+'disabled').hover(this.funcMoveBack,this.funcMoveStop);this.$btnForward=$('.simply-scroll-forward',this.$container).addClass('simply-scroll-btn'+' '+this.moveForwardClass).hover(this.funcMoveForward,this.funcMoveStop);}},moveForward:function(){var self=this;this.movement='forward';if(this.trigger!==null){this.$btnBack.removeClass('disabled');}
self.interval=setInterval(function(){if(!self.o.horizontal&&self.$clip[0].scrollTop<(self.posMax-self.clipMax)){self.$clip[0].scrollTop+=self.o.speed;}else if(self.o.horizontal&&self.$clip[0].scrollLeft<(self.posMax-self.clipMax)){self.$clip[0].scrollLeft+=self.o.speed;}else if(self.o.autoMode=='loop'){self.resetPos();}else{self.moveStop(self.movement);}},self.intervalDelay);},moveBack:function(){var self=this;this.movement='back';if(this.trigger!==null){this.$btnForward.removeClass('disabled');}
self.interval=setInterval(function(){if(!self.o.horizontal&&self.$clip[0].scrollTop>0){self.$clip[0].scrollTop-=self.o.speed;}else if(self.o.horizontal&&self.$clip[0].scrollLeft>0){self.$clip[0].scrollLeft-=self.o.speed;}else if(self.o.autoMode=='loop'){self.resetPos();}else{self.moveStop(self.movement);}},self.intervalDelay);},moveStop:function(moveDir){clearInterval(this.interval);if(this.trigger!==null){if(typeof moveDir!="undefined"){$(this.trigger).addClass('disabled');}
this.trigger=null;}
if(this.auto){if(this.o.autoMode=='bounce'){moveDir=='forward'?this.moveBack():this.moveForward();}}},moveResume:function(){this.movement=='forward'?this.moveForward():this.moveBack();},resetPos:function(){if(!this.o.horizontal){this.$clip[0].scrollTop=0;}else{this.$clip[0].scrollLeft=0;}},renderData:function(json){if(json.length>0){var self=this;$.each(json,function(i,item){$("<img/>").attr({src:item.src,title:item.title,alt:item.title,width:self.o.jsonImgWidth,height:self.o.jsonImgHeight}).appendTo(self.$list);});this.init();}}});})(jQuery);
 
 
 $.gloss=function(options){var settings={selector:'.gloss',image:'../includes/images/gloss/gloss.png',speed:1500};settings=$.extend(settings,options);function _ie6fix(){if($.browser.msie&&$.browser.version=="6.0"){$(".glosser").css({'background':'none','filter':'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\''+settings.image+'\',sizingMethod=\'scale\')'})}}function _css(){$(settings.selector).css({'position':'relative','overflow':'hidden'}).append('<div class="glosser"></div>').find("img").css({'position':'absolute','top':0,'left':0,'z-index':5});$(".glosser").css({'position':'absolute','left':'-450px','top':0,'z-index':10,'width':'450px','height':'500px','background':'url('+settings.image+') 0 0 repeat'});_ie6fix()}function _addActions(){$(settings.selector).hover(function(){glsr=$(this).find(".glosser");$(glsr).stop().animate({'left':(parseInt($(settings.selector).width())+450)+"px"},settings.speed)},function(){glsr=$(this).find(".glosser");$(glsr).stop().animate({'left':"-450px"},settings.speed)})}function _init(){_css();_addActions()}return _init()};
 
/**
 * jQuery lightBox plugin
 * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/)
 * and adapted to me for use like a plugin from jQuery.
 * @name jquery-lightbox-0.5.js
 * @author Leandro Vieira Pinho - http://leandrovieira.com
 * @version 0.5
 * @date April 11, 2008
 * @category jQuery plugin
 * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com)
 * @license CCAttribution-ShareAlike 2.5 Brazil - http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US
 * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin
 */
(function($){$.fn.lightBox=function(settings){settings=jQuery.extend({overlayBgColor:'#000',overlayOpacity:0.8,fixedNavigation:false,imageLoading:'images/lightbox-ico-loading.gif',imageBtnPrev:'images/lightbox-btn-prev.gif',imageBtnNext:'images/lightbox-btn-next.gif',imageBtnClose:'images/lightbox-btn-close.gif',imageBlank:'images/lightbox-blank.gif',containerBorderSize:10,containerResizeSpeed:400,txtImage:'Image',txtOf:'of',keyToClose:'c',keyToPrev:'p',keyToNext:'n',imageArray:[],activeImage:0},settings);var jQueryMatchedObj=this;function _initialize(){_start(this,jQueryMatchedObj);return false;}
function _start(objClicked,jQueryMatchedObj){$('embed, object, select').css({'visibility':'hidden'});_set_interface();settings.imageArray.length=0;settings.activeImage=0;if(jQueryMatchedObj.length==1){settings.imageArray.push(new Array(objClicked.getAttribute('href'),objClicked.getAttribute('title')));}else{for(var i=0;i<jQueryMatchedObj.length;i++){settings.imageArray.push(new Array(jQueryMatchedObj[i].getAttribute('href'),jQueryMatchedObj[i].getAttribute('title')));}}
while(settings.imageArray[settings.activeImage][0]!=objClicked.getAttribute('href')){settings.activeImage++;}
_set_image_to_view();}
function _set_interface(){$('body').append('<div id="jquery-overlay"></div><div id="jquery-lightbox"><div id="lightbox-container-image-box"><div id="lightbox-container-image"><img id="lightbox-image"><div style="" id="lightbox-nav"><a href="#" id="lightbox-nav-btnPrev"></a><a href="#" id="lightbox-nav-btnNext"></a></div><div id="lightbox-loading"><a href="#" id="lightbox-loading-link"><img src="'+settings.imageLoading+'"></a></div></div></div><div id="lightbox-container-image-data-box"><div id="lightbox-container-image-data"><div id="lightbox-image-details"><span id="lightbox-image-details-caption"></span><span id="lightbox-image-details-currentNumber"></span></div><div id="lightbox-secNav"><a href="#" id="lightbox-secNav-btnClose"><img src="'+settings.imageBtnClose+'"></a></div></div></div></div>');var arrPageSizes=___getPageSize();$('#jquery-overlay').css({backgroundColor:settings.overlayBgColor,opacity:settings.overlayOpacity,width:arrPageSizes[0],height:arrPageSizes[1]}).fadeIn();var arrPageScroll=___getPageScroll();$('#jquery-lightbox').css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]}).show();$('#jquery-overlay,#jquery-lightbox').click(function(){_finish();});$('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function(){_finish();return false;});$(window).resize(function(){var arrPageSizes=___getPageSize();$('#jquery-overlay').css({width:arrPageSizes[0],height:arrPageSizes[1]});var arrPageScroll=___getPageScroll();$('#jquery-lightbox').css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]});});}
function _set_image_to_view(){$('#lightbox-loading').show();if(settings.fixedNavigation){$('#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();}else{$('#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();}
var objImagePreloader=new Image();objImagePreloader.onload=function(){$('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]);_resize_container_image_box(objImagePreloader.width,objImagePreloader.height);objImagePreloader.onload=function(){};};objImagePreloader.src=settings.imageArray[settings.activeImage][0];};function _resize_container_image_box(intImageWidth,intImageHeight){var intCurrentWidth=$('#lightbox-container-image-box').width();var intCurrentHeight=$('#lightbox-container-image-box').height();var intWidth=(intImageWidth+(settings.containerBorderSize*2));var intHeight=(intImageHeight+(settings.containerBorderSize*2));var intDiffW=intCurrentWidth-intWidth;var intDiffH=intCurrentHeight-intHeight;$('#lightbox-container-image-box').animate({width:intWidth,height:intHeight},settings.containerResizeSpeed,function(){_show_image();});if((intDiffW==0)&&(intDiffH==0)){if($.browser.msie){___pause(250);}else{___pause(100);}}
$('#lightbox-container-image-data-box').css({width:intImageWidth});$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({height:intImageHeight+(settings.containerBorderSize*2)});};function _show_image(){$('#lightbox-loading').hide();$('#lightbox-image').fadeIn(function(){_show_image_data();_set_navigation();});_preload_neighbor_images();};function _show_image_data(){$('#lightbox-container-image-data-box').slideDown('fast');$('#lightbox-image-details-caption').hide();if(settings.imageArray[settings.activeImage][1]){$('#lightbox-image-details-caption').html(settings.imageArray[settings.activeImage][1]).show();}
if(settings.imageArray.length>1){$('#lightbox-image-details-currentNumber').html(settings.txtImage+' '+(settings.activeImage+1)+' '+settings.txtOf+' '+settings.imageArray.length).show();}}
function _set_navigation(){$('#lightbox-nav').show();$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({'background':'transparent url('+settings.imageBlank+') no-repeat'});if(settings.activeImage!=0){if(settings.fixedNavigation){$('#lightbox-nav-btnPrev').css({'background':'url('+settings.imageBtnPrev+') left 15% no-repeat'}).unbind().bind('click',function(){settings.activeImage=settings.activeImage-1;_set_image_to_view();return false;});}else{$('#lightbox-nav-btnPrev').unbind().hover(function(){$(this).css({'background':'url('+settings.imageBtnPrev+') left 15% no-repeat'});},function(){$(this).css({'background':'transparent url('+settings.imageBlank+') no-repeat'});}).show().bind('click',function(){settings.activeImage=settings.activeImage-1;_set_image_to_view();return false;});}}
if(settings.activeImage!=(settings.imageArray.length-1)){if(settings.fixedNavigation){$('#lightbox-nav-btnNext').css({'background':'url('+settings.imageBtnNext+') right 15% no-repeat'}).unbind().bind('click',function(){settings.activeImage=settings.activeImage+1;_set_image_to_view();return false;});}else{$('#lightbox-nav-btnNext').unbind().hover(function(){$(this).css({'background':'url('+settings.imageBtnNext+') right 15% no-repeat'});},function(){$(this).css({'background':'transparent url('+settings.imageBlank+') no-repeat'});}).show().bind('click',function(){settings.activeImage=settings.activeImage+1;_set_image_to_view();return false;});}}
_enable_keyboard_navigation();}
function _enable_keyboard_navigation(){$(document).keydown(function(objEvent){_keyboard_action(objEvent);});}
function _disable_keyboard_navigation(){$(document).unbind();}
function _keyboard_action(objEvent){if(objEvent==null){keycode=event.keyCode;escapeKey=27;}else{keycode=objEvent.keyCode;escapeKey=objEvent.DOM_VK_ESCAPE;}
key=String.fromCharCode(keycode).toLowerCase();if((key==settings.keyToClose)||(key=='x')||(keycode==escapeKey)){_finish();}
if((key==settings.keyToPrev)||(keycode==37)){if(settings.activeImage!=0){settings.activeImage=settings.activeImage-1;_set_image_to_view();_disable_keyboard_navigation();}}
if((key==settings.keyToNext)||(keycode==39)){if(settings.activeImage!=(settings.imageArray.length-1)){settings.activeImage=settings.activeImage+1;_set_image_to_view();_disable_keyboard_navigation();}}}
function _preload_neighbor_images(){if((settings.imageArray.length-1)>settings.activeImage){objNext=new Image();objNext.src=settings.imageArray[settings.activeImage+1][0];}
if(settings.activeImage>0){objPrev=new Image();objPrev.src=settings.imageArray[settings.activeImage-1][0];}}
function _finish(){$('#jquery-lightbox').remove();$('#jquery-overlay').fadeOut(function(){$('#jquery-overlay').remove();});$('embed, object, select').css({'visibility':'visible'});}
function ___getPageSize(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=window.innerWidth+window.scrollMaxX;yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;}
var windowWidth,windowHeight;if(self.innerHeight){if(document.documentElement.clientWidth){windowWidth=document.documentElement.clientWidth;}else{windowWidth=self.innerWidth;}
windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;}
if(yScroll<windowHeight){pageHeight=windowHeight;}else{pageHeight=yScroll;}
if(xScroll<windowWidth){pageWidth=xScroll;}else{pageWidth=windowWidth;}
arrayPageSize=new Array(pageWidth,pageHeight,windowWidth,windowHeight);return arrayPageSize;};function ___getPageScroll(){var xScroll,yScroll;if(self.pageYOffset){yScroll=self.pageYOffset;xScroll=self.pageXOffset;}else if(document.documentElement&&document.documentElement.scrollTop){yScroll=document.documentElement.scrollTop;xScroll=document.documentElement.scrollLeft;}else if(document.body){yScroll=document.body.scrollTop;xScroll=document.body.scrollLeft;}
arrayPageScroll=new Array(xScroll,yScroll);return arrayPageScroll;};function ___pause(ms){var date=new Date();curDate=null;do{var curDate=new Date();}
while(curDate-date<ms);};return this.unbind('click').click(_initialize);};})(jQuery);
 
 
 /*
 * jQuery Plugin: DivCorners
 * http://www.roydukkey.com/divcorners
 *
 * Copyright (c) 2010 Rory Dueck
 *
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * Date: 2010-04-19 (Mon, 19 Apr 2010)
 * Version: 1.5.3
 */
(function(e){var o={dcCreate:function(f,c){var a=e.extend({imgPrefix:"/images/",fileType:".gif",expand:10,radius:0,position:"inside",resize:"",exclude:""},f);a.e=a.expand.toString().replace(/[^0-9\. ]/g,"").split(" ");for(var b=0;b<4;b++)a.e[b]=!a.e[b]&&a.e[b]!==0?a.e[Math.max(b-2,0)]:parseInt(a.e[b]);a.r=a.radius.toString().replace(/[^0-9\. ]/g,"").split(" ");for(b=0;b<4;b++)a.r[b]=!a.r[b]&&a.r[b]!==0?a.r[Math.max(b-2,0)]:parseInt(a.r[b])>a.e[b]?parseInt(a.r[b])-a.e[b]:0;a.x=a.exclude.replace(/\s/g,"").split(",");return this.each(function(){var g=e(this),h=g.find(">.dcContent"),d,i=["top","right","bottom","left"],j,k=["left","right"],l,m=[];g.addClass("dCorner").css({height:g.height(),width:g.width()});h.css({height:h.height(),width:h.width()});a.resize!=""&&g.find(a.resize).each(function(){e(this).load(function(){e(this).parents(".dCorner").dcResize("auto")})});for(d in i){h=e('<div class="dcItem dc'+i[d]+'">'+(e.inArray(i[d],a.x)==-1?'<img src="'+a.imgPrefix+i[d]+a.fileType+'" />':"")+"</div>");if(d!=1&&d!=3){a.position=="inside"?h.css("margin-left",a.e[3]+a.r[3]).width(g.innerWidth()-(a.r[3]+a.e[3]+a.r[1]+a.e[1])):h.css(i[d],-a.e[d]).css("margin-left",a.r[3]).width(g.innerWidth()-(a.r[3]+a.r[1]));h.height(a.e[d]).css("display","block");for(j in k){l=e('<div class="dcItem dc'+i[d]+"-"+k[j]+'">'+(e.inArray(i[d]+"-"+k[j],a.x)==-1?'<img src="'+a.imgPrefix+i[d]+"-"+k[j]+a.fileType+'" />':"")+"</div>");a.position!="inside"&&l.css(i[d],-a.e[d]).css(k[j],-a.e[j==1?1:3]);l.height(a.e[d]+a.r[d]).width(a.e[j==1?1:3]+a.r[j==1?1:3]).css("display","block");e.inArray(i[d]+"-"+k[j],a.x)==-1&&n.p(l,a.fileType);m.push(l)}}else{a.position=="inside"?h.css("margin-top",a.e[0]+a.r[0]).height(g.innerHeight()-(a.r[0]+a.e[0]+a.r[2]+a.e[2])):h.css(i[d],-a.e[d]).css("margin-top",a.r[0]).height(g.innerHeight()-(a.r[0]+a.r[2]));h.width(a.e[d]).css("display","block")}e.inArray(i[d],a.x)==-1&&n.p(h,a.fileType);m.push(h)}for(b in m)g.append(m[b]);n.w(g);c!=false&&g.parents(".dCorner").dcResize("auto")})},dcResize:function(f){return this.each(function(){var c=e(this),a=c.find(">.dctop-left"),b=c.find(">.dctop-right");if(c.hasClass("dCorner")){c.css("zoom","0");f=="auto"&&c.css({height:"",width:""});c.find(">.dctop,>.dcbottom").width(c.innerWidth()-(a.width()+parseInt(a.css("left").replace("px"))+b.width()+parseInt(b.css("right").replace("px"))));c.find(">.dcleft,>.dcright").height(c.innerHeight()-(a.height()+parseInt(a.css("top").replace("px"))+(b=c.find(">.dcbottom-left")).height()+parseInt(b.css("bottom").replace("px"))));n.w(c);f=="auto"&&c.css({height:c.height(),width:c.width()});c.css("zoom","1");f!=false&&c.parents(".dCorner").dcResize("auto")}})},dcClear:function(f){return this.each(function(){e(this).removeClass("dCorner").find(">.dcItem").remove();f!=false&&e(this).parents(".dCorner").dcResize("auto")})}};e.each(o,function(f){e.fn[f]=this});var n={p:function(f,c){if(e.browser.msie&&c==".png"){c=(f=e(f)).find("img");f.css("filter","progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+c.attr("src")+"',sizingMethod='scale')");c.css("filter","alpha(opacity=0)")}},w:function(f){if(e.browser.version<7&&e.browser.msie){f.find(">.dctop-right,>.dcright,>.dcbottom-right").css("margin-right",f.innerWidth()%2!=0?"-1px":"0px");f.find(">.dcbottom-left,>.dcbottom,>.dcbottom-right").css("margin-bottom",f.innerHeight()%2!=0?"-1px":"0px")}}}})(jQuery);
 


 
 /*
 * jQuery Tools 1.2.5 - The missing UI library for the Web
 * 
 * [toolbox.expose]
 * 
 * NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.
 * 
 * http://flowplayer.org/tools/
 * 
 * File generated: Fri Oct 22 10:17:02 GMT 2010
 */
(function(b){function k(){if(b.browser.msie){var a=b(document).height(),d=b(window).height();return[window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,a-d<20?d:a]}return[b(document).width(),b(document).height()]}function h(a){if(a)return a.call(b.mask)}b.tools=b.tools||{version:"1.2.5"};var l;l=b.tools.expose={conf:{maskId:"exposeMask",loadSpeed:"slow",closeSpeed:"fast",closeOnClick:true,closeOnEsc:true,zIndex:9998,opacity:0.8,startOpacity:0,color:"#fff",onLoad:null,
onClose:null}};var c,i,e,g,j;b.mask={load:function(a,d){if(e)return this;if(typeof a=="string")a={color:a};a=a||g;g=a=b.extend(b.extend({},l.conf),a);c=b("#"+a.maskId);if(!c.length){c=b("<div/>").attr("id",a.maskId);b("body").append(c)}var m=k();c.css({position:"absolute",top:0,left:0,width:m[0],height:m[1],display:"none",opacity:a.startOpacity,zIndex:a.zIndex});a.color&&c.css("backgroundColor",a.color);if(h(a.onBeforeLoad)===false)return this;a.closeOnEsc&&b(document).bind("keydown.mask",function(f){f.keyCode==
27&&b.mask.close(f)});a.closeOnClick&&c.bind("click.mask",function(f){b.mask.close(f)});b(window).bind("resize.mask",function(){b.mask.fit()});if(d&&d.length){j=d.eq(0).css("zIndex");b.each(d,function(){var f=b(this);/relative|absolute|fixed/i.test(f.css("position"))||f.css("position","relative")});i=d.css({zIndex:Math.max(a.zIndex+1,j=="auto"?0:j)})}c.css({display:"block"}).fadeTo(a.loadSpeed,a.opacity,function(){b.mask.fit();h(a.onLoad);e="full"});e=true;return this},close:function(){if(e){if(h(g.onBeforeClose)===
false)return this;c.fadeOut(g.closeSpeed,function(){h(g.onClose);i&&i.css({zIndex:j});e=false});b(document).unbind("keydown.mask");c.unbind("click.mask");b(window).unbind("resize.mask")}return this},fit:function(){if(e){var a=k();c.css({width:a[0],height:a[1]})}},getMask:function(){return c},isLoaded:function(a){return a?e=="full":e},getConf:function(){return g},getExposed:function(){return i}};b.fn.mask=function(a){b.mask.load(a);return this};b.fn.expose=function(a){b.mask.load(a,this);return this}})(jQuery);

 
 
 /*
 * IMGr :: jQuery Image Rounder v1.0.1
 * http://steamdev.com/imgr
 *
 * Copyright 2010, SteamDev
 * Released under the MIT license.
 * http://www.opensource.org/licenses/mit-license.php
 *
 * Date: Wed October 20, 2010
 */

(function($) {
	
	$.fn.imgr = function(settings) {
		
		var isWeb = $.browser.webkit;
		var isIE = $.browser.msie;
		var isIEOld = $.browser.msie && parseInt($.browser.version)<9;
		var isMoz = $.browser.mozilla;
		var isOp = $.browser.opera;
		
		var defaults = {
						radius:"10px",
						size:"0px",
						color:"#000",
						style:"solid"
						};
		
		if(settings){$.extend(defaults,settings);};
		
		defaults.style = defaults.style.toLowerCase();
		defaults.radius = defaults.radius.toString();
		defaults.size = parseInt(defaults.size)+"px";
		defaults.color = (colourNameToHex(defaults.color));
		if(defaults.color.indexOf('#')== -1){defaults.color = "#"+defaults.color;}
		
		var tl,tr,bl,br;
		var cor = (defaults.radius).split(" ");
		if(cor.length==1 || cor.length > 4){ tl = tr = bl = br = cor[0]; };
		if(cor.length==2){ tl = tr = cor[0]; bl = br = cor[1]; };
		if(cor.length==3){ tl = cor[0]; tr = cor[1]; bl = br = cor[2]; };
		if(cor.length==4){ tl = cor[0]; tr = cor[1]; br = cor[2]; bl = cor[3]; };
		tl=parseInt(tl);tr=parseInt(tr);bl=parseInt(bl);br=parseInt(br);
		

		var rad = tl+"px " + tr+"px " + br+"px " + bl+"px";
		
		return this.each(function(){
			var o = $(this);
			
			if(o[0].nodeName.toLowerCase()=="img"){
				
				var src = o.attr("src");
				var padt,padr,padb,padl,margt,margr,margb,margl,top,right,bottom,left,float,pos,offt,offr,offb,offl,_w,_h,_stroke,vDashStyle,vLineStyle;
				
				vDashStyle = "solid";
				vLineStyle = "single";
				if(defaults.style=="dotted"){vDashStyle="dot";}
				if(defaults.style=="dashed"){vDashStyle="dash";}
				if(defaults.style=="double"){vLineStyle="thinthin";}
				
				_w = parseInt(o.width());
				_h = parseInt(o.height());

				_stroke = parseInt(defaults.size);
				
				padt = parseInt(o.css('padding-top'));
				padr = parseInt(o.css('padding-right'));
				padb = parseInt(o.css('padding-bottom'));
				padl = parseInt(o.css('padding-left'));
				
				margt = o.css('margin-top'); margt = (margt=='auto')?0:parseInt(margt);
				margr = o.css('margin-right'); margr = (margr=='auto')?0:parseInt(margr);
				margb = o.css('margin-bottom'); margb = (margb=='auto')?0:parseInt(margb);
				margl = o.css('margin-left'); margl = (margl=='auto')?0:parseInt(margl);
				
				var posI = o.position();
				
				top = o.css('top');
				right = o.css('right');
				bottom = o.css('bottom');
				left = o.css('left');
				
				if(isOp){
				
					if(right!='auto'){
						if((parseInt(posI.left) + o.width()) == parseInt(right)){
							right="auto";	
						}
					}
					
					if(left!='auto'){
						if(parseInt(posI.left) == parseInt(left)){
							left="auto";	
						}
					}
					
					if(top!='auto'){
						if(parseInt(o[0].offsetTop) == parseInt(top)){
							top="auto";
						}
					}
					
					if(bottom!='auto'){
						if((parseInt(o[0].offsetTop) + o.height()) == parseInt(bottom)){
							bottom="auto";
						}
					}
				
				}

				float = o.css('float');
				pos = o.css('position');
				if (pos!="absolute"){pos="relative";}
				
				offt = (padt + margt)+"px ";
				offr = (padr + margr)+"px ";
				offb = (padb + margb)+"px ";
				offl = (padl + margl)+"px ";
				
				if(isIEOld){
					
					$(window).load(function(){	
											
						if(document.namespaces['v']==null) { 
							document.namespaces.add("v","urn:schemas-microsoft-com:vml");
							var vmlStyle = document.createStyleSheet();
							vmlStyle.addRule("v\\:shape","behavior: url(#default#VML);");
							vmlStyle.addRule("v\\:fill","behavior: url(#default#VML);");
							vmlStyle.addRule("v\\:stroke","behavior: url(#default#VML);");
						}
						
					});
					
					var _halfStroke = Math.round(_stroke/2);
					offt = (parseInt(offt)+_halfStroke)+"px ";
					offr = (parseInt(offr)+_halfStroke)+"px ";
					offb = (parseInt(offb)+_halfStroke)+"px ";
					offl = (parseInt(offl)+_halfStroke)+"px ";
					
					if(!o.parent().hasClass('imgr')){
						
						$(window).load(function(){
							
							var style = "display:inline-block;margin:"+offt + offr + offb + offl+";padding:0;top:"+top+";right:"+right+";bottom:"+bottom+";left:"+left+";float:"+float+";position:"+pos+";width:"+(_w+_stroke)+"px;height:"+(_h+_stroke)+"px;";
							o.css({'margin':'0','padding':'0','top':'0','right':'0','bottom':'0','left':'0','border':'0 none','float':'none'});
							o.wrap("<span class='imgr' style='"+style+"'></span>");	
							var shape = "<v:shape class='vml-shape' strokecolor='"+defaults.color+"' stroked='"+((_stroke==0)?'f':'t')+"' strokeweight='"+defaults.size+"' coordorigin='0 0' coordsize='"+((_stroke==0)?(_w-1)+' '+(_h-1):(_w-_stroke)+' '+(_h-_stroke))+"' style='width:"+_w+"px;height:"+_h+"px;position:absolute;' "
									+ "path='m "+tl+",0 l "+(_w-tr)+",0 qx "+_w+","+tr+" l "+_w+","+(_h-br)+" qy "+(_w-br)+","+_h+" l "+bl+","+_h+" qx 0,"+(_h-bl)+" l 0,"+tl+" qy "+tl+",0 e'>"
									+ "</v:shape>";
							var fill = "<v:fill class='vml-fill' src='"+src+"' type='frame' style='width:100%;height:100%;'></v:fill>";
							var bdrStyle = "<v:stroke dashstyle='"+vDashStyle+"' linestyle='"+vLineStyle+"' />";
							
							var obj = document.createElement(shape);
							obj.innerHTML = fill + bdrStyle;
							var par = o[0].parentNode;
							o.css({'position':'absolute','z-index':'1','opacity':'0'});
							if(o.parent()[0].nodeName.toLowerCase() == "a"){o.parent().css('cursor','pointer');}
							if(o.parent().parent()[0].nodeName.toLowerCase() == "a"){o.parent().parent().css('cursor','pointer');}
							if(o.parent().parent().parent()[0].nodeName.toLowerCase() == "a"){o.parent().parent().parent().css('cursor','pointer');}
							par.appendChild(obj);
							
							var cache = {
										width:_w,
										height:_h,
										stroke:_stroke,
										color:defaults.color,
										border:defaults.size,
										tl:tl,
										tr:tr,
										bl:bl,
										br:br,
										src:src,
										offt:offt,
										offl:offl,
										offb:offb,
										offr:offr,
										vDash:vDashStyle,
										vLine:vLineStyle
										};
										
							o.parent('.imgr').data("cache",cache);
						
						});
						
					} else {
						
						var data = o.parent('.imgr').data('cache');
						if(!settings.radius){
							tl = data.tl;
							tr = data.tr;
							bl = data.bl;
							br = data.br;
						}
						if(!settings.size){
							defaults.size = data.border;
							_stroke = data.stroke;
						}
						if(!settings.color){
							defaults.color = data.color;
						}
						if(!settings.style){
							vDashStyle = data.vDash;
							vLineStyle = data.vLine;
						}
						
						var shape = "<v:shape class='vml-shape' strokecolor='"+defaults.color+"' stroked='"+((_stroke==0)?'f':'t')+"' strokeweight='"+defaults.size+"' coordorigin='0 0' coordsize='"+((_stroke==0)?(data.width-1)+' '+(data.height-1):(data.width-_stroke)+' '+(data.height-_stroke))+"' style='width:"+data.width+"px;height:"+data.height+"px;position:absolute;' "
								+ "path='m "+tl+",0 l "+(data.width-tr)+",0 qx "+data.width+","+tr+" l "+data.width+","+(data.height-br)+" qy "+(data.width-br)+","+data.height+" l "+bl+","+data.height+" qx 0,"+(data.height-bl)+" l 0,"+tl+" qy "+tl+",0 e'>"
								+ "</v:shape>";
						var fill = "<v:fill class='vml-fill' src='"+src+"' type='frame' style='width:100%;height:100%;'></v:fill>";	
						var bdrStyle = "<v:stroke dashstyle='"+vDashStyle+"' linestyle='"+vLineStyle+"' />";
						
						var obj = document.createElement(shape);
						obj.innerHTML = fill + bdrStyle;
						var par = o[0].parentNode;
						o.css({'position':'absolute','z-index':'1','opacity':'0'});
						o.parent('.imgr').find('.vml-shape').remove();
						
						var _halfStroke = Math.round(_stroke/2);
						var _oldStroke = Math.round(data.stroke/2);
						
						offt = (parseInt(data.offt)-_oldStroke+_halfStroke)+"px ";
						offr = (parseInt(data.offr)-_oldStroke+_halfStroke)+"px ";
						offb = (parseInt(data.offb)-_oldStroke+_halfStroke)+"px ";
						offl = (parseInt(data.offl)-_oldStroke+_halfStroke)+"px ";
						
						o.parent('.imgr').css('margin',offt + offr + offb + offl).css('width',(data.width+_stroke)).css('height',(data.height+_stroke));
						
						if(o.parent()[0].nodeName.toLowerCase() == "a"){o.parent().css('cursor','pointer');}
						if(o.parent().parent()[0].nodeName.toLowerCase() == "a"){o.parent().parent().css('cursor','pointer');}
						if(o.parent().parent().parent()[0].nodeName.toLowerCase() == "a"){o.parent().parent().parent().css('cursor','pointer');}
						par.appendChild(obj);							

						var cache = {
									width:data.width,
									height:data.height,
									stroke:_stroke,
									color:defaults.color,
									border:defaults.size,
									tl:tl,
									tr:tr,
									bl:bl,
									br:br,
									src:src,
									offt:offt,
									offl:offl,
									offb:offb,
									offr:offr,
									vDash:vDashStyle,
									vLine:vLineStyle
									};
									
						o.parent('.imgr').data("cache",cache);							
						
					}
					
				} else {
					
					var style = "display:inline-block;border-radius:"+rad+";border-color:"+defaults.color+";border-style:"+defaults.style+";border-width:"+defaults.size+";background-repeat:no-repeat;background-origin:border-box;background-image:url("+src+");background-size:101% 101%;";
					style += "margin:"+offt + offr + offb + offl+";padding:0;top:"+top+";right:"+right+";bottom:"+bottom+";left:"+left+";float:"+float+";position:"+pos+";";
					
					if(isMoz){
						style += "-moz-border-radius:"+rad+";-moz-background-origin:border-box;-moz-background-size:101% 101%;";	
					}
					if(isWeb){
						
						if(typeof rad=="string"){rad = rad.split(" ");}
						style += "-webkit-border-top-left-radius:"+rad[0]+";-webkit-border-top-right-radius:"+rad[1]+";-webkit-border-bottom-right-radius:"+rad[2]+";-webkit-border-bottom-left-radius:"+rad[3]+";-webkit-background-origin:border-box;-webkit-background-size:101% 101%;";
					}
	
					
					if(!o.parent().hasClass('imgr')){
						o.css({'margin':'0','padding':'0','top':'0','right':'0','bottom':'0','left':'0','border':'0 none','float':'none'});
						o.wrap("<span class='imgr' style='"+style+"'></span>");				
					} else {
						var par = o.parent('.imgr');
												
						if(settings.radius){
							if(!isWeb){
								par.css('border-radius',rad);
							} else {
								par.css({"-webkit-border-top-left-radius":rad[0],"-webkit-border-top-right-radius":rad[1],"-webkit-border-bottom-right-radius":rad[2],"-webkit-border-bottom-left-radius":rad[3]});
							}
							if(isMoz){par.css('-moz-border-radius',rad);}

						}
						if(settings.size){par.css('border-width',defaults.size);}
						if(settings.color){par.css('border-color',defaults.color);}
						if(settings.style){par.css('border-style',defaults.style);}
					}
					
					o.css("opacity","0");
					
				}
			
			} // end if img
			
		}); // end each
		

		

	} // end imgr

})(jQuery);




function colourNameToHex(colour){
	
    var colours = {"aliceblue":"#f0f8ff","antiquewhite":"#faebd7","aqua":"#00ffff","aquamarine":"#7fffd4","azure":"#f0ffff",
    "beige":"#f5f5dc","bisque":"#ffe4c4","black":"#000000","blanchedalmond":"#ffebcd","blue":"#0000ff","blueviolet":"#8a2be2","brown":"#a52a2a","burlywood":"#deb887",
    "cadetblue":"#5f9ea0","chartreuse":"#7fff00","chocolate":"#d2691e","coral":"#ff7f50","cornflowerblue":"#6495ed","cornsilk":"#fff8dc","crimson":"#dc143c","cyan":"#00ffff",
    "darkblue":"#00008b","darkcyan":"#008b8b","darkgoldenrod":"#b8860b","darkgray":"#a9a9a9","darkgreen":"#006400","darkkhaki":"#bdb76b","darkmagenta":"#8b008b","darkolivegreen":"#556b2f",
    "darkorange":"#ff8c00","darkorchid":"#9932cc","darkred":"#8b0000","darksalmon":"#e9967a","darkseagreen":"#8fbc8f","darkslateblue":"#483d8b","darkslategray":"#2f4f4f","darkturquoise":"#00ced1",
    "darkviolet":"#9400d3","deeppink":"#ff1493","deepskyblue":"#00bfff","dimgray":"#696969","dodgerblue":"#1e90ff",
    "firebrick":"#b22222","floralwhite":"#fffaf0","forestgreen":"#228b22","fuchsia":"#ff00ff",
    "gainsboro":"#dcdcdc","ghostwhite":"#f8f8ff","gold":"#ffd700","goldenrod":"#daa520","gray":"#808080","green":"#008000","greenyellow":"#adff2f",
    "honeydew":"#f0fff0","hotpink":"#ff69b4",
    "indianred ":"#cd5c5c","indigo ":"#4b0082","ivory":"#fffff0","khaki":"#f0e68c",
    "lavender":"#e6e6fa","lavenderblush":"#fff0f5","lawngreen":"#7cfc00","lemonchiffon":"#fffacd","lightblue":"#add8e6","lightcoral":"#f08080","lightcyan":"#e0ffff","lightgoldenrodyellow":"#fafad2",
    "lightgrey":"#d3d3d3","lightgreen":"#90ee90","lightpink":"#ffb6c1","lightsalmon":"#ffa07a","lightseagreen":"#20b2aa","lightskyblue":"#87cefa","lightslategray":"#778899","lightsteelblue":"#b0c4de",
    "lightyellow":"#ffffe0","lime":"#00ff00","limegreen":"#32cd32","linen":"#faf0e6",
    "magenta":"#ff00ff","maroon":"#800000","mediumaquamarine":"#66cdaa","mediumblue":"#0000cd","mediumorchid":"#ba55d3","mediumpurple":"#9370d8","mediumseagreen":"#3cb371","mediumslateblue":"#7b68ee",
    "mediumspringgreen":"#00fa9a","mediumturquoise":"#48d1cc","mediumvioletred":"#c71585","midnightblue":"#191970","mintcream":"#f5fffa","mistyrose":"#ffe4e1","moccasin":"#ffe4b5",
    "navajowhite":"#ffdead","navy":"#000080",
    "oldlace":"#fdf5e6","olive":"#808000","olivedrab":"#6b8e23","orange":"#ffa500","orangered":"#ff4500","orchid":"#da70d6",
    "palegoldenrod":"#eee8aa","palegreen":"#98fb98","paleturquoise":"#afeeee","palevioletred":"#d87093","papayawhip":"#ffefd5","peachpuff":"#ffdab9","peru":"#cd853f","pink":"#ffc0cb","plum":"#dda0dd","powderblue":"#b0e0e6","purple":"#800080",
    "red":"#ff0000","rosybrown":"#bc8f8f","royalblue":"#4169e1",
    "saddlebrown":"#8b4513","salmon":"#fa8072","sandybrown":"#f4a460","seagreen":"#2e8b57","seashell":"#fff5ee","sienna":"#a0522d","silver":"#c0c0c0","skyblue":"#87ceeb","slateblue":"#6a5acd","slategray":"#708090","snow":"#fffafa","springgreen":"#00ff7f","steelblue":"#4682b4",
    "tan":"#d2b48c","teal":"#008080","thistle":"#d8bfd8","tomato":"#ff6347","turquoise":"#40e0d0",
    "violet":"#ee82ee",
    "wheat":"#f5deb3","white":"#ffffff","whitesmoke":"#f5f5f5",
    "yellow":"#ffff00","yellowgreen":"#9acd32"};

    if (typeof colours[colour.toLowerCase()] != 'undefined'){return colours[colour.toLowerCase()];} else {return colour;};
}

// Blend 2.1 for jQuery 1.3+
// Copyright (c) 2010 Jack Moore - jack@colorpowered.com
// Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
(function(a,b){a.fn.blend=function(f,c){var e=this,d=["backgroundColor","backgroundImage","backgroundRepeat","backgroundAttachment","backgroundPosition","backgroundPositionX","backgroundPositionY","paddingTop","paddingLeft","paddingRight","paddingBottom","width","height"];f=parseInt(f,10)||a.fn.blend.speed;c=c||a.fn.blend.callback;e[0]&&!e.find(".jsblend")[0]&&!(a.browser.mozilla&&parseFloat(a.browser.version)<1.9)&&e.each(function(){var g='<span style="position:absolute;top:0;left:0;display:block"/>',h=this,e,k=h.currentStyle||b.getComputedStyle(h,null),i=a(g),j=a(g);if(h.style.position!=="absolute")h.style.position="relative";for(e=0;d[e];e+=1)if(k[d[e]])j[0].style[d[e]]=i[0].style[d[e]]=k[d[e]];i[0].style.backgroundImage=i[0].style.backgroundColor="";a(h).wrapInner(i).addClass("hover").prepend(j);a(h).bind("mouseenter mouseleave",function(a){a.type==="mouseenter"?j.stop().fadeTo(f,0,function(){c&&typeof c==="function"&&c()}):j.stop().fadeTo(f,1)})});return e};a.fn.blend.speed=400;a.fn.blend.callback=null})(jQuery,this)




