if(!$defined(window.PFPortal)){
	PFPortal = {'_uninitialized' : true};
}
/*
Class: Application

Singleton containing state end functionality global in
the loaded page.
*/
PFPortal.Application = new Class({
	'Implements' : Events,
	/* Method: initialize
		Initializes with a sequence of 1.
	*/
	'initialize' : function(){
		this.seq = 1;
	},
	'nextIdValue' : function(){
		return '_pf-' + this.seq++;
	},
	toString : function(){return "[Application]";} 
});
PFPortal.app = new PFPortal.Application();
PFPortal.decorators = new Array();
if(Cookie.read('wosid')){
	var sess = null;
	$$('link[rel=session]').forEach(function(item){
		sess = item;
	});
	if($defined(sess)){
		new Request.JSON({'async' : false, 
			'onComplete' : function(data){
				PFPortal.user = data.user;
				PFPortal.offerings = data.cart.items;				
			}
		}).get(sess.href);
	}
}
(function(){
var links = $$('link[rel=i18n]');
if(links.length > 0){
	new Request.JSON({async:false,
 		onComplete:function(data){
 			var lastLang = null; 			
			for(lang in data){
				lastLang = lang;
				var langObject = data[lang]; 
				for(domain in langObject){
					MooTools.lang.set(lang, domain, langObject[domain]);	
				}
			}
			if(lastLang)MooTools.lang.setLanguage(lastLang);
		}
	}).get(links[0].href);
}
})();

