var objStyleSheet;
var objBackground;
var objMoose42Link;
var objNewsLink;
var objAboutLink;
var objFAQLink;
var objContactLink;
var objPictureBorder;
var objThumbnailBorder;
var objGalleryHeader;
var objCategories;
var objCategoriesLinks;
var objCategoriesVisited;
var objFooterLinks;
var objFooterVisited;



//Load up the backround colour switcher
function showBackgroundSwitch() {
    var objTemp;
    var strInnerHTML;

    strInnerHTML  = "<span id=\"swatch_1\" class=\"colour_swatch\" style=\"background-color: #FFFFFF; border-color: #CCCCCC;\" onclick=\"changeBackground('swatch1')\"></span>";
    strInnerHTML += "<span id=\"swatch_2\" class=\"colour_swatch\" style=\"background-color: #E6E6E6; border-color: #CCCCCC;\" onclick=\"changeBackground('swatch2')\"></span>";
    strInnerHTML += "<span id=\"swatch_3\" class=\"colour_swatch\" style=\"background-color: #CCCCCC; border-color: #6B6E72;\" onclick=\"changeBackground('swatch3')\"></span>";
    strInnerHTML += "<span id=\"swatch_4\" class=\"colour_swatch\" style=\"background-color: #6B6E72; border-color: #424346;\" onclick=\"changeBackground('swatch4')\"></span>";
    strInnerHTML += "<span id=\"swatch_5\" class=\"colour_swatch\" style=\"background-color: #424346; border-color: #000000;\" onclick=\"changeBackground('swatch5')\"></span>";
    strInnerHTML += "<span id=\"swatch_6\" class=\"colour_swatch\" style=\"background-color: #000000; border-color: #000000;\" onclick=\"changeBackground('swatch6')\"></span>";

    var objBackgroundControlDiv = document.getElementById("background_control");
    objBackgroundControlDiv.innerHTML = strInnerHTML;
    objBackgroundControlDiv.style.visibility = "visible";
    
    //Initilise some objects
    switch (navigator.appName) {
        case "Netscape":
            getStandardObjects();
            break;
        case "Microsoft Internet Explorer":
            getExploderObjects()
            break;
        default:
            getStandardObjects();
    }
}

function getStandardObjects() {
    //The style sheet
    objStyleSheet = document.styleSheets.item("styleStandard").cssRules;
    //can't return item by selector text, need to loop and find all the selectors we need
    for (i = 0; i < objStyleSheet.length; i++) {
        objTemp = objStyleSheet[i];
        switch (objTemp.selectorText) {
            case "#bodytable":
                objBackground = objTemp;
                break;
            case "#link_moose42":
                objMoose42Link = objTemp;
                break;
            case "#link_news":
                objNewsLink = objTemp;
                break;
            case "#link_about":
                objAboutLink = objTemp;
                break;
            case "#link_faq":
                objFAQLink = objTemp;
                break;
            case "#link_contact":
                objContactLink = objTemp;
                break;
            case ".gallery_thumbnail_link":
                objThumbnailBorder = objTemp;
                break;
            case "#gallery_photo":
                objPictureBorder = objTemp;
                break;
            case ".gallery_header":
                objGalleryHeader = objTemp;
                break;
            case ".gallery_categories":
                objCategories = objTemp;
                break;
            case ".gallery_categories a:link":
                objCategoriesLinks = objTemp;
                break;
            case ".gallery_categories a:visited":
                objCategoriesVisited = objTemp;
                break;
            case ".footer a:link":
                objFooterLinks = objTemp;
                break;
            case ".footer a:visited":
                objFooterVisited = objTemp;
                break;
        }
    }
}

