SqueezeBox.parsers.swf = function(preset) {
	return (preset || this.url.test(/\.swf/)) ? this.url : false;
};
 
SqueezeBox.handlers.swf = function(url) {
	var size = this.options.size;
	return new Swiff(url, {
		id: 'sbox-swf',
		width: size.x,
		height: size.y
	});
};

function centerPopUp( url, width, height, scrollbars ) { 
	if( scrollbars == null ) scrollbars = "0" 
	str  = ""; 
	str += "resizable=0,"; 
	str += "scrollbars=" + scrollbars + ","; 
	str += "width=" + (width) + ","; 
	str += "height=" + (height) + ","; 
	
	if ( window.screen ) { 
		var ah = screen.availHeight - 30; 
		var aw = screen.availWidth - 10; 
	
		var xc = ( aw - width ) / 2; 
		var yc = ( ah - height ) / 2; 
	
		str += ",left=" + xc + ",screenX=" + xc; 
		str += ",top=" + yc + ",screenY=" + yc; 
	} 
	window.open( url, 'PopUp', str ); 
}

 
window.addEvent('domready', function() {
 
	/**
	 * That CSS selector will find all <a> elements with the
	 * class boxed.
	 *
	 * The second argument sets additional options
	 */
	SqueezeBox.assign($$('a.boxed'), {
		parse: 'rel'
	});
	
	if($('scroll')) makeScrollbar($('scroll'),$('scrollbar'),$('handle'),false,false);
	
	// Email input hint
	
	if($('subscribe')) {
		var email = $('subscribe').getElement('input');
		
		new inputHint(email);
	}
 
});

/* Scroller */
function makeScrollbar(content,scrollbar,handle,horizontal,ignoreMouse){
	
	if(content.clientHeight == content.scrollHeight) {
		content.setStyle('height','auto');
		content.setStyle('width','auto');
		scrollbar.destroy();
		return;
	}
	
	var steps = (horizontal?(content.getScrollSize().x - content.getSize().x):(content.getScrollSize().y - content.getSize().y))
	var slider = new Slider(scrollbar, handle, {	
		steps: steps,
		mode: (horizontal?'horizontal':'vertical'),
		onChange: function(step){
			// Scrolls the content element in x or y direction.
			var x = (horizontal?step:0);
			var y = (horizontal?0:step);
			content.scrollTo(x,y);
		}
	}).set(0);
	if( !(ignoreMouse) ){
		// Scroll the content element when the mousewheel is used within the 
		// content or the scrollbar element.
		$$(content, scrollbar).addEvent('mousewheel', function(e){	
			e = new Event(e).stop();
			var step = slider.step - e.wheel * 30;	
			slider.set(step);					
		});
	}
	// Stops the handle dragging process when the mouse leaves the document body.
	$(document.body).addEvent('mouseleave',function(){slider.drag.stop()});
}