if(!$defined(PFPortal.user)){
	PFPortal.user = {'login' : 'guest','groups' : [], 'rights':['wbdl','wbst'],'guest':true, 'beta' : false};
}
if(!$defined(PFPortal.offerings)){
	PFPortal.offerings = [];
}
/* LastLocation */
window.addEvent('load', function(){
	var url = window.location.href;
	if(url.indexOf('PSShop') > -1 || url.indexOf('PSSearch') > -1 || url.indexOf('PSContributor') > -1){
		Cookie.write('LastLocation', url, {'path' : '/'});
	}	
});
/*  Video Message */
PFPortal.VideoMessage = function(msg){
	this.message = msg;
}
PFPortal.VideoMessage.prototype.display = function(){
	var para = new Element('div', {'class' : 'pf-video-message-p', 'html' : this.message});	
	para.inject(document.body);	
	(function(){
		var h = para.getSize().y;
		var fx = new Fx.Tween(para, {'duration' : 'long', 
			'onComplete' : function(){
				para.destroy();	
			}
		});
		fx.start('top', -1 * h);
		
	}).delay(4000); 
};
/* Newsletter */
PFPortal.Newsletter = new Class({
	'initialize' : function(form, args){
		var self = this;
		var subscribeLink = args.subscribeLink;
		var subscribeUrl = subscribeLink.href;
		function subscribe(event){
			self.invokeService(subscribeUrl, event);
		}
		this.form = form;
		form.addEvent('submit', subscribe);
		subscribeLink.addEvent('click', subscribe);
		this.messageElement = args.messageElement;
		this.errorElement = args.errorElement;		
		this.unsubscribeLink = args.unsubscribeLink;
						
		this.unsubscribeLink.addEvent('click', function(event){
			this.invokeService(this.unsubscribeLink.href, event);
		}.bind(this));
		$(form.login).addEvent('focus', function(){
				form.login.value = '';
		});
	},
	'invokeService' : function(url, event){
		new Event(event).preventDefault();
		this.errorElement.style.display = 'none'
		this.messageElement.style.display = 'none';		
		var email = this.form.login.value;
		if($chk(email) && email.indexOf('@') > -1){
			var req = new Request.JSON({
				onSuccess : function(reply){
					this.messageElement.style.display = 'block';
					this.messageElement.set('html', reply.localizedMessage);
				}.bind(this),
				onFailure : function(e){
					alert("Sorry, pleasy try again later");
				}
			}).post(url, {'login' : email});
		}else{
			alert('Please supply a valid email');
		}
	}
});
PFPortal.decorators.push(function(){// setup subscriber box
	var newsletterForm = $('newsletterForm');
	if($defined(newsletterForm)){
		PFPortal.sharedNewsletter = new PFPortal.Newsletter(newsletterForm, {
			'messageElement' : $('newsletterMessage'), 
			'errorElement' : $('newsletterError'),
			'subscribeLink' :$('newsletterSubscribeLink'),	
			'unsubscribeLink' : $('newsletterUnsubscribeLink')
		});
	}
});
PFPortal.decorators.push(function(user){
	var element = $("logout");
	if($defined(element) && !PFPortal.user.guest){
		element.innerHTML = element.innerHTML.replace('email', PFPortal.user.login);
		element.style.display = 'block';
	}
});
PFPortal.decorators.push(function(){
	$$('link[rel=cart]').forEach(function(cartRel){
		var ieFix1 = cartRel+''+cartRel;
		var cartURL = cartRel.href;
		if(!$defined(cartURL) || cartURL == ""){
			alert("Missing href on cart relation "+cartURL);
		}else{
			PFPortal.sharedCart = new PFCart($('cart'), cartURL, {offerings : PFPortal.offerings});
			PFPortal.sharedCart.cartActionIcon = $('notification_success');
		}		
	});
});
//PFPortal.decorators.push(function(){
window.addEvent('load', function(){
	var formTemplate = 	
	'<form onClick="PFPortal.sharedCart.notifySuccess(event);" method="POST" onSubmit="{actionScript}" class="{_concept_class}" action="{usageActionURL}">'+
		'<input type="hidden" name="_f" value="json">'+
		'<input name="oid" type="hidden" value="{offeringKey}">'+
		'<input name="submitcontrol" type="image" title="{format}" src="{actionIcon}" alt="/tshop/bilka/btn_buy_stream_large.gif">'+
	'</form>'; 
	var smallTemplate =
	'<div class="price">{formattedPrice}</div>' + formTemplate;
	var template = 
	'<h3 class="pf-offering">{header}</h3>'+
	'<dl id="{id}" class="productContext pf-offering">'+ 
   	'<dt>{screenRatioLabel}</dt>'+
	'<dd>{screenRatio}</dd>'+
	'<dt>{formatLabel}</dt>'+
	'<dd>{format}</dd>'+
	'<dt class="info-burns">{burnsLabel}</dt>'+
	'<dd class="info-burns">{burns}</dd>'+
	'<dt class="info-redownloads">{redownloadsLabel}</dt>'+
	'<dd class="info-redownloads">{redownloads}</dd>'+
	'<dt class="info-transfers">{transfersLabel}</dt>'+
	'<dd class="info-transfers">{transfers}</dd>'+
	'<dt>{priceLabel}</dt>'+
	'<dd><span class="pf-price">{currency} {formattedPrice}</span>'+formTemplate+
	'</dd>'+
	'</dl>';
	var offeringLink = null; 
	$$('link[rel=offerings]').forEach(function(item){
		offeringLink = item;
	});
	if($defined(offeringLink)){
		var id = window.location.search.match(/id=(\w*)/);
		if($defined(id)){
			var qs = 'id='+id[1];
		}else{
			id = window.location.search.match(/sku=(\w*)/);
			var qs = 'sku='+id[1];
		}
		PFPortal.user.groups.forEach(function(elem){
			qs +=  '&' + Hash.toQueryString({'group' : elem});
		});
		var wmp = $('wmp');
		var clientinfo = null;
		try{
			clientinfo = wmp.GetSystemInfo();											
		}catch(err){/*  Ignore no wmp player*/}
		new Request.JSON({
			'async' : true, 
			'onComplete' : function(offerings){
				offerings.forEach(function(offering){
					offering.id = PFPortal.app.nextIdValue();
					if(offering.quickCheckout){
						offering.actionScript = 'PFPortal.sharedCart.quickJsonPut(event)';
						offering._concept_class = 'subscriber-use pf-acquire-form pf-concept-'+'sbst';//offering.concept; 
					}else{
						offering.actionScript = 'PFPortal.sharedCart.jsonPut(event);';
						offering._concept_class = 'buy phurchase pf-acquire-form pf-concept-'+'wbdl';//offering.concept;
					}					 
					var productElement = $(offering.targetKey);
					if($defined(productElement)){
						var offeringElement = productElement.getElement('.pf-offerings');
						if($defined(offeringElement)){
							offeringElement.set('html', offeringElement.get('html') + template.substitute(offering));
							var newElement = $(offering.id);
							if($defined(clientinfo)){
								var myelem=new Element('input', {'type' : 'hidden', 'name' : 'clientinfo', 
									'value' : clientinfo}).inject(newElement.getElement('.pf-acquire-form'));
									
							}
							PFPortal.app.fireEvent('offeringLoaded', [offering, newElement]);
						}else{
							offering.actionIcon = offering.actionIcon.replace('_large', ''); 
							productElement.set('html', productElement.get('html') + smallTemplate.substitute(offering));								
						}
					}												
				});
				$$('.detailed').forEach(function(elem){			
					var offeringsElement = elem.getElement('.pf-offerings');
					if($defined(offeringsElement) && !$defined(offeringsElement.getElement('.pf-offering'))){
						elem.getElement('.pf-missing-permission').removeClass('pf-hidden');
						if(PFPortal.user.guest){
							elem.getElement('.pf-login-shortcut').removeClass('pf-hidden');
						}					
					}
				});
				PFPortal.app.fireEvent('offeringsLoaded', offerings);												
			}			
		}).get(offeringLink.href, qs);
	}
});
var PFCart = new Class({
	'initialize' : function(cartElement, cartURL, opts){
		this.enabled = false;
		this.cartURL = cartURL;
		this.cartElement = cartElement;
		this.removeBtnElement = $(cartElement.getElementById('removeButton'));
		this.disabledControl = $(cartElement.getElementById('disabledCartActions'));
		this.enabledControl = $(cartElement.getElementById('enabledCartActions'));
		this.maxHeight = 0;
		var cartContent = $(cartElement.getElementById('cartContent'));
		this.contentElement = cartContent;
		this.contentElement.pfCart = this;
		this.enabledControl.pfenabled = false;
		this.enabledControl.pfCart = this;
		this.enabledControl.getElement('img').pfCart = this;
		var refreshLink = $('pf-payment-page-refresh');
		if($defined(refreshLink)){
			this.refreshLink = refreshLink.href;	 
		}else{
			this.refreshLink = null;
		}
		this.enabledControl.getElement('img').addEvent('click', function(){
			var myCart = this.pfCart;//cartContent.pfCart;
			var trans = myCart.enabled ? Fx.Transitions.Quad.easeIn : Fx.Transitions.Elastic.easeOut;
			var dur = myCart.enabled ? 400 : 800;
 			var myfx = new Fx.Tween(myCart.contentElement, 
 				{duration : dur, transition: trans,
					onComplete : function(obj){
						if(!myCart.enabled){
							myCart.contentElement.setStyle('visibility', 'hidden');
						}
				}
			});
  			if(myCart.enabled){
				myfx.start('height', 0);
				myCart.enabled = false;
			}else{
				myCart.contentElement.setStyle('visibility', 'visible');
				myfx.start('height', 0, myCart.maxHeight);
				myCart.enabled = true;
				
			}
		});
		this.total = 0;
		this.maxHeight = 0;
		if($defined(opts.offerings)){
			this.setOfferings(opts.offerings);
		}		
		
	},
	'notifySuccess' : function(ev){
		var myEv = new Event(ev);
		var cartActIcon = $('notification_success');
		if($defined(cartActIcon)){
			cartActIcon.setStyle("left", myEv.page.x);
			cartActIcon.setStyle("top", myEv.page.y);
		}				
	},
	'_removeItem' : function(ev){
		var myCart = this.pfCart;
		new Request.JSON({
			'url' : this.pfDisposeURL,
			'onSuccess' : function(data){
				if($defined(myCart.refreshLink)){
					window.location.href = myCart.refreshLink;
				}else{
					myCart.setOfferings(data.items);
				}
			}					 
		}).post();
	},
	'_createList2' : function(orgElement, offerings){
		var tableElm = new Element('table', {});
		tableElm.setStyle('overflow', 'hidden');
		tableElm.setStyle('display', 'block');
		if(this.enabled){
			tableElm.setStyle('visibility', 'visible');
		}
		tableElm.id = orgElement.id;
		var myCart = this;
		var myTotal = 0;
		var btnProt = this.removeBtnElement;
		offerings.forEach(function(item, index){
			var rowElm = new Element('tr', {}).injectInside(tableElm);
			new Element('td', {'class' : 'name'}).set('html', item.name).injectInside(rowElm);
			var artists  = "";
			if($defined(item.productVariant) && item.productVariant.product.displayArtists.length > 0){
				artists = item.productVariant.product.displayArtists[0];
			}
			new Element('td', {'class' : 'artist'}).set('html', artists).injectInside(rowElm);
			new Element('td', {'class' : 'format'}).setText(item.productVariant.format).injectInside(rowElm);
			new Element('td', {'class' : 'currency'}).setText(item.currency).injectInside(rowElm);
			new Element('td', {'class' : 'price'}).setText(new Number(item.price/100).toFixed(2)).injectInside(rowElm); 
			var control = new Element('td', {'class' : 'remove'}).injectInside(rowElm);
			control.pfDisposeURL = item.disposeURL;
			control.pfCart = myCart;
			control.addEvent('click', myCart._removeItem);
			var btnClone = btnProt.clone();//.setStyle('display', 'block').injectInside(control);
			var btn = new Element('img', {'src' : btnProt.src}); 
			btn.inject(control);
			control.inject(rowElm);
			myTotal += item.price;
		});
		this.total = myTotal;
		return tableElm;		
	},
	'_createList1' : function(orgElement, offerings){
		var cloneListElement = new Element('div', {'id' : orgElement.id});
		cloneListElement.setStyle('overflow', 'hidden');
		cloneListElement.setStyle('display', 'block');
		cloneListElement.setStyle('height', 'auto');
		if(this.enabled){
			cloneListElement.setStyle('visibility', 'visible');
		}//orgElement.clone(false);
		var myCart = this;
		var myTotal = 0;
		var btnProt = this.removeBtnElement;
		offerings.forEach(function(item, index){
			var row = new Element('div', {'class' : 'cartItemRow'}).inject(cloneListElement);
			var nameDiv = new Element('div', {'class' : 'name'});
			if($defined(item.productURL)){
				var anchor = new Element('a', {'href' : item.productURL, 'text' : item.name}).inject(nameDiv);;
			}else{
				nameDiv.set('html', item.name);
			}
			nameDiv.injectInside(row);
			new Element('div', {'class' : 'artist'}).set('html',
				$defined(item.productVariant) && item.productVariant.product.displayArtists.length > 0 ? 
				item.productVariant.product.displayArtists[0].name  : "").inject(row);
			new Element('div', {'class' : 'format'}).set('text', $defined(item.productVariant) && $defined(item.productVariant.format)? 
				item.productVariant.format : "").inject(row);			
			new Element('div', {'class' : 'currency'}).set('text', item.currency).inject(row);
			new Element('div', {'class' : 'price'}).set('text', new Number(item.price/100).toFixed(2)).inject(row); 						
			var control = new Element('div', {'class' : 'remove'}).inject(row);
			control.pfDisposeURL = item.disposeURL;
			control.pfCart = myCart;
			control.addEvent('click', myCart._removeItem);
			var btn = new Element('img', {'src' : btnProt.src});
			btn.inject(control);					
			myTotal += item.price;
		});	
		this.total = myTotal;
		return cloneListElement;		
	},
	'setOfferings' : function(offerings){
		this.offerings = offerings;
		var myElement = this.cartElement;
		var listElement = this.contentElement;
		var countElement = $(myElement.getElementById('cartItemCount'));
		var totalElement = $(myElement.getElementById('cartTotal'));
		this.contentElement = this._createList1(listElement, this.offerings).replaces(listElement);		
		this.maxHeight = this.contentElement.clientHeight;
		this.contentElement.setStyle('height', this.maxHeight);
		countElement.set('html', offerings.length);
		totalElement.set('html', new Number(this.total/100).toFixed(2));
		if(offerings.length == 0){
			this.disabledControl.setStyle('display', 'block');
			this.enabledControl.setStyle('display', 'none');
			this.contentElement.setStyle('visibility', 'hidden');
		}else{
			this.disabledControl.setStyle('display', 'none');
			this.enabledControl.setStyle('display', 'block');
		}
		if(!this.enabled){
			this.contentElement.setStyle('height', 0);
		}
		return this;
	},
	'jsonPut' : function(ev){
		ev = new Event(ev);
		ev.preventDefault();
		var oid = null;
		var items = $(ev.target).getElements('input[name=oid]');
		items = $A(items);									
		items.each(function(item){
			if(item.type == 'radio' && item.checked){
				oid = item.value;
			}else if(item.type != 'radio'){
				oid = item.value;
			}
		});
		var reqData = {'oid' : oid, '_f' : 'json'};
		if($defined(ev.target.manualAmount)){
			reqData.manualAmount = ev.target.manualAmount.value;
		}
		var $icon = this.cartActionIcon;
  		var req = new Request.JSON({
			'url' : ev.target.action,
			'onComplete' : function(data){
				PFPortal.sharedCart.setOfferings(data.items);
				if($defined($icon)){
					$icon.fireEvent('fade');
				}
			}
			// weno fail
		}).post(reqData);
	},
	'quickJsonPut' : function(ev){
		ev = new Event(ev);
		ev.preventDefault();
		var req = new Request.HTML({
			'url' : ev.target.action,
			'evalScripts' : true
		}).post($(ev.target));
	}	
});
PFPortal.FieldSuggester = new Class({
	'suggestions' : [],
	'suggestionsBox' : null,
	'field' : null,
	'lastKnownValue' : null,
	'monitor' : null,
	'initialize' : function(el){
		this.suggestionsBox = new Element('div', {'class' : 'search-suggestions pf-hidden', 
			'style' : 'position: absolute; background-color: lightgrey; width: 400px;'}).inject(el, 'after');
		this.field = el;
	},
	'handleFocus' : function(e){
		var field = e.target;
		this.monitor = window.setInterval(this.suggest.bind(this), 1000);
		if(this.suggestions.length > 0){this.suggestionsBox.removeClass('pf-hidden');}
	},
	'handleBlur' : function(e){
		window.clearInterval(this.monitor);
		this.suggestionsBox.addClass('pf-hidden');
	},
	'_navigate' : function(provider, wrappedProvider){
		var selectedClass = "pf-quick-selected";
		var el = this.suggestionsBox.getElement('.'+selectedClass);
		if(el != null){
			el.removeClass(selectedClass);
			var el2 = provider.call(el);
			if(el2 == null){
				this.suggestionsBox.getElement('ol').getLast().addClass(selectedClass);				
			}else{
				el2.addClass(selectedClass);
			}
		}else{
			this.suggestionsBox.getElement('ol').getLast().addClass(selectedClass);
		}		
	},
	'handleKeyDown' : function(e){
		e = new Event(e);
		var selectedClass = "pf-quick-selected";
		if(e.key == 'up'){
			var el = this.suggestionsBox.getElement('.'+selectedClass);
			if(el != null){
				el.removeClass(selectedClass);
				var el2 = el.getPrevious();
				if(el2 == null){
					this.suggestionsBox.getElement('ol').getLast().addClass(selectedClass);				
				}else{
					el2.addClass(selectedClass);
				}
			}else{
				this.suggestionsBox.getElement('ol').getLast().addClass(selectedClass);
			}
		}else if(e.key == 'down'){
			var el = this.suggestionsBox.getElement('.'+selectedClass);
			if(el != null){
				el.removeClass(selectedClass);
				var el2 = el.getNext.call(el);
				if(el2 == null){
					this.suggestionsBox.getElement('li').addClass(selectedClass);				
				}else{
					el2.addClass(selectedClass);
				}
			}else{ 
				this.suggestionsBox.getElement('li').addClass(selectedClass);
			}
		}else if(e.key == 'enter'){
			if(!this.suggestionsBox.hasClass('pf-hidden')){
				this.field.value = this.suggestionsBox.getElement('.'+selectedClass).getElement('span').get('text');
			}			
		}else if(e.key == 'esc'){
			this.suggestionsBox.toggleClass('pf-hidden');
			window.clearInterval(this.monitor);
			this.monitor = null;
		}		
	},
	'suggest' : function(){
		if(this.field.value != '' && this.field.value != null){
			this.suggestionsBox.removeClass('pf-hidden');
	 		if(this.lastKnowValue != this.field.value){			
				this.lastKnowValue = this.field.value;
				var self = this;
				var self = this;
				new Request.HTML({
					'url' : this.action,
					'update' : this.suggestionsBox,
					'onSuccess' : function(){
						self.suggestionsBox.getElements('li').addEvent('mousedown', function(event){														
							self.field.value = $(this).getElements('span').get('text')[0];
							self.field.form.submit();
						})
					}
				}).get({'q' : this.field.value, 'WOURLEncoding' : 'UTF-8'});
			}
		}else{
			this.suggestionsBox.addClass('pf-hidden');
		}
	}
});
PFPortal.FieldSuggester.register = function(selector){
	$$(selector).each(function(el){
		var sug = new PFPortal.FieldSuggester(el);
		el.addEvent('focus', sug.handleFocus.bind(sug))
		.addEvent('blur', sug.handleBlur.bind(sug))
		.addEvent('keydown', sug.handleKeyDown.bind(sug));
		sug.action = el.form.action.replace('simple', 'quick');
	});
}
PFPortal.decorators.push(function(){ 
	PFPortal.FieldSuggester.register('#searchbar input[type=text]');
});
(function(){
	if(PFPortal._uninitialized){
		/*  Decorate */
		PFPortal.decorators.forEach(function(func){
			func();
		});
	}
	/* Hook into cart forms. */
	var cartActIcon = $('notification_success');	
	if($defined(PFPortal.sharedCart)){
	$$('form.phurchase').forEach(function(elem, index){
		var innerElem = elem.getElement('input[name="_f"]');
		innerElem.setProperty('value', 'json');
		elem.getElements("input[type=image]").forEach(function(subElem){
			subElem.addEvent('click', function(ev){
				var myEv = new Event(ev);
				if($defined(cartActIcon)){
					cartActIcon.setStyle("left", myEv.page.x);
					cartActIcon.setStyle("top", myEv.page.y);
				}				
			});
		});
		elem.addEvent('submit', function(ev){
			ev = new Event(ev);
			ev.preventDefault();
			var oid = null;
			var items = $(ev.target).getElements('input[name=oid]');
			items = $A(items);									
			items.each(function(item){
				if(item.type == 'radio' && item.checked){
					oid = item.value;
				}else if(item.type != 'radio'){
					oid = item.value;
				}
			});
			var reqData = {'oid' : oid, '_f' : 'json'};
			if($defined(ev.target.manualAmount)){
				reqData.manualAmount = ev.target.manualAmount.value;
			}			
  			var req = new Request.JSON({
				'url' : this.action,
				'onComplete' : function(data){
					var infoMessage = data.message; 
					if(infoMessage){
						var info = new PFPortal.VideoMessage(infoMessage);
						info.display();
					}
					PFPortal.sharedCart.setOfferings(data.items);
					if($defined(cartActIcon)){
						cartActIcon.fireEvent('fade');
					}
				}
				// TODO we need on failure
			}).post(reqData);
		});
	});
	if($defined(cartActIcon)){
		cartActIcon.set('tween', {'duration' :  3400});
		cartActIcon.setStyle('display', 'block');
		cartActIcon.fade('hide');
		cartActIcon.addEvent('fade', function(ev){				
			cartActIcon.tween('opacity', 1, 0);				
		});			
	}
	PFPortal.PFCart = PFCart;
	PFPortal._uninitialized = false;
}
})();
(function(){	
	function fit(id){
		$$(id).forEach(function(roles){
			if(roles.offsetHeight > 100){
				var orgHeight = roles.getStyle('height');
				smallHeight = '60px'; 		
				roles.setStyle('height', smallHeight);
				roles.getNext('.pf-control .pf-show').toggleClass('pf-nodisplay').addClass('pf-reduced').addEvent('click', 
					function(){
						roles.tween('height', orgHeight);
						roles.getAllNext('.pf-control').toggleClass('pf-nodisplay').removeClass('pf-reduced');				
						return false;
					}
				);
				roles.getNext('.pf-control .pf-hide').addEvent('click', function(){
					roles.tween('height', smallHeight);
					roles.getAllNext('.pf-control').toggleClass('pf-nodisplay').addClass('pf-reduced');
					return false;
				});
			}
		});
	}
	fit('.pf-roles');
	fit('.pf-artists');	
})();
/*  Contributor tabs */
(function(){
	var currentTab = null, currentPane;
	$$('.pf-panes div').addClass('pf-nodisplay');
	$$('.pf-tabs a').addEvent('click', function(e){
		if(currentTab == this){
			this.removeClass('pf-selected');
			$$(currentPane).addClass('pf-nodisplay');
			currentTab = null;
			currentPane = null;
		}else{		
			if(currentPane){$$(currentPane).addClass('pf-nodisplay');}
			currentPane = this.hash;
			$$(currentPane).removeClass('pf-nodisplay');
			if(currentTab){currentTab.removeClass('pf-selected');}
			currentTab = this;		
			currentTab.addClass("pf-selected");
		}				
	}).addEvent('click', function(e){
		new Event(e).preventDefault();
	});
})();