jQuery.fn.extend({
  check: function() {return this.each(function() { this.checked = true; });},
  uncheck: function() {return this.each(function() { this.checked = false; });}
});
/**
* hoverIntent r5 // 2007.03.27 // jQuery 1.1.2+
* <http://cherne.net/brian/resources/jquery.hoverIntent.html>
*
* @param  f  onMouseOver function || An object with configuration options
* @param  g  onMouseOut function  || Nothing (use configuration options object)
* @author    Brian Cherne <brian@cherne.net>
*/
(function($){$.fn.hoverIntent=function(f,g){var cfg={sensitivity:7,interval:100,timeout:0};cfg=$.extend(cfg,g?{over:f,out:g}:f);var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY;};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if((Math.abs(pX-cX)+Math.abs(pY-cY))<cfg.sensitivity){$(ob).unbind("mousemove",track);ob.hoverIntent_s=1;return cfg.over.apply(ob,[ev]);}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}};var delay=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);ob.hoverIntent_s=0;return cfg.out.apply(ob,[ev]);};var handleHover=function(e){var p=(e.type=="mouseover"?e.fromElement:e.toElement)||e.relatedTarget;while(p&&p!=this){try{p=p.parentNode;}catch(e){p=this;}}if(p==this){return false;}var ev=jQuery.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);}if(e.type=="mouseover"){pX=ev.pageX;pY=ev.pageY;$(ob).bind("mousemove",track);if(ob.hoverIntent_s!=1){ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}}else{$(ob).unbind("mousemove",track);if(ob.hoverIntent_s==1){ob.hoverIntent_t=setTimeout(function(){delay(ev,ob);},cfg.timeout);}}};return this.mouseover(handleHover).mouseout(handleHover);};})(jQuery);
/**
 * Written by us. This will show the loading alert when called, and will attach the appropriate removal
 * mechanism on document ready.
 */
function showLoading(){
  if(parseInt($(".loading").length)>0){return false;}//Only show once
  $("body").append("<div class='loading'><img src='/theme/images/loading.gif' align='absmiddle' />&nbsp;Loading</div>");
  $("div.loading").center({vertical:false});
}
$().ready(function(){$("body").ajaxStop(function(){ $(this).find(".loading").remove();});});
function hideLoading(){$().find(".loading").remove();}
/**
 * Plugin Written By Michael Bollman at Edistorm.com
 */
(function ($) {
$.nl2br = function(str) {
   return (str+'').replace(/([^>])\n/g, '$1<br />\n');
 };
})(jQuery);

/**
 * Plugin Written By Michael Bollman at Edistorm.com
 */
jQuery.fn.log = function(m){
  if(console){console.log("%s: %o", m, this);}
  return this;
};
/**
 * Browser Sniffer
 */
function isMozilla(){return isFirefox();}
function isIE(){return navigator.appName.toLowerCase().indexOf("internet explorer") >= 0;}
function isFirefox(testversion){
   if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){
     var ffversion=new Number(RegExp.$1);
     if(typeof(testversion)!="undefined"){
       if(testversion==3 && ffversion>=3){
         return true;
       }else if(testversion==3 && ffversion>=2){
           return true;
       }else if(testversion==1 && ffversion>=1){
           return true;
       }
     }else{
       return true;
     }
   }
   return false;
}
function getBrowser(){return navigator.appName;}

/**
 * http://katzwebdesign.wordpress.com/2008/09/08/simple-vertical-align-plugin-for-jquery/
 */
(function ($) {
// VERTICALLY ALIGN FUNCTION
$.fn.vAlign = function() {
	return this.each(function(i){
	var ah = $(this).height();
	var ph = $(this).parent().height();
	var mh = (ph - ah) / 2;
	$(this).css('margin-top', mh);
	});
};
})(jQuery);
/**
 * for more info visit http://cssglobe.com/post/1695/easiest-tooltip-and-image-preview-using-jquery
 */
this.tooltip = function(){
	/* CONFIG */
		xOffset = 10;
		yOffset = 20;
		// these 2 variable determine popup's distance from the cursor
		// you might want to adjust to get the right result
	/* END CONFIG */
	$("a.tooltip").hover(function(e){
		this.t = this.title;
		this.title = "";
		$("body").append("<p id='tooltip'>"+ this.t +"</p>");
		$("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px")
			.fadeIn("fast");
    },
	function(){
		this.title = this.t;
		$("#tooltip").remove();
    });
	$("a.tooltip").mousemove(function(e){
		$("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px");
	});
};

this.imagePreview = function(){

	xOffset = 10;
	yOffset = 30;

	$(".imgnode").hover(function(e){
	    var c = (typeof(this.parentNode.getAttribute("name"))!="undefined" && this.parentNode.getAttribute("name")!=null ? "<br />"+this.parentNode.getAttribute("name") : "");
		$("body").append("<p class='img_preview'><img src='"+ this.parentNode.getAttribute("fullsize") +"' />"+c+"</p>");
  		if((parseInt(e.pageY)+parseInt($(".img_preview").height()))>parseInt($(window).height())){yOffset = (parseInt(e.pageY)+parseInt($(".img_preview").height()))-parseInt($(window).height())+100;}
		if(parseInt(e.pageX)+parseInt($(".img_preview").width())>parseInt($(window).width())){xOffset = (parseInt($(".img_preview").width()) + 20)*-1;	}
		$(".img_preview").css("top",(e.pageY - yOffset) + "px").css("left",(e.pageX + xOffset) + "px").fadeIn("fast");
    },
	function(){$(".img_preview").remove();});
};

this.screenshotPreview = function(){
	/* CONFIG */

		xOffset = 10;
		yOffset = 30;

		// these 2 variable determine popup's distance from the cursor
		// you might want to adjust to get the right result

	/* END CONFIG */
	$("a.screenshot").hover(function(e){
		this.t = this.title;
		this.title = "";
		var c = (this.t != "") ? "<br/>" + this.t : "";
		$("body").append("<p id='screenshot'><img src='"+ this.rel +"' alt='url preview' />"+ c +"</p>");
		$("#screenshot")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px")
			.fadeIn("fast");
    },
	function(){
		this.title = this.t;
		$("#screenshot").remove();
    });
	$("a.screenshot").mousemove(function(e){
		$("#screenshot")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px");
	});
};

//Suggest
(function($) {

		$.suggest = function(input, options) {

			var $input = $(input).attr("autocomplete", "off");
			var $results = $(document.createElement("ul"));

			var timeout = false;		// hold timeout ID for suggestion results to appear
			var prevLength = 0;			// last recorded length of $input.val()
			var cache = [];				// cache MRU list
			var cacheSize = 0;			// size of cache in chars (bytes?)
			var idfield = options.idfield;           // field to hold id

			$results.addClass(options.resultsClass).appendTo('body');

			resetPosition();
			$(window)
				.load(resetPosition)		// just in case user is changing size of page while loading
				.resize(resetPosition);

			$input.blur(function() {
				setTimeout(function() { $results.hide() }, 200);
			});

			// help IE users if possible
			try {
				$results.bgiframe();
			} catch(e) { }

			// I really hate browser detection, but I don't see any other way
			if ($.browser.mozilla)
				$input.keypress(processKey);	// onkeypress repeats arrow keys in Mozilla/Opera
			else
				$input.keydown(processKey);		// onkeydown repeats arrow keys in IE/Safari

			function resetPosition() {
				// requires jquery.dimension plugin
				var offset = $input.offset();
				$results.css({
					top: (offset.top + input.offsetHeight) + 'px',
					left: offset.left + 'px'
				});
			}

			function processKey(e) {

				// handling up/down/escape requires results to be visible
				// handling enter/tab requires that AND a result to be selected
				if ((/27$|38$|40$/.test(e.keyCode) && $results.is(':visible')) ||
					(/^13$|^9$/.test(e.keyCode) && getCurrentResult())) {

		            if (e.preventDefault)e.preventDefault();
					if (e.stopPropagation)e.stopPropagation();
	                e.cancelBubble = true;
	                e.returnValue = false;
					switch(e.keyCode) {
						case 38: // up
							prevResult();
							break;
						case 40: // down
							nextResult();
							break;
                        case 13: //enter/return
                        case 9:  //tab
                          var $o = getCurrentResult();
					      $("#"+idfield).val($o.attr("li_id"));
						  selectCurrentResult();
						  e.preventDefault();
						  e.stopPropagation();
                        break;
						case 27: //	escape
							$results.hide();
							break;
					}
				} else if ($input.val().length != prevLength && e.keyCode!=13 && e.keyCode!=9) {

					if (timeout)
						clearTimeout(timeout);
					timeout = setTimeout(suggest, options.delay);
					prevLength = $input.val().length;
				} else if (options.showall==true && $.trim($input.val()).length==0 && e.keyCode==40){
				  suggest();
				}
			}

			function suggest() {
				var q = $.trim($input.val());
				if (q.length >= options.minchars) {
					cached = checkCache(q);
					if (cached) {
						displayItems(cached['items']);
					} else {
					  $("."+options.resultsClass).css("overlow", "").css("height", "").css("width", "");
					  switch(options.type){
					    default:
					    case "ajax":
						  $.get(options.source, {q: q}, function(txt) {
							$results.hide();
							var items = parseTxt(txt, q);
							displayItems(items);
							addToCache(q, items, txt.length);
						  });
					    break;
					    case "input":
					      var txt = options.strinput, all_items = txt.split(options.delimiter), items = new Array(), added=0;
						  $results.hide();
						  var regex = new RegExp(q, 'ig');
            		      for (var i = 0; i < all_items.length; i++){
            				var a = all_items[i].split("|");
            				if(regex.test(a[2]) && $("."+options.uniqueclass+"["+options.uniqueattr+"='"+a[0]+"']").length==0){
            				  all_items[i][2] = parseTxt(all_items[i][2], q);
            				  items.push(all_items[i]);
            				  added++
            				}
            				if(added>parseInt(options.results)){
            				  break;
            				}
            			  }
						  displayItems(items);
						  addToCache(q, items, txt.length);
					    break;
					  }
					}
				} else if(options.showall && q.length==0 && options.type=="input") {
			        var txt = options.strinput, all_items = txt.split(options.delimiter), items = new Array();
					$results.hide();
        		    for (var i = 0; i < all_items.length; i++){
        			  var a = all_items[i].split("|");
        			  if(a.length>1)
        			    items.push(all_items[i]);
        			}
        			$("."+options.resultsClass).css("overflow", "auto").css("height", 200).css("width", 250);
					displayItems(items);
				} else {
					$results.hide();
				}
			}

			function checkCache(q) {
				for (var i = 0; i < cache.length; i++)
					if (cache[i]['q'] == q) {
						cache.unshift(cache.splice(i, 1)[0]);
						return cache[0];
					}
				return false;
			}

			function addToCache(q, items, size) {
			    return false;
				while (cache.length && (cacheSize + size > options.maxCacheSize)) {
					var cached = cache.pop();
					cacheSize -= cached['size'];
				}
				cache.push({q: q,size: size,items: items});
				cacheSize += size;
			}

			function displayItems(items) {

				if (!items)
					return;

				if (!items.length) {
					$results.hide();
					return;
				}

                resetPosition();
				var html = '';
				for (var i = 0; i < items.length; i++){
				  o = items[i].split("|");
				  html += '<li li_id="'+o[0]+'">'+o[1]+(o[2] ? ' '+o[2] : '')+'</li>';
				}

				$results.html(html).show();

				$results
					.children('li')
					.mouseover(function() {
						$results.children('li').removeClass(options.selectClass);
						$(this).addClass(options.selectClass);
					})
					.click(function(e) {
					    $("#"+idfield).val($(this).attr("li_id"));
						e.preventDefault();
						e.stopPropagation();
						selectCurrentResult();
						$input.focus();
					});

			}

			function parseTxt(txt, q) {

				var items = [];
				var tokens = txt.split(options.delimiter);

				// parse returned data for non-empty items
				for (var i = 0; i < tokens.length; i++) {
					var token = $.trim(tokens[i]);
					if (token) {
						token = token.replace(
							new RegExp(q, 'ig'),
							function(q) { return '<span class="' + options.matchClass + '">' + q + '</span>' }
							);
						items[items.length] = token;
					}
				}

				return items;
			}

			function getCurrentResult() {
				if (!$results.is(':visible'))
					return false;
				var $currentResult = $results.children('li.' + options.selectClass);
				if (!$currentResult.length)
					$currentResult = false;
				return $currentResult;
			}

			function selectCurrentResult() {
				$currentResult = getCurrentResult();
				if ($currentResult) {
					$input.val($currentResult.text());
					$results.hide();
					if (options.onSelect)
						options.onSelect.apply($input[0]);
				}
			}

			function nextResult() {
				$currentResult = getCurrentResult();
				if ($currentResult)
				    $currentResult.removeClass(options.selectClass).next().addClass(options.selectClass);
				else
					$results.children('li:first-child').addClass(options.selectClass);
			}

			function prevResult() {
				$currentResult = getCurrentResult();
				if ($currentResult)
					$currentResult.removeClass(options.selectClass).prev().addClass(options.selectClass);
				else
					$results.children('li:last-child').addClass(options.selectClass);
			}

		}

		$.fn.suggest = function(source, options) {

			if (!source)
				return;
				
			options = options || {};
			options.source = source;
			options.type = options.type || "ajax";
			options.showall = options.showall || false;
			options.showallmax = options.showallmax || 200;
			options.strinput = options.strinput || false;
			options.delay = options.delay || 100;
			options.resultsClass = options.resultsClass || 'ac_results';
			options.selectClass = options.selectClass || 'ac_over';
			options.matchClass = options.matchClass || 'ac_match';
			options.minchars = options.minchars || 2;
			options.delimiter = options.delimiter || '\n';
			options.onSelect = options.onSelect || false;
			options.maxCacheSize = options.maxCacheSize || 65536;
			options.results = options.results || 10;
			options.unique = options.unique || false;
			options.uniqueattr = options.uniqueattr || "";
			options.uniqueclass = options.uniqueclass || "";

			this.each(function() {
				new $.suggest(this, options);
			});

			return this;

		};

	})(jQuery);