function getExploderObjects(strSwatchID) {
    //The style sheet
    objStyleSheet = document.styleSheets[0].rules;
    //can't return item by selector text, need to loop and find all the selectors we need
    for (i = 0; i < objStyleSheet.length; i++) {
        objTemp = objStyleSheet[i];
        switch (objTemp.selectorText) {
            case "#bodytable":
                objBackground = objTemp;
                break;
            case "#link_moose42":
                objMoose42Link = objTemp;
                break;
            case "#link_news":
                objNewsLink = objTemp;
                break;
            case "#link_about":
                objAboutLink = objTemp;
                break;
            case "#link_faq":
                objFAQLink = objTemp;
                break;
            case "#link_contact":
                objContactLink = objTemp;
                break;
            case ".gallery_thumbnail_link":
                objThumbnailBorder = objTemp;
                break;
            case "#gallery_photo":
                objPictureBorder = objTemp;
                break;
            case ".gallery_header":
                objGalleryHeader = objTemp;
                break;
            case ".gallery_categories":
                objCategories = objTemp;
                break;
            case ".gallery_categories A:link":
                objCategoriesLinks = objTemp;
                break;
            case ".gallery_categories A:visited":
                objCategoriesVisited = objTemp;
                break;
            case ".footer A:link":
                objFooterLinks = objTemp;
                break;
            case ".footer A:visited":
                objFooterVisited = objTemp;
                break;
        }
    }
}

//Change the backfound and all other associated stuff
function changeBackground(strSwatchID) {
    var strBackgroundcolour;
    var strThumbnailBorderColour;
    var strPictureBorderColour;


    //A few that are only different on "black"
    var strTextColour = "#000000";
    var strMoose42Link = "images/button_moose42.png";
    var strNewsLink = "images/button_news.png";
    var strAboutLink = "images/button_about.png";
    var strFAQLink = "images/button_faq.png";
    var strContactLink = "images/button_contact.png";
    
    
    //gather up some values
    switch (strSwatchID) {
      case "swatch1":
        strBackgroundcolour = "#FFFFFF";
        strPictureBorderColour = "#CCCCCC";
        strThumbnailBorderColour = "#CCCCCC";
        break;
      case "swatch2":
        strBackgroundcolour = "#E6E6E6";
        strPictureBorderColour = "#CCCCCC";
        strThumbnailBorderColour = "#CCCCCC";
        break;
      case "swatch3":
        strBackgroundcolour = "#CCCCCC";
        strPictureBorderColour = "#6B6E72";
        strThumbnailBorderColour = "#6B6E72";
        break;
      case "swatch4":
        strBackgroundcolour = "#6B6E72";
        strPictureBorderColour = "#424346";
        strThumbnailBorderColour = "#424346";
        break;
      case "swatch5":
        strBackgroundcolour = "#424346";
        strPictureBorderColour = "#000000";
        strThumbnailBorderColour = "#000000";
        break;
      case "swatch6":
        strBackgroundcolour = "#000000";
        strPictureBorderColour = "#000000";
        strThumbnailBorderColour = "#000000";
        strTextColour = "#FFFFFF";
        strMoose42Link = "images/button_moose42_rollover.png";
        strNewsLink = "images/button_news_rollover.png";
        strAboutLink = "images/button_about_rollover.png";
        strFAQLink = "images/button_faq_rollover.png";
        strContactLink = "images/button_contact_rollover.png";
        break;
    }
    
    //Asign all our values
    objBackground.style.backgroundColor = strBackgroundcolour;
    objPictureBorder.style.borderColor = strPictureBorderColour;
    objGalleryHeader.style.color = strTextColour;
    objThumbnailBorder.style.borderColor = strThumbnailBorderColour;
    objCategories.style.color = strTextColour;
    objCategoriesLinks.style.color = strTextColour;
    objCategoriesVisited.style.color = strTextColour;
    objFooterLinks.style.color = strTextColour;
    objFooterVisited.style.color = strTextColour;
    
    //Do the rollover images for "black" cos exploder is shite
    switch (navigator.appName) {
        case "Microsoft Internet Explorer":
            link_moose42.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + strMoose42Link + "', enabled=true);";
            link_news.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + strNewsLink + "', enabled=true);";
            link_about.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + strAboutLink + "', enabled=true);";
            link_faq.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + strFAQLink + "', enabled=true);";
            link_contact.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + strContactLink + "', enabled=true);";
            break;
        default:
            objMoose42Link.style.backgroundImage = "url(" + strMoose42Link + ")";
            objNewsLink.style.backgroundImage = "url(" + strNewsLink + ")";
            objAboutLink.style.backgroundImage = "url(" + strAboutLink + ")";
            objFAQLink.style.backgroundImage = "url(" + strFAQLink + ")";
            objContactLink.style.backgroundImage = "url(" + strContactLink + ")";
    }
    
}
