
/* Merged Plone Javascript file
 * This file is dynamically assembled from separate parts.
 * Some of these parts have 3rd party licenses or copyright information attached
 * Such information is valid for that section,
 * not for the entire composite file
 * originating files are separated by - filename.js -
 */

/* - jquery.history_remote.pack.js - */
/**
 * History/Remote - jQuery plugin for enabling history support and bookmarking
 * @requires jQuery v1.0.3
 *
 * http://stilbuero.de/jquery/history/
 *
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 * Version: 0.2.3
 */
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}('(2($){$.D=16 2(){4 c=\'15\';4 k=7.5;4 e=A;4 g;6.o=2(){};4 h=2(){$(\'.x-S\').1j()};$(8).L(c,h);3($.t.19){4 f,p=q;$(2(){f=$(\'<H 13="12: Z;"></H>\').E(8.V).1p(0);4 a=f.C.8;a.I();a.O();3(k&&k!=\'#\'){a.7.5=k.B(\'#\',\'\')}});6.o=2(a){k=a;4 b=f.C.8;b.I();b.O();b.7.5=a.B(\'#\',\'\')};g=2(){4 a=f.C.8;4 b=a.7.5;3(b!=k){k=b;3(b&&b!=\'#\'){$(\'a[@l$="\'+b+\'"]\').n();7.5=b}m 3(p){7.5=\'\';$(8).v(c)}}p=z}}m 3($.t.18||$.t.17){6.o=2(a){k=a};g=2(){3(7.5){3(k!=7.5){k=7.5;$(\'a[@l$="\'+k+\'"]\').n()}}m 3(k){k=\'\';$(8).v(c)}}}m 3($.t.14){4 d,r,u;$(2(){d=[];d.9=y.9;r=[]});4 j=q,p=q;u=2(a){d.G(a);r.9=0;j=q};6.o=2(a){k=a;u(k)};g=2(){4 b=y.9-d.9;3(b){j=q;3(b<0){F(4 i=0;i<11.10(b);i++)r.Y(d.X())}m{F(4 i=0;i<b;i++)d.G(r.W())}4 a=d[d.9-1];$(\'a[@l$="\'+a+\'"]\').n();k=7.5}m 3(d[d.9-1]==U&&!j){3(8.T.1o(\'#\')>=0){$(\'a[@l$="\'+\'#\'+8.T.1n(\'#\')[1]+\'"]\').n()}m 3(p){$(8).v(c)}j=z}p=z}}6.1m=2(a){3(w a==\'2\'){$(8).1l(c,h).L(c,a)}3(7.5&&w u==\'U\'){$(\'a[@l$="\'+7.5+\'"]\').v(\'n\')}3(g&&e==A){e=1k(g,1i)}}};$.Q.x=2(g,f,c){c=c||2(){};3(w f==\'2\'){c=f}f=$.1h({J:\'x-\'},f||{});4 d=$(g).1g()&&$(g)||$(\'<N></N>\').E(\'V\');d.1f(\'x-S\');M 6.1e(2(i){4 b=6.l,5=\'#\'+(6.R&&6.R.B(/\\s/g,\'1d\')||f.J+(i+1)),a=6;6.l=5;$(6).n(2(e){3(!d[\'K\']){3(e.P){$.D.o(5)}d.1c(b,2(){d[\'K\']=A;c.1b(a)})}})})};$.Q.y=2(a){M 6.n(2(e){3(e.P){$.D.o(6.5)}w a==\'2\'&&a()})}})(1a);',62,88,'||function|if|var|hash|this|location|document|length||||||||||||href|else|click|update|initialized|false|_forwardStack||browser|_addHistory|trigger|typeof|remote|history|true|null|replace|contentWindow|ajaxHistory|appendTo|for|push|iframe|open|hashPrefix|locked|bind|return|div|close|clientX|fn|title|output|URL|undefined|body|shift|pop|unshift|none|abs|Math|display|style|safari|historyReset|new|opera|mozilla|msie|jQuery|apply|load|_|each|addClass|size|extend|200|empty|setInterval|unbind|initialize|split|indexOf|get'.split('|'),0,{}))

