/* Javascript stylesheet */
document.write("<link rel=\"StyleSheet\" href=\"/skillsForHealthAssets/css/skillsForHealthJs.css\" type=\"text/css\" media=\"screen\" />");

// e3 javascript for Skills For Health

var toggleAll = true;
var toggleAllApp = false;
var AppSelectedTabIndex = 0;

// when the document is loaded
$(document).ready(function() {	

	//jQuery functions
	assignFlyout();
	assignShowHides();
	assignFaqs();
	assignToolkit();
	assignAppList();
	assignFormDefaultTextHideShow();
	addCorners();	
	assignHomepageTabs();
	checkAll();
	sitemap();
	fnHomeTabsBackBtn();
	fnSearchAutoComplete();
	fnResourceSearchAutoComplete();
	fnNWWSearchAutoComplete(); //New Way of Working
	fnSectionSearchAutoComplete(); //section search block(s)
	fnVideoPlayer();
	fnTabDivSwap();
	fnAppTabs(false);
	fnAppHijax();
	fnAppLangSwitch();
});


function assignFormDefaultTextHideShow() {
	$(".formDefaultHideShow").unbind("focus,blur").focus(function () {		
		if ($(this).val() == $(this)[0].defaultValue) {
        	$(this).val("");
        }
	 }).blur(function() {
        if ($(this).val() == "") {
        	$(this).val($(this)[0].defaultValue);
     	}
	 });
}

function assignShowHides(){	
	$('.showHide').each(function(){
		$('.mid',this).hide();
		$(this).addClass('closed');
		$('.top h3',this).css({'cursor':'pointer'}).click(
			function(){
				$(this).parent().next('.mid').slideToggle('fast');
				if(toggleAll == true){
				$('.showHide.open').not($(this).parents('.showHide')).toggleClass('closed').toggleClass('open')
					.find('.mid').slideToggle('fast');
				}
				$(this).parents('.showHide').toggleClass('closed').toggleClass('open');
			});
	});
}

function addCorners(){
	
	$('img.rounded').each(
		function(){
			if($(this).parent('a').length >0){
				$(this).parent('a').addClass('corners');
			}else{
				$(this).wrap('<span class="corners"></span>');
			}
			$(this).parent().append('<b class="tl"></b><b class="tr"></b><b class="bl"></b><b class="br"></b>');
		}
	);
	
	// rounded 120px square images for board members page
	$('img.rounded120').each(
		function(){
			if($(this).parent('a').length >0){
				$(this).parent('a').addClass('corners width120');
			}else{
				$(this).wrap('<span class="corners width120"></span>');
			}
			$(this).parent().append('<b class="tl"></b><b class="tr"></b><b class="bl"></b><b class="br"></b>');
		}
	);
}

function assignFaqs(){
	
	$('.faqList .question').each(
		function(){
			$(this).parent().addClass('closed');
			$(this).next('.answer').hide();
			$(this).click(
				function(){					
					$(this).next('.answer').slideToggle('fast');
					//$(this).next('.answer').toggle(); 		// could use this for ie8 to workaround SFHINT-112
					if(toggleAll == true){
					$('.qaWrap.open').not($(this).parents('.qaWrap')).toggleClass('closed').toggleClass('open')
						.find('.answer').slideToggle('fast');
						//.find('.answer').toggle(); 			// could use this for ie8 to workaround SFHINT-112
						}
					$(this).parents('.qaWrap').toggleClass('closed').toggleClass('open');
				}
			);
		}
	);
}


function assignHomepageTabs(){
	/*$('.homeTabs .tab').hide();*/
	
	$('.homeTabBtns a').each(
		function(){
			var link = $(this).attr('href');
			
			link = '#' + link.replace('?tab=','');
			
			$(this).attr('href', link );
		}
	);
	
	if($('.homeTabs .tab.active').length <1){
		$('.homeTabs .tab:first')/*.show()*/.addClass('active');
		$('.homeTabBtns li').removeClass('selected');
		//console.log(activeId)
		/*$('.homeTabBtns li:first').addClass('selected');*/
		
		
	}
	/*var activeId = $('.homeTabs .tab.active').attr('id');
	$('.homeTabBtns a[href="#' + activeId + '"]').parents('li').addClass('selected');*/
	
	
	
	
	$('.homeTabBtns a').each(
		function(){
			$(this).click(function(){
				
				tabId = $(this).attr('href');
				$('.tab.active').toggleClass('active')/*.hide()*/;
				$('.homeTabBtns li.selected').toggleClass('selected');
				
				$(tabId)/*.show()*/.toggleClass('active');
				$(this).parents('li').toggleClass('selected');
				
				return false;
				
			});
		}
	);
}



function checkAll(){
	$('fieldset div.options').append('<p class="checkOpt"><p>');
	
	var divider = '<span> | </span>';
	
	$('p.checkOpt').append('<a href="#" class="checkAll">Check All</a>');
	$('p.checkOpt').append(divider);
	$('p.checkOpt').append('<a href="#" class="uncheckAll">Un-check All</a>');
	//$('p.checkOpt').append(divider);
	//$('p.checkOpt').append('<a href="#" class="checkInverse">Check inverse</a>');
	
	$('a.checkAll').click(
		function(){
			$(this).parents('div.options').find('input:checkbox').attr('checked','checked');
			return false;
		});
	
	$('a.uncheckAll').click(
		function(){
			$(this).parents('div.options').find('input:checkbox').removeAttr('checked');
			return false;
		});
		
	$('a.checkInverse').click(
		function(){
			$(this).parents('div.options').find('input:checked').removeAttr('checked').addClass('wasChecked');
			$(this).parents('div.options').find('input:checkbox:not(.wasChecked)').attr('checked','checked');
			$(this).parents('div.options').find('input:checkbox').removeClass('wasChecked');
			return false;
		});
}


function sitemap(){
	
	$('#sitemap').prepend('<div id="control"> <a title="Collapse the entire tree below" href="#">Collapse All</a> <a title="Expand the entire tree below" href="#">Expand All</a> <a title="Toggle the tree below, opening closed branches, closing open branches" href="#">Toggle All</a> </div>');
	
	$('#sitemapList').treeview({
	   collapsed: true,
	   control: "#control"
});
	
	
}




/*
 * Catches keydown event on homepage login box to run more code if you press enter
 */
function fnLoginRegisterCatchEnter (btn, event)
{
	btn = document.getElementById(btn);
	if (btn) {
		var iNum = 0;
		if (event.which == null)
		{
			iNum = event.keyCode;    // IE
		}
		else if (event.which > 0)
		{
			iNum = event.which;	  // All others
		}
		
		if (iNum == 13)		// Enter key
		{
			event.returnValue = false;
			event.cancel = true;
			try {
			btn.click();
			} catch (e) {}
		}
	}
}

/*  
Adds a cookie to remember whether the 2nd tab on homepage was beign viewed
Client requirement to remember tabs on homepage
Uses jquery.cookie.js - file contains docs
*/
function fnHomeTabsBackBtn() {
	
	/// check for tab2 cookie 
	if(($.cookie('sht'))  && ($.cookie('sht') == '#tab2')  ) {		
		
			$('#tab2').addClass('active');
			$('#tab1').removeClass('active');
			$('.tabList li') .each(function(index) {
				$(this).removeClass('selected');
			});
			$('.tabList li:last').addClass('selected');
	}
	
	// set onlick event for buttons
	$(".homeTabBtns a").click(function(){		
		$.cookie('sht', $(this).attr("href"),{ expires: 0.5}); // sht = skills home tab
	});
	
}


function assignFlyout(){
	
	$('#mainNav').addClass('enhanced');
	$('#mainNav ul .flyout').show();
	
	/* Mouse version */

	$('#mainNav > ul li').hover(
		function(){
			$(this).addClass('hover');
		},
		function(){
			$(this).removeClass('hover');
		});

	/* Keyboard version */
	$('#mainNav a').focus(
		function(){
			$(this).parents('li').find('.flyout').parent().addClass('hover');
		});
	$('#mainNav a').blur(
		function(){
			$(this).parents('li').find('.flyout').parent().removeClass('hover');
		});	
}

/*
 * Usage: <a href="http://URL" onclick="return fnPopup(this, 640, 480)">Link text</a>
 */
function fnPopup(targ, width, height) {

  // Calculate position of popup.
	var sScreenX = screen.width;
	var sScreenY = screen.height;
	var x = sScreenX - width;
	var y = sScreenY - height;
	var winLeft = x/2;
	var winTop =  y/2;	
	
	window.open(targ.href,"","width=" + width + ",height="+ height + ",left=" + winLeft + ",top=" + winTop + ",resizable=yes,scrollbars=yes,status=no,toolbar=no,location=yes");	
	
	return false;
}

function toolsPopUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=1,statusbar=1,menubar=0,resizable=0,width=630,height=600');");
}


function fnSearchAutoComplete () {
	// uses jquery auto complete plugin
	if($('#ctl01_ctl00_SearchText').length > 0){
		$("#ctl01_ctl00_SearchText").autocomplete(
			"/layouts/keywords/KeywordHandler.ashx?type=main",
			{
				scrollHeight: 1000,
				width:114			
			}		
		);
	}
}

function fnResourceSearchAutoComplete () {
	// uses jquery auto complete plugin
	if($('#ctl02_ctl00_txtSearchAgain').length > 0){
		$("#ctl02_ctl00_txtSearchAgain").autocomplete(
			"/layouts/keywords/KeywordHandler.ashx?type=resource",
			{
				scrollHeight: 1000,
				width:165			
			}		
		);
	}
}

function fnNWWSearchAutoComplete () {
	// uses jquery auto complete plugin
	if($('#ctl02_ctl00_txtProjectSearch').length > 0){
		$("#ctl02_ctl00_txtProjectSearch").autocomplete(
			"/layouts/keywords/KeywordHandler.ashx?type=nww",
			{
				scrollHeight: 1000,
				width:165			
			}		
		);
	}
	
	if($('#ctl02_ctl00_ctl01_txtProjectSearch').length > 0){
		$("#ctl02_ctl00_ctl01_txtProjectSearch").autocomplete(
			"/layouts/keywords/KeywordHandler.ashx?type=nww",
			{
				scrollHeight: 1000,
				width:165			
			}		
		);
	}
}

function fnSectionSearchAutoComplete () {
    
	// uses jquery auto complete plugin
	if($('#txtSectionSearch').length > 0){
		$("#txtSectionSearch").autocomplete(
			"/layouts/keywords/KeywordHandler.ashx?type=section&keywords=" + $('#hdSectionSearchKeywords').val(),
			{
				scrollHeight: 1000,
				width:114			
			}		
		);
	}
}

function fnVideoPlayer(){
	if($('#VideoPlayer').length > 0){	
		$('#VideoPlayer').click(function() {
			
	    	var vH = $('#VideoPlayerHolder').height();
	    	var vW = $('#VideoPlayerHolder').width();
	    	
	        $.blockUI({ message: $('#VideoPlayerHolder'), 
	            css: { 
	                top:  ($(window).height() - vH) /2 + 'px', 
	                left: ($(window).width() - vW) /2 + 'px', 
	                width: vW +'px'
	            }  }); 
	        return false;
	    }); 
	    $('a.close, a.cancel').unbind('click').click(function() {
	            $.unblockUI();
	            return false;
		});
	}
}


function fnTabDivSwap(){
	$('#tab-content-2, #tab-content-3, #tab-content-4, #tab-content-5').css({'display': 'none'});
	
	$(document).ready(function() {
		// tab 1
	$('#tab-link-1').click(function() {
		$('#tab-content-1').show();
		$('#tab-content-2, #tab-content-3, #tab-content-4, #tab-content-5').hide();		
	});
	// tab 2
	$('#tab-link-2').click(function() {
		$('#tab-content-2').show();
		$('#tab-content-1, #tab-content-3, #tab-content-4, #tab-content-5').hide();	
	});
	// tab 3
	$('#tab-link-3').click(function() {
		$('#tab-content-3').show();
		$('#tab-content-1, #tab-content-2, #tab-content-4, #tab-content-5').hide();	
	});
	// tab 4
	$('#tab-link-4').click(function() {
		$('#tab-content-4').show();
		$('#tab-content-1, #tab-content-2, #tab-content-3, #tab-content-5').hide();	
	});
	// tab 5
	$('#tab-link-5').click(function() {
		$('#tab-content-5').show();
		$('#tab-content-1, #tab-content-2, #tab-content-3, #tab-content-4').hide();	
	});
});
}

function fnPrint() {
  window.print();
  return false;
}

