 // JavaScript Document

$(document).ready(function(){
		
	browserResize();
	
	setResourcesOverviewPage();
	
	showPagesOverviewPanel();
	
	initializePageResourcesPanel();
	
	setPageResourcesPanel(); //<-- This is now called at the end of a webservice call to populate the resource panel.
	
	setResourcePopup();
	
	setMyMessages();
	
	setTitleSelectionArea();
	
	setThumbDescriptionText();
		
	setRollovers();
	
	//setMyMessages();
	
	addModalBackgroundFunctionality();
	
});

function addModalBackgroundFunctionality()
{
	$( ".modalBackground" ).mouseover( disableFlash );
	$( ".modalBackground" ).mouseout( enableFlash );
}


function browserResize(){
		
	if( $("#recommended_titles_area").css("visibility") == "hidden" )
	{
		var titleSelectionHeightResizeAmount = 0;
	} else
	{
		var titleSelectionHeightResizeAmount = 307;
	}

	var contentHeightResizeAmount = 130;

	var sectionLeftHandSideWidthResizeAmount = 246;
	var sectionLeftHandSideWidthResizeAmountOverviewScreens = 404;

	var contentHeight = $(window).height() - contentHeightResizeAmount;
	var titleSelectionHeight = $(window).height() - titleSelectionHeightResizeAmount;
	var sectionLeftHandSideWidth = $(window).width() - sectionLeftHandSideWidthResizeAmount;

	$("#content").css("height", contentHeight );

	$("#section_left_hand_side").css("width", sectionLeftHandSideWidth);
	
	/*
		## Original resize code.  Replacing this with the more cross-browser & less intensive throttled resizing plugin.
		$(window).bind("resize", resizeSectionLeftHandSide);
	*/
	$(window).bind("resize", resizeSectionLeftHandSide);
		
	function resizeSectionLeftHandSide( e ) {

		var sectionLeftHandSideWidth = $(window).width() - sectionLeftHandSideWidthResizeAmount;
		var sectionLeftHandSideWidthOverviewScreens = $(window).width() - sectionLeftHandSideWidthResizeAmountOverviewScreens;
		var contentHeight = $(window).height() - contentHeightResizeAmount;
		var titleSelectionHeight = $(window).height() - titleSelectionHeightResizeAmount;

		$("#content").height( contentHeight );

		$("#section_left_hand_side").width(sectionLeftHandSideWidth);
		
		$("#overview_screens_left_hand_side").width(sectionLeftHandSideWidthOverviewScreens);
		
		setTitleSelectionArea();
		
		setResourcePopup();
		
		resizeSearchPanel();
		
		resizePageResourcesPanel();

		setResourcesOverviewPage();
		
		showPagesOverviewPanel();
		
		setBookmarksPanel();
		
		resizeLessonBuilder();
		
		resizeViewEditLessonBuilderPanel();
		
		setMyMessages();
			
	}
}

function getAdvancedSearchHeight() {
	
	var advancedSearchHeight = ($("#advanced_search_panel").height() + parseInt($("#advanced_search_panel").css("margin-top")) + parseInt($("#advanced_search_panel").css("margin-bottom")));

	return advancedSearchHeight;
	
}



function cssBackgroundImageRollOver(){
	
		$("div.resources_panel_resource_item_up").mouseover(function(){
		$(this).css('backgroundImage','url("Images/SearchPanel/resource_over_bg.gif")') 
    }).mouseout(function(){
		$(this).css('backgroundImage','url("Images/SearchPanel/resource_up_bg.gif")')
    });
		
}


function showPagesOverviewPanel(){
	
	var pagesOverviewPanelSectionTitle = ($("#pages_overview_panel_title").height() + parseInt($("#pages_overview_panel_title").css("margin-top")) + parseInt($("#pages_overview_panel_title").css("margin-bottom")));
	
	var contentHeight = $("#content").height();
	
		$("#pages_overview_panel_pages_list").height(contentHeight - (pagesOverviewPanelSectionTitle)+0   ); 
	
}

function setResourcesOverviewPage(){
	
	$("#overview_screens_left_hand_side").width($("#content").width()-$("#overview_screens_right_hand_side").width()-1);
	$("#resources_panel").css("height", $("#content").height());
	$(".resources_panel_resources_list").height($("#resources_panel").height()-$("#resources_panel_section_title").height());
	$("#pages_overview_panel_pages_list").height($("#pages_overview_panel").height()-$("#pages_overview_panel_pages_list").height());
	
}