/* - jquery.png.js - */
/*
 * jQuery pngfix plugin
 * Version 1.6  (05/09/2007)
 * @requires jQuery v1.1.3
 *
 * Examples at: http://khurshid.com/jquery/iepnghack/
 * Copyright (c) 2007 Kush M.
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 */
 /**
  *
  * @example
  *
  * optional if location of pixel.gif if different to default which is images/pixel.gif
  * $.pngfix('media/pixel.gif');
  *
  * $('img[@src$=.png], #panel').pngfix();
  *
  * @apply hack to all png images and #panel which icluded png img in its css
  *
  * @name pngfix
  * @type jQuery
  * @cat Plugins/Image
  * @return jQuery
  * @author jQuery Community
  */
 
(function($) {
	
	/**
	 * helper variables and function
	 */
	$.pngfix = function(customPixel) {
		$.pngfix.pixel = customPixel;
	};
	
	$.pngfix.getPixel = function() {
		return $.pngfix.pixel || '/images/pixel.gif';
	};
	
	var hack = {
		ltie7  : $.browser.msie && /MSIE\s(5\.5|6\.)/.test(navigator.userAgent),
		filter : function(src) {
			return "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,sizingMethod=crop,src='"+src+"')";
		}
	};
	/**
	 * Applies ie png hack to selected dom elements
	 *
	 * $('img[@src$=.png]').pngfix();
	 * @desc apply hack to all images with png extensions
	 *
	 * $('#panel, img[@src$=.png]').pngfix();
	 * @desc apply hack to element #panel and all images with png extensions
	 *
	 * @name pngfix
	 * @type jQuery
	 * @cat Plugins/pngfix
	 */
	$.fn.pngfix = hack.ltie7 ? function() {
    	return this.each(function() {
			var $$ = $(this);
			var base = $('base').attr('href'); // need to use this in case you are using rewriting urls
			if ($$.is('img') || $$.is('input')) { // hack image tags present in dom
				if ($$.attr('src').match(/.*\.png([?].*)?$/i)) { // make sure it is png image
					// use source tag value if set 
					var source = (base && $$.attr('src').substring(0,1)!='/') ? base + $$.attr('src') : $$.attr('src');
					// apply filter
					$$.css({filter:hack.filter(source), width:$$.width(), height:$$.height()})
					  .attr({src:$.pngfix.getPixel()})
					  .positionFix();
				}
			} else { // hack png css properties present inside css
				var image = $$.css('backgroundImage');
				if (image.match(/^url\(["']?(.*\.png([?].*)?)["']?\)$/i)) {
					image = RegExp.$1;
					$$.css({backgroundImage:'none', filter:hack.filter(image)})
					  .positionFix();
				}
			}
		});
	} : function() { return this; };
	/**
	 * Removes any png hack that may have been applied previously
	 *
	 * $('img[@src$=.png]').pngunfix();
	 * @desc revert hack on all images with png extensions
	 *
	 * $('#panel, img[@src$=.png]').iepnghack();
	 * @desc revert hack on element #panel and all images with png extensions
	 *
	 * @name pngunfix
	 * @type jQuery
	 * @cat Plugins/iepnghack
	 */
	$.fn.pngunfix = hack.ltie7 ? function() {
    	return this.each(function() {
			var $$ = $(this);
			var src = $$.css('filter');
			if (src.match(/src=["']?(.*\.png([?].*)?)["']?/i)) { // get img source from filter
				src = RegExp.$1;
				if ($$.is('img') || $$.is('input')) {
					$$.attr({src:src}).css({filter:''});
				} else {
					$$.css({filter:'', background:'url('+src+')'});
				}
			}
		});
	} : function() { return this; };
	/**
	 * positions selected item relatively
	 */
	$.fn.positionFix = function() {
		return this.each(function() {
			var $$ = $(this);
			var position = $$.css('position');
			if (position != 'absolute' && position != 'relative') {
				$$.css({position:'relative'});
			}
		});
	};

})(jQuery);