function assignToolkit(){
	
	$('#toolkitList h2').each(
		function(){
			$(this).parents('.tkWrap').addClass('closed');
			$(this).next('.cont').hide();
			$(this).html('<a href="#">'+$(this).html()+'</a>');
			
			$(this).find('a').click(
				function(){					
					$(this).parent().next('.cont').slideToggle('fast');
					if(toggleAll){
					$('.tkWrap').removeClass('full');
					$('.tkWrap.open').not($(this).parents('.tkWrap')).toggleClass('closed').toggleClass('open')
						.find('.cont').slideToggle('fast');
						}
					$(this).parents('.tkWrap').toggleClass('closed').toggleClass('open');
					$(this).parents('.closed').next('.tkWrap').removeClass('full');
					$(this).parents('.open').next('.tkWrap').addClass('full');
					
					return false;
				}
			);
			
		}
	);
	
	$('#toolkitList .tkWrap:first').addClass('first');
}


function assignAppList(){
	
	$('#appList h2').each(
		function(){
			$(this).parents('.appWrap').addClass('closed');
			$(this).next('.cont').hide();
			$(this).html('<a href="#">'+$(this).html()+'</a>');
			
			$(this).find('a').click(
				function(){					
					$(this).parent().next('.cont').slideToggle('fast');
					if(toggleAllApp){
					$('.appWrap').removeClass('full');
					$('.appWrap.open').not($(this).parents('.appWrap')).toggleClass('closed').toggleClass('open')
						.find('.cont').slideToggle('fast');
						}
					$(this).parents('.appWrap').toggleClass('closed').toggleClass('open');
					$(this).parents('.closed').next('.appWrap').removeClass('full');
					$(this).parents('.open').next('.appWrap').addClass('full');
					
					return false;
				}
			);
			
		}
	);
	
	$('#appList .appWrap:first').addClass('first');
}

function fnAppTabs(IsCountryTabSelected){

	var index = 0;
    
    if(IsCountryTabSelected){
        index = AppSelectedTabIndex;
    }else{
	    if($.cookie && $.cookie('appActiveTab')){
            index = parseInt( $.cookie('appActiveTab'));          
            AppSelectedTabIndex = index;               
        }                
    }	
        		
	//console.log("a[href='#app-tab" +(AppSelectedTabIndex+1) + "']")
	
	$tab = $("a[href='#app-tab-" +(index+1) + "']"); 
	
	//console.log(parent.text());
	
	if($tab.length >0){
		index =	$tab.parents('ul').children().index($tab.parent());
	}else{
		index = 0;
		AppSelectedTabIndex = 0;
	}
	
	$('#appTabs').tabs({
		selected:index
		
		 //save the status of the selected state.
		 ,select: function(event, ui) {
		 	//do something with the tab being selected.
            AppSelectedTabIndex = ui.index;            
		 }
		
	});

}

function fnAppHijax(){

	if($('#appCountries').length >0){
		//hijack the links
		$('#appCountries a').click(function(){
			
			var $link = $(this);
			
			
			var content = $(this).attr('href'); 

			content += ' #appContent';
			var h = $('#loader').height();
			
			$('#loader').html('').css('height',h).addClass('loading');
			
			/* 
			//use the get method of returning content
			$.get(content,{},function(res, status){
				if ( status == "success" || status == "notmodified" ){
					//strip javascript and conditional comments
					var data =  $("<div/>").append(res.replace(/<script(.|\s)*?\/script>/g, "").replace("/<!--\[if.*?(?=-->)-->/g","")).find('#loader').html();
					
					$('#loader').html(data);
					
					$('#loader').removeClass('loading').removeAttr("style");
					//make the tabs function
					fnAppTabs();
					
					fnAppLangSwitch();
					
					// make the link selected
					$('#appCountries a').removeClass('selected');
					$link.addClass('selected');
					
				}
			});
			*/ 
				
			/* */
			$('#loader').load(content, function() {

				$('#loader').removeClass('loading').removeAttr("style");
				//make the tabs function
				fnAppTabs(true);
				
				fnAppLangSwitch();
				
				// make the link selected
				$('#appCountries a').removeClass('selected');
				$link.addClass('selected');
				
				
			});
			/* */

			
			return false;
		});
	}
}

function fnAppLangSwitch(){
	
	if($('#appLangOption').length >0){
		
		$('#appLangOption a').unbind('click').click(function(){
			var content = $(this).attr('href') + ' #appContent';
			
			var h = $('#loader').height();
			
			$('#loader').html('').css('height',h).addClass('loading');
			
			$('#loader').load(content, function() {
					
				$('#loader').removeClass('loading').removeAttr("style");
				//make the tabs function
				fnAppTabs(true);
				
				fnAppLangSwitch();
				
			});
			
			return false;
		});
	}
}