/**
 * (C) Copyright CIVIC Computing Limited 2009,2010
 * SQA general layout helper functions. 
 * Javascript Dependencies 
 * jQuery 1.3.2
 * jQuery UI 1.7.1 (core,draggable,sortable,tabs)
 * Style Switcher (http://www.alistapart.com/articles/alternate/)
 * jquery.bgiframe.min.js (http://plugins.jquery.com/project/bgiframe)
 * jquery.autocomplete.min.js (http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/)
 */

// Remove the default blurb from the search query if users clicks on submit. 
function doFixDefaultSearchTerm() {
	var q = $('#topSearch').val();
	if (q=='Search the site') {
		$('#topSearch').val('');
	}
}

$(document).ready(function(){
						   
	// bubble for social bookmarking
	$('.shareThis').each(function () {
            var distance = 10;
            var time = 250;
            var hideDelay = 500;
            var hideDelayTimer = null;
            var beingShown = false;
            var shown = false;
            var trigger = $('.trigger', this);
            var info = $('.popup', this).css('opacity', 0);
            $([trigger.get(0), info.get(0)]).mouseover(function () {
                if (hideDelayTimer) clearTimeout(hideDelayTimer);
                if (beingShown || shown) {
                    // don't trigger the animation again
                    return;
                } else {
                    // reset position of info box
                    beingShown = true;

                    info.css({
                        top: -44,
                        left: -0,
                        display: 'block'
                    }).animate({
                        top: '-=' + distance + 'px',
                        opacity: 1
                    }, time, 'swing', function() {
                        beingShown = false;
                        shown = true;
                    });
                }

                return false;
            }).mouseout(function () {
                if (hideDelayTimer) clearTimeout(hideDelayTimer);
                hideDelayTimer = setTimeout(function () {
                    hideDelayTimer = null;
                    info.animate({
                        top: '-=' + distance + 'px',
                        opacity: 0
                    }, time, 'swing', function () {
                        shown = false;
                        info.css('display', 'none');
                    });

                }, hideDelay);

                return false;
            });
        });

						   
						   
	$("#nav li li a").each(function() {
	     if(this.href == window.location) {
	    	 $(this).addClass("active");
	     } else if($("ul.crumbNav li:eq(2) a").attr("href") == $(this).attr("href")) {
	    	 $(this).addClass("active");
	     }
	});

	// add class to body for NQ, HN, SVQ, plus subnav styles
	var text=$("ul.crumbNav li a:nth-child(2)").html();
	if (text == null) {
		text = $("ul.crumbNav li:nth-child(2)").html();
		if (text != null) {
			var pattern = '&nbsp;&gt;&nbsp;';
			if (navigator.userAgent.toLowerCase().indexOf('opera') != -1) {
				pattern = '&gt;';
			}

			var crumbs = text.split(pattern);
			text = crumbs[crumbs.length-1];
			if (text != null && text.length > 0) {
				text = text.replace(/^\s*((?:[\S\s]*\S)?)\s*$/, '$1');
			}
		}
	}

	if(text == 'NQ'){
		$("body").addClass("nq");
	}	
	
	if(text == 'SVQ'){
		$("body").addClass("svq");
	}	
	
	if(text == 'HN'){
		$("body").addClass("hn");
	}	
		
	if(text == 'All Qualifications'){
		$("body").addClass("more");
	}
	
	if(text == 'Learner'){
		$("body").addClass("iam1");
	}	
	
	if(text == 'Teacher or Lecturer'){
		$("body").addClass("iam2");
	}	
	
	if(text == 'Co-ordinator'){
		$("body").addClass("iam3");
	}	
	
	if(text == 'Appointee'){
		$("body").addClass("iam4");
	}	
	
	if(text == 'Business or Employer'){
		$("body").addClass("iam5");
	}
	
	// loads dynamic content for top nav
	//$.get("38480.html",function(data) {
	//	if(data.indexOf("Error 404: Page not found") != -1) { $("#externalContent1").load("2010_noTextInNav.html"); }
	//	else {  $("#externalContent1").html(data); }
	//});

	// text resizer for accessibility page
    jQuery("ul.textresizer a").textresizer({
		target: "#center,#left,#right" 
	});

	// generates the tabs
    if($("#tabs").length > 0) {
    	$("#tabs").tabs();
    }

	// adds new window img to external links, and ignores links to internal site which have http:// in the url
	//$('#center a, .standardPanel a').filter(function() {
	//	return this.hostname && this.hostname !== location.hostname && $(this).attr("rel") == "";
	//}).prepend('<img src="assets/images/newWin.gif" alt="external link"/>');

	// un-obtrusive print page link, doesn't show with js disabled
	$('li.print').prepend('<a href="#print">Print this page</a>');
			$('li.print a').click(function() {
			window.print();
			return false;
	});	

	// rewrites html non-breaking spaces with blank space
	$(".standardPanel li").each(function(i) {
			var cleanedhtml = $(this).html().replace(/&nbsp;/ig, "");
			$(this).html(cleanedhtml);
	});
	
	// center accordion - horizontal
	if($(".horizontalAccordian").length > 0) {
		jQuery('.horizontalAccordian').accordion({
			active: false,
			autoHeight: false,
			collapsible: true
		});
			
		$('div.showlink> p a.showall').click(function() {
			$('div.horizontalAccordian> div').show();
			$('a.showall').toggle();
			$('a.shownone').toggle();
			return false;
		}); 
	
		$('div.showlink> p a.shownone').click(function() {
			$('div.horizontalAccordian> div').hide();
			$('a.showall').toggle();
			$('a.shownone').toggle();
			return false;
		});
	}
	
	// vertical accordion - used on  qualification pages
	if($("#qualAccordion").length > 0) {
		$("#qualAccordion").tabs("#qualAccordion div", { tabs: 'img.accTabs',  effect: 'horizontal'})
	}

	
	// rounded corners; i.e. 8 only, 6 & 7 are too slow, everything else uses CSS.
	var userAgent = navigator.userAgent.toLowerCase();
	if (userAgent.indexOf('msie 8') != -1) {
		$('ul#nav li span.curve a').corner("tr tl");
		//$('ul#nav li li a').corner("3px");
		$('.custinner p a').corner("4px");
		//$('ul#nav ul').corner("br bl");
		$('#custpanel').corner();
		$('.groupItem').corner("bl br");
		$('#quicklinks').corner("bl br");
		$('#panellat').corner("bl br");
		$('#panelupd').corner("bl br");
		$('#panellin').corner("bl br");
		$('#panelmyLinks').corner("bl br");
		$('.extraContent').corner("bl br");
		$('.standardPanel').corner("bl br");
		$('.eventsPanel').corner("bl br");
		$('ul#subNav li a').corner("4px");
		$('ul#subNav li span').corner("4px");
	}
	
	// slider
	if($("#slider").length > 0) {
		$("#slider").easySlider({
			speed: 1600,
			pause: 15000,
			continuous: false,
			auto: true,
			numeric: true
		});		
	}

	// vertical accordion
	if($("#qualSlider").length > 0) {
		$("#qualSlider").hrzAccordion({
				containerClass     : "container",
				listItemClass      : "listItem",					
				handlePosition     : "left",
				contentWrapper     : "contentWrapper",
				contentInnerWrapper: "contentInnerWrapper",
				handleClass        : "qualSliderHandle",
				handleClassOver    : "qualSliderHandleOver",
				handleClassSelected: "qualSliderHandleSelected",
				fixedWidth		   : "",
				openOnLoad         :  1
		});		
	}

	// stripey table
	$("#center table tr").mouseover(function() {$(this).addClass("over");}).mouseout(function() {$(this).removeClass("over");});
	$("#center table tr:even").addClass("alt");
	$("#center ul.stripeMe li").mouseover(function() {$(this).addClass("over");}).mouseout(function() {$(this).removeClass("over");});
	$("#center ul.stripeMe li:even").addClass("alt");
		
	// adds classes to documents
	var arr = [ 
		"downloadTxt",
		"resultNameTxt",
		"downloadXls",
		"resultNameXls",
		"downloadPps",
		"downloadPpt",
		"resultNamePps",
		"resultNamePpt",
		"downloadDoc",
		"downloadRtf",
		"resultNameWord",
		"downloadPdf",
		"resultNamePdf",
		"downloadFla",
		"downloadSwf",
		"downloadZip",
		"downloadRar",
		"downloadMp3"
	];
			
	jQuery.each(arr, function(i) {
		$("a."+this).each(function(i) {
			var linkText = $(this).html();
			$(this).html(linkText+"<span>&nbsp;</span>");
		});
	});
		
	// show/hide for Conditions & Arrangements search
	if($("div#ca1").length > 0) {
		$('div#ca1').hide();
		$('div#ca2').hide();
		$('a.cashow').click(function() {
			$('div#ca1').toggle();
			return false;
		});
		$('a.sishow').click(function() {
			$('div#ca2').toggle();
			return false;
		});
	}

	// Search box autocomplete handler.
	$('#topSearch').autocomplete('search', {
		mustMatch: false,
		autoFill: false,
		selectFirst: false,
		minChars: 2,
		max: 25,
		delay: 500,
		width: 188
	}).result(function(event, data, formatted) {
		$('#topSearchForm').submit();
	})

	// show/hide for How do I...
	if($("div.showfaq").length > 0) {
		$('div.showfaq> div').hide();  
		$('div.showfaq> h3').click(function() {
			$(this).next('div').slideToggle('fast')
			$(this).toggleClass('tog')
			return false;
		});
	}
});