function showSearchPanel(){
	
		switchZIndexOfPanels("search_panel");
		
	var searchToolbarHeight = ($("#search_tool_bar").height() + parseInt($("#search_tool_bar").css("margin-top")) + parseInt($("#search_tool_bar").css("margin-bottom")));

	var headingHeight = ($("#search_results_heading_number_of_resources_found_container").height() + parseInt($("#search_results_heading_number_of_resources_found_container").css("margin-top")) + parseInt($("#search_results_heading_number_of_resources_found_container").css("margin-bottom")));

	var contentHeight = $("#content").height();
	
	$("#resources_list").height(contentHeight - (searchToolbarHeight + getAdvancedSearchHeight()+ headingHeight)+7);
	
	if (!$("#search_panel").is(':animated') || !$("#search_panel").height()>0 ) {
			$("#search_panel").css('visibility', 'visible');
			$("#search_panel").css('height', $("#content").height()+1);
			$("#search_results").css('height', $("#content").height()- (searchToolbarHeight + headingHeight+3));
			$("#search_panel").slideDown(600);
	}
			
	
	$("#advanced_search").click(function()
  	{
		showAdvancedSearch();
		/*var contentHeight = $("#content").height();
		
		if($("#advanced_search_panel").is(":visible")){
			if (!$("#search_panel_resources_list").is(':animated')) {
			$("#search_panel_resources_list").animate({height:(contentHeight - (searchToolbarHeight + headingHeight+3)-40) },600);

			$("#advanced_search_panel").slideUp(600);
			
			$("a#advanced_search_button_in").css("display", "none");
			$("a#advanced_search_button").css("display", "block");
			
			}
		}else{
			if (!$("#search_panel_resources_list").is(':animated')) {
			$("#search_panel_resources_list").animate({height:(contentHeight - (searchToolbarHeight + getAdvancedSearchHeight()+ headingHeight+3)-40) },600);
						
			$("#advanced_search_panel").slideDown(600);
			
						$("a#advanced_search_button").css("display", "none");
			$("a#advanced_search_button_in").css("display", "block");
			
			}
		}*/
  	});

	$("#resourcesRadioButton").click(onPagesRadioButtonClick);
	$("#pagesRadioButton").click(onPagesRadioButtonClick);


}

function hideSearchPanel(){
	$("#search_panel").slideUp(600);
}

function resizeSearchPanel(){
	$("#search_panel").css('height', $("#content").height()+1);
	resizeSearchPanelResourcesList();
}

function resizeSearchPanelResourcesList(){
	
	var searchToolbarHeight = ($("#search_tool_bar").height() + parseInt($("#search_tool_bar").css("margin-top")) + parseInt($("#search_tool_bar").css("margin-bottom")));

	var headingHeight = ($("#search_results_heading_number_of_resources_found_container").height() + parseInt($("#search_results_heading_number_of_resources_found_container").css("margin-top")) + parseInt($("#search_results_heading_number_of_resources_found_container").css("margin-bottom")));

	var contentHeight = $("#content").height();
	
	
	if($("#advanced_search_panel").is(":visible")){
	$("#search_panel_resources_list").animate({height:(contentHeight - (searchToolbarHeight + getAdvancedSearchHeight()+ headingHeight+3)) },600);
	}else{
	$("#search_panel_resources_list").animate({height:(contentHeight - (searchToolbarHeight + headingHeight+3)) },600);	
	}


}


preload_image_object = new Image();
preload_image_object.src='Images/ResourcePanel/resource_panel_resource_over_bg.gif';

preload_image_object2 = new Image();
preload_image_object2.src='Images/SearchPanel/resource_over_bg.gif';

preload_image_object3 = new Image();
preload_image_object3.src='Images/PageResources/resource_over_bg.gif';

preload_image_object4 = new Image();
preload_image_object4.src='Images/PageResources/resource_over_bg.gif';

function highlightResource(_resourceDiv){
	
	var resourceDiv = _resourceDiv;
if( $(resourceDiv).hasClass(".resources_panel_resource_item_wrapper_first_item") ){
		$(resourceDiv).css('backgroundImage','url("Images/ResourcePanel/resource_panel_resource_over_bg.gif")')
	}else if( $(resourceDiv).hasClass(".page_resources_panel_resource_item_wrapper") ){
		$(resourceDiv).css('backgroundImage','url("Images/SearchPanel/resource_over_bg.gif")')
	}else{
	$(resourceDiv).css('backgroundImage','url("Images/SearchPanel/resource_over_bg.gif")')
	}
	
}
	
function dehighlightResource(_resourceDiv){
	
	var resourceDiv = _resourceDiv;

if( $(resourceDiv).hasClass(".resources_panel_resource_item_wrapper_first_item") ){
		$(resourceDiv).css('backgroundImage','url("Images/ResourcePanel/resource_panel_resource_up_bg.gif")')
	}else if( $(resourceDiv).hasClass(".page_resources_panel_resource_item_wrapper") ){
		$(resourceDiv).css('backgroundImage','url("Images/SearchPanel/resource_up_bg.gif")')
	}else{
		$(resourceDiv).css('backgroundImage','url("Images/SearchPanel/resource_up_bg.gif")')
	}

}
	