/*
 * timeago: a jQuery plugin, version: 0.5.1 (08/20/2008)
 * @requires jQuery v1.2 or later
 *
 * Timeago is a jQuery plugin that makes it easy to support automatically
 * updating fuzzy timestamps (e.g. "4 minutes ago" or "about 1 day ago").
 *
 * For usage and examples, visit:
 * http://timeago.yarp.com/
 *
 * Licensed under the MIT:
 * http://www.opensource.org/licenses/mit-license.php
 *
 * Copyright (c) 2008, Ryan McGeary (ryanonjavascript -[at]- mcgeary [*dot*] org)
 */
(function($) {
  $.timeago = function(timestamp) {
    if (timestamp instanceof Date) return inWords(timestamp);
    else if (typeof timestamp == "string") return inWords($.timeago.parse(timestamp));
    else return inWords($.timeago.parse($(timestamp).attr("title")));
  };
  var $t = $.timeago;

  $.extend($.timeago, {
    settings: {
      refreshMillis: 60000,
      allowFuture: false,
      strings: {
        ago: "ago",
        fromNow: "from now",
        seconds: "less than a minute",
        minute: "about a minute",
        minutes: "%d minutes",
        hour: "about an hour",
        hours: "about %d hours",
        day: "a day",
        days: "%d days",
        month: "about a month",
        months: "%d months",
        year: "about a year",
        years: "%d years"
      }
    },
    inWords: function(distanceMillis) {
      var $l = this.settings.strings;
      var suffix = $l.ago;
      if (this.settings.allowFuture) {
        if (distanceMillis < 0) suffix = $l.fromNow;
        distanceMillis = Math.abs(distanceMillis);
      }

      var seconds = distanceMillis / 1000;
      var minutes = seconds / 60;
      var hours = minutes / 60;
      var days = hours / 24;
      var years = days / 365;

      var words = seconds < 45 && sprintf($l.seconds, Math.round(seconds)) ||
        seconds < 90 && $l.minute ||
        minutes < 45 && sprintf($l.minutes, Math.round(minutes)) ||
        minutes < 90 && $l.hour ||
        hours < 24 && sprintf($l.hours, Math.round(hours)) ||
        hours < 48 && $l.day ||
        days < 30 && sprintf($l.days, Math.floor(days)) ||
        days < 60 && $l.month ||
        days < 365 && sprintf($l.months, Math.floor(days / 30)) ||
        years < 2 && $l.year ||
        sprintf($l.years, Math.floor(years));

      return words + " " + suffix;
    },
    parse: function(iso8601) {
      var s = $.trim(iso8601);
      s = s.replace(/-/,"/").replace(/-/,"/");
      s = s.replace(/T/," ").replace(/Z/," UTC");
      s = s.replace(/([\+-]\d\d)\:?(\d\d)/,
      " $1$2"); // -04:00 -> -0400
      return new Date(s);
    }
  });

  $.fn.timeago = function() {
    var self = this;
    self.each(refresh);

    var $s = $t.settings;
    if ($s.refreshMillis > 0) {
      setInterval(function() { self.each(refresh); }, $s.refreshMillis);
    }
    return self;
  };

  function refresh() {
    var date = $t.parse(this.title);
    if (!isNaN(date)) {
      $(this).text(inWords(date));
    }
    //Now remove the title//
    this.title = '';
    return this;
  }

  function inWords(date) {
    return $t.inWords(distance(date));
  }

  function distance(date) {
    return (new Date().getTime() - date.getTime());
  }

  // lame sprintf implementation
  function sprintf(string, value) {
    return string.replace(/%d/i, value);
  }

  // fix for IE6 suckage
  if ($.browser.msie && $.browser.version < 7.0) {
    document.createElement('abbr');
  }
})(jQuery);

/**
 * @author Alexandre Magno
 * @desc Center a element with jQuery
 * @version 1.0
 * @example
 * $("element").center({
 *
 * 		vertical: true,
 *      horizontal: true
 *
 * });
 * @obs With no arguments, the default is above
 * @license free
 * @param bool vertical, bool horizontal
 * @contribution Paulo Radichi
 *
 */
jQuery.fn.center=function(params){
    var options={vertical:true,horizontal:true};
    op=jQuery.extend(options,params);
    return this.each(function(){
        var $self=jQuery(this), width=$self.width(), height=$self.height(), paddingTop=parseInt($self.css("padding-top")), paddingBottom=parseInt($self.css("padding-bottom")), borderTop=parseInt($self.css("border-top-width")), borderBottom=parseInt($self.css("border-bottom-width")), mediaBorder=(borderTop+borderBottom)/2;
        var mediaPadding=(paddingTop+paddingBottom)/2;
        var positionType=$self.parent().css("position");
        var halfWidth=(width/2)*(-1);
        var halfHeight=((height/2)*(-1))-mediaPadding-mediaBorder;
        var cssProp={position:'absolute'};
            cssProp.height=height;
            cssProp.marginTop=$(window).scrollTop();
        if(op.horizontal){
            cssProp.width=width;
            cssProp.left='50%';
            cssProp.marginLeft=halfWidth+$(window).scrollLeft();
        }
        if(positionType=='static'){
            $self.parent().css("position","relative")
        }
        $self.css(cssProp)
    }
)};

/* Copyright (c) 2007 Paul Bakaus (paul.bakaus@googlemail.com) and Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * $LastChangedDate: 2007-10-06 20:11:15 +0200 (Sa, 06 Okt 2007) $
 * $Rev: 3581 $
 *
 * Version: @VERSION
 *
 * Requires: jQuery 1.2+
 */

(function($){
	
$.dimensions = {version: '@VERSION'};

// Create innerHeight, innerWidth, outerHeight and outerWidth methods
$.each( [ 'Height', 'Width' ], function(i, name){
	
	// innerHeight and innerWidth
	$.fn[ 'inner' + name ] = function() {
		if (!this[0]) return;
		
		var torl = name == 'Height' ? 'Top'    : 'Left',  // top or left
		    borr = name == 'Height' ? 'Bottom' : 'Right'; // bottom or right
		
		return num( this, name.toLowerCase() ) + num(this, 'padding' + torl) + num(this, 'padding' + borr);
	};
	
	// outerHeight and outerWidth
	$.fn[ 'outer' + name ] = function(options) {
		if (!this[0]) return;
		
		var torl = name == 'Height' ? 'Top'    : 'Left',  // top or left
		    borr = name == 'Height' ? 'Bottom' : 'Right'; // bottom or right
		
		options = $.extend({ margin: false }, options || {});
		
		return num( this, name.toLowerCase() )
				+ num(this, 'border' + torl + 'Width') + num(this, 'border' + borr + 'Width')
				+ num(this, 'padding' + torl) + num(this, 'padding' + borr)
				+ (options.margin ? (num(this, 'margin' + torl) + num(this, 'margin' + borr)) : 0);
	};
});

// Create scrollLeft and scrollTop methods
$.each( ['Left', 'Top'], function(i, name) {
	$.fn[ 'scroll' + name ] = function(val) {
		if (!this[0]) return;
		
		return val != undefined ?
		
			// Set the scroll offset
			this.each(function() {
				this == window || this == document ?
					window.scrollTo( 
						name == 'Left' ? val : $(window)[ 'scrollLeft' ](),
						name == 'Top'  ? val : $(window)[ 'scrollTop'  ]()
					) :
					this[ 'scroll' + name ] = val;
			}) :
			
			// Return the scroll offset
			this[0] == window || this[0] == document ?
				self[ (name == 'Left' ? 'pageXOffset' : 'pageYOffset') ] ||
					$.boxModel && document.documentElement[ 'scroll' + name ] ||
					document.body[ 'scroll' + name ] :
				this[0][ 'scroll' + name ];
	};
});

$.fn.extend({
	position: function() {
		var left = 0, top = 0, elem = this[0], offset, parentOffset, offsetParent, results;
		
		if (elem) {
			// Get *real* offsetParent
			offsetParent = this.offsetParent();
			
			// Get correct offsets
			offset       = this.offset();
			parentOffset = offsetParent.offset();
			
			// Subtract element margins
			offset.top  -= num(elem, 'marginTop');
			offset.left -= num(elem, 'marginLeft');
			
			// Add offsetParent borders
			parentOffset.top  += num(offsetParent, 'borderTopWidth');
			parentOffset.left += num(offsetParent, 'borderLeftWidth');
			
			// Subtract the two offsets
			results = {
				top:  offset.top  - parentOffset.top,
				left: offset.left - parentOffset.left
			};
		}
		
		return results;
	},
	
	offsetParent: function() {
		var offsetParent = this[0].offsetParent;
		while ( offsetParent && (!/^body|html$/i.test(offsetParent.tagName) && $.css(offsetParent, 'position') == 'static') )
			offsetParent = offsetParent.offsetParent;
		return $(offsetParent);
	}
});

function num(el, prop) {
	return parseInt($.css(el.jquery?el[0]:el,prop))||0;
};

})(jQuery);
/**
 * jQuery.ScrollTo
 * Copyright (c) 2007-2008 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 9/11/2008
 *
 * @projectDescription Easy element scrolling using jQuery.
 * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
 * Tested with jQuery 1.2.6. On FF 2/3, IE 6/7, Opera 9.2/5 and Safari 3. on Windows.
 *
 * @author Ariel Flesler
 * @version 1.4
 *
 * @id jQuery.scrollTo
 * @id jQuery.fn.scrollTo
 * @param {String, Number, DOMElement, jQuery, Object} target Where to scroll the matched elements.
 *	  The different options for target are:
 *		- A number position (will be applied to all axes).
 *		- A string position ('44', '100px', '+=90', etc ) will be applied to all axes
 *		- A jQuery/DOM element ( logically, child of the element to scroll )
 *		- A string selector, that will be relative to the element to scroll ( 'li:eq(2)', etc )
 *		- A hash { top:x, left:y }, x and y can be any kind of number/string like above.
 * @param {Number} duration The OVERALL length of the animation, this argument can be the settings object instead.
 * @param {Object,Function} settings Optional set of settings or the onAfter callback.
 *	 @option {String} axis Which axis must be scrolled, use 'x', 'y', 'xy' or 'yx'.
 *	 @option {Number} duration The OVERALL length of the animation.
 *	 @option {String} easing The easing method for the animation.
 *	 @option {Boolean} margin If true, the margin of the target element will be deducted from the final position.
 *	 @option {Object, Number} offset Add/deduct from the end position. One number for both axes or { top:x, left:y }.
 *	 @option {Object, Number} over Add/deduct the height/width multiplied by 'over', can be { top:x, left:y } when using both axes.
 *	 @option {Boolean} queue If true, and both axis are given, the 2nd axis will only be animated after the first one ends.
 *	 @option {Function} onAfter Function to be called after the scrolling ends. 
 *	 @option {Function} onAfterFirst If queuing is activated, this function will be called after the first scrolling ends.
 * @return {jQuery} Returns the same jQuery object, for chaining.
 *
 * @desc Scroll to a fixed position
 * @example $('div').scrollTo( 340 );
 *
 * @desc Scroll relatively to the actual position
 * @example $('div').scrollTo( '+=340px', { axis:'y' } );
 *
 * @dec Scroll using a selector (relative to the scrolled element)
 * @example $('div').scrollTo( 'p.paragraph:eq(2)', 500, { easing:'swing', queue:true, axis:'xy' } );
 *
 * @ Scroll to a DOM element (same for jQuery object)
 * @example var second_child = document.getElementById('container').firstChild.nextSibling;
 *			$('#container').scrollTo( second_child, { duration:500, axis:'x', onAfter:function(){
 *				alert('scrolled!!');																   
 *			}});
 *
 * @desc Scroll on both axes, to different values
 * @example $('div').scrollTo( { top: 300, left:'+=200' }, { axis:'xy', offset:-20 } );
 */
