var currentTabName = "overview";

function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}
function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
} 
function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}
function hasClass(ele,cls) {
	return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}
function addClass(ele,cls) {
	if (!this.hasClass(ele,cls)) ele.className += " "+cls;
}
function removeClass(ele,cls) {
	if (hasClass(ele,cls)) {
    	var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
		ele.className=ele.className.replace(reg,' ');
	}
}
function goToAppStore(appName) {
	window.location.href = '/appstore/' + appName;
}
function goToTab(tabName) {
	if (tabName == currentTabName) {
		return false;
	}
	
	//Deselect old Tab
	var currentTab = document.getElementById(currentTabName+"Tab");
	var currentTabDiv = document.getElementById(currentTabName+"TabDiv");
	removeClass(currentTab, "selected");
	addClass(currentTabDiv, "hidden");
	
	//Select current Tab
	currentTabName = tabName;
	currentTab = document.getElementById(currentTabName+"Tab");
	currentTabDiv = document.getElementById(currentTabName+"TabDiv");
	addClass(currentTab, "selected");
	removeClass(currentTabDiv, "hidden");
	
	return false;
}
function initSlideshow() {
	$(document).ready(function(){
	var currentPosition = 0;
	var slideWidth = 560;
	var slides = $('.slide');
	var numberOfSlides = slides.length;
	
	// Remove scrollbar in JS
	$('#slidesContainer').css('overflow', 'hidden');
	
	// Wrap all .slides with #slideInner div
	slides
	  .wrapAll('<div id="slideInner"></div>')
	  // Float left to display horizontally, readjust .slides width
	      .css({
	    'float' : 'left',
	    'width' : slideWidth
	  });
	
	// Set #slideInner width equal to total width of all slides
	$('#slideInner').css('width', slideWidth * numberOfSlides);
	
	// Insert controls in the DOM
	$('#slideshow')
	  .prepend('<span class="control" id="leftControl">Clicking moves left</span>')
	  .append('<span class="control" id="rightControl">Clicking moves right</span>');
	
	// Hide left arrow control on first load
	manageControls(currentPosition);
	
	// Create event listeners for .controls clicks
	$('.control')
	  .bind('click', function(){
	  // Determine new position
	      currentPosition = ($(this).attr('id')=='rightControl') ? currentPosition+1 : currentPosition-1;
	  
	      // Hide / show controls
	  manageControls(currentPosition);
	  // Move slideInner using margin-left
	  $('#slideInner').animate({
	    'marginLeft' : slideWidth*(-currentPosition)
	  });
	});
	
	// manageControls: Hides and Shows controls depending on currentPosition
	function manageControls(position){
	  // Hide left arrow if position is first slide
	      if(position==0){ $('#leftControl').hide() } else{ $('#leftControl').show() }
	      // Hide right arrow if position is last slide
	  if(position==numberOfSlides-1){ $('#rightControl').hide() } else{ $('#rightControl').show() }
	}	
	});
}
