// these example method has to be implemented by fully functional methods

EXAMPLE_RATED = false;

$.extend(RatingManager, {

	rate: function(grade) {
		// do something
		if (EXAMPLE_RATED) {
			RatingManager.displayError(_.rating.error);
			EXAMPLE_RATED = false;
		} else {
			RatingManager.displaySuccess(_.rating.success, grade);
			EXAMPLE_RATED = true;
		}
	}

});

$.extend(LocationSelector.prototype, {

	getContent: function() {
		var content = '\
			<div id="location-selector" style="width: 140px; ">\
				<p id="location-selector-close-handle" style="background-image: url(_resources/img/en/roche-worldwide.gif); width: 96px; ">\
					<span class="access">Roche Worldwide</span>\
				</p>\
			    <div class="slider"><div class="handle ui-slider-handle"></div></div>\
			    <div id="location-list-wrapper">\
					<ul>' + this.getCountrylistAsHtml() + '\
					</ul>\
				</div>\
			</div>';
		$("a#location-selector-handle").parent().append(content);
		this.toggleWith("p#location-selector-close-handle");
		return $("div#location-selector");
	},

	getCountrylistAsHtml: function() {
		var list = [];
		for (var i in _.countries) {
			list.push('<li><a href="javascript:void(0);">' +  _.countries[i] + '</a></li>');
		}
		return list.join("");
	}

});

/***********************************************************************/
/* START: switch between tabs and repaint sIFR elements inside         */
// replace following code with custom functions to switch between tabs
// $(document).ready(function() {
	// $("ul.tab-nav li").click(
		// function(event){
			// if($(this).is("li.active")){ // return when tab is already shown
				// event.stopPropagation();
				// event.preventDefault(); // prevent browser to trigger link
				// return;
			// }
			
			// $(this).siblings(".active").removeClass("active").each(function(){
				// var tabContentId = $(this).children("a:first").attr("href");
				// if(/^#[-_\w]+$/.test(tabContentId)){
					// $(tabContentId).get(0).alreadySifred = true; // set flag that this container was already repainted
					// $(tabContentId).hide();
				// }
			// });
			
			// $(this).addClass("active");
			// var tabContentId = $(this).children("a:first").attr("href");
			// if(/^#[-_\w]+$/.test(tabContentId)){ // check whether href is a container id
				// $(tabContentId).show();

				// if(!$(tabContentId).get(0).alreadySifred){ // check if this container was already repainted
					// if(SifrManager) SifrManager.paint("div"+tabContentId); // repaint sIFR elements
					// $(tabContentId).get(0).alreadySifred= true;
				// }
			// }
			// event.stopPropagation();
			// event.preventDefault(); // prevent browser to trigger link
		// }
	// );
/* END: switch between tabs and repaint sIFR elements inside         */
/***********************************************************************/

// });

/***********************************************************************/
/* START: switch between tabs and repaint sIFR elements inside         */
// replace following code with custom functions to switch between tabs
$(document).ready(function() {
	$("ul.tab-nav-addAjaxFunc li").click(
		function(event){
			if($(this).is("li.active")){ // return when tab is already shown
				event.stopPropagation();
				event.preventDefault(); // prevent browser to trigger link
				return;
			}
			
			$(this).siblings(".active").removeClass("active").each(function(){
				var tabContentId = $(this).children("a:first").attr("href");
				if(/^#[-_\w]+$/.test(tabContentId)){
					$(tabContentId).get(0).alreadySifred = true; // set flag that this container was already repainted
					$(tabContentId).hide();
				}
			});
			
			$(this).addClass("active");
			var tabContentId = $(this).children("a:first").attr("href");
			if(/^#[-_\w]+$/.test(tabContentId)){ // check whether href is a container id
				$(tabContentId).show();

				if(!$(tabContentId).get(0).alreadySifred){ // check if this container was already repainted
					if(SifrManager) SifrManager.paint("div"+tabContentId); // repaint sIFR elements
					$(tabContentId).get(0).alreadySifred= true;
				}
			}
			event.stopPropagation();
			event.preventDefault(); // prevent browser to trigger link
		}
	);
/* END: switch between tabs and repaint sIFR elements inside         */
/***********************************************************************/

});


$(document).ready(function(){
	$("div.tab-nav-zone").tabNav();
});

(function($){
	$.fn.extend({
		tabNav: function () {
			$("ul.tab-nav-addAjaxFunc li a",this).each(function(i) {
				tabNav.handle(this);
			});
		}
	});
	
	var tabNav = function() {};
	
	$.extend(tabNav, {
		handle : function(link) {
			$(link).click(function() {
				var clickedTab = $(this);
				var clickedIndex = clickedTab.parent().parent().children().index($(this).parent()[0]);
				
				clickedTab.parent().parent().parent().removeClass('tab1');
				clickedTab.parent().parent().parent().removeClass('tab2');
				clickedTab.parent().parent().parent().removeClass('tab3');
				clickedTab.parent().parent().parent().removeClass('tab4');
				clickedTab.parent().parent().parent().removeClass('tab5');
				clickedTab.parent().parent().parent().removeClass('tab6');
				clickedTab.parent().parent().parent().removeClass('tab7');
				clickedTab.parent().parent().parent().removeClass('tab8');
				clickedTab.parent().parent().parent().removeClass('tab9');
				clickedTab.parent().parent().parent().addClass('tab' + (clickedIndex + 1));
				
				//rewrite Sifr - Titles in the newly visible Tab;
				//SifrManager.paint();
				//if(SifrManager) SifrManager.paint("div"+tabContentId)
				
				if(SifrManager && !$("#tabContent"+(clickedIndex + 1)).alreadySifred)
				{
					SifrManager.paint("#tabContent"+(clickedIndex + 1));
					$("#tabContent"+(clickedIndex + 1)).alreadySifred = true;
				}
				

				
				
				
				//play first Video in new Tab if available
				try {
					//if (window.location.search == "?bla") {
					if ($('#movieplayer') && $('#movieplayer')[0]) {
						//else no <div id="movieplayer" ..> on page
						
						//alert('asdf')
						var container = $(this).parent().parent().parent();
						var contents = container.children('div')
						var toDisplayContent = $(contents.get(clickedIndex));
						//toDisplayContent.css('border', '2px solid red');

						var firstEntryInContent = toDisplayContent.children().children().children(':first').children()[0]
						
						var fullUrl = firstEntryInContent.href
						//alert(fullUrl.length)
						var movieUrl = fullUrl.substring(fullUrl.lastIndexOf("/"), fullUrl.length)
						initMovie(movieUrl, 'movieplayer', 315, 236, true)
						
						//unmark all and mark the playing element
						$(firstEntryInContent).parent().parent().children().removeClass('selectedMovie')
						$(firstEntryInContent).parent().addClass('selectedMovie')
												
					} else {
						//no movieplayer div on page ...
					}
						
					//}
				} catch (e) {
					for (p in e) {
						alert(p + ": " + e[p])
					}
				}

				return false;
			});
		}
	});
})(jQuery);
			