;(function( $ ){
	
	var $scrollTo = $.scrollTo = function( target, duration, settings ){
		$(window).scrollTo( target, duration, settings );
	};

	$scrollTo.defaults = {
		axis:'y',
		duration:1
	};

	// Returns the element that needs to be animated to scroll the window.
	// Kept for backwards compatibility (specially for localScroll & serialScroll)
	$scrollTo.window = function( scope ){
		return $(window).scrollable();
	};

	// Hack, hack, hack... stay away!
	// Returns the real elements to scroll (supports window/iframes, documents and regular nodes)
	$.fn.scrollable = function(){
		return this.map(function(){
			// Just store it, we might need it
			var win = this.parentWindow || this.defaultView,
				// If it's a document, get its iframe or the window if it's THE document
				elem = this.nodeName == '#document' ? win.frameElement || win : this,
				// Get the corresponding document
				doc = elem.contentDocument || (elem.contentWindow || elem).document,
				isWin = elem.setInterval;

			return elem.nodeName == 'IFRAME' || isWin && $.browser.safari ? doc.body
				: isWin ? doc.documentElement
				: this;
		});
	};

	$.fn.scrollTo = function( target, duration, settings ){
		if( typeof duration == 'object' ){
			settings = duration;
			duration = 0;
		}
		if( typeof settings == 'function' )
			settings = { onAfter:settings };
			
		settings = $.extend( {}, $scrollTo.defaults, settings );
		// Speed is still recognized for backwards compatibility
		duration = duration || settings.speed || settings.duration;
		// Make sure the settings are given right
		settings.queue = settings.queue && settings.axis.length > 1;
		
		if( settings.queue )
			// Let's keep the overall duration
			duration /= 2;
		settings.offset = both( settings.offset );
		settings.over = both( settings.over );

		return this.scrollable().each(function(){
			var elem = this,
				$elem = $(elem),
				targ = target, toff, attr = {},
				win = $elem.is('html,body');

			switch( typeof targ ){
				// A number will pass the regex
				case 'number':
				case 'string':
					if( /^([+-]=)?\d+(px)?$/.test(targ) ){
						targ = both( targ );
						// We are done
						break;
					}
					// Relative selector, no break!
					targ = $(targ,this);
				case 'object':
					// DOMElement / jQuery
					if( targ.is || targ.style )
						// Get the real position of the target 
						toff = (targ = $(targ)).offset();
			}
			$.each( settings.axis.split(''), function( i, axis ){
				var Pos	= axis == 'x' ? 'Left' : 'Top',
					pos = Pos.toLowerCase(),
					key = 'scroll' + Pos,
					old = elem[key],
					Dim = axis == 'x' ? 'Width' : 'Height',
					dim = Dim.toLowerCase();

				if( toff ){// jQuery / DOMElement
					attr[key] = toff[pos] + ( win ? 0 : old - $elem.offset()[pos] );

					// If it's a dom element, reduce the margin
					if( settings.margin ){
						attr[key] -= parseInt(targ.css('margin'+Pos)) || 0;
						attr[key] -= parseInt(targ.css('border'+Pos+'Width')) || 0;
					}
					
					attr[key] += settings.offset[pos] || 0;
					
					if( settings.over[pos] )
						// Scroll to a fraction of its width/height
						attr[key] += targ[dim]() * settings.over[pos];
				}else
					attr[key] = targ[pos];

				// Number or 'number'
				if( /^\d+$/.test(attr[key]) )
					// Check the limits
					attr[key] = attr[key] <= 0 ? 0 : Math.min( attr[key], max(Dim) );

				// Queueing axes
				if( !i && settings.queue ){
					// Don't waste time animating, if there's no need.
					if( old != attr[key] )
						// Intermediate animation
						animate( settings.onAfterFirst );
					// Don't animate this axis again in the next iteration.
					delete attr[key];
				}
			});			
			animate( settings.onAfter );			

			function animate( callback ){
				$elem.animate( attr, duration, settings.easing, callback && function(){
					callback.call(this, target, settings);
				});
			};
			function max( Dim ){
				var attr ='scroll'+Dim,
					doc = elem.ownerDocument;
				
				return win
						? Math.max( doc.documentElement[attr], doc.body[attr]  )
						: elem[attr];
			};
		}).end();
	};

	function both( val ){
		return typeof val == 'object' ? val : { top:val, left:val };
	};

})( jQuery );
// jQuery Context Menu Plugin
// Version 1.00
// Cory S.N. LaViska
// A Beautiful Site (http://abeautifulsite.net/)
// set leftClick:false to disable Left Click menu displays
//eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('5(X)(4(){$.1g($.1h,{z:4(o,h){5(o.q==r)j t;5(o.B==r)o.B=1i;5(o.C==r)o.C=1j;5(o.B==0)o.B=-1;5(o.C==0)o.C=-1;5(o.M==r)o.M=1k;$(3).n(4(){m f=$(3);m g=$(f).1l();$(\'#\'+o.q).k(\'z\');$(3).N(4(e){m c=e;$(3).O(4(e){m a=$(3);$(3).p(\'O\');5(c.Y==2||(o.M&&c.Y==0)){$(".z").Z();m b=$(\'#\'+o.q);5($(f).1m(\'l\'))j t;m d={},x,y;5(D.E){d.G=D.G;d.H=D.H;d.E=D.E;d.I=D.I}v 5(9.w&&9.w.P){d.G=9.w.Q;d.H=9.w.R;d.E=9.w.P;d.I=9.w.10}v 5(9.F){d.G=9.F.Q;d.H=9.F.R;d.E=9.F.P;d.I=9.F.10}(e.11)?x=e.11:x=e.1n+d.R;(e.12)?y=e.12:x=e.1o+d.Q;$(9).p(\'s\');$(b).14({15:y,16:x}).1p(o.B);$(b).6(\'A\').1q(4(){$(b).6(\'8.7\').u(\'7\');$(3).S().k(\'7\')}).1r(4(){$(b).6(\'8.7\').u(\'7\')});$(9).T(4(e){1s(e.1t){J 1u:5($(b).6(\'8.7\').K()==0){$(b).6(\'8:17\').k(\'7\')}v{$(b).6(\'8.7\').u(\'7\').1v(\'8:U(.l)\').18(0).k(\'7\');5($(b).6(\'8.7\').K()==0)$(b).6(\'8:17\').k(\'7\')}L;J 1w:5($(b).6(\'8.7\').K()==0){$(b).6(\'8:19\').k(\'7\')}v{$(b).6(\'8.7\').u(\'7\').1x(\'8:U(.l)\').18(0).k(\'7\');5($(b).6(\'8.7\').K()==0)$(b).6(\'8:19\').k(\'7\')}L;J 13:$(b).6(\'8.7 A\').1a(\'s\');L;J 1y:$(9).1a(\'s\');L}});$(\'#\'+o.q).6(\'A\').p(\'s\');$(\'#\'+o.q).6(\'8:U(.l) A\').s(4(){$(9).p(\'s\').p(\'T\');$(".z").Z();5(h)h($(3).1z(\'V\').1A(1),$(a),{x:x-g.16,y:y-g.15,1B:x,1C:y});j t});1D(4(){$(9).s(4(){$(9).p(\'s\').p(\'T\');$(b).1E(o.C);j t})},0)}})});5($.1b.1F){$(\'#\'+o.q).n(4(){$(3).14({\'1G\':\'1H\'})})}v 5($.1b.1I){$(\'#\'+o.q).n(4(){$(3).W(\'1J.1c\',4(){j t})})}v{$(\'#\'+o.q).n(4(){$(3).W(\'N.1c\',4(){j t})})}$(f).1K(\'1L.z\').W(\'1M\',4(){j t})});j $(3)},1N:4(o){5(o==r){$(3).6(\'8\').k(\'l\');j($(3))}$(3).n(4(){5(o!=r){m d=o.1d(\',\');1e(m i=0;i<d.1f;i++){$(3).6(\'A[V="\'+d[i]+\'"]\').S().k(\'l\')}}});j($(3))},1O:4(o){5(o==r){$(3).6(\'8.l\').u(\'l\');j($(3))}$(3).n(4(){5(o!=r){m d=o.1d(\',\');1e(m i=0;i<d.1f;i++){$(3).6(\'A[V="\'+d[i]+\'"]\').S().u(\'l\')}}});j($(3))},1P:4(){$(3).n(4(){$(3).k(\'l\')});j($(3))},1Q:4(){$(3).n(4(){$(3).u(\'l\')});j($(3))},1R:4(){$(3).n(4(){$(3).p(\'N\').p(\'O\')});j($(3))}})})(X);',62,116,'|||this|function|if|find|hover|LI|document||||||||||return|addClass|disabled|var|each||unbind|menu|undefined|click|false|removeClass|else|documentElement|||contextMenu||inSpeed|outSpeed|self|innerHeight|body|pageYOffset|pageXOffset|innerWidth|case|size|break|leftClick|mousedown|mouseup|clientHeight|scrollTop|scrollLeft|parent|keypress|not|href|bind|jQuery|button|hide|clientWidth|pageX|pageY||css|top|left|last|eq|first|trigger|browser|disableTextSelect|split|for|length|extend|fn|150|75|true|offset|hasClass|clientX|clientY|fadeIn|mouseover|mouseout|switch|keyCode|38|prevAll|40|nextAll|27|attr|substr|docX|docY|setTimeout|fadeOut|mozilla|MozUserSelect|none|msie|selectstart|add|UL|contextmenu|disableContextMenuItems|enableContextMenuItems|disableContextMenu|enableContextMenu|destroyContextMenu'.split('|'),0,{}))
if(jQuery)( function() {
	$.extend($.fn, {
		
		contextMenu: function(o, callback) {
			// Defaults
			if( o.menu == undefined ) return false;
			if( o.inSpeed == undefined ) o.inSpeed = 150;
			if( o.outSpeed == undefined ) o.outSpeed = 75;
			// 0 needs to be -1 for expected results (no fade)
			if( o.inSpeed == 0 ) o.inSpeed = -1;
			if( o.outSpeed == 0 ) o.outSpeed = -1;
			if( o.leftClick == undefined ) o.leftClick = true;
			if( o.precallback == undefined ) o.precallback = false;
			// Loop each context menu
			$(this).each( function() {
				var el = $(this);
				var offset = $(el).offset();
				// Add contextMenu class
				$('#' + o.menu).addClass('contextMenu');
				// Simulate a true right click
				$(this).mousedown( function(e) {
					var evt = e;
					$(this).mouseup( function(e) {
						var srcElement = $(this);
						$(this).unbind('mouseup');
						if( evt.button == 2 || (o.leftClick && evt.button == 0)){
						    
							// Hide context menus that may be showing
							$(".contextMenu").hide();
							// Get this context menu
							var menu = $('#' + o.menu);
							
							if( $(el).hasClass('disabled') ) return false;
							
							// Detect mouse position
							var d = {}, x, y;
							if( self.innerHeight ) {
								d.pageYOffset = self.pageYOffset;
								d.pageXOffset = self.pageXOffset;
								d.innerHeight = self.innerHeight;
								d.innerWidth = self.innerWidth;
							} else if( document.documentElement &&
								document.documentElement.clientHeight ) {
								d.pageYOffset = document.documentElement.scrollTop;
								d.pageXOffset = document.documentElement.scrollLeft;
								d.innerHeight = document.documentElement.clientHeight;
								d.innerWidth = document.documentElement.clientWidth;
							} else if( document.body ) {
								d.pageYOffset = document.body.scrollTop;
								d.pageXOffset = document.body.scrollLeft;
								d.innerHeight = document.body.clientHeight;
								d.innerWidth = document.body.clientWidth;
							}
							(e.pageX) ? x = e.pageX : x = e.clientX + d.scrollLeft;
							(e.pageY) ? y = e.pageY : x = e.clientY + d.scrollTop;
							
							// Show the menu
							$(document).unbind('click');
							$(menu).css({ top: y, left: x }).fadeIn(o.inSpeed);
							if(o.precallback){
							  o.precallback(el, menu);
							}
							// Hover events
							$(menu).find('A').mouseover( function() {
								$(menu).find('LI.hover').removeClass('hover');
								$(this).parent().addClass('hover');
							}).mouseout( function() {
								$(menu).find('LI.hover').removeClass('hover');
							});
							
							// Keyboard
							$(document).keypress( function(e) {
								switch( e.keyCode ) {
									case 38: // up
										if( $(menu).find('LI.hover').size() == 0 ) {
											$(menu).find('LI:last').addClass('hover');
										} else {
											$(menu).find('LI.hover').removeClass('hover').prevAll('LI:not(.disabled)').eq(0).addClass('hover');
											if( $(menu).find('LI.hover').size() == 0 ) $(menu).find('LI:last').addClass('hover');
										}
									break;
									case 40: // down
										if( $(menu).find('LI.hover').size() == 0 ) {
											$(menu).find('LI:first').addClass('hover');
										} else {
											$(menu).find('LI.hover').removeClass('hover').nextAll('LI:not(.disabled)').eq(0).addClass('hover');
											if( $(menu).find('LI.hover').size() == 0 ) $(menu).find('LI:first').addClass('hover');
										}
									break;
									case 13: // enter
										$(menu).find('LI.hover A').trigger('click');
									break;
									case 27: // esc
										$(document).trigger('click');
									break
								}
							});
							
							// When items are selected
							$('#' + o.menu).find('A').unbind('click');
							$('#' + o.menu).find('LI:not(.disabled) A').click( function() {
								$(document).unbind('click').unbind('keypress');
								$(".contextMenu").hide();
								// Callback
								if( callback ) callback( $(this).attr('href').substr(1), $(srcElement), {x: x - offset.left, y: y - offset.top, docX: x, docY: y} );
								return false;
							});
							
							// Hide bindings
							setTimeout( function() { // Delay for Mozilla
								$(document).click( function() {
									$(document).unbind('click').unbind('keypress');
									$(menu).fadeOut(o.outSpeed);
									return false;
								});
							}, 0);
						}
					});
				});
				
				// Disable text selection
				if( $.browser.mozilla ) {
					$('#' + o.menu).each( function() { $(this).css({ 'MozUserSelect' : 'none' }); });
				} else if( $.browser.msie ) {
					$('#' + o.menu).each( function() { $(this).bind('selectstart.disableTextSelect', function() { return false; }); });
				} else {
					$('#' + o.menu).each(function() { $(this).bind('mousedown.disableTextSelect', function() { return false; }); });
				}
				// Disable browser context menu (requires both selectors to work in IE/Safari + FF/Chrome)
				$(el).add('UL.contextMenu').bind('contextmenu', function() { return false; });
				
			});
			return $(this);
		},
		
		// Disable context menu items on the fly
		disableContextMenuItems: function(o) {
			if( o == undefined ) {
				// Disable all
				$(this).find('LI').addClass('disabled');
				return( $(this) );
			}
			$(this).each( function() {
				if( o != undefined ) {
					var d = o.split(',');
					for( var i = 0; i < d.length; i++ ) {
						$(this).find('A[href="' + d[i] + '"]').parent().addClass('disabled');
						
					}
				}
			});
			return( $(this) );
		},
		
		// Enable context menu items on the fly
		enableContextMenuItems: function(o) {
			if( o == undefined ) {
				// Enable all
				$(this).find('LI.disabled').removeClass('disabled');
				return( $(this) );
			}
			$(this).each( function() {
				if( o != undefined ) {
					var d = o.split(',');
					for( var i = 0; i < d.length; i++ ) {
						$(this).find('A[href="' + d[i] + '"]').parent().removeClass('disabled');
						
					}
				}
			});
			return( $(this) );
		},
		
		// Disable context menu(s)
		disableContextMenu: function() {
			$(this).each( function() {
				$(this).addClass('disabled');
			});
			return( $(this) );
		},
		
		// Enable context menu(s)
		enableContextMenu: function() {
			$(this).each( function() {
				$(this).removeClass('disabled');
			});
			return( $(this) );
		},
		
		// Destroy context menu(s)
		destroyContextMenu: function() {
			// Destroy specified context menus
			$(this).each( function() {
				// Disable action
				$(this).unbind('mousedown').unbind('mouseup');
			});
			return( $(this) );
		}
		
	});
})(jQuery);
/*
 * jQuery validation plug-in 1.5.1
 *
 * http://bassistance.de/jquery-plugins/jquery-plugin-validation/
 * http://docs.jquery.com/Plugins/Validation
 *
 * Copyright (c) 2006 - 2008 JÃ¶rn Zaefferer
 *
 * $Id: jquery.validate.js 6096 2009-01-12 14:12:04Z joern.zaefferer $
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(7($){$.G($.38,{1z:7(c){l(!6.E){c&&c.21&&2U.1v&&1v.4Y("3p 2B, 4A\'t 1z, 6c 3p");8}p b=$.15(6[0],\'u\');l(b){8 b}b=2l $.u(c,6[0]);$.15(6[0],\'u\',b);l(b.q.3v){6.4I("1Y, 4D").1o(".4w").4q(7(){b.35=v});6.31(7(a){l(b.q.21)a.5V();7 2g(){l(b.q.40){b.q.40.12(b,b.W);8 H}8 v}l(b.35){b.35=H;8 2g()}l(b.L()){l(b.19){b.1u=v;8 H}8 2g()}1a{b.2o();8 H}})}8 b},N:7(){l($(6[0]).2J(\'L\')){8 6.1z().L()}1a{p b=H;p a=$(6[0].L).1z();6.O(7(){b|=a.I(6)});8 b}},4K:7(c){p d={},$I=6;$.O(c.1K(/\\s/),7(a,b){d[b]=$I.1J(b);$I.4G(b)});8 d},17:7(h,k){p f=6[0];l(h){p i=$.15(f.L,\'u\').q;p d=i.17;p c=$.u.2t(f);2p(h){1b"1f":$.G(c,$.u.1U(k));d[f.r]=c;l(k.J)i.J[f.r]=$.G(i.J[f.r],k.J);2u;1b"63":l(!k){Q d[f.r];8 c}p e={};$.O(k.1K(/\\s/),7(a,b){e[b]=c[b];Q c[b]});8 e}}p g=$.u.49($.G({},$.u.44(f),$.u.43(f),$.u.3G(f),$.u.2t(f)),f);l(g.11){p j=g.11;Q g.11;g=$.G({11:j},g)}8 g}});$.G($.5A[":"],{5w:7(a){8!$.1j(a.T)},5o:7(a){8!!$.1j(a.T)},5m:7(a){8!a.3P}});$.1d=7(c,b){l(S.E==1)8 7(){p a=$.3K(S);a.5a(c);8 $.1d.1Q(6,a)};l(S.E>2&&b.2i!=3F){b=$.3K(S).4U(1)}l(b.2i!=3F){b=[b]}$.O(b,7(i,n){c=c.3B(2l 3z("\\\\{"+i+"\\\\}","g"),n)});8 c};$.u=7(b,a){6.q=$.G({},$.u.2I,b);6.W=a;6.3w()};$.G($.u,{2I:{J:{},1Z:{},17:{},1c:"3s",2G:"4J",2o:v,3m:$([]),2D:$([]),3v:v,3l:[],3k:H,4H:7(a){6.3i=a;l(6.q.4F&&!6.4E){6.q.1I&&6.q.1I.12(6,a,6.q.1c);6.1P(a).2x()}},4C:7(a){l(!6.1x(a)&&(a.r Z 6.1k||!6.F(a))){6.I(a)}},4v:7(a){l(a.r Z 6.1k||a==6.39){6.I(a)}},4t:7(a){l(a.r Z 6.1k)6.I(a)},2r:7(a,b){$(a).2q(b)},1I:7(a,b){$(a).37(b)}},6i:7(a){$.G($.u.2I,a)},J:{11:"6f 4o 2J 11.",1S:"K 33 6 4o.",1T:"K M a N 1T 6a.",1w:"K M a N 65.",1m:"K M a N 1m.",1W:"K M a N 1m (61).",2j:"4d 4c 3n 2Y 5U¼5R 5Q 2Y.",1s:"K M a N 1s.",24:"4d 4c 3n 5O 5L 2Y.",1N:"K M 5J 1N",2e:"K M a N 5F 5D 1s.",3Y:"K M 3W 5y T 5v.",3U:"K M a T 5s a N 5r.",16:$.1d("K M 3R 5n 2P {0} 2O."),1D:$.1d("K M 5l 5k {0} 2O."),2b:$.1d("K M a T 3N {0} 3M {1} 2O 5f."),2a:$.1d("K M a T 3N {0} 3M {1}."),1t:$.1d("K M a T 5b 2P 3J 3I 4a {0}."),1y:$.1d("K M a T 55 2P 3J 3I 4a {0}.")},3H:H,53:{3w:7(){6.2k=$(6.q.2D);6.4g=6.2k.E&&6.2k||$(6.W);6.26=$(6.q.3m).1f(6.q.2D);6.1k={};6.4V={};6.19=0;6.1e={};6.1g={};6.1V();p f=(6.1Z={});$.O(6.q.1Z,7(d,c){$.O(c.1K(/\\s/),7(a,b){f[b]=d})});p e=6.q.17;$.O(e,7(b,a){e[b]=$.u.1U(a)});7 1C(a){p b=$.15(6[0].L,"u");b.q["3A"+a.1r]&&b.q["3A"+a.1r].12(b,6[0])}$(6.W).1C("3y 3x 4O",":2H, :4N, :4M, 20, 4L",1C).1C("4q",":3u, :3t",1C);l(6.q.3r)$(6.W).3q("1g-L.1z",6.q.3r)},L:7(){6.3o();$.G(6.1k,6.1q);6.1g=$.G({},6.1q);l(!6.N())$(6.W).2F("1g-L",[6]);6.1h();8 6.N()},3o:7(){6.2E();P(p i=0,Y=(6.22=6.Y());Y[i];i++){6.23(Y[i])}8 6.N()},I:7(a){a=6.2C(a);6.39=a;6.2L(a);6.22=$(a);p b=6.23(a);l(b){Q 6.1g[a.r]}1a{6.1g[a.r]=v}l(!6.3E()){6.13=6.13.1f(6.26)}6.1h();8 b},1h:7(b){l(b){$.G(6.1q,b);6.R=[];P(p c Z b){6.R.1X({18:b[c],I:6.28(c)[0]})}6.1i=$.3h(6.1i,7(a){8!(a.r Z b)})}6.q.1h?6.q.1h.12(6,6.1q,6.R):6.3g()},2A:7(){l($.38.2A)$(6.W).2A();6.1k={};6.2E();6.2z();6.Y().37(6.q.1c)},3E:7(){8 6.29(6.1g)},29:7(a){p b=0;P(p i Z a)b++;8 b},2z:7(){6.2y(6.13).2x()},N:7(){8 6.3f()==0},3f:7(){8 6.R.E},2o:7(){l(6.q.2o){3e{$(6.3d()||6.R.E&&6.R[0].I||[]).1o(":4B").3c()}3b(e){}}},3d:7(){p a=6.3i;8 a&&$.3h(6.R,7(n){8 n.I.r==a.r}).E==1&&a},Y:7(){p a=6,2w={};8 $([]).1f(6.W.Y).1o(":1Y").1H(":31, :1V, :4z, [4y]").1H(6.q.3l).1o(7(){!6.r&&a.q.21&&2U.1v&&1v.3s("%o 4x 3R r 4u",6);l(6.r Z 2w||!a.29($(6).17()))8 H;2w[6.r]=v;8 v})},2C:7(a){8 $(a)[0]},2v:7(){8 $(6.q.2G+"."+6.q.1c,6.4g)},1V:7(){6.1i=[];6.R=[];6.1q={};6.1l=$([]);6.13=$([]);6.1u=H;6.22=$([])},2E:7(){6.1V();6.13=6.2v().1f(6.26)},2L:7(a){6.1V();6.13=6.1P(a)},23:7(d){d=6.2C(d);l(6.1x(d)){d=6.28(d.r)[0]}p a=$(d).17();p c=H;P(U Z a){p b={U:U,2s:a[U]};3e{p f=$.u.1F[U].12(6,d.T,d,b.2s);l(f=="1E-1R"){c=v;6l}c=H;l(f=="1e"){6.13=6.13.1H(6.1P(d));8}l(!f){6.4r(d,b);8 H}}3b(e){6.q.21&&2U.1v&&1v.6k("6j 6h 6g 6e I "+d.4p+", 23 3W \'"+b.U+"\' U");6d e;}}l(c)8;l(6.29(a))6.1i.1X(d);8 v},4n:7(a,b){l(!$.1A)8;p c=6.q.34?$(a).1A()[6.q.34]:$(a).1A();8 c&&c.J&&c.J[b]},4m:7(a,b){p m=6.q.J[a];8 m&&(m.2i==4l?m:m[b])},4k:7(){P(p i=0;i<S.E;i++){l(S[i]!==2n)8 S[i]}8 2n},2m:7(a,b){8 6.4k(6.4m(a.r,b),6.4n(a,b),!6.q.3k&&a.6b||2n,$.u.J[b],"<4j>69: 68 18 67 P "+a.r+"</4j>")},4r:7(b,a){p c=6.2m(b,a.U);l(14 c=="7")c=c.12(6,a.2s,b);6.R.1X({18:c,I:b});6.1q[b.r]=c;6.1k[b.r]=c},2y:7(a){l(6.q.2h)a=a.1f(a.64(6.q.2h));8 a},3g:7(){P(p i=0;6.R[i];i++){p a=6.R[i];6.q.2r&&6.q.2r.12(6,a.I,6.q.1c);6.30(a.I,a.18)}l(6.R.E){6.1l=6.1l.1f(6.26)}l(6.q.1n){P(p i=0;6.1i[i];i++){6.30(6.1i[i])}}l(6.q.1I){P(p i=0,Y=6.4i();Y[i];i++){6.q.1I.12(6,Y[i],6.q.1c)}}6.13=6.13.1H(6.1l);6.2z();6.2y(6.1l).4h()},4i:7(){8 6.22.1H(6.3a())},3a:7(){8 $(6.R).3j(7(){8 6.I})},30:7(a,c){p b=6.1P(a);l(b.E){b.37().2q(6.q.1c);b.1J("4f")&&b.4e(c)}1a{b=$("<"+6.q.2G+"/>").1J({"P":6.2Z(a),4f:v}).2q(6.q.1c).4e(c||"");l(6.q.2h){b=b.2x().4h().60("<"+6.q.2h+"/>").5Y()}l(!6.2k.5X(b).E)6.q.4b?6.q.4b(b,$(a)):b.5W(a)}l(!c&&6.q.1n){b.2H("");14 6.q.1n=="1p"?b.2q(6.q.1n):6.q.1n(b)}6.1l=6.1l.1f(b)},1P:7(a){8 6.2v().1o("[P=\'"+6.2Z(a)+"\']")},2Z:7(a){8 6.1Z[a.r]||(6.1x(a)?a.r:a.4p||a.r)},1x:7(a){8/3u|3t/i.V(a.1r)},28:7(d){p c=6.W;8 $(5T.5S(d)).3j(7(a,b){8 b.L==c&&b.r==d&&b||48})},1L:7(a,b){2p(b.47.3D()){1b\'20\':8 $("46:2B",b).E;1b\'1Y\':l(6.1x(b))8 6.28(b.r).1o(\':3P\').E}8 a.E},45:7(b,a){8 6.2X[14 b]?6.2X[14 b](b,a):v},2X:{"5P":7(b,a){8 b},"1p":7(b,a){8!!$(b,a.L).E},"7":7(b,a){8 b(a)}},F:7(a){8!$.u.1F.11.12(6,$.1j(a.T),a)&&"1E-1R"},42:7(a){l(!6.1e[a.r]){6.19++;6.1e[a.r]=v}},4s:7(a,b){6.19--;l(6.19<0)6.19=0;Q 6.1e[a.r];l(b&&6.19==0&&6.1u&&6.L()){$(6.W).31()}1a l(!b&&6.19==0&&6.1u){$(6.W).2F("1g-L",[6])}},2f:7(a){8 $.15(a,"2f")||$.15(a,"2f",5K={2W:48,N:v,18:6.2m(a,"1S")})}},1M:{11:{11:v},1T:{1T:v},1w:{1w:v},1m:{1m:v},1W:{1W:v},2j:{2j:v},1s:{1s:v},24:{24:v},1N:{1N:v},2e:{2e:v}},3Z:7(a,b){a.2i==4l?6.1M[a]=b:$.G(6.1M,a)},43:7(b){p a={};p c=$(b).1J(\'5I\');c&&$.O(c.1K(\' \'),7(){l(6 Z $.u.1M){$.G(a,$.u.1M[6])}});8 a},3G:7(c){p a={};p d=$(c);P(U Z $.u.1F){p b=d.1J(U);l(b){a[U]=b}}l(a.16&&/-1|5H|5G/.V(a.16)){Q a.16}8 a},44:7(a){l(!$.1A)8{};p b=$.15(a.L,\'u\').q.34;8 b?$(a).1A()[b]:$(a).1A()},2t:7(b){p a={};p c=$.15(b.L,\'u\');l(c.q.17){a=$.u.1U(c.q.17[b.r])||{}}8 a},49:7(d,e){$.O(d,7(c,b){l(b===H){Q d[c];8}l(b.2V||b.2d){p a=v;2p(14 b.2d){1b"1p":a=!!$(b.2d,e.L).E;2u;1b"7":a=b.2d.12(e,e);2u}l(a){d[c]=b.2V!==2n?b.2V:v}1a{Q d[c]}}});$.O(d,7(a,b){d[a]=$.5C(b)?b(e):b});$.O([\'1D\',\'16\',\'1y\',\'1t\'],7(){l(d[6]){d[6]=2T(d[6])}});$.O([\'2b\',\'2a\'],7(){l(d[6]){d[6]=[2T(d[6][0]),2T(d[6][1])]}});l($.u.3H){l(d.1y&&d.1t){d.2a=[d.1y,d.1t];Q d.1y;Q d.1t}l(d.1D&&d.16){d.2b=[d.1D,d.16];Q d.1D;Q d.16}}l(d.J){Q d.J}8 d},1U:7(a){l(14 a=="1p"){p b={};$.O(a.1K(/\\s/),7(){b[6]=v});a=b}8 a},5B:7(c,a,b){$.u.1F[c]=a;$.u.J[c]=b;l(a.E<3){$.u.3Z(c,$.u.1U(c))}},1F:{11:7(b,c,a){l(!6.45(a,c))8"1E-1R";2p(c.47.3D()){1b\'20\':p d=$("46:2B",c);8 d.E>0&&(c.1r=="20-5z"||($.2S.2M&&!(d[0].5x[\'T\'].5u)?d[0].2H:d[0].T).E>0);1b\'1Y\':l(6.1x(c))8 6.1L(b,c)>0;5t:8 $.1j(b).E>0}},1S:7(e,h,d){l(6.F(h))8"1E-1R";p g=6.2f(h);l(!6.q.J[h.r])6.q.J[h.r]={};6.q.J[h.r].1S=14 g.18=="7"?g.18(e):g.18;d=14 d=="1p"&&{1w:d}||d;l(g.2W!==e){g.2W=e;p i=6;6.42(h);p f={};f[h.r]=e;$.2R($.G(v,{1w:d,3T:"2Q",3S:"1z"+h.r,5q:"5p",15:f,1n:7(a){l(a){p b=i.1u;i.2L(h);i.1u=b;i.1i.1X(h);i.1h()}1a{p c={};c[h.r]=a||i.2m(h,"1S");i.1h(c)}g.N=a;i.4s(h,a)}},d));8"1e"}1a l(6.1e[h.r]){8"1e"}8 g.N},1D:7(b,c,a){8 6.F(c)||6.1L($.1j(b),c)>=a},16:7(b,c,a){8 6.F(c)||6.1L($.1j(b),c)<=a},2b:7(b,d,a){p c=6.1L($.1j(b),d);8 6.F(d)||(c>=a[0]&&c<=a[1])},1y:7(b,c,a){8 6.F(c)||b>=a},1t:7(b,c,a){8 6.F(c)||b<=a},2a:7(b,c,a){8 6.F(c)||(b>=a[0]&&b<=a[1])},1T:7(a,b){8 6.F(b)||/^((([a-z]|\\d|[!#\\$%&\'\\*\\+\\-\\/=\\?\\^X`{\\|}~]|[\\A-\\B\\w-\\x\\C-\\y])+(\\.([a-z]|\\d|[!#\\$%&\'\\*\\+\\-\\/=\\?\\^X`{\\|}~]|[\\A-\\B\\w-\\x\\C-\\y])+)*)|((\\3Q)((((\\2c|\\1O)*(\\2N\\3X))?(\\2c|\\1O)+)?(([\\3V-\\5E\\3L\\3O\\5j-\\5i\\41]|\\5h|[\\5g-\\5M]|[\\5N-\\5e]|[\\A-\\B\\w-\\x\\C-\\y])|(\\\\([\\3V-\\1O\\3L\\3O\\2N-\\41]|[\\A-\\B\\w-\\x\\C-\\y]))))*(((\\2c|\\1O)*(\\2N\\3X))?(\\2c|\\1O)+)?(\\3Q)))@((([a-z]|\\d|[\\A-\\B\\w-\\x\\C-\\y])|(([a-z]|\\d|[\\A-\\B\\w-\\x\\C-\\y])([a-z]|\\d|-|\\.|X|~|[\\A-\\B\\w-\\x\\C-\\y])*([a-z]|\\d|[\\A-\\B\\w-\\x\\C-\\y])))\\.)+(([a-z]|[\\A-\\B\\w-\\x\\C-\\y])|(([a-z]|[\\A-\\B\\w-\\x\\C-\\y])([a-z]|\\d|-|\\.|X|~|[\\A-\\B\\w-\\x\\C-\\y])*([a-z]|[\\A-\\B\\w-\\x\\C-\\y])))\\.?$/i.V(a)},1w:7(a,b){8 6.F(b)||/^(5d?|5c):\\/\\/(((([a-z]|\\d|-|\\.|X|~|[\\A-\\B\\w-\\x\\C-\\y])|(%[\\1G-f]{2})|[!\\$&\'\\(\\)\\*\\+,;=]|:)*@)?(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|((([a-z]|\\d|[\\A-\\B\\w-\\x\\C-\\y])|(([a-z]|\\d|[\\A-\\B\\w-\\x\\C-\\y])([a-z]|\\d|-|\\.|X|~|[\\A-\\B\\w-\\x\\C-\\y])*([a-z]|\\d|[\\A-\\B\\w-\\x\\C-\\y])))\\.)+(([a-z]|[\\A-\\B\\w-\\x\\C-\\y])|(([a-z]|[\\A-\\B\\w-\\x\\C-\\y])([a-z]|\\d|-|\\.|X|~|[\\A-\\B\\w-\\x\\C-\\y])*([a-z]|[\\A-\\B\\w-\\x\\C-\\y])))\\.?)(:\\d*)?)(\\/((([a-z]|\\d|-|\\.|X|~|[\\A-\\B\\w-\\x\\C-\\y])|(%[\\1G-f]{2})|[!\\$&\'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|X|~|[\\A-\\B\\w-\\x\\C-\\y])|(%[\\1G-f]{2})|[!\\$&\'\\(\\)\\*\\+,;=]|:|@)*)*)?)?(\\?((([a-z]|\\d|-|\\.|X|~|[\\A-\\B\\w-\\x\\C-\\y])|(%[\\1G-f]{2})|[!\\$&\'\\(\\)\\*\\+,;=]|:|@)|[\\59-\\58]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|X|~|[\\A-\\B\\w-\\x\\C-\\y])|(%[\\1G-f]{2})|[!\\$&\'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i.V(a)},1m:7(a,b){8 6.F(b)||!/57|5Z/.V(2l 56(a))},1W:7(a,b){8 6.F(b)||/^\\d{4}[\\/-]\\d{1,2}[\\/-]\\d{1,2}$/.V(a)},2j:7(a,b){8 6.F(b)||/^\\d\\d?\\.\\d\\d?\\.\\d\\d\\d?\\d?$/.V(a)},1s:7(a,b){8 6.F(b)||/^-?(?:\\d+|\\d{1,3}(?:,\\d{3})+)(?:\\.\\d+)?$/.V(a)},24:7(a,b){8 6.F(b)||/^-?(?:\\d+|\\d{1,3}(?:\\.\\d{3})+)(?:,\\d+)?$/.V(a)},1N:7(a,b){8 6.F(b)||/^\\d+$/.V(a)},2e:7(b,e){l(6.F(e))8"1E-1R";l(/[^0-9-]+/.V(b))8 H;p a=0,d=0,27=H;b=b.3B(/\\D/g,"");P(n=b.E-1;n>=0;n--){p c=b.62(n);p d=54(c,10);l(27){l((d*=2)>9)d-=9}a+=d;27=!27}8(a%10)==0},3U:7(b,c,a){a=14 a=="1p"?a:"52|66?g|51";8 6.F(c)||b.50(2l 3z(".("+a+")$","i"))},3Y:7(b,c,a){8 b==$(a).4Z()}}})})(32);(7($){p c=$.2R;p d={};$.2R=7(a){a=$.G(a,$.G({},$.4X,a));p b=a.3S;l(a.3T=="2Q"){l(d[b]){d[b].2Q()}8(d[b]=c.1Q(6,S))}8 c.1Q(6,S)}})(32);(7($){$.O({3c:\'3y\',4W:\'3x\'},7(b,a){$.1B.2K[a]={4T:7(){l($.2S.2M)8 H;6.4S(b,$.1B.2K[a].36,v)},4R:7(){l($.2S.2M)8 H;6.4Q(b,$.1B.2K[a].36,v)},36:7(e){S[0]=$.1B.33(e);S[0].1r=a;8 $.1B.2g.1Q(6,S)}}});$.G($.38,{1C:7(d,e,c){8 6.3q(d,7(a){p b=$(a.3C);l(b.2J(e)){8 c.1Q(b,S)}})},4P:7(a,b){8 6.2F(a,[$.1B.33({1r:a,3C:b})])}})})(32);',62,394,'||||||this|function|return|||||||||||||if||||var|settings|name|||validator|true|uF900|uFDCF|uFFEF||u00A0|uD7FF|uFDF0||length|optional|extend|false|element|messages|Please|form|enter|valid|each|for|delete|errorList|arguments|value|method|test|currentForm|_|elements|in||required|call|toHide|typeof|data|maxlength|rules|message|pendingRequest|else|case|errorClass|format|pending|add|invalid|showErrors|successList|trim|submitted|toShow|date|success|filter|string|errorMap|type|number|max|formSubmitted|console|url|checkable|min|validate|metadata|event|delegate|minlength|dependency|methods|da|not|unhighlight|attr|split|getLength|classRuleSettings|digits|x09|errorsFor|apply|mismatch|remote|email|normalizeRule|reset|dateISO|push|input|groups|select|debug|currentElements|check|numberDE||containers|bEven|findByName|objectLength|range|rangelength|x20|depends|creditcard|previousValue|handle|wrapper|constructor|dateDE|labelContainer|new|defaultMessage|undefined|focusInvalid|switch|addClass|highlight|parameters|staticRules|break|errors|rulesCache|hide|addWrapper|hideErrors|resetForm|selected|clean|errorLabelContainer|prepareForm|triggerHandler|errorElement|text|defaults|is|special|prepareElement|msie|x0d|characters|than|abort|ajax|browser|Number|window|param|old|dependTypes|ein|idOrName|showLabel|submit|jQuery|fix|meta|cancelSubmit|handler|removeClass|fn|lastElement|invalidElements|catch|focus|findLastActive|try|size|defaultShowErrors|grep|lastActive|map|ignoreTitle|ignore|errorContainer|Sie|checkForm|nothing|bind|invalidHandler|error|checkbox|radio|onsubmit|init|focusout|focusin|RegExp|on|replace|target|toLowerCase|numberOfInvalids|Array|attributeRules|autoCreateRanges|equal|or|makeArray|x0b|and|between|x0c|checked|x22|no|port|mode|accept|x01|the|x0a|equalTo|addClassRules|submitHandler|x7f|startRequest|classRules|metadataRules|depend|option|nodeName|null|normalizeRules|to|errorPlacement|geben|Bitte|html|generated|errorContext|show|validElements|strong|findDefined|String|customMessage|customMetaMessage|field|id|click|formatAndAdd|stopRequest|onclick|assigned|onkeyup|cancel|has|disabled|image|can|visible|onfocusout|button|blockFocusCleanup|focusCleanup|removeAttr|onfocusin|find|label|removeAttrs|textarea|file|password|keyup|triggerEvent|removeEventListener|teardown|addEventListener|setup|slice|valueCache|blur|ajaxSettings|warn|val|match|gif|png|prototype|parseInt|greater|Date|Invalid|uF8FF|uE000|unshift|less|ftp|https|x7e|long|x23|x21|x1f|x0e|least|at|unchecked|more|filled|json|dataType|extension|with|default|specified|again|blank|attributes|same|multiple|expr|addMethod|isFunction|card|x08|credit|524288|2147483647|class|only|previous|Nummer|x5b|x5d|eine|boolean|Datum|ltiges|getElementsByName|document|gÃ|preventDefault|insertAfter|append|parent|NaN|wrap|ISO|charAt|remove|parents|URL|jpe|defined|No|Warning|address|title|returning|throw|checking|This|when|occured|setDefaults|exception|log|continue'.split('|'),0,{}));
// jQuery Alert Dialogs Plugin
// Visit http://abeautifulsite.net/notebook/87 for more information
//
// Usage:
//		jAlert( message, [title, callback] )
//		jConfirm( message, [title, callback] )
//		jPrompt( message, [value, title, callback] )
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(4($){$.1={14:-1t,15:0,16:q,17:.1u,18:\'#1v\',L:q,B:\'&C;1w&C;\',M:\'&C;1x&C;\',N:l,O:4(b,c,d){3(c==l){c=\'1y\'}$.1.D(c,b,l,\'O\',4(a){3(d){d(a)}})},P:4(b,c,d){3(c==l){c=\'1z\'}$.1.D(c,b,l,\'P\',4(a){3(d){d(a)}})},Q:4(b,c,d,e){3(d==l){d=\'1A\'}$.1.D(d,b,c,\'Q\',4(a){3(e){e(a)}})},D:4(b,c,d,f,g){$.1.m();$.1.E(\'19\');$("1a").R(\'<5 7="9"><1b 7="F"></1b><5 7="1c"><5 7="j"></5></5></5>\');3($.1.N)$("#9").1d($.1.N);G h=($.H.1e&&1f($.H.1g)<=6)?\'1h\':\'1B\';$("#9").v({1i:h,1j:1C,1D:0,1E:0});$("#F").I(b);$("#1c").1d(f);$("#j").I(c);$("#j").1F($("#j").I().1G(/\\n/g,\'<1k />\'));$("#9").v({1H:$("#9").S(),1I:$("#9").S()});$.1.T();$.1.U(q);V(f){o\'O\':$("#j").W(\'<5 7="X"><r s="w" x="\'+$.1.B+\'" 7="8" /></5>\');$("#8").i(4(){$.1.m();g(q)});$("#8").Y().Z(4(e){3(e.t==13||e.t==10)$("#8").y(\'i\')});p;o\'P\':$("#j").W(\'<5 7="X"><r s="w" x="\'+$.1.B+\'" 7="8" /> <r s="w" x="\'+$.1.M+\'" 7="k" /></5>\');$("#8").i(4(){$.1.m();3(g)g(q)});$("#k").i(4(){$.1.m();3(g)g(11)});$("#8").Y();$("#8, #k").Z(4(e){3(e.t==13)$("#8").y(\'i\');3(e.t==10)$("#k").y(\'i\')});p;o\'Q\':$("#j").R(\'<1k /><r s="I" 1J="1K" 7="u" />\').W(\'<5 7="X"><r s="w" x="\'+$.1.B+\'" 7="8" /> <r s="w" x="\'+$.1.M+\'" 7="k" /></5>\');$("#u").J($("#j").J());$("#8").i(4(){G a=$("#u").1l();$.1.m();3(g)g(a)});$("#k").i(4(){$.1.m();3(g)g(l)});$("#u, #8, #k").Z(4(e){3(e.t==13)$("#8").y(\'i\');3(e.t==10)$("#k").y(\'i\')});3(d)$("#u").1l(d);$("#u").Y().1L();p}3($.1.L){1M{$("#9").L({1N:$("#F")});$("#F").v({1O:\'1P\'})}1Q(e){}}},m:4(){$("#9").1m();$.1.E(\'12\');$.1.U(11)},E:4(a){V(a){o\'19\':$.1.E(\'12\');$("1a").R(\'<5 7="K"></5>\');$("#K").v({1i:\'1h\',1j:1R,1n:\'1o\',1p:\'1o\',J:\'1S%\',z:$(1q).z(),1T:$.1.18,1U:$.1.17});p;o\'12\':$("#K").1m();p}},T:4(){G a=(($(A).z()/2)-($("#9").1V()/2))+$.1.14;G b=(($(A).J()/2)-($("#9").S()/2))+$.1.15;3(a<0)a=0;3(b<0)b=0;3($.H.1e&&1f($.H.1g)<=6)a=a+$(A).1W();$("#9").v({1n:a+\'1r\',1p:b+\'1r\'});$("#K").z($(1q).z())},U:4(a){3($.1.16){V(a){o q:$(A).1X(\'1s\',4(){$.1.T()});p;o 11:$(A).1Y(\'1s\');p}}}}})(1Z);',62,124,'|alerts||if|function|div||id|popup_ok|popup_container|||||||||click|popup_message|popup_cancel|null|_hide||case|break|true|input|type|keyCode|popup_prompt|css|button|value|trigger|height|window|okButton|nbsp|_show|_overlay|popup_title|var|browser|text|width|popup_overlay|draggable|cancelButton|dialogClass|alert|confirm|prompt|append|outerWidth|_reposition|_maintainPosition|switch|after|popup_panel|focus|keypress|27|false|hide||verticalOffset|horizontalOffset|repositionOnResize|overlayOpacity|overlayColor|show|BODY|h1|popup_content|addClass|msie|parseInt|version|absolute|position|zIndex|br|val|remove|top|0px|left|document|px|resize|75|01|E6E6E6|OK|Cancel|Alert|Confirm|Prompt|fixed|99999|padding|margin|html|replace|minWidth|maxWidth|size|30|select|try|handle|cursor|move|catch|99998|100|background|opacity|outerHeight|scrollTop|bind|unbind|jQuery'.split('|'),0,{}));
// Shortuct functions
jAlert = function(message, title, callback) {$.alerts.alert(message, title, callback);}
jConfirm = function(message, title, callback) {$.alerts.confirm(message, title, callback);};
jPrompt = function(message, value, title, callback) {$.alerts.prompt(message, value, title, callback);};
//
/**
* @author Remy Sharp
* @url http://remysharp.com/2007/01/25/jquery-tutorial-text-box-hints/
*/
eval(function(p,a,c,k,e,r){e=function(c){return c.toString(a)};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(0($){$.c.d=0(b){3(!b)b=\'5\';e 1.f(0(){g a=$(1),2=a.h(\'2\'),$6=$(1.6),$7=$(i);0 4(){3(1.8===2&&a.j(b)){a.9(\'\').k(b)}}3(2){a.5(0(){3(1.8===\'\'){a.9(2).l(b)}}).m(4).5();$6.n(4);$7.o(4)}})}})(p);',26,26,'function|this|title|if|remove|blur|form|win|value|val|||fn|hint|return|each|var|attr|window|hasClass|removeClass|addClass|focus|submit|unload|jQuery'.split('|'),0,{}));
//
/*
Clipboard - Copy utility for jQuery
Version 2.0 (packed)
November 24, 2007
Project page: http://bradleysepos.com/projects/jquery/clipboard/
*/
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(v($){7 g=[8,0,0];7 h=[0,0,0];7 j;7 k;7 l=v(a){7 d=Q;5(y Z.Y!="J"&&y Z.Y["1l p"]=="K"){d=Z.Y["1l p"].26;5(d){d=d.M(/^.*\\s+(\\S+\\s+\\S+$)/,"$1");h[0]=O(d.M(/^(.*)\\..*$/,"$1"),10);h[1]=O(d.M(/^.*\\.(.*)\\s.*$/,"$1"),10);5(/r/.1F(d)){h[2]=O(d.M(/^.*r(.*)$/,"$1"),10)}C{h[2]=0}5(h[0]>a[0]||(h[0]==a[0]&&h[1]>a[1])||(h[0]==a[0]&&h[1]==a[1]&&h[2]>=a[2])){6 G}C{6 q}}}6 q};7 m=v(){5(y 1m.1k!="J"){6 G}};7 n=v(a){5(k&&y W!="J"&&y W.1h=="v"){W.1h(a)}};7 o=v(){5($.3.T){6 q}5(y $.3.z==\'J\'){$.3.z=0}$.3.z++;5($.3.z>23){1x($.3.E);n("18 "+$.3.z/10+" 17 H p K u 14, 1N.");6 q}5(($.3.z%12)==0){n("18 "+$.3.z/10+" 17 H p K u 14 1L 1I...")}7 a=$("#D:P");7 b=$(a).16(0);5(y b.1z=="v"&&b.1A){1x($.3.E);$.3.E=Q;$.4.t=\'U\';H(7 i=0;i<$.3.w.N;i++){$.3.w[i]()}$.3.w=Q;$.3.T=G;n("9.4: L. 1o 1n w u F B p t.")}};$.3=v(f,a){a=9.2a({1j:"29.4.28",1i:q},a);j=a.1j;k=a.1i;5(m()){$.4.t=\'1g\';n("9.4: L. 1o 1n w u F B X V t.");6 f()}5($.3.T){6 f()}5($.3.E){$.3.w.27(f)}C{5(l(g)){$("#D").1f();$("#1p").1f();7 b;b=$("<25/>").24("1e","1p").I("1d","0").I("1c","0").1b("20").1Z("");7 c;c=$(\'<19 1e="D" 1X="D" 1W="\'+j+\'" 1V="1U/x-1T-U"></19>\');$(c).I("1d","0").I("1c","0").1b(b);$.3.w=[f];$.3.E=1S(o,12);n("9.4: 1P. 1O H p K u 1M w. 13 p R: "+h[0]+"."+h[1]+"."+h[2])}C 5(h[0]===0){n("9.4: A. p 1K 1J 1Q.");6 q}C{n("9.4: A. 1R p R: "+g[0]+"."+g[1]+"."+g[2]+" 13 p R: "+h[0]+"."+h[1]+"."+h[2]);6 q}}};$.4=v(a){5(1H.N<1||y a!="15"){n("9.4: A. 1G u F. 1a 11 1E a 15 1D 1Y P 1C.");6 q}5($.4.t==\'1g\'){1B{1m.1k.21("22",a);n("9.4: L. 1w "+a.N+" 1v u 4 B X V t.");6 G}2e(e){n("9.4: A. 1u u F B X V t 1t 1s 1y 1r 1q.");6 q}}5($.4.t==\'U\'){7 b=$("#D:P");7 c=$(b).16(0);5(c.1z(a)){n("9.4: L. 1w "+a.N+" 1v u 4 B p t.");6 G}C{n("9.4: A. 1u u F B p t 1t 1s 1y 1r 1q.");6 q}}n("9.4: A. 1a 11 2d $.3() 2c 2b 2f $.4().");6 q}})(9);',62,140,'|||clipboardReady|clipboard|if|return|var||jQuery||||||||||||||||Flash|false|||method|to|function|ready||typeof|counter|ERROR|using|else|jquery_clipboard_swf|timer|copy|true|for|css|undefined|object|OK|replace|length|parseInt|first|null|version||done|flash|IE|console|native|plugins|navigator||must|100|Detected|load|string|get|seconds|Waited|embed|You|appendTo|height|width|id|remove|ie|log|debug|swfpath|clipboardData|Shockwave|window|and|Initialized|jquery_clipboard_div|occurred|error|an|but|Tried|bytes|Copied|clearInterval|unknown|jqueryClipboardCopy|jqueryClipboardAvailable|try|parameter|as|specify|test|Nothing|arguments|far|not|plugin|so|become|terminating|Waiting|INFO|detected|Minimum|setInterval|shockwave|application|type|src|name|the|html|body|setData|Text|599|attr|div|description|push|swf|jquery|extend|conjunction|in|use|catch|with'.split('|'),0,{}));
//
/* 
/**
 * jGrowl 1.1.2
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 * Written by Stan Lemon <stanlemon@mac.com>
 */
(function($){$.jGrowl=function(m,o){if($("#jGrowl").size()==0){$("<div id=\"jGrowl\"></div>").addClass($.jGrowl.defaults.position).appendTo("body");}
$("#jGrowl").jGrowl(m,o);};$.fn.jGrowl=function(m,o){if($.isFunction(this.each)){var _6=arguments;return this.each(function(){var _7=this;if($(this).data("jGrowl.instance")==undefined){$(this).data("jGrowl.instance",new $.fn.jGrowl());$(this).data("jGrowl.instance").startup(this);}
if($.isFunction($(this).data("jGrowl.instance")[m])){$(this).data("jGrowl.instance")[m].apply($(this).data("jGrowl.instance"),$.makeArray(_6).slice(1));}else{$(this).data("jGrowl.instance").notification(m,o);}});}};$.extend($.fn.jGrowl.prototype,{defaults:{header:"",sticky:false,position:"bottom-right",glue:"after",theme:"default",corners:"10px",check:500,life:3000,speed:"normal",easing:"swing",closer:true,closerTemplate:"<div>[ close all ]</div>",log:function(e,m,o){},beforeOpen:function(e,m,o){},open:function(e,m,o){},beforeClose:function(e,m,o){},close:function(e,m,o){},animateOpen:{opacity:"show"},animateClose:{opacity:"hide"}},element:null,interval:null,notification:function(_17,o){var _19=this;var o=$.extend({},this.defaults,o);o.log.apply(this.element,[this.element,_17,o]);var _1a=$("<div class=\"jGrowl-notification\"><div class=\"close\">&times;</div><div class=\"header\">"+o.header+"</div><div class=\"message\">"+_17+"</div></div>").data("jGrowl",o).addClass(o.theme).children("div.close").bind("click.jGrowl",function(){$(this).unbind("click.jGrowl").parent().trigger("jGrowl.beforeClose").animate(o.animateClose,o.speed,o.easing,function(){$(this).trigger("jGrowl.close").remove();});}).parent();(o.glue=="after")?$("div.jGrowl-notification:last",this.element).after(_1a):$("div.jGrowl-notification:first",this.element).before(_1a);$(_1a).bind("mouseover.jGrowl",function(){$(this).data("jGrowl").pause=true;}).bind("mouseout.jGrowl",function(){$(this).data("jGrowl").pause=false;}).bind("jGrowl.beforeOpen",function(){o.beforeOpen.apply(_19.element,[_19.element,_17,o]);}).bind("jGrowl.open",function(){o.open.apply(_19.element,[_19.element,_17,o]);}).bind("jGrowl.beforeClose",function(){o.beforeClose.apply(_19.element,[_19.element,_17,o]);}).bind("jGrowl.close",function(){o.close.apply(_19.element,[_19.element,_17,o]);}).trigger("jGrowl.beforeOpen").animate(o.animateOpen,o.speed,o.easing,function(){$(this).data("jGrowl").created=new Date();}).trigger("jGrowl.open");if($.fn.corner!=undefined){$(_1a).corner(o.corners);}
if($("div.jGrowl-notification:parent",this.element).size()>1&&$("div.jGrowl-closer",this.element).size()==0&&this.defaults.closer!=false){$(this.defaults.closerTemplate).addClass("jGrowl-closer").addClass(this.defaults.theme).appendTo(this.element).animate(this.defaults.animateOpen,this.defaults.speed,this.defaults.easing).bind("click.jGrowl",function(){$(this).siblings().children("div.close").trigger("click.jGrowl");if($.isFunction(_19.defaults.closer)){_19.defaults.closer.apply($(this).parent()[0],[$(this).parent()[0]]);}});}},update:function(){$(this.element).find("div.jGrowl-notification:parent").each(function(){if($(this).data("jGrowl")!=undefined&&$(this).data("jGrowl").created!=undefined&&($(this).data("jGrowl").created.getTime()+$(this).data("jGrowl").life)<(new Date()).getTime()&&$(this).data("jGrowl").sticky!=true&&($(this).data("jGrowl").pause==undefined||$(this).data("jGrowl").pause!=true)){$(this).children("div.close").trigger("click.jGrowl");}});if($(this.element).find("div.jGrowl-notification:parent").size()<2){$(this.element).find("div.jGrowl-closer").animate(this.defaults.animateClose,this.defaults.speed,this.defaults.easing,function(){$(this).remove();});}},startup:function(e){this.element=$(e).addClass("jGrowl").append("<div class=\"jGrowl-notification\"></div>");this.interval=setInterval(function(){jQuery(e).data("jGrowl.instance").update();},this.defaults.check);if($.browser.msie&&parseInt($.browser.version)<7){$(this.element).addClass("ie6");}},shutdown:function(){$(this.element).removeClass("jGrowl").find("div.jGrowl-notification").remove();clearInterval(this.interval);}});$.jGrowl.defaults=$.fn.jGrowl.prototype.defaults;})(jQuery);
//
//Some Non-Jquery helpers.
//Create Element
function $E(data) {
    var el;
    if ('string'==typeof data) {
        el=document.createTextNode(data);
    } else {
        el=document.createElement(data.tag);
        delete(data.tag);
        if ('undefined'!=typeof data.children) {
            if ('string'==typeof data.children || 'undefined'==typeof data.children.length) {
                el.appendChild($E(data.children));
            } else {
                for (var i=0, child=null; 'undefined'!=typeof (child=data.children[i]); i++) {
                    el.appendChild($E(child));
                }
            }
            delete(data.children);
        }
        for (attr in data){
          if(attr=="className"){el.setAttribute("class", data[attr]);}else{el.setAttribute(attr, data[attr]);}
        }
    }

    return el;
}
function urlencode(str) {
    // http://kevin.vanzonneveld.net
    var histogram = {}, histogram_r = {}, code = 0, tmp_arr = [];
    var ret = str.toString();
    
    var replacer = function(search, replace, str) {
        var tmp_arr = [];
        tmp_arr = str.split(search);
        return tmp_arr.join(replace);
    };
    
    histogram['!']   = '%21';
    histogram['%20'] = '+';
    
    ret = encodeURIComponent(ret);
    
    for (search in histogram) {
        replace = histogram[search];
        ret = replacer(search, replace, ret) // Custom replace. No regexing
    }
    
    return ret.replace(/(\%([a-z0-9]{2}))/g, function(full, m1, m2) {
        return "%"+m2.toUpperCase();
    });
    
    return ret;
}
//
jQuery.popup = function(url, options){
	options = jQuery.extend({
			width:      400,
			height:     400,
			target:     'popupwin',
			scrollbars: 'yes',
			resizable:  'no',
			menubar:    'no',
			addressbar: 'yes'
		},
		options
	);
	if (!options.winy){
		options.winy = screen.height / 2 - options.height / 2;
	};
	if (!options.winx){
		options.winx = screen.width / 2 - options.width / 2;
	};
	open(url, options['dbPopWinTarget'],'width='+ options.width +',height='+ options.height + ',top='+ options.winy +',left='+ options.winx+',scrollbars='+ options.scrollbars +',resizable='+ options.resizable +',menubar='+ options.menubar +',location='+ options.addressbar);
	return false;
};
/**
* jQuery.colorize
* Copyright (c) 2008 Eric Karimov - ekarim57(at)gmail(dot)com | http://franca.exofire.net/jq/
* Dual licensed under MIT and GPL.
* Date: 10/27/2008
*
* @projectDescription Table colorize using jQuery.
* http://franca.exofire.net/jq/colorize
*
* @author Eric Karimov, contributor Aymeric Augustin
* @version 1.3.1
*
* @param {altColor, bgColor, hoverColor, hiliteColor,oneClick, columns, banColumns}
* altColor : alternate row background color
* bgColor : background color (The default background color is white).
* hoverColor : background color when you hover a mouse over a row
* hiliteColor : row highlight background color, 'none' could be used for no highlight
* oneClick : true/false(default) -	 if true, clicking a new row reverts the current highlighted row to the original background color
* columns : true/false(default)  - if true, highlights columns instead of rows
* banColumns : []	- columns not to be highlighted; supply an array of column indices, starting from 0
* @return {jQuery} Returns the same jQuery object, for chaining.
*
* @example $('#tbl1').colorize();
*
* @$('#tbl1').colorize({bgColor:'#EAF6CC', hoverColor:'green', hiliteColor:'red', columns:true, banColumns:[4,5,8]});
*
* @$('#tbl1').colorize({ columns : true, oneClick:true});
* All the parameters are optional.
*/

jQuery.fn.colorize = function(params){
	options = {altColor: '#FCFCFC',bgColor: '#F6F6F6',hoverColor: '#F0F8FB',hiliteColor:'none',oneClick:false,columns:false,banColumns: []};
	jQuery.extend(options, params);
	var colorHandler = {
		checkHover: function() {
			if (!this.onfire) {this.origColor = this.style.backgroundColor;this.style.backgroundColor= options.hoverColor;}
		},
		checkHoverOut: function() {
		    if (!this.onfire) {this.style.backgroundColor=this.origColor;}
		},
		highlight: function() {
			if (options.hiliteColor != 'none') {this.style.backgroundColor= options.hiliteColor;this.onfire = true;}
		},
		stopHighlight: function() {this.onfire = false;this.style.backgroundColor = this.origColor;}
	}

	function getColCells(cells, idx) {
		var arr = [];for (var i = 0; i < cells.length; i++) {if (cells[i].cellIndex == idx){arr.push(cells[i]);}}return arr;
	}

	function processCells(cells, idx, func) {
		var colCells = getColCells(cells, idx);jQuery.each(colCells, function(index, cell2) {func.call(cell2);});
	}

	function processAdapter(cells, cell, func) {
		processCells(cells, cell.cellIndex, func);
	}

	function toggleColumnClick(cells) {
		var func = (!this.onfire) ? colorHandler.highlight : colorHandler.stopHighlight;processAdapter(cells, this, func);
	}

	function toggleRowClick(cells) {
		row = jQuery(this).parent().get(0);
		if (!row.onfire)
			colorHandler.highlight.call(row);
		else
			colorHandler.stopHighlight.call(row);
	}

	function oneColumnClick(cells) {
		processAdapter(cells, this, colorHandler.highlight);
		if (cells.clicked > -1) {
			processCells(cells, cells.clicked, colorHandler.stopHighlight);
		}
		cells.clicked  = this.cellIndex;
	}

	function oneRowClick(cells) {
		row = jQuery(this).parent().get(0);
		colorHandler.highlight.call(row);
		if (cells.clicked) {
			colorHandler.stopHighlight.call(jQuery(cells.clicked).parent().get(0));
		}
		cells.clicked = this;
	}

	function checkBan() {
		return (jQuery.inArray(this.cellIndex, options.banColumns) != -1) ;
	}

	return this.each(function() {

		jQuery(this).find('tbody tr:odd').css('background', options.bgColor);
		jQuery(this).find('tbody tr:even').css('background', options.altColor);

		var cells = jQuery(this).find('td,th');
		cells.clicked = null;

		if (options.columns) {
			jQuery.each(cells, function(i, cell) {
				cell.onmouseover = function() {
					processAdapter(cells, this, colorHandler.checkHover);
				}
				cell.onmouseout = function() {
					processAdapter(cells, this, colorHandler.checkHoverOut);
				}
				cell.onclick = function() {
					if (checkBan.call(this))
						return;
					if (options.oneClick)
						oneColumnClick.call(this, cells);
					else
						toggleColumnClick.call(this, cells);
				}
			});
		}
		else {
			jQuery.each(cells, function(i, cell) {
				row = jQuery(cell).parent().get(0);
				if((this.parentNode.parentNode.tagName).toLowerCase()!="thead")
				  row.onmouseover = colorHandler.checkHover ;
				row.onmouseout = colorHandler.checkHoverOut ;
				cell.onclick = function () {
						if (checkBan.call(this))
							return;
						if (options.oneClick)
							oneRowClick.call(this, cells);
						else
							toggleRowClick.call(this, cells);
				}
			});
 		}
 	});
 }
 /* 
 OS Detection 
 http://www.stoimen.com/blog/2009/07/16/jquery-browser-and-os-detection-plugin/
 Usage: $.client.os
 */
 eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(e(){9 d={t:e(){6.f=6.k(6.u)||"K l f";6.v=6.m(3.7)||6.m(3.L)||"w l v";6.n=6.k(6.x)||"w l n"},k:e(a){M(9 i=0;i<a.y;i++){9 b=a[i].4;9 c=a[i].z;6.o=a[i].8||a[i].2;g(b){g(b.A(a[i].5)!=-1)h a[i].2}N g(c)h a[i].2}},m:e(a){9 b=a.A(6.o);g(b==-1)h;h O(a.P(b+6.o.y+1))},u:[{4:3.7,5:"B",2:"B"},{4:3.7,5:"p",8:"p/",2:"p"},{4:3.j,5:"Q",2:"R",8:"S"},{z:C.T,2:"U"},{4:3.j,5:"D",2:"D"},{4:3.j,5:"V",2:"W"},{4:3.7,5:"E",2:"E"},{4:3.j,5:"F",2:"F"},{4:3.7,5:"q",2:"q"},{4:3.7,5:"G",2:"X",8:"G"},{4:3.7,5:"Y",2:"r",8:"Z"},{4:3.7,5:"r",2:"q",8:"r"}],x:[{4:3.s,5:"10",2:"11"},{4:3.s,5:"H",2:"H"},{4:3.7,5:"I",2:"I/12"},{4:3.s,5:"J",2:"J"}]};d.t();C.$.13={14:d.n,f:d.f}})();',62,67,'||identity|navigator|string|subString|this|userAgent|versionSearch|var|||||function|browser|if|return||vendor|searchString|unknown|searchVersion|OS|versionSearchString|OmniWeb|Netscape|Mozilla|platform|init|dataBrowser|version|an|dataOS|length|prop|indexOf|Chrome|window|iCab|Firefox|Camino|MSIE|Mac|iPhone|Linux|An|appVersion|for|else|parseFloat|substring|Apple|Safari|Version|opera|Opera|KDE|Konqueror|Explorer|Gecko|rv|Win|Windows|iPod|client|os'.split('|'),0,{}));