/*******************************************************************************

	CSS on Sails Framework
	Title: Realization
	Author: XHTMLized (http://www.xhtmlized.com/)
	Date: September 2011

*******************************************************************************/


$(document).ready(function() {
	Engine.init();
});

var Engine = {
	init: function() {
		Engine.selectCurrentMenu();
		Engine.homeSlideshow();
		Engine.initVideoSubNav();
		Engine.playlistPopUp();
		Engine.placeholderFix();
		Engine.customSelect();
		Engine.resultsZebraTable();
		Engine.lightbox();
        Engine.attachDropDownFilter();
        Engine.filterResultTable();
Engine.attachToolbarEvents();
Engine.attachWebSiteSearch();
	},
	
	/*
	 *	Select current menu item
	 */
	selectCurrentMenu: function() {
		
		// find current url
		var path = location.pathname;
		paths = path.split('/');
		var lastURL = paths[paths.length-1];
		
		// find if submenu item is selected
		if($('#navigation .jquery-slidemenu li a[href="'+lastURL+'"]').length > 0){
			//select it as submenu and select main menu item differently
			$('#navigation .jquery-slidemenu li a[href="'+lastURL+'"]').addClass('current-submenu')
																	 .parent().parent().parent()
																	 .addClass('current-menu');
		// menu item is current
		} else if($('#navigation ul li a[href="'+lastURL+'"]').length > 0) {
			$('#navigation ul li a[href="'+lastURL+'"]').addClass('current');
		} 		
	},
	
	homeSlideshow: function() {
		if(typeof $.fn.cycle !== 'undefined') {
			$(".slideshow").cycle({
				fx: 'fade',
				speed: 800, 
				timeoutFn: calculateTimeout				 
			});
		}
				
		function calculateTimeout() {
			switch($(this).attr('data-rel')){
				case '1': return 6000;
				break;
				case '2': return 9000;
				break; 
				case '3': return 6000;
				break;
				case '4': return 9000;
				break;
				case '5': return 6000;
				break; 
				case '6': return 9000;
				break;
				default: return 10000;
				break;
			} 			
		}
	},
	
	initVideoSubNav: function() {
		$('#videoSubNav li[class!=expanded] ul, .subNav li[class!=expanded] ul').hide();
		
		$('#videoSubNav li a, .subNav li a').click(function() {
			if($(this).next("ul").length>0) {
				$(this).parent().toggleClass('expanded');
				$(this).next().slideToggle('normal');
				return false;
			}
		})
	},
	
	playlistPopUp: function() {
		$(".wrapperAddPlaylist").hover(
			function () { $(this).parent().addClass('hover'); },
			function () { $(this).parent().removeClass('hover'); }
		);	
	},
	
	placeholderFix: function() {
		$('input[placeholder]').JSizedFormPlaceholder();
	},
	
	customSelect: function() {
		if($(".customSelect").length)
			$(".customSelect").JSizedFormSelect();
	},
	
	resultsZebraTable: function() {
		$('table#results tr:odd').addClass('odd');		
	},
	
	lightbox: function() {
		if(typeof $.fn.overlay !== 'undefined') {
			$("a[rel]").overlay({	
				mask: {
					color: '#000000',
					loadSpeed: 200,
					opacity: 0.5				
				},
				fixed: false,
				left: "right"
			});		
		}
    },
    
	filterResultTable:function(){
	
	    var showSelectionCriteria = 'table#results>tbody>tr';
	    var hideSelectionCriteria = 'table#results>tbody>tr';
	    var h2SelectionCriteria = '.main2>h2';
	    if($('.customSelect').length>0){
		    var selectedVal = $(".customSelect option:selected").val().toLowerCase();
		    if (selectedVal != 'default') {
		        showSelectionCriteria += '.' + selectedVal;
		        hideSelectionCriteria += "[class!='" + selectedVal + "']";
		        $(hideSelectionCriteria).hide();
		    }
	    }
	    $(h2SelectionCriteria).hide();
	    $(h2SelectionCriteria+"."+selectedVal).show();
	    $(showSelectionCriteria).show();
	    $(showSelectionCriteria + ":even td").css("background-color", "#f2f2ee");
	    $(showSelectionCriteria + ":odd td").css("background-color", "#e7e7e4");
	    },
	    attachDropDownFilter:function () {
	    var dropDownSelect = $(".customSelect");
	    if(dropDownSelect.length<=0)
	    return;
	    dropDownSelect.change(this.filterResultTable);
	},
 trim: function (stringToTrim) {
        return stringToTrim.replace(/^\s+|\s+$/g, "");
    },
    attachWebSiteSearch: function () {
        var searchButton = jQuery('div#search a#search-btn');
        if (searchButton.length <= 0)
            return;
        var searchTextBox = jQuery('div#search>form input:text');
        if (searchTextBox.length <= 0)
            return;
        searchButton.val("");
        searchButton.click(function () {
            if (searchTextBox.attr("value").toLowerCase() == searchTextBox.attr("placeholder").toLowerCase() || Engine.trim(searchTextBox.attr("value")) == "")
                return false;
            document.location.href = "/search.aspx?q=" + encodeURIComponent(searchTextBox.attr("value"));
            return false;
        });
        searchTextBox.keypress(function (event) {
            if (event.which == '13') {
                event.preventDefault();
                searchButton.click();
            }
        });
    },
    attachToolbarEvents: function () {
        var linkedInShareUrl = 'http://www.linkedin.com/shareArticle?url=' + encodeURIComponent(window.location.href);
        var linkedInShareLink = $("ul.tools>li.share>a");
        if (linkedInShareLink.length > 0) {
            $("ul.tools>li.share>a").attr('href', linkedInShareUrl).attr('target', '_blank');
            $("ul.tools>li.print>a").attr('href', 'javascript:window.print();');
            $("ul.tools>li.email>a").attr('href', 'emailthispageform.aspx');
        }
    }
}	