function onPagesRadioButtonClick(){
	
	var radioButton = this.id;
	
	var dropDownArray = new Array ("#subjectDropDown", "#titleDropDown", "#resourceTypeDropDown", "#fileTypeDropDown")
		
	if(radioButton == "pagesRadioButton"){
		for( i=0; i<dropDownArray.length; i++ ){
		$(dropDownArray[i]).attr("disabled", "disabled");  
		}
	}else if(radioButton == "resourcesRadioButton"){
		for( i=0; i<dropDownArray.length; i++ ){
		$(dropDownArray[i]).removeAttr("disabled", "disabled");  
		}
	}

}

function setPageResourcesPanel()
{
		//set the height of the resources list
		$(".page_resources_panel_resources_list").css('height', ($("#content").height()-$("#page_resources_panel_section_title").height())+1); 
		
		
	$(".page_resources_panel_tab_text").click(function()	
  	{	
	
		if(!$(this).parent(".page_resources_panel_tab").children(".page_resources_panel_tab_resources_list").is(':animated')) {
			
			$(this).parent(".page_resources_panel_tab").children(".page_resources_panel_tab_resources_list").slideToggle("slow");
			$(this).parent(".page_resources_panel_tab").children(".page_resources_panel_resources_list").css('height', ($("#content").height()-$("#page_resources_panel_section_title").height())+1);
			
		$(this).children("span:first-child").toggleClass("selected");
		
		if($(this).children("span:first-child").hasClass("selected")==true){
			updateCategoryState($(this).find("span").html(), 1);
		}else{
			updateCategoryState($(this).find("span").html(), 0);
		}
		
		}
		
	});
	
	$("#page_resources_panel a#resources_close_button").click(function()	
  	{
		
		hideResourcesPanel();
		
	});
}



function openPageResourcesPanel(_categoryName){
	
	var categoryName = _categoryName;
	
	$(".page_resources_panel_tab_text").each(function(){
		if(categoryName == $(this).children("span:first-child").html()){
		$(this).children("span:first-child").toggleClass("selected");
		$(this).parent(".page_resources_panel_tab").children(".page_resources_panel_tab_resources_list").slideToggle(0);
		}else{
		//no match	
		}
	})
}

function closePageResourcesPanel(_categoryName){
	var categoryName = _categoryName;

	$(".page_resources_panel_tab_text").each(function(){
		//alert('closePageResourcesPanel');
		if(categoryName == $(this).children("span:first-child").html()){
		$(this).children("span:first-child").toggleClass("selected");
		$(this).parent(".page_resources_panel_tab").children(".page_resources_panel_tab_resources_list").slideToggle(0);
		}else{
		//no match	
		}		
	})
}

function initializePageResourcesPanel()
{
	
	$("#page_resources_panel").css('height', $("#content").height()+1);
	
	$(".page_resources_panel_resources_list").css('height', ($("#content").height()-$("#page_resources_panel_section_title").height()-30)+1); 

}

function resizePageResourcesPanel()
{
	
$("#page_resources_panel").css('height', $("#content").height()+1);

	$(".page_resources_panel_resources_list").css('height', ($("#content").height()-$("#page_resources_panel_section_title").height())+1);
	
}

function showResourcesPanel()
{
	
	updatePageResourcesPanelVisibility(1);
	switchZIndexOfPanels("page_resource_panel");
	$("#page_resources_panel").css("display","block");
	$("a#resources").css("display","none");
	$("a#resources_selected").css("display","block");
	
}
function hideResourcesPanel()
{
	
	updatePageResourcesPanelVisibility(0);
	$("#page_resources_panel").css("display","none");
	$("#resources").css("display","block");
	$("#resources_selected").css("display","none");
	
}

function showLessonBuilder()
{
	
	updateLessonBuilderPanelVisibility( 1 );
	switchZIndexOfPanels( "lesson_builder_panel" );
	$("#lesson_builder_panel").css("display","block");
	$("a#lesson_builder").css("display","none");
	$("a#lesson_builder_selected").css("display","inline-block");
	$("a#my_work").css("display","none");
	$("a#my_work_selected").css("display","inline-block");
	$("a#modules_my_work_button").attr("href", "javascript:hideLessonBuilder();");
	$("a#modules_my_work_button").addClass("modules_my_work_selected");
	$("a#modules_my_work_button").removeClass("modules_my_work");
	$("a#modules_lesson_builder_button").addClass("modules_lesson_builder_selected");
	$("a#modules_lesson_builder_button").removeClass("modules_lesson_builder");
	$("a#modules_lesson_builder_button").attr("href", "javascript:hideLessonBuilder();");
/*	$("a#modules_lesson_builder_button").removeClass('rollover');
	$("a#modules_lesson_builder_button").addClass('selected');
	$("a#modules_my_work_button").removeClass('rollover');
	$("a#modules_my_work_button").addClass('selected');*/
		
	initLessonBuilder();
	
	initViewEditLessonBuilderPanel();
	
}

function hideLessonBuilder()
{
	
	updateLessonBuilderPanelVisibility( 0 );
	$( "#lesson_builder_panel" ).css( "display", "none" );
	$( "a#lesson_builder" ).css( "display", "inline-block" );
	$( "a#lesson_builder_selected" ).css( "display", "none" );
	$("a#my_work").css("display","inline-block");
	$("a#my_work_selected").css("display","none");
	$("a#modules_my_work_button").attr("href", "javascript:showLessonBuilder();");
	$("a#modules_my_work_button").addClass("modules_my_work");
	$("a#modules_my_work_button").removeClass("modules_my_work_selected");
	$("a#modules_lesson_builder_button").addClass("modules_lesson_builder");
	$("a#modules_lesson_builder_button").removeClass("modules_lesson_builder_selected");
	$("a#modules_lesson_builder_button").attr("href", "javascript:showLessonBuilder();")
	
/*	$("a#modules_lesson_builder_button").addClass('rollover');
	$("a#modules_lesson_builder_button").removeClass('selected');
	$("a#modules_my_work_button").addClass('rollover');
	$("a#modules_my_work_button").removeClass('selected');*/
}

function setResourcePopup(){

	$("#pop_up_top_bar").css('width', $(window).width());
	
	$("#pop_up_resource_title").css('width',$(window).width()-$("#pop_up_save_container").width()-$("#pop_up_top_bar_logo").width()-$("#pop_up_info_lesson_builder_container").width()-parseInt($("#pop_up_save_container").css("margin-left")));

	$("#pop_up_flash_wrapper").css( 'height', $(window).height()-( $("#pop_up_top_bar").height() + $(".image_caption_div").height() ) );
	$("#pop_up_flash_wrapper_full").css( 'height', $(window).height()-$("#pop_up_top_bar").height());
	
}


function highlightThumb(_thumbText){
	
	var thumbText = _thumbText;
	if( $(thumbText).hasClass(".pages_overview_panel_dps_thumbnail_description")){
	$(thumbText).parent().children("a").css('background-color','#d0fdbc');
	}
	
	else if ( $(thumbText).hasClass(".invisible")){
		$(thumbText).parent().parent().children("a").css('background-color','#d0fdbc');
	}
	
}
	
function dehighlightThumb(_thumbText){
	
	var thumbText = _thumbText;

	if( $(thumbText).hasClass(".pages_overview_panel_dps_thumbnail_description")){
	$(thumbText).parent().children("a").css('background-color','#ffffff');
	}
	
	else if ( $(thumbText).hasClass(".invisible")){
	$(thumbText).parent().parent().children("a").css('background-color','#ffffff');
	}
	
}

function setTitleSelectionArea(){
	
	$("#title_selection_area").css('height',$("#section_left_hand_side").height() - $(".section_heading").height() - $(".my_titles_filter_panel").height()  - $("#recommended_titles_area").height());
	
}

function setThumbDescriptionText(){
	
	$(".pages_overview_panel_dps_thumbnail_description").each(function(){														   		
		
		if($(this).children("div").length == 0){
		$(this).wrapInner("<div></div>");
		}
		$(this).children("div").css("display", "block");
		$(this).children("div").css("position", "relative");
		
		//alert($(this).children("div").height());
		
		if($(this).children("div").height() <= 15){
			$(this).children("div").css("top", "35px");
		}
		else if($(this).children("div").height() <= 30){
			$(this).children("div").css("top", "30px");
		}else if($(this).children("div").height() <= 45){
			$(this).children("div").css("top", "20px");
		}else if($(this).children("div").height() >= 50){
			$(this).children("div").css("top", "15px");
		}	
		
	})
	
}


function switchZIndexOfPanels( _topPanel )
{
	
	var topPanel = "#" + _topPanel;
	
	$( '#page_resources_panel' ).css('z-index', '8000');
	$( '#search_panel' ).css('z-index', '8000');		
	$( '#lesson_builder_panel' ).css('z-index', '8000');
	$( '#bookmarks_panel' ).css('z-index', '8000');
	
	$( topPanel ).css( 'z-index', '16000' );
		
}

function setBookmarksPanel(){
	
	$("#bookmarks_panel").css('height', $("#content").height());
	$(".bookmarks_list").css('height', $("#bookmarks_panel").height()-$(".bookmarks_heading").height());
	
		
	$("#bookmarks_panel #bookmarks_close_button").click(function()	
  	{
		hideBookmarksPanel();
	});
	
}

function showLoader(_loaderType){
	
	var loaderType = _loaderType;
	
	if( $("#search_panel").css("visibility") == "hidden" ){
		
	}else{	
	
		if ( loaderType == 'advanced_search' ){
			$("#content").append("<div class=\"preloader_container_advanced_search\"><div class=\"preloader_background invisible\">			</div><div class=\"preloader\"><img src=\"Images/Loader/ajax-loader.gif\" height=\"24\" width=\"24\" alt=\"\" title=\"\" /></div></div>");
		}else if( loaderType == 'search_list'  ){
			$("div##search_panel_resources_list").css('overflow-y', 'hidden');
			$("#search_results").append("<div class=\"preloader_container_search_panel_resources_list\"><div class=\"preloader_background invisible\"></div><div class=\"preloader\"><img src=\"Images/Loader/ajax-loader.gif\" height=\"24\" width=\"24\" alt=\"\" title=\"\" /></div></div>");
		}else{
		}
	}
	
	if( $("#page_resources_panel").css("visibility") == "hidden" ){
	
	}else{
		if( loaderType == 'page_resources'  ){
		    //alert( ' page_resources_panel ');
		    if ($("#page_resources_panel .preloader_container_page_resources_panel_resources_list").length == 0) {
		        $("#page_resources_panel").append("<div class=\"preloader_container_page_resources_panel_resources_list\"><div class=\"preloader_background invisible\"></div><div class=\"preloader\"><img src=\"Images/Loader/ajax-loader.gif\" height=\"24\" width=\"24\" alt=\"\" title=\"\" /></div></div>");
		    }
		    else {
		        $(".preloader_container_page_resources_panel_resources_list").css('display', 'block');
		    }
		    
		}
	}

	if ($("#lesson_builder_panel").css("visibility") == "hidden") {
        
	} else {
	    if (loaderType == 'lesson_builder') {
	        $("#lesson_builder_panel").append("<div class=\"preloader_container_lesson_builder\"><div class=\"preloader_background invisible\"></div><div class=\"preloader\"><img src=\"Images/Loader/ajax-loader.gif\" height=\"24\" width=\"24\" alt=\"\" title=\"\" /></div></div>");
	    }
	}

	if ($("#bookmarks_panel").css("visibility") == "hidden") {

	} else {
	    if (loaderType == 'bookmarks') {
	        $("#bookmarks_panel").append("<div class=\"preloader_container_bookmarks\"><div class=\"preloader_background invisible\"></div><div class=\"preloader\"><img src=\"Images/Loader/ajax-loader.gif\" height=\"24\" width=\"24\" alt=\"\" title=\"\" /></div></div>");
	    }
	}

	if (loaderType == 'overview_screens') {
	    var panelID = '';
	    if ($("#resources_panel").length > 0){
	        panelID = "#resources_panel";
	    }
	    else if ($("#pages_overview_panel").length > 0){
	        panelID = "#pages_overview_panel";
	    }
	    if (panelID != ''){
    	    $(panelID).append("<div class=\"preloader_container_overview_screens\"><div class=\"preloader_background invisible\"></div><div class=\"preloader\"><img src=\"Images/Loader/ajax-loader.gif\" height=\"24\" width=\"24\" alt=\"\" title=\"\" /></div></div>");
    	}
	}
}

function hideLoader(_loaderType){
	
	var loaderType = _loaderType;
	
	if( $("#search_panel").css("visibility") == "hidden" ){
		
	}else{	
			if ( loaderType == 'advanced_search' ){
			$(".preloader_container_advanced_search").css('display', 'none');
		}else if( loaderType == 'search_list'  ){
			$("div##search_panel_resources_list").css('overflow-y', 'scroll');
			$(".preloader_container_search_panel_resources_list").css('display', 'none');
		}else{
		
		}
	}
	
	if( $("#page_resources_panel").css("visibility") == "hidden" ){
	
	}else{
		if( loaderType == 'page_resources'  ){
			$(".preloader_container_page_resources_panel_resources_list").css('display', 'none');
		}
	}

	if ($("#lesson_builder_panel").css("visibility") == "hidden") {

	} else {
	    if (loaderType == 'lesson_builder') {
	        /*$("div##search_panel_resources_list").css('overflow-y', 'scroll');*/
	        $(".preloader_container_lesson_builder").css('display', 'none');
	    }
	}

	if ($("#bookmarks_panel").css("visibility") == "hidden") {

	} else {
	    if (loaderType == 'bookmarks') {
	        /*$("div##search_panel_resources_list").css('overflow-y', 'scroll');*/
	        $(".preloader_container_bookmarks").css('display', 'none');
	    }
	}

	if (loaderType == 'overview_screens') {
	    $(".preloader_container_overview_screens").css('display', 'none');
	}

}

function showSearchLoader()
{
    showLoader('search_list');
}

function showAdvancedSearchLoader()
{
    showLoader('advanced_search');
}

function showPageResourcesLoader()
{
    showLoader('page_resources');
}

function showLessonBuilderLoader() {
    showLoader('lesson_builder');
}

function showBookmarksLoader() {
    showLoader('bookmarks');
}

function showOverViewScreensLoader() {
    showLoader('overview_screens');
}

function hideSearchLoader()
{
    hideLoader('search_list');
}

function hideAdvancedSearchLoader()
{
    hideLoader('advanced_search');
}

function hidePageResourcesLoader()
{
    hideLoader('page_resources');
}

function hideLessonBuilderLoader() {
    hideLoader('lesson_builder');
}

function hideBookmarksLoader() {
    hideLoader('bookmarks');
}

function hideOverViewScreensLoader() {
    hideLoader('overview_screens');
}


function showBookmarksPanel()
{
	
	$("#bookmarks_panel").css("display","block");
	switchZIndexOfPanels("bookmarks_panel");
	$("a#bookmark").css("display","none");
	$("a#bookmark_selected").css("display","block");
	$("a#modules_bookmarks_button").attr("href", "javascript:hideBookmarksPanel()")
	$("a#modules_bookmarks_button").removeClass('modules_bookmarks');
	$("a#modules_bookmarks_button").addClass('modules_bookmarks_selected');
	setBookmarksPanel();
}

function hideBookmarksPanel()
{
	/*alert('hide');*/
	$("#bookmarks_panel").css("display","none");
	$("a#bookmark").css("display","block");
	$("a#bookmark_selected").css("display","none");
	$("a#modules_bookmarks_button").attr("href", "javascript:showBookmarksPanel()")
	$("a#modules_bookmarks_button").addClass('modules_bookmarks');
	$("a#modules_bookmarks_button").removeClass('modules_bookmarks_selected');
}

function setRollovers()
{
	
	var images = new Array();


	var buttons = new Array( "Images/buttons/blue_button_left_over.png", "Images/buttons/blue_button_middle_over.png", "Images/buttons/blue_button_right_over.png", "Images/buttons/blue_double_button_left_over.png", "Images/buttons/blue_double_button_middle_over.png", "Images/buttons/blue_double_button_right_over.png", "Images/buttons/light_blue_button_left_over.png", "Images/buttons/light_blue_button_middle_over.png", "Images/buttons/light_blue_button_right_over.png", "Images/buttons/green_button_left_over.png", "Images/buttons/green_button_middle_over.png", "Images/buttons/green_button_right_over.png" );
	
	for( var i = 0; i < buttons.length; i++ )
	{
		var pos = images.length;
		images[ pos ] = new Image( 100, 100 );
		images[ pos ].src = buttons[i];
	}

	
	$( "a.rollover" ).each( function()
	{
		var imgUrl = $( this ).css( 'background-image' ).split( '\'' ).join( '"' ).split( 'url("' ).join( '' ).split( '")' ).join( '' );
		var myArray = imgUrl.split( "/" );
		var filename = myArray[ myArray.length - 1 ];
		var filenameArray = filename.split( "." );
		
		filenameArray[ 0 ] += "Over";
		filename = filenameArray.join( "." );
		myArray[ myArray.length-1 ] = filename;
				
		var overUrl = myArray.join( "/" );
		
		var pos = images.length;
		images[ pos ] = new Image( 100, 100 );
		images[ pos ].src = overUrl;

		/*$("div:first").append( "<div style=\"display:none;\"><img src='"+overUrl+"' /></div>" );*/

		if( jQuery.browser.msie )
		{
			overUrl = "url(\"" + overUrl + "\")";
			imgUrl = "url(\"" + imgUrl + "\")";
		}
				
		$( this ).mouseover( function()
		{
			$( this ).css( 'background-image', overUrl );
		} );
		
		$( this ).mouseout( function()
		{ 
			$( this ).css( 'background-image', imgUrl );
		} );
		
	} );

}

function highlightPlayLessonResource ( _div ){
	
	var div = _div;
	$(div).css('background-color','#ffd268');
	
}

function dehighlightPlayLessonResource ( _div ){
	
	var div = _div;
	$(div).css('background-color','#ffe4a4');
	
}

function dehighlightResource(_resourceDiv){
	
	var resourceDiv = _resourceDiv;

if( $(resourceDiv).hasClass(".resources_panel_resource_item_wrapper_first_item") ){
	
		$(resourceDiv).css('backgroundImage','url("Images/ResourcePanel/resource_panel_resource_up_bg.gif")')
	}else if( $(resourceDiv).hasClass(".page_resources_panel_resource_item_wrapper") ){
		$(resourceDiv).css('backgroundImage','url("Images/SearchPanel/resource_up_bg.gif")')
	}else{
		$(resourceDiv).css('backgroundImage','url("Images/SearchPanel/resource_up_bg.gif")')
	}

}

function clearSearchBox(){
	//alert('clear');
	//$('input.searchText').val('');
}


function setGoButton(){
		
	if($('#searchDps').val()){		
		$('a#go_button').addClass('enabled');
		$('a#go_button').removeClass('disabled');
	}else{
		$('a#go_button').addClass('disabled');
		$('a#go_button').removeClass('enabled');
	}
	
}

// functions to enable or disable flash interactivity

var api;

function initialiseSWF()
{
	var flexApp = FABridge.dlpageflip.root();
	api = flexApp.getApi();

}

function enableFlash()
{
	if( api )
	{
		api.enableInteractivity();
	}
}
function disableFlash()
{
	if( api )
	{
		api.disableInteractivity();
	}
}


/**
 * Updates the value of the ActiveLessonID in Flash, so that clicking on the
 * 'add resource to current lesson' functionality works.  Just need this variable
 * to populate the outgoing ExternalInterface call more than anything else.
 */
function updateActiveLessonID( int )
{
    if (api != null)
    {
	    api.updateActiveLessonID( int );
	}
}

/**
 * Updates the value of the ActiveLessonLabel in Flash, so that clicking on the
 * 'add resource to current lesson' functionality works.  Just need this variable
 * to populate the outgoing ExternalInterface call more than anything else.
 */
function updateActiveLessonLabel( str )
{
    if (api != null)
    {
	    api.updateActiveLessonLabel( str );
	}
}

/**
 * Updates the value of the ActiveLessonAreaName in Flash, so that clicking on the
 * 'add resource to current lesson' functionality works.  Just need this variable
 * to populate the outgoing ExternalInterface call more than anything else.
 */
function updateActiveLessonAreaName( str )
{
    if (api != null)
    {
	    api.updateActiveLessonAreaName( str );
	}
}


function setMyMessages(){
/*	alert($("div#section_right_hand_side").height());
	alert($("div.modules_button").height());*/
	
	var totalModuleButtonHeights = 0;
	
	$("div.modules_button").each(function(){
		totalModuleButtonHeights += $(this).height();
		//alert($(this).height());
	})
	
	//alert('totalModuleButtonHeights'+totalModuleButtonHeights);
	
	$('div.modules_message_wrapper').css('height', ($("div#section_right_hand_side").height()-totalModuleButtonHeights)-32);
}

function showAdvancedSearch(){

var searchToolbarHeight = ($("#search_tool_bar").height() + parseInt($("#search_tool_bar").css("margin-top")) + parseInt($("#search_tool_bar").css("margin-bottom")));

	var headingHeight = ($("#search_results_heading_number_of_resources_found_container").height() + parseInt($("#search_results_heading_number_of_resources_found_container").css("margin-top")) + parseInt($("#search_results_heading_number_of_resources_found_container").css("margin-bottom")));

		var contentHeight = $("#content").height();
		
		if($("#advanced_search_panel").is(":visible")){
			if (!$("#search_panel_resources_list").is(':animated')) {
			$("#search_panel_resources_list").animate({height:(contentHeight - (searchToolbarHeight + headingHeight+3)) },600);

			$("#advanced_search_panel").slideUp(600);
			
			$("a#advanced_search_button_in").css("display", "none");
			$("a#advanced_search_button").css("display", "block");
			
			}
		}else{
			if (!$("#search_panel_resources_list").is(':animated')) {
			$("#search_panel_resources_list").animate({height:(contentHeight - (searchToolbarHeight + getAdvancedSearchHeight()+ headingHeight+3)) },600);
						
			$("#advanced_search_panel").slideDown(600);
			
						$("a#advanced_search_button").css("display", "none");
			$("a#advanced_search_button_in").css("display", "block");
			
			}
		}
}

function validateTextBoxesAndSetButtons(controlIDsToValidate, enableButtonIDs, disableButtonIDs) {
    var isValid;
    if (enableButtonIDs.length == disableButtonIDs.length) {
        isValid = true;
        for (var i = 0; i < controlIDsToValidate.length; i++) {
            if ($("#" + controlIDsToValidate[i]).val() == '') {
                isValid = false;
                break;
            }
        }

        if (isValid) {
            for (var i = 0; i < enableButtonIDs.length; i++) {
                $("#" + enableButtonIDs[i]).show();
                $("#" + disableButtonIDs[i]).hide();
            }
        }
        else {
            for (var i = 0; i < enableButtonIDs.length; i++) {
                $("#" + enableButtonIDs[i]).hide();
                $("#" + disableButtonIDs[i]).show();
            }
        }
    }
}

/*
function getCookie(cookieName) {
    var nameEQ = cookieName + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
    }
    return null;
}

function updateCookie(cookieName, cookieValue, expireDate) {
    document.cookie = cookieName + '=' + escape(cookieValue) + ';expires=' + expireDate;
}
*/

function updateCookie(name, value, days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    }
    else var expires = "";
    document.cookie = name + "=" + value + expires + "; path=/";
}

function getCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
    }
    return null;
}

function deleteCookie(name) {
    updateCookie(name, "", -1);
}

function highlightTeachingTip(_teachingTipDiv){

	var teachingTipDiv = _teachingTipDiv;
	
	$(teachingTipDiv).css('background-color','#d9ecfb');
	
}


function dehighlightTeachingTip(_teachingTipDiv){

	var teachingTipDiv = _teachingTipDiv;
		
	$(teachingTipDiv).css('background-color','#ffffff');

}

// handles changing of elements and the enabling / disabling of buttons
function registerChangeHandler(compulsoryElements, optionalElements, ignoreDefault) {
    // find the button we're going to enable or disable based on the user input.
    var button = $(".modalControlPanel:visible .default_button");
    var buttonDisabled = $("#" + button.attr("id") + "_d");
    
	var allElements = compulsoryElements;
    
    if(optionalElements){
    	allElements = compulsoryElements.concat(optionalElements);
    }
    
    //alert(allElements);
    
    button.hide();
	buttonDisabled.show();

    // add this functionality to each element
    for (var i = 0; i < allElements.length; i++) {
        var elementID = allElements[i];
        // for text input elements
        //alert($(elementID).attr("type"));
        if ($(elementID).attr("type") == "text" || $(elementID).attr("type") == "textarea") {
        	$(elementID).unbind("keyup",checkAllOthers);
            $(elementID).keyup(checkAllOthers);
        	$(elementID).unbind("keydown",checkAllOthers);
            $(elementID).keydown(checkAllOthers);
			$(elementID).unbind("blur",checkAllOthers);
            $(elementID).blur(checkAllOthers);
			$(elementID).unbind("focus",checkAllOthers);
            $(elementID).focus(checkAllOthers);
            if(!ignoreDefault)
            {
            	setDefaultText(i);
            }
        }
        // for select boxes
        else if ($(elementID).attr("type") == "select-one") {
            // if the element we're applying this to is a select box...
        	$(elementID).unbind("keyup",checkAllOthers);
            $(elementID).keyup(checkAllOthers);
        	$(elementID).unbind("keydown",checkAllOthers);
            $(elementID).keydown(checkAllOthers);
            $(elementID).unbind("change",checkAllOthers);
            $(elementID).change(checkAllOthers);
         	$(elementID).unbind("blur",checkAllOthers);
            $(elementID).blur(checkAllOthers);
			$(elementID).unbind("focus",checkAllOthers);
            $(elementID).focus(checkAllOthers);
            if(!ignoreDefault)
            {
            	setDefaultSelect(i);
            }
        }
        // for span tags & everything else with text inside
        else if ($(elementID).text()) {
        	$(elementID).unbind("change",checkAllOthers);
            $(elementID).change(checkAllOthers);
         	$(elementID).unbind("blur",checkAllOthers);
            $(elementID).blur(checkAllOthers);
			$(elementID).unbind("focus",checkAllOthers);
            $(elementID).focus(checkAllOthers);
            if(!ignoreDefault)
            {
            	setDefaultSpan(i);
            }
        }
    }
    
    if(ignoreDefault)
    {
    	checkAllOthers();
    }

    function setDefaultSpan(i) {
        if ($(allElements[i]).text() != "") {
            $(allElements[i]).attr("default", $(allElements[i]).text());
        }
        else {
            setTimeout(setDefaultSpan, 100, i);
        }
    }

    function setDefaultText(i) {
        $(allElements[i]).bind("focus", onTextFocus);

        function onTextFocus() {
            $(allElements[i]).unbind("focus", onTextFocus);
            $(allElements[i]).attr("default", $(allElements[i]).val());
        }
    }

    function setDefaultSelect(i) {
        if ($(allElements[i] + " option:selected").text() != "") {
            $(allElements[i]).attr("default", $(allElements[i] + " option:selected").text());
        }
        else {
            setTimeout(setDefaultSelect, 100, i);
        }
    }

    function checkAllOthers() {
        var canEnable = true;
        var hasChanged = false;
        // loop through all the other elements and check them
        for (var j = 0; j < allElements.length; j++) {
        	//alert(compulsoryElements.length-1+" > "+j);
            if ($(allElements[j]).attr("type") == "text"||$(allElements[j]).attr("type") == "textarea") {
                if ($(allElements[j]).val() == '' && compulsoryElements.length > j) {
                    canEnable = false;
                }
                if ($(allElements[j]).val() != $(allElements[j]).attr("default")) {
                    hasChanged = true;
                }
            }
            else if ($(allElements[j]).attr("type") == "select-one") {
                if ($(allElements[j] + " option:selected").text() != $(allElements[j]).attr("default")) {
                    // if the select box has changed
                    hasChanged = true;
                }
            }
            else if ($(allElements[j]).text()) {
                if (!($(allElements[j]).text().toString() != $(allElements[j]).attr("default").toString())) {
                    // if the select box has changed
                    hasChanged = true;
                }
                if ($(allElements[j]).text().toString() == '' || $(allElements[j]).text().toString() == "[No file]" && compulsoryElements.length > j) {
                    canEnable = false;
                }
            }
        }
        if (canEnable && hasChanged) {
            button.show();
            buttonDisabled.hide();
        }
        else {
            button.hide();
            buttonDisabled.show();
        }
    }
}
