Spade

Mini Shell

Directory:~$ /home/lmsyaran/public_html/joomla4/
Upload File

[Home] [System Details] [Kill Me]
Current File:~$ /home/lmsyaran/public_html/joomla4/javascript.zip

PKn��[�~�""hide.jsnu�[���// Angie Radtke
2009 - 2012  thanks to daniel //

/*global window, localStorage, Cookie, altopen, altclose, big, small,
rightopen, rightclose, bildauf, bildzu */

function saveIt(name) {
	var x = document.getElementById(name).style.display;

	if (!x) {
		alert('No cookie available');
	} else if (localStorage) {
		localStorage[name] = x;
	}
}

function readIt(name) {
	if (localStorage) {
		return localStorage[name];
	}
}

function wrapperwidth(width) {
	jQuery('#wrapper').css('width', width);
}

// add Wai-Aria landmark-roles
jQuery(function($) {
	$('#nav').attr('role', 'navigation');
	$('input[id^="mod-search-searchword"]').closest('form').attr('role',
'search');
	$('#main').attr('role', 'main');
	$('#right').attr('role', 'contentinfo');
});

jQuery(function($) {
		// get ankers
		var $myankers = $('a.opencloselink');
		$myankers.each(function() {
			var $element = $(this);
			$element.attr('role', 'tab');
			var myid = $element.attr('id');
			myid = myid.split('_');
			myid = 'module_' + myid[1];
			$element.attr('aria-controls', myid);
		});

		var $list = $('div.moduletable_js');
		$list.each(function() {
			var $element = $(this);
			if ($element.find('div.module_content').length) {
				var $el = $element.find('div.module_content');
				$el.attr('role', 'tabpanel');
				var myid = $el.attr('id');
				myid = myid.split('_');
				myid = 'link_' + myid[1];
				$el.attr('aria-labelledby', myid);
				var myclass = $el.attr('class');
				var one = myclass.split(' ');
				// search for active menu-item
				var $listelement = $el.find('a.active').first();
				var unique = $el.attr('id');
				var nocookieset = readIt(unique);
				if (($listelement.length) || ((one[1] == 'open') &&
(nocookieset == null))) {
					$el.show();
					var $eltern = $el.parent();
					var $elternh = $eltern.find('h3').first();
					var $elternbild = $eltern.find('img').first();
					$elternbild.attr('alt', altopen).attr('src',
bildzu);
					$elternbild.focus();
				} else {
					$el.hide();
					$el.attr('aria-expanded', 'false');
				}

				unique = $el.attr('id');
				var cookieset = readIt(unique);
				if (cookieset === 'block') {
					$el.show();
					$el.attr('aria-expanded', 'true');
				}

			}
		});
	});

jQuery(function($) {
	var $what = $('#right');
	// if rightcolumn
	if ($what.length) {
		var whatid = $what.attr('id');
		var rightcookie = readIt(whatid);
		if (rightcookie === 'none') {
			$what.hide();
			$('#nav').addClass('leftbigger');
			wrapperwidth(big);
			var $grafik = $('#bild');
			$grafik.html(rightopen);
			$grafik.focus();
		}
	}
});

function auf(key) {
	var $ = jQuery.noConflict();
	var $el = $('#' + key);

	if (!$el.is(':visible')) {
		$el.show();
		$el.attr('aria-expanded', 'true');

		if (key !== 'right') {
			$el.hide().toggle('slide');
			$el.parent().attr('class', 'slide');
			$eltern = $el.parent().parent();
			$elternh = $eltern.find('h3').first();
			$elternh.addClass('high');
			$elternbild = $eltern.find('img').first();
			$el.focus();
			$elternbild.attr('alt', altopen).attr('src',
bildzu);
		}

		if (key === 'right') {
			$('#right').show();
			wrapperwidth(small);
			$('#nav').removeClass('leftbigger');
			$grafik = $('#bild');
			$('#bild').html(rightclose);
			$grafik.focus();
		}
	} else {
		$el.hide();
		$el.attr('aria-expanded', 'false');

		$el.removeClass('open');

		if (key !== 'right') {
			$eltern = $el.parent().parent();
			$elternh = $eltern.find('h3').first();
			$elternh.removeClass('high');
			$elternbild = $eltern.find('img').first();
			$elternbild.attr('alt', altclose).attr('src',
bildauf);
			$elternbild.focus();
		}

		if (key === 'right') {
			$('#right').hide();
			wrapperwidth(big);
			$('#nav').addClass('leftbigger');
			$grafik = $('#bild');
			$grafik.html(rightopen);
			$grafik.focus();
		}
	}
	// write cookie
	saveIt(key);
}

// ########### Tabfunctions ####################

jQuery(function($) {
	var $alldivs = $('div.tabcontent');
	var $outerdivs = $('div.tabouter');
	//outerdivs = outerdivs.getProperty('id');

	$outerdivs.each(function() {
		var $alldivs = $(this).find('div.tabcontent');
		var count = 0;
		var countankers = 0;
		$alldivs.each(function() {
		var $el = $(this);
			count++;
			$el.attr('role', 'tabpanel');
			$el.attr('aria-hidden', 'false');
			$el.attr('aria-expanded', 'true');
			elid = $el.attr('id');
			elid = elid.split('_');
			elid = 'link_' + elid[1];
			$el.attr('aria-labelledby', elid);

			if (count !== 1) {
				$el.addClass('tabclosed').removeClass('tabopen');
				$el.attr('aria-hidden', 'true');
				$el.attr('aria-expanded', 'false');
			}
		});

		$allankers =
$(this).find('ul.tabs').first().find('a');

		$allankers.each(function() {
			countankers++;
			var $el = $(this);
			$el.attr('aria-selected', 'true');
			$el.attr('role', 'tab');
			linkid = $el.attr('id');
			moduleid = linkid.split('_');
			moduleid = 'module_' + moduleid[1];
			$el.attr('aria-controls', moduleid);

			if (countankers != 1) {
				$el.addClass('linkclosed').removeClass('linkopen');
				$el.attr('aria-selected', 'false');
			}
		});
	});
});

function tabshow(elid) {
	var $ = jQuery.noConflict();
	var $el = $('#' + elid);
	var $outerdiv = $el.parent();

	var $alldivs = $outerdiv.find('div.tabcontent');
	var $liste = $outerdiv.find('ul.tabs').first();

	$liste.find('a').attr('aria-selected',
'false');

	$alldivs.each(function() {
		var $element = $(this);
		$element.addClass('tabclosed').removeClass('tabopen');
		$element.attr('aria-hidden', 'true');
		$element.attr('aria-expanded', 'false');
	});

	$el.addClass('tabopen').removeClass('tabclosed');
	$el.attr('aria-hidden', 'false');
	$el.attr('aria-expanded', 'true');
	$el.focus();
	var getid = elid.split('_');
	var activelink = '#link_' + getid[1];
	$(activelink).attr('aria-selected', 'true');
	$liste.find('a').addClass('linkclosed').removeClass('linkopen');
	$(activelink).addClass('linkopen').removeClass('linkclosed');
}

function nexttab(el) {
	var $ = jQuery.noConflict();
	var $outerdiv = $('#' + el).parent();
	var $liste = $outerdiv.find('ul.tabs').first();
	var getid = el.split('_');
	var activelink = '#link_' + getid[1];
	var aktiverlink = $(activelink).attr('aria-selected');
	var $tablinks = $liste.find('a');

	for (var i = 0; i < $tablinks.length; i++) {
		if ($($tablinks[i]).attr('id') === activelink) {
			if ($($tablinks[i + 1]).length) {
				$($tablinks[i + 1]).click();
				break;
			}
		}
	}
}

// mobilemenuheader
var mobileMenu = function(){

	var $ = jQuery.noConflict(), displayed = false, $mobile, $menu,
$menuWrapper;

	var getX = function() {
		return $(document).width();
	};

	var createElements = function () {
		var Openmenu=Joomla.JText._('TPL_BEEZ3_OPENMENU');
		var Closemenu=Joomla.JText._('TPL_BEEZ3_CLOSEMENU');
		$menu = $("#header").find('ul.menu').first();
		$menuWrapper = $('<div>', {id : 'menuwrapper',
role: 'menubar'});

		// create the menu opener and assign events
		$mobile = $('<div>', {id:
'mobile_select'}).html('<h2><a href="#"
id="menuopener" onclick="return
false;"><span>'+Openmenu+'</span></a></h2>').show();
		$mobile.on('click', function(){
			var state = $menuWrapper.css('display');
			$menuWrapper.slideToggle();

			if (state === 'none') {
				$('#menuopener').html(Closemenu);
				$('#menuwrapper').attr('aria-expanded',
'true').attr('aria-hidden','false');
			} else {
				$('#menuopener').html(Openmenu);
				$('#menuwrapper').attr('aria-expanded',
'false').attr('aria-hidden', 'true');
			}
		});

		// add the menu to the dom
		$menu.wrap($menuWrapper);

		// add the menuopener to the dom and hide it
		$('#header').find('#menuwrapper').first().before($mobile.hide());
		$menuWrapper = $('#menuwrapper');
		$mobile = $('#mobile_select');

	};
	var display = function () {
		$menuWrapper.hide();
		$mobile.show();
		displayed = true;
	};

	var initialize = function () {
		// create the elements once
		createElements();

		// show the elements if the browser size is smaller
		if (getX() <= 461 && !displayed) {
			display();
		}

		// react on resize events
		$(window).on('resize', function () {
			if (getX() >= 461) {
				if (displayed) {
					$mobile.hide();
					$('#menuwrapper').show();
					displayed = false;
				}
			}
			if (getX() < 461) {
				if (!displayed) {
					display();
				}

			}
		});
	};

	initialize();
};

jQuery(function () {
	new mobileMenu();
});



//For discussion and comments, see:
http://remysharp.com/2009/01/07/html5-enabling-script/
(function(){if(!/*@cc_on!@*/0)return;var e =
"abbr,article,aside,audio,canvas,datalist,details,eventsource,figure,footer,header,hgroup,mark,menu,meter,nav,output,progress,section,time,video".split(','),i=e.length;while(i--){document.createElement(e[i])}})()

PKn��[�sR��	�	md_stylechanger.jsnu�[���/*global
window, localStorage, fontSizeTitle, bigger, reset, smaller, biggerTitle,
resetTitle, smallerTitle, Cookie */
var prefsLoaded = false;
var defaultFontSize = 100;
var currentFontSize = defaultFontSize;



Object.append(Browser.Features, {
	localstorage: (function() {
		return ('localStorage' in window) &&
window.localStorage !== null;
	})()
});

function setFontSize(fontSize) {
	document.body.style.fontSize = fontSize + '%';
}

function changeFontSize(sizeDifference) {
	currentFontSize = parseInt(currentFontSize, 10) + parseInt(sizeDifference
* 5, 10);
	if (currentFontSize > 180) {
		currentFontSize = 180;
	} else if (currentFontSize < 60) {
		currentFontSize = 60;
	}
	setFontSize(currentFontSize);
}

function revertStyles() {
	currentFontSize = defaultFontSize;
	changeFontSize(0);
}

function writeFontSize(value) {
	if (Browser.Features.localstorage) {
		localStorage.fontSize = value;
	} else {
		Cookie.write("fontSize", value, {duration: 180});
	}
}

function readFontSize() {
	if (Browser.Features.localstorage) {
		return localStorage.fontSize;
	} else {
		return Cookie.read("fontSize");
	}
}

function setUserOptions() {
	if (!prefsLoaded) {
		var size = readFontSize();
		currentFontSize = size ? size : defaultFontSize;
		setFontSize(currentFontSize);
		prefsLoaded = true;
	}
}

function addControls() {
	var container = document.id('fontsize');
	var content = '<h3>'+ fontSizeTitle
+'</h3><p><a title="'+ biggerTitle
+'"  href="#" onclick="changeFontSize(2); return
false">'+ bigger +'</a><span
class="unseen">.</span><a href="#"
title="'+resetTitle+'" onclick="revertStyles();
return false">'+ reset +'</a><span
class="unseen">.</span><a href="#" 
title="'+ smallerTitle +'"
onclick="changeFontSize(-2); return false">'+ smaller
+'</a></p>';
	container.set('html', content);
}

function saveSettings() {
	writeFontSize(currentFontSize);
}


window.addEvent('domready', function () {

    smaller = Joomla.JText._('TPL_BEEZ3_SMALLER');
    fontSizeTitle = Joomla.JText._('TPL_BEEZ3_FONTSIZE');
    bigger = Joomla.JText._('TPL_BEEZ3_BIGGER');
    reset = Joomla.JText._('TPL_BEEZ3_RESET');
    biggerTitle = Joomla.JText._('TPL_BEEZ3_INCREASE_SIZE');
    smallerTitle = Joomla.JText._('TPL_BEEZ3_DECREASE_SIZE');
    resetTitle =
Joomla.JText._('TPL_BEEZ3_REVERT_STYLES_TO_DEFAULT');

});
window.addEvent('domready', setUserOptions);
window.addEvent('domready', addControls);
window.addEvent('unload', saveSettings);
PKn��[��t%%
respond.jsnu�[���/*! matchMedia() polyfill - Test a CSS media
type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish,
Nicholas Zakas. Dual MIT/BSD license */
/*! NOTE: If you're already including a window.matchMedia polyfill via
Modernizr or otherwise, you don't need this part */
window.matchMedia = window.matchMedia || (function(doc, undefined){

  var bool,
      docElem  = doc.documentElement,
      refNode  = docElem.firstElementChild || docElem.firstChild,
      // fakeBody required for <FF4 when executed in <head>
      fakeBody = doc.createElement('body'),
      div      = doc.createElement('div');

  div.id = 'mq-test-1';
  div.style.cssText = "position:absolute;top:-100em";
  fakeBody.style.background = "none";
  fakeBody.appendChild(div);

  return function(q){

    div.innerHTML = '&shy;<style
media="'+q+'"> #mq-test-1 { width: 42px;
}</style>';

    docElem.insertBefore(fakeBody, refNode);
    bool = div.offsetWidth == 42;
    docElem.removeChild(fakeBody);

    return { matches: bool, media: q };
  };

})(document);




/*! Respond.js v1.1.0: min/max-width media query polyfill. (c) Scott Jehl.
MIT/GPLv2 Lic. j.mp/respondjs  */
(function( win ){
	//exposed namespace
	win.respond = {};

	//define update even in native-mq-supporting browsers, to avoid errors
	respond.update = function(){};

	//expose media query support flag for external use
	respond.mediaQueriesSupported = win.matchMedia && win.matchMedia(
"only all" ).matches;

	//if media queries are supported, exit here
	if ( respond.mediaQueriesSupported ){ return; }

	//define vars
	var doc            = win.document,
		docElem        = doc.documentElement,
		mediastyles    = [],
		rules          = [],
		appendedEls    = [],
		parsedSheets   = {},
		resizeThrottle = 30,
		head           = doc.getElementsByTagName( "head" )[0] ||
docElem,
		base           = doc.getElementsByTagName( "base" )[0],
		links          = head.getElementsByTagName( "link" ),
		requestQueue   = [],

		// Loop stylesheets, send text content to translate
		ripCSS         = function(){
			var sheets = links,
				sl     = sheets.length,
				i      = 0,
				// Vars for loop:
				sheet, href, media, isCSS;

			for( ; i < sl; i++ ){
				sheet = sheets[ i ],
				href  = sheet.href,
				media = sheet.media,
				isCSS = sheet.rel && sheet.rel.toLowerCase() ===
"stylesheet";

				// Only links plz and prevent re-parsing
				if ( !!href && isCSS && !parsedSheets[ href ] ){
					// Selectivizr exposes css through the rawCssText expando
					if (sheet.styleSheet && sheet.styleSheet.rawCssText) {
						translate( sheet.styleSheet.rawCssText, href, media );
						parsedSheets[ href ] = true;
					} else {
						if ( (!/^([a-zA-Z:]*\/\/)/.test( href ) && !base)
							|| href.replace( RegExp.$1, "" ).split( "/" )[0]
=== win.location.host ){
							requestQueue.push( {
								href: href,
								media: media
							} );
						}
					}
				}
			}
			makeRequests();
		},

		// Recurse through request queue, get css text
		makeRequests = function(){
			if ( requestQueue.length ){
				var thisRequest = requestQueue.shift();

				ajax( thisRequest.href, function( styles ){
					translate( styles, thisRequest.href, thisRequest.media );
					parsedSheets[ thisRequest.href ] = true;
					makeRequests();
				} );
			}
		},

		// Find media blocks in css text, convert to style blocks
		translate       = function( styles, href, media ){
			var qs      = styles.match(  /@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi
),
				ql      = qs && qs.length || 0,
				// Try to get CSS path
				href    = href.substring( 0, href.lastIndexOf( "/" )),
				repUrls = function( css ){
					return css.replace(
/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,
"$1" + href + "$2$3" );
				},
				useMedia = !ql && media,
				// Vars used in loop
				i        = 0,
				j, fullq, thisq, eachq, eql;

			// If path exists, tack on trailing slash
			if ( href.length ){ href += "/"; }

			/* If no internal queries exist, but media attr does, use that
			*  note: this currently lacks support for situations where a media attr
is specified on a link AND
			*  its associated stylesheet has internal CSS media queries.
			*  In those cases, the media attribute will currently be ignored.
			*/
			if ( useMedia ){
				ql = 1;
			}


			for( ; i < ql; i++ ){
				j = 0;

				// Media attr
				if ( useMedia ){
					fullq = media;
					rules.push( repUrls( styles ) );
				}
				// Parse for styles
				else{
					fullq = qs[ i ].match( /@media *([^\{]+)\{([\S\s]+?)$/ ) &&
RegExp.$1;
					rules.push( RegExp.$2 && repUrls( RegExp.$2 ) );
				}

				eachq = fullq.split( "," );
				eql   = eachq.length;

				for( ; j < eql; j++ ){
					thisq = eachq[ j ];
					mediastyles.push( {
						media    : thisq.split( "(" )[ 0 ].match(
/(only\s+)?([a-zA-Z]+)\s?/ ) && RegExp.$2 || "all",
						rules    : rules.length - 1,
						hasquery : thisq.indexOf("(") > -1,
						minw     : thisq.match(
/\(min\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/ ) && parseFloat(
RegExp.$1 ) + ( RegExp.$2 || "" ),
						maxw     : thisq.match(
/\(max\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/ ) && parseFloat(
RegExp.$1 ) + ( RegExp.$2 || "" )
					} );
				}
			}

			applyMedia();
		},

		lastCall,

		resizeDefer,

		// Returns the value of 1em in pixels
		getEmValue = function() {
			var ret,
				div  = doc.createElement('div'),
				body = doc.body,
				fakeUsed = false;

			div.style.cssText =
"position:absolute;font-size:1em;width:1em";

			if ( !body ){
				body = fakeUsed = doc.createElement( "body" );
				body.style.background = "none";
			}

			body.appendChild( div );

			docElem.insertBefore( body, docElem.firstChild );

			ret = div.offsetWidth;

			if ( fakeUsed ){
				docElem.removeChild( body );
			}
			else {
				body.removeChild( div );
			}

			// Also update eminpx before returning
			ret = eminpx = parseFloat(ret);

			return ret;
		},

		// Cached container for 1em value, populated the first time it's
needed
		eminpx,

		// Enable/disable styles
		applyMedia          = function( fromResize ){
			var name        = "clientWidth",
				docElemProp = docElem[ name ],
				currWidth   = doc.compatMode === "CSS1Compat" &&
docElemProp || doc.body[ name ] || docElemProp,
				styleBlocks = {},
				lastLink    = links[ links.length-1 ],
				now         = (new Date()).getTime();

			// Throttle resize calls
			if ( fromResize && lastCall && now - lastCall <
resizeThrottle ){
				clearTimeout( resizeDefer );
				resizeDefer = setTimeout( applyMedia, resizeThrottle );
				return;
			}
			else {
				lastCall = now;
			}

			for( var i in mediastyles ){
				var thisstyle = mediastyles[ i ],
					min       = thisstyle.minw,
					max       = thisstyle.maxw,
					minnull   = min === null,
					maxnull   = max === null,
					em        = "em";

				if ( !!min ){
					min = parseFloat( min ) * ( min.indexOf( em ) > -1 ? ( eminpx ||
getEmValue() ) : 1 );
				}
				if ( !!max ){
					max = parseFloat( max ) * ( max.indexOf( em ) > -1 ? ( eminpx ||
getEmValue() ) : 1 );
				}

				// If there's no media query at all (the () part), or min or max
is not null, and if either is present, they're true
				if ( !thisstyle.hasquery || ( !minnull || !maxnull ) && (
minnull || currWidth >= min ) && ( maxnull || currWidth <=
max ) ){
						if ( !styleBlocks[ thisstyle.media ] ){
							styleBlocks[ thisstyle.media ] = [];
						}
						styleBlocks[ thisstyle.media ].push( rules[ thisstyle.rules ] );
				}
			}

			// Remove any existing respond style element(s)
			for( var i in appendedEls ){
				if ( appendedEls[ i ] && appendedEls[ i ].parentNode === head
){
					head.removeChild( appendedEls[ i ] );
				}
			}

			// Inject active styles, grouped by media type
			for( var i in styleBlocks ){
				var ss  = doc.createElement( "style" ),
					css = styleBlocks[ i ].join( "\n" );

				ss.type  = "text/css";
				ss.media = i;

				// Originally, ss was appended to a documentFragment and sheets were
appended in bulk.
				// This caused crashes in IE in a number of circumstances, such as when
the HTML element had a bg image set, so appending beforehand seems best.
Thanks to @dvelyk for the initial research on this one!
				head.insertBefore( ss, lastLink.nextSibling );

				if ( ss.styleSheet ){
					ss.styleSheet.cssText = css;
				}
				else {
					ss.appendChild( doc.createTextNode( css ) );
				}

				// Push to appendedEls to track for later removal
				appendedEls.push( ss );
			}
		},
		// Tweaked Ajax functions from Quirksmode
		ajax = function( url, callback ) {
			var req = xmlHttp();
			if (!req){
				return;
			}
			req.open( "GET", url, true );
			req.onreadystatechange = function () {
				if ( req.readyState != 4 || req.status != 200 && req.status !=
304 ){
					return;
				}
				callback( req.responseText );
			}
			if ( req.readyState == 4 ){
				return;
			}
			req.send( null );
		},
		// Define ajax obj
		xmlHttp = (function() {
			var xmlhttpmethod = false;
			try {
				xmlhttpmethod = new XMLHttpRequest();
			}
			catch( e ){
				xmlhttpmethod = new ActiveXObject( "Microsoft.XMLHTTP" );
			}
			return function(){
				return xmlhttpmethod;
			};
		})();

	// Translate CSS
	ripCSS();

	// Expose update for re-running respond later on
	respond.update = ripCSS;

	// Adjust on resize
	function callMedia(){
		applyMedia( true );
	}
	if ( win.addEventListener ){
		win.addEventListener( "resize", callMedia, false );
	}
	else if( win.attachEvent ){
		win.attachEvent( "onresize", callMedia );
	}
})(this);
PKn��[j��	%	%respond.src.jsnu�[���/*! matchMedia()
polyfill - Test a CSS media type/query in JS. Authors & copyright (c)
2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license */
/*! NOTE: If you're already including a window.matchMedia polyfill via
Modernizr or otherwise, you don't need this part */
window.matchMedia = window.matchMedia || (function(doc, undefined){

  var bool,
      docElem  = doc.documentElement,
      refNode  = docElem.firstElementChild || docElem.firstChild,
      // fakeBody required for <FF4 when executed in <head>
      fakeBody = doc.createElement('body'),
      div      = doc.createElement('div');

  div.id = 'mq-test-1';
  div.style.cssText = "position:absolute;top:-100em";
  fakeBody.style.background = "none";
  fakeBody.appendChild(div);

  return function(q){

    div.innerHTML = '&shy;<style
media="'+q+'"> #mq-test-1 { width: 42px;
}</style>';

    docElem.insertBefore(fakeBody, refNode);
    bool = div.offsetWidth == 42;
    docElem.removeChild(fakeBody);

    return { matches: bool, media: q };
  };

})(document);




/*! Respond.js v1.1.0: min/max-width media query polyfill. (c) Scott Jehl.
MIT/GPLv2 Lic. j.mp/respondjs  */
(function( win ){
	// Exposed namespace
	win.respond = {};

	// Define update even in native-mq-supporting browsers, to avoid errors
	respond.update = function(){};

	// Expose media query support flag for external use
	respond.mediaQueriesSupported = win.matchMedia && win.matchMedia(
"only all" ).matches;

	// If media queries are supported, exit here
	if ( respond.mediaQueriesSupported ){ return; }

	// Define vars
	var doc            = win.document,
		docElem        = doc.documentElement,
		mediastyles    = [],
		rules          = [],
		appendedEls    = [],
		parsedSheets   = {},
		resizeThrottle = 30,
		head           = doc.getElementsByTagName( "head" )[0] ||
docElem,
		base           = doc.getElementsByTagName( "base" )[0],
		links          = head.getElementsByTagName( "link" ),
		requestQueue   = [],

		// Loop stylesheets, send text content to translate
		ripCSS = function(){

			var sheets = links,
				sl     = sheets.length,
				i      = 0,
				// Vars for loop:
				sheet, href, media, isCSS;

			for( ; i < sl; i++ ){
				sheet = sheets[ i ],
				href  = sheet.href,
				media = sheet.media,
				isCSS = sheet.rel && sheet.rel.toLowerCase() ===
"stylesheet";

				//only links plz and prevent re-parsing
				if ( !!href && isCSS && !parsedSheets[ href ] ){
					// selectivizr exposes css through the rawCssText expando
					if (sheet.styleSheet && sheet.styleSheet.rawCssText) {
						translate( sheet.styleSheet.rawCssText, href, media );
						parsedSheets[ href ] = true;
					} else {

						if ( (!/^([a-zA-Z:]*\/\/)/.test( href ) && !base)
							|| href.replace( RegExp.$1, "" ).split( "/" )[0]
=== win.location.host ){
							requestQueue.push( {
								href: href,
								media: media
							} );
						}
					}
				}
			}
			makeRequests();
		},

		// Recurse through request queue, get css text
		makeRequests = function(){

			if ( requestQueue.length ){
				var thisRequest = requestQueue.shift();

				ajax( thisRequest.href, function( styles ){

					translate( styles, thisRequest.href, thisRequest.media );
					parsedSheets[ thisRequest.href ] = true;
					makeRequests();
				} );
			}
		},

		// Find media blocks in css text, convert to style blocks
		translate       = function( styles, href, media ){
			var qs      = styles.match(  /@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi
),
				ql      = qs && qs.length || 0,
				// Try to get CSS path
				href    = href.substring( 0, href.lastIndexOf( "/" )),
				repUrls = function( css ){
					return css.replace(
/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,
"$1" + href + "$2$3" );
				},
				useMedia = !ql && media,
				// Vars used in loop
				i        = 0,
				j, fullq, thisq, eachq, eql;

			// If path exists, tack on trailing slash
			if ( href.length ){ href += "/"; }

			//if no internal queries exist, but media attr does, use that
			//note: this currently lacks support for situations where a media attr
is specified on a link AND
				//its associated stylesheet has internal CSS media queries.
				//In those cases, the media attribute will currently be ignored.
			if ( useMedia ){
				ql = 1;
			}

			for( ; i < ql; i++ ){
				j = 0;

				// Media attr
				if ( useMedia ){
					fullq = media;
					rules.push( repUrls( styles ) );
				}
				// Parse for styles
				else{
					fullq = qs[ i ].match( /@media *([^\{]+)\{([\S\s]+?)$/ ) &&
RegExp.$1;
					rules.push( RegExp.$2 && repUrls( RegExp.$2 ) );
				}

				eachq = fullq.split( "," );
				eql   = eachq.length;

				for( ; j < eql; j++ ){
					thisq = eachq[ j ];
					mediastyles.push( {
						media    : thisq.split( "(" )[ 0 ].match(
/(only\s+)?([a-zA-Z]+)\s?/ ) && RegExp.$2 || "all",
						rules    : rules.length - 1,
						hasquery : thisq.indexOf("(") > -1,
						minw     : thisq.match(
/\(min\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/ ) && parseFloat(
RegExp.$1 ) + ( RegExp.$2 || "" ),
						maxw     : thisq.match(
/\(max\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/ ) && parseFloat(
RegExp.$1 ) + ( RegExp.$2 || "" )
					} );
				}
			}

			applyMedia();
		},

		lastCall,

		resizeDefer,

		// returns the value of 1em in pixels
		getEmValue = function() {
			var ret,
				div      = doc.createElement('div'),
				body     = doc.body,
				fakeUsed = false;

			div.style.cssText =
"position:absolute;font-size:1em;width:1em";

			if ( !body ){
				body = fakeUsed = doc.createElement( "body" );
				body.style.background = "none";
			}

			body.appendChild( div );

			docElem.insertBefore( body, docElem.firstChild );

			ret = div.offsetWidth;

			if ( fakeUsed ){
				docElem.removeChild( body );
			}
			else {
				body.removeChild( div );
			}

			// Also update eminpx before returning
			ret = eminpx = parseFloat(ret);

			return ret;
		},

		// Cached container for 1em value, populated the first time it's
needed
		eminpx,

		// Enable/disable styles
		applyMedia          = function( fromResize ){
			var name        = "clientWidth",
				docElemProp = docElem[ name ],
				currWidth   = doc.compatMode === "CSS1Compat" &&
docElemProp || doc.body[ name ] || docElemProp,
				styleBlocks = {},
				lastLink    = links[ links.length-1 ],
				now         = (new Date()).getTime();

			// Throttle resize calls
			if ( fromResize && lastCall && now - lastCall <
resizeThrottle ){
				clearTimeout( resizeDefer );
				resizeDefer = setTimeout( applyMedia, resizeThrottle );
				return;
			}
			else {
				lastCall = now;
			}

			for( var i in mediastyles ){
				var thisstyle = mediastyles[ i ],
					min = thisstyle.minw,
					max = thisstyle.maxw,
					minnull = min === null,
					maxnull = max === null,
					em = "em";

				if ( !!min ){
					min = parseFloat( min ) * ( min.indexOf( em ) > -1 ? ( eminpx ||
getEmValue() ) : 1 );
				}
				if ( !!max ){
					max = parseFloat( max ) * ( max.indexOf( em ) > -1 ? ( eminpx ||
getEmValue() ) : 1 );
				}

				// If there's no media query at all (the () part), or min or max
is not null, and if either is present, they're true
				if ( !thisstyle.hasquery || ( !minnull || !maxnull ) && (
minnull || currWidth >= min ) && ( maxnull || currWidth <=
max ) ){
						if ( !styleBlocks[ thisstyle.media ] ){
							styleBlocks[ thisstyle.media ] = [];
						}
						styleBlocks[ thisstyle.media ].push( rules[ thisstyle.rules ] );
				}
			}

			// Remove any existing respond style element(s)
			for( var i in appendedEls ){
				if ( appendedEls[ i ] && appendedEls[ i ].parentNode === head
){
					head.removeChild( appendedEls[ i ] );
				}
			}

			// Inject active styles, grouped by media type
			for( var i in styleBlocks ){
				var ss  = doc.createElement( "style" ),
					css = styleBlocks[ i ].join( "\n" );

				ss.type  = "text/css";
				ss.media = i;

				// Originally, ss was appended to a documentFragment and sheets were
appended in bulk.
				// This caused crashes in IE in a number of circumstances, such as when
the HTML element had a bg image set, so appending beforehand seems best.
Thanks to @dvelyk for the initial research on this one!
				head.insertBefore( ss, lastLink.nextSibling );

				if ( ss.styleSheet ){
					ss.styleSheet.cssText = css;
				}
				else{
					ss.appendChild( doc.createTextNode( css ) );
		        }

				// Push to appendedEls to track for later removal
				appendedEls.push( ss );
			}
		},
		// Tweaked Ajax functions from Quirksmode
		ajax = function( url, callback ) {
			var req = xmlHttp();
			if (!req){
				return;
			}
			req.open( "GET", url, true );
			req.onreadystatechange = function () {
				if ( req.readyState != 4 || req.status != 200 && req.status !=
304 ){
					return;
				}
				callback( req.responseText );
			}
			if ( req.readyState == 4 ){
				return;
			}
			req.send( null );
		},
		// Define ajax obj
		xmlHttp = (function() {
			var xmlhttpmethod = false;
			try {
				xmlhttpmethod = new XMLHttpRequest();
			}
			catch( e ){
				xmlhttpmethod = new ActiveXObject( "Microsoft.XMLHTTP" );
			}
			return function(){
				return xmlhttpmethod;
			};
		})();

	// Translate CSS
	ripCSS();

	// Expose update for re-running respond later on
	respond.update = ripCSS;

	// Adjust on resize
	function callMedia(){
		applyMedia( true );
	}
	if ( win.addEventListener ){
		win.addEventListener( "resize", callMedia, false );
	}
	else if( win.attachEvent ){
		win.attachEvent( "onresize", callMedia );
	}
})(this);
PKn��[˭���template.jsnu�[���/**
 * @package     Joomla.Site
 * @subpackage  Templates.beez3
 * @copyright   Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
 * @license     GNU General Public License version 2 or later; see
LICENSE.txt
 * @since       3.2
 */

jQuery(function($) {
	'use strict';

	$(document).on('click', ".btn-group
label:not(.active)", function() {
			var $label = $(this);
			var $input = $(document.getElementById($label.attr('for')));

			if ($input.prop('checked'))
			{
				return;
			}

			$label.closest('.btn-group').find("label").removeClass('active
btn-success btn-danger btn-primary');

			var btnClass = 'primary';

			if ($input.val() != '')
			{
				var reversed =
$label.closest('.btn-group').hasClass('btn-group-reversed');
				btnClass = ($input.val() == 0 ? !reversed : reversed) ?
'danger' : 'success';
			}

			$label.addClass('active btn-' + btnClass);
			$input.prop('checked', true).trigger('change');
		})
		.on('subform-row-add', initButtonGroup)
		.on('subform-row-add', initTooltip);

	initButtonGroup();
	initTooltip();

	// Called once on domready, again when a subform row is added
	function initTooltip(event, container)
	{
		$(container || document).find('*[rel=tooltip]').tooltip();
	}

	// Called once on domready, again when a subform row is added
	function initButtonGroup(event, container)
	{
		var $container = $(container || document);

		// Turn radios into btn-group
		$container.find('.radio.btn-group
label').addClass('btn');

		// Setup coloring for buttons
		$container.find('.btn-group input:checked').each(function() {
			var $input  = $(this);
			var $label = $(document.querySelector('label[for=' +
$input.attr('id') + ']'));
			var btnClass = 'primary';

			if ($input.val() != '')
			{
				var reversed =
$input.parent().hasClass('btn-group-reversed');
				btnClass = ($input.val() == 0 ? !reversed : reversed) ?
'danger' : 'success';
			}

			$label.addClass('active btn-' + btnClass);
		});
	}
});
PKn��[�~�""hide.jsnu�[���PKn��[�sR��	�	7"md_stylechanger.jsnu�[���PKn��[��t%%

,respond.jsnu�[���PKn��[j��	%	%`Qrespond.src.jsnu�[���PKn��[˭����vtemplate.jsnu�[���PK|�~