/**
* Stylesheet toggle variation on styleswitch stylesheet switcher.
* Built on jQuery.
* Under an CC Attribution, Share Alike License.
* By Kelvin Luck ( http://www.kelvinluck.com/ )
**/

(function($)
    {
        // Local vars for toggle
        var availableStylesheets = [];
        var activeStylesheetIndex = 0;
        
        // To loop through available stylesheets
        $.stylesheetToggle = function()
        {
            activeStylesheetIndex ++;
            activeStylesheetIndex %= availableStylesheets.length;
            $.stylesheetSwitch(availableStylesheets[activeStylesheetIndex]);
        };
        
        // To switch to a specific named stylesheet
        $.stylesheetSwitch = function(styleName)
        {
            $('link[@rel*=style][title]').each(
                function(i) 
                {
                    this.disabled = true;
                    if (this.getAttribute('title') == styleName) {
                        this.disabled = false;
                        activeStylesheetIndex = i;
                    }
                }
            );
            createCookie('style', styleName, 365);
        };
        
        // To initialise the stylesheet with it's 
        $.stylesheetInit = function()
        {
            $('link[rel*=style][title]').each(
                function(i) 
                {
                    availableStylesheets.push(this.getAttribute('title'));
                }
            );
            var c = readCookie('style');
            if (c) {
                $.stylesheetSwitch(c);
                if(c == 'Text only') {
                        $(".styleswitch").attr("rel","Main styles");
                        $(".styleswitch").html("View standard version (with images)");
                        $("body").addClass("bodytextonly");
                        $(".sectionnav").before("<div id=\"oldsectionnav\"></div>").appendTo("#mainmenuwrap").before("<h2 class=\"visibletextonly\">Other pages in this section:</h2>");
                }
                else {
                    $("body").removeClass("bodytextonly");
                    $(".sectionnav").insertAfter("#oldsectionnav");
                    $("#oldsectionnav, .visibletextonly").remove();
                }
            }
        };
    }
)(jQuery);

// cookie functions http://www.quirksmode.org/js/cookies.html
function createCookie(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 readCookie(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 eraseCookie(name)
{
    createCookie(name,"",-1);
}
// /cookie functions

$(document).ready(function() {
	
	// Make parent elements rolloverable
		$(".rollover, .projectitem").hover(
			function() {
				$(this).addClass("rolled"); 
			},
			function() {
				$(this).removeClass("rolled"); 
			}
		).click(function() {
			window.location=$(this).find("a").attr("href"); return false;
		
		});
		
	if($("h1#maincontentstart").length > 0) {
		headerheight = $("h1#maincontentstart").height();
		pageinfoheight = $(".pageinfo").height();
		if(headerheight > 26) {

			currentmargin = $(".sectionnav").css("margin-top");
			$(".sectionnav").css("margin-top",parseInt(currentmargin)-(headerheight-26));
		}
		if(pageinfoheight > 16) {
			currentmargin = $(".sectionnav").css("margin-top");
			$(".sectionnav").css("margin-top",parseInt(currentmargin)-(pageinfoheight-16));
		}
	}
	
	if($("#newsletterlink").length > 0) {
		$("#newsletterlink a").hover(
			function() { $(this).animate({backgroundPosition:"1px 0"},'200'); },
			
			function() { $(this).css("background-position","-311px 0"); }
			);
	}
	$.stylesheetInit();
            
            // When one of the styleswitch links is clicked then switch the stylesheet to
            // the one matching the value of that links rel attribute.
            $('.styleswitch').bind(
                'click',
                function(e)
                {
                    $.stylesheetSwitch(this.getAttribute('rel'));
                    if(this.getAttribute('rel') == 'Text only') {
                        this.setAttribute("rel","Main styles");
                        $(this).html("View standard version (with images)");
                        $("body").addClass("bodytextonly");
                        
                    }
                    else {
                        this.setAttribute("rel","Text only");
                        $(this).html("Text only version");
                        $("body").removeClass("bodytextonly");
                        
                    }
                    
                    return false;
                }
            );
});


