function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function'){
        window.onload = func
    } else {
        window.onload = function() {
            oldonload();
            func();
        }
    }
}

function Left(str, n){
    if (n <= 0)
        return "";
    else if (n > String(str).length)
        return str;
    else
        return String(str).substring(0,n);
}

function Right(str, n){
    if (n <= 0)
        return "";
    else if (n > String(str).length)
        return str;
    else {
        var iLen = String(str).length;
        return String(str).substring(iLen, iLen - n);
    }
}

function prepareLinks() {

    if (!document.getElementById || !document.getElementsByTagName) {
        return;
    }
    
    var links = document.getElementsByTagName("a");
    
    for(var i=0; i<links.length; i++) {
        var str = links[i].getAttribute("href");
        if((Left(str,7)=="http://")||(Left(str,8)=="https://")){
            if((str.indexOf("salford.gov.uk")==-1)&&(str.indexOf("salixhomes.org")==-1)){
            
                var checklinks = links[i].getElementsByTagName("img");
                
                if(checklinks.length==0){
                    var addicon = document.createElement("img");
                    addicon.setAttribute("src","template/icon-external-link.gif");
                    addicon.setAttribute("alt","External site");
                    addicon.style.paddingLeft="4px";
                    links[i].appendChild(addicon);
                }else{
                    for(var z=0; z<checklinks.length; z++) {
                        var altText = checklinks[z].getAttribute("alt");
                        altText = altText + " (External site)";
                        checklinks[z].setAttribute("alt",altText);
                    }
                }
            }
        }

        if((Left(str,7)=="mailto:")||(Left(str,7)=="MAILTO:")){
            links[i].style.paddingLeft="20px";
            links[i].style.backgroundImage="url(template/icon-email-small.gif)";
            links[i].style.backgroundRepeat="no-repeat";
            links[i].style.backgroundPosition="left center";
        }

        if((Right(str,4)==".doc")||(Right(str,4)==".DOC")){
            var addicon = document.createElement("img");
            addicon.setAttribute("src","template/icon-word.gif");
            addicon.style.paddingLeft="4px";
            links[i].appendChild(addicon);
        }
    
        if((Right(str,4)==".pdf")||(Right(str,4)==".PDF")){        
            var addicon = document.createElement("img");
            addicon.setAttribute("src","template/icon-acrobat.gif");
            addicon.style.paddingLeft="4px";
            links[i].appendChild(addicon);
        }
    
        if((Right(str,4)==".xls")||(Right(str,4)==".XLS")){
            var addicon = document.createElement("img");
            addicon.setAttribute("src","template/icon-excel.gif");
            addicon.style.paddingLeft="4px";
            links[i].appendChild(addicon);
        }
    
        if((Right(str,4)==".ppt")||(Right(str,4)==".PPT")){
            var addicon = document.createElement("img");
            addicon.setAttribute("src","template/icon-powerpoint.gif");
            addicon.style.paddingLeft="4px";
            links[i].appendChild(addicon);
        }
    
        if((Right(str,4)==".jpg")||(Right(str,4)==".JPG")||(Right(str,4)==".gif")||(Right(str,4)==".GIF")||(Right(str,4)==".png")||(Right(str,4)==".PNG")||(Right(str,4)==".bmp")||(Right(str,4)==".BMP")){
            var addicon = document.createElement("img");
            addicon.setAttribute("src","template/icon-image.gif");
            addicon.style.paddingLeft="4px";
            links[i].appendChild(addicon);
        }
    
        if((Right(str,4)==".zip")||(Right(str,4)==".ZIP")){
            var addicon = document.createElement("img");
            addicon.setAttribute("src","template/icon-zip.gif");
            addicon.style.paddingLeft="4px";
            links[i].appendChild(addicon);
        }
        
    }

}

function switchStylestyle(styleName) {
    $('link[@rel*=style][@title]').each(function(i) {
        this.disabled = true;
        if (this.getAttribute('title') == styleName) this.disabled = false;
    });
    
    createCookie('style', styleName, 365);
    
}

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);
}

$(document).ready(function() {
    
    $("#accessOptions li.changetext").empty()
    $("<li class=\"styles\"><strong>Change text:</strong>&nbsp;</li>").appendTo("#accessOptions li.changetext")
    $("&nbsp;<a href=\"#\" rel=\"default\" class=\"styleswitch\"><img src=\"template/textsize-normal.gif\" alt=\"normal size\" /></a> <a href=\"#\" rel=\"large\" class=\"styleswitch\"><img src=\"template/textsize-large.gif\" alt=\"large size\" /></a> <a href=\"#\" rel=\"extralarge\" class=\"styleswitch\"><img src=\"template/textsize-extralarge.gif\" alt=\"extra large size\" /></a> <a href=\"http://www.salixhomes.org/accessibility.htm#accessibility-textsize\" class=\"small\">(what is this?)</a>").appendTo("#accessOptions li.styles")

    var c = readCookie('style');

    if (c) switchStylestyle(c);

    function filterPath(string) {
        return string
        .replace(/^\//,'')
        .replace(/(index|default).[a-zA-Z]{3,4}$/,'')
        .replace(/\/$/,'');
    }
  
    $('a[href*=#]').each(function() {
        
        if ( ( filterPath(location.pathname) == filterPath(this.pathname) && location.hostname == this.hostname && this.hash.replace(/#/,'') ) ) {
            var $targetId = $(this.hash), $targetAnchor = $('[name=' + this.hash.slice(1) +']');
            var $target = $targetId.length ? $targetId : $targetAnchor.length ? $targetAnchor : false;
            if ($target) {
                var targetOffset = $target.offset().top;
                $(this).click(function() {
                    $('html, body').animate({scrollTop: targetOffset}, 400);
                    return false;
                });
            }
        }
    });
    
    $('.styleswitch').click(function(){
        switchStylestyle(this.getAttribute("rel"));
        return false;
    });

});

//addLoadEvent(prepareLinks);