function scrollTo(pos, width, id){
	
	var teaserImages = $(id).childElements()[0];
	var newpos = pos * width;
	new Effect.Move(teaserImages, { 
		x: -newpos, 
		y: 0, 
		mode: 'absolute',
		duration: 0.8, 
		transition: Effect.Transitions.spring
	});
	
}

function teaserSlider(id, pos){

	var teaserImages = $$('#' + id + ' ul.teaserImages li');
	var teaserImagesWidth = 0;
	var imageCounter = 0;
	teaserImages.each(function(image){
		imageCounter++;
		if (image.offsetWidth >= teaserImagesWidth) {
			teaserImagesWidth = image.offsetWidth;
		}
	});
	
	if(imageCounter)
	
	var teaserWidth = teaserImagesWidth * imageCounter;
	$(id).childElements()[0].style.width = teaserWidth + "px";
	$(id).childElements()[0].style.left = - (teaserImagesWidth * (pos - 1)) + "px";
	
	var sliderCounter = 0;
	
	var sliders = $$('#' + id + ' ul.teaserSlider li a');
	
	sliders.each(function(slider){
		slider.parentNode.id = 'slide_' + sliderCounter;
		Event.observe(slider, 'click', function(event){
			var element = Event.element(event);
			var pos = element.parentNode.id.split("_")[1];
			
			sliders.each(function(remClass){
				Element.removeClassName(remClass.parentNode, 'active');
			});
			Element.addClassName(element.parentNode, 'active');
			scrollTo(pos, teaserImagesWidth, id);
			event.stop();
		});
		sliderCounter++;
	});
	
}

function tabSelector(id) {

	var tabs = $$('#' + id + ' ul.tabs li a');
	
	tabs.each(function(tab){
		Event.observe(tab, 'click', function(event){
			var element = Event.element(event);
			
			var part = element.parentNode.id.split("_")[1];
			
			$(id).className = part;
			
			$$('#' + id + ' .tabContent').each(function(content){
				content.hide();
			});
			
			$('content_' + part).show();
						
			event.stop();
		});
	});
}

function showModalOverlayDiv(element, width, height, targetState, targetURL) {
	  var zdiv = document.createElement("div");
	  jQuery(zdiv).attr("id","showModalOverlayDiv");
	  jQuery(zdiv).insertAfter(element);	  
		//ajax request to get info
	  jQuery.ajax(
			  {
			     type: "POST",
			     url: targetURL,             
			     dataType: "html",
			     async: false,
			     success: function(response) {
			        jQuery(zdiv).html(response);
			        var formObj = jQuery(zdiv).find("form");
			        var action  = formObj.attr("action");               
			        var replUrl = action.replace(/p_p_state=exclusive/i, 'p_p_state=' + targetState);
			        formObj.attr('action',replUrl);
			    	var link = jQuery(".modalDialogLink");
			    	if (link != null && link.attr("href") != null) {
			    		var href = link.attr("href").replace(/p_p_state=exclusive/i, "p_p_state=normal");
			    		jQuery(".modalDialogLink").attr("href",href);
			    	}			    					    				        
			     }
			  });
	  	  
	  jQuery(zdiv).dialog({
		    modal:    true,
		    resizable: false,
		    width: width, 
		    height: height, 
		    position: "center",
		    overlay:  { 
		              opacity:    0.7, 
		              background: "#000000" 
		              },
		    close: function() {
		      jQuery(zdiv).dialog('destroy').remove();
		    }
		    });
	  jQuery(".ui-dialog-content").css("width","auto");
	  jQuery(".ie6 .portlet-content select").css("display","none");
	  return false;
}
function closeModalOverlayDiv() {
	jQuery("#showModalOverlayDiv").dialog('destroy').remove();
	jQuery(".ie6 .portlet-content select").css("display","block");
}

function trim (str) {
    return str.replace(/ +/g, ' ').replace(/^\s+/g, '').replace(/\s+$/g, '');
}