
/* 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 -
 */

/* - ++resource++babble.client.thirdparty/quicksearch.js - */
// http://www.polarbearcub.ch/portal_javascripts/++resource++babble.client.thirdparty/quicksearch.js?original=1
jQuery(function($){$.fn.quicksearch=function(opt){
function is_empty(i){return(i===null||i===undefined||i===false)?true:false}
function strip_html(input){var regexp=new RegExp(/\<[^\<]+\>/g);var output=input.replace(regexp,"");output=$.trim(output.toLowerCase().replace(/\n/, '').replace(/\s{2,}/,' '));return output}
function get_key(){var input=strip_html($('input[rel="'+options.randomElement+'"]').val());if(input.indexOf(' ')===-1){return input}
else{return input.split(" ")}}
function test_key(k,value,type){if(type==="string"){return test_key_string(k,value)}
else{return test_key_arr(k,value)}}
function test_key_string(k,value){return(value.indexOf(k)>-1)}
function test_key_arr(k,value){for(var i=0;i<k.length;i++){var test=value.indexOf(k[i]);if(test===-1){return false}}
return true}
function select_element(el){if(options.hideElement==="grandparent"){return $(el).parent().parent()}
else if(options.hideElement==="parent"){return $(el).parent()}
else{return $(el)}}
function stripe(el){if(doStripe){var i=0;select_element(el).filter(':visible').each(function(){for(var j=0;j<stripeRowLength;j++){if(i===j){$(this).addClass(options.stripeRowClass[i])}
else{$(this).removeClass(options.stripeRowClass[j])}}
i=(i+1)%stripeRowLength})}}
function fix_widths(el){$(el).find('td').each(function(){$(this).attr('width',parseInt($(this).css('width')))})}
function loader(o){if(options.loaderId){var l=$('input[rel="'+options.randomElement+'"]').parent().find('.loader');if(o==='hide'){l.hide()}
else{l.show()}}}
function place_form(){var formPosition=options.position;var formAttached=options.attached;if(formPosition==='before'){$(formAttached).before(make_form())} else if(formPosition==='prepend'){$(formAttached).prepend(make_form())} else if(formPosition==='append'){$(formAttached).append(make_form())} else{$(formAttached).after(make_form())}}
function make_form_label(){if(!is_empty(options.labelText)){return '<label for="'+options.randomElement+'" '+'class="'+options.labelClass+'">'+options.labelText+'</label> '}
return ''}
function make_form_input(){var val=(!is_empty(options.inputText))?options.inputText:""
return '<input type="text" title="Filter" value="'+val+'" rel="'+options.randomElement+'" class="inputLabel inputLabelActive '+options.inputClass+'" id="'+options.randomElement+'" /> '}
function make_form_loader(){if(!is_empty(options.loaderImg)){return '<img src="'+options.loaderImg+'" alt="Loading" id="'+options.loaderId+'" class="'+options.loaderClass+'" />'} else{return '<span id="'+options.loaderId+'" class="'+options.loaderClass+'">'+options.loaderText+'</span>'}}
function make_form(){var f=(!options.isFieldset)?'form':'fieldset';return '<'+f+' action="#" '+'id="'+options.formId+'" '+'class="quicksearch">'+make_form_input()+make_form_loader()+'</'+f+'>'}
function focus_on_load(){$('input[rel="'+options.randomElement+'"]').get(0).focus()}
function toggle_text(){$('input[rel="'+options.randomElement+'"]').focus(function(){if($(this).val()===options.inputText){$(this).val('')}});$('input[rel="'+options.randomElement+'"]').blur(function(){if($(this).val()===""){$(this).val(options.inputText)}})}
function get_cache(el){return $(el).map(function(){return strip_html(this.innerHTML)})}
function init(){place_form();if(options.fixWidths) fix_widths(el);if(options.focusOnLoad) focus_on_load();if(options.inputText!=""&&options.inputText!=null) toggle_text();cache=get_cache(el);stripe(el);loader('hide')}
function qs(){clearTimeout(timeout);timeout=setTimeout(function(){loader('show');setTimeout(function(){options.onBefore();var k=get_key();var k_type=(typeof k);var i=0;k=options.filter(k);if(k!=""){if(typeof score[k]==="undefined"){score[k]=new Array();cache.each(function(i){if(test_key(k,cache[i],k_type)){score[k][i]=true}})}
if(score[k].length===0){select_element(el).hide()}
else{$(el).each(function(i){if(score[k][i]){select_element(this).show()}
else{select_element(this).hide()}})}}
else{select_element(el).show()}
stripe(el)},options.delay/2);setTimeout( function(){loader('hide')},options.delay/2);options.onAfter()},options.delay/2)}
var options=$.extend({position:'prepend',attached:'body',formId:'quicksearch',labelText:'Quick Search',labelClass:'qs_label',inputText:null,inputClass:'qs_input',loaderId:'loader',loaderClass:'loader',loaderImg:null,loaderText:'Loading...',stripeRowClass:null,hideElement:null,delay:500,focusOnLoad:false,onBefore: function(){},onAfter: function(){},filter: function(i){return i},randomElement:'qs'+Math.floor(Math.random() * 1000000),isFieldset:false,fixWidths:false},opt);var timeout;var score={};var stripeRowLength=(!is_empty(options.stripeRowClass))?options.stripeRowClass.length:0;var doStripe=(stripeRowLength>0)?true:false;var el=this;var cache;var selector=$(this).selector;$.fn.extend({reset_cache: function(){el=$(selector);cache=get_cache(el)}});init();$('input[rel="'+options.randomElement+'"]').keydown(function(e){var keycode=e.keyCode;if(!(keycode===9||keycode===13||keycode===16||keycode===17||keycode===18||keycode===38||keycode===40||keycode===224)){qs()}});$('form.quicksearch, fieldset.quicksearch').submit( function(){return false});return this}});

/* - ++resource++babble.client.thirdparty/jquery.cookie.js - */
// http://www.polarbearcub.ch/portal_javascripts/++resource++babble.client.thirdparty/jquery.cookie.js?original=1
jQuery.cookie=function(name,value,options){if(typeof value!='undefined'){options=options||{};if(value===null){value='';options.expires=-1}
var expires='';if(options.expires&&(typeof options.expires=='number'||options.expires.toUTCString)){var date;if(typeof options.expires=='number'){date=new Date();date.setTime(date.getTime()+(options.expires * 24 * 60 * 60 * 1000))} else{date=options.expires}
expires='; expires='+date.toUTCString()}
var path=options.path?'; path='+(options.path):'';var domain=options.domain?'; domain='+(options.domain):'';var secure=options.secure?'; secure':'';document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('')}
else{var cookieValue=null;if(document.cookie&&document.cookie!=''){var cookies=document.cookie.split(';');for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+'=')){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break}}}
return cookieValue}};

