var bookmarkedSection = YAHOO.util.History.getBookmarkedState( "content" );
var querySection = YAHOO.util.History.getQueryStringParameter( "url" ); 
var initialSection = bookmarkedSection || querySection || "shchome";
var currentSection;
var previousSection;
var LOGINMENUINDEX = 9;
var LOGOUTMENUINDEX = 10;
var lastWeekRefresh;
var thisWeekRefresh;

//YAHOO.SHC.Logger = new YAHOO.widget.LogReader();

YAHOO.util.History.register( "content", initialSection, getContent );
	 
// Subscribe to this event before calling YAHOO.util.History.initialize,
// or it may never get fired! Note that this is guaranteed to be fired
// after the window's onload event.
YAHOO.util.History.onLoadEvent.subscribe( function() {
    currentSection = YAHOO.util.History.getCurrentState( "content" );
    init();
} );

// The call to YAHOO.util.History.initialize should ALWAYS be from within
// a script block located RIGHT AFTER the opening body tag (this seems to prevent
// an edge case bug on IE - IE seems to sometimes forget the history when
// coming back to a page, and the back - or forward button depending on the
// situation - is disabled...)
try 
{
    YAHOO.util.History.initialize( "/yui/build/history/assets/blank.html" );
} 
catch ( e ) 
{
    // The only exception that gets thrown here is when the browser is not A-grade.
    // Since scripting is enabled, we still try to provide the user with a better
    // experience using AJAX. The only caveat is that the browser history will not work.
    init();
}
 
var menuLoc = document.getElementById("menuHolder");
var newsLoc = document.getElementById("newsContent");
var HIDE_GIF_SRC = "/graphics/hide.gif";
var SHOW_GIF_SRC = "/graphics/show.gif";
var lastWeeksFixtures = [];
var teamResults = [];
var teamMissing = [];

YAHOO.SHC.panel.Content = new YAHOO.widget.Module("content");
YAHOO.SHC.panel.LastWeek = new YAHOO.widget.Module("lastWeek", { context: ['thisWeek', 'tl', 'll']});
YAHOO.SHC.panel.ThisWeek = new YAHOO.widget.Module("thisWeek", { context: ['rightHolder', 'tl', 'tl']});
YAHOO.SHC.panel.AdminPanel = new YAHOO.widget.Module("memberAdminPanel", { context: ['menuHolder', 'tl', 'bl']});
YAHOO.SHC.panel.MemberSearchPanel = new YAHOO.widget.Module("memberSearchPanel", { context: ['lastWeek', 'tl', 'bl']});

function init()
{
    YAHOO.SHC.panel.MemberSearchPanel.hide();
    getMenu();
    getAdministrationPanel();
    getNewsItems();

    getLastWeeksFixtures(false);
    getThisWeeksFixtures(false);
    
    // This is the tricky part... The window's onload handler is called when the
    // user comes back to your page using the back button. In this case, the
    // actual section that needs to be loaded corresponds to the last section
    // visited before leaving the page, and not the initial section. This can
    // be retrieved using getCurrentState:
    //var currentSection = YAHOO.util.History.getCurrentState( "content" );
    if ( location.hash.substr(1).length > 0 ) 
    {
        // If the section requested in the URL fragment is different from
        // the section loaded in index.php, we have an unpleasant refresh
        // effect because we do an asynchronous XHR call. Instead of doing
        // a synchronous XHR call, we can fix this by erasing the initial
        // content of bd:
        //if ( currentSection != querySection )
        //    YAHOO.util.Dom.get( "bd" ).innerHTML = "";
        getContent(currentSection);
    }
    else
        getContent(initialSection);
}

function getNewsItems() 
{
    // Define the callback object for Connection Manager that will set the body of our content area when the content has loaded
    var newsCallback = {
        success : function(o) {
            newsLoc.innerHTML = o.responseText;
			},
        failure : function(o) {
            newsLoc.innerHTML = o.responseText;
            newsLoc.style.visibility = "visible";
            //newsLoc.innerHTML = "CONNECTION FAILED!";
        }
    }

    // Connect to our data source and load the data
    YAHOO.util.Connect.resetFormState();
    var menuConn = YAHOO.util.Connect.asyncRequest("GET", "/GetNewsItems.ashx", newsCallback, null);
}

function getMenu() 
{
    //menuWait();
    
    // Define the callback object for Connection Manager that will set the body of our content area when the content has loaded
    var menuCallback = {
        success : function(o) {
            menuLoc.innerHTML = o.responseText;
            menuLoc.style.visibility = "visible";
            renderMenu();
            //YAHOO.SHC.panel.menuWait.hide();
        },
        failure : function(o) {
            menuLoc.innerHTML = o.responseText;
            menuLoc.style.visibility = "visible";
            menuLoc.innerHTML = "CONNECTION FAILED!";
        }
    }

    // Connect to our data source and load the data
    YAHOO.util.Connect.resetFormState();
    var menuConn = YAHOO.util.Connect.asyncRequest("GET", "/GetMenu.ashx", menuCallback, null);
}

function renderMenu()
{
    YAHOO.SHC.MainMenu = new YAHOO.widget.Menu("shcmenu_mainMenu", { autosubmenudisplay:true, iframe: true, position: 'static'});
    YAHOO.SHC.MainMenu.clickEvent.subscribe(onMenuClick, YAHOO.SHC.MainMenu, true);
    
    // Need to go through and set up submenu click listeners
    var aItems = YAHOO.SHC.MainMenu.getItemGroups();

    if(aItems && aItems[0]) {
        var i = aItems[0].length - 1;
        var menu;

        do {
          menu = aItems[0][i].cfg.getProperty("submenu");
          if (menu) {
              menu.clickEvent.subscribe(onMenuClick, YAHOO.SHC.MainMenu, true);
              
              doChildSubMenus(menu);
          }
        }
        while(i--);
    }
    sortOutLogMenuItems();
    YAHOO.SHC.MainMenu.render(document.getElementById('menuHolder'));
    YAHOO.SHC.MainMenu.show();
}

function doChildSubMenus(menuItem)
{
    var aSubMenus = menuItem.getItemGroups();
    if(aSubMenus && aSubMenus[0]) 
    {
        var j = aSubMenus[0].length - 1;
        var submenu;

        do 
        {
            submenu = aSubMenus[0][j].cfg.getProperty("submenu");

            if(submenu)
            {
                submenu.clickEvent.subscribe(onMenuClick, submenu, true);
                doChildSubMenus(submenu);
            }
            else
            {
                aSubMenus[0][j].clickEvent.subscribe(onMenuClick, aSubMenus[0][j], true);
            }
        }
        while(j--);
    }
}

function sortOutLogMenuItems()
{
    if (YAHOO.SHC.MainMenu)
    {
        // If they are authenticated hide log in menu item
        if (document.cookie.indexOf("SHCWebAuth") >= 0)
        {
            YAHOO.SHC.MainMenu.getItem(LOGINMENUINDEX).element.style.display = "none";
            YAHOO.SHC.MainMenu.getItem(LOGOUTMENUINDEX).element.style.display = "block";
        }
        // otherwise hide log off
        else
        {
            YAHOO.SHC.MainMenu.getItem(LOGINMENUINDEX).element.style.display = "block";
            YAHOO.SHC.MainMenu.getItem(LOGOUTMENUINDEX).element.style.display = "none";
        }
    }
}

function onMenuClick(p_sType, p_aArgs)
{
    var oItem = p_aArgs[1];
    YAHOO.util.Event.preventDefault( p_sType );

    if(oItem)
    {
        var testItem = document.getElementById(oItem.id);
        var url = testItem.getAttribute('url');
        
        if (url) {
            try 
            {
                YAHOO.util.History.navigate( "content", url );
                setBrowserTitle(testItem.getAttribute('title'));
            } 
            catch ( e ) 
            {
                getContent(url);
            }
        }
    }
}

var contentHyperLink = function (e, obj)
{
    myTarget = getATag(e);
    
    if (myTarget.getAttribute('url'))
    {
        try 
        {
            YAHOO.util.History.navigate( "content", myTarget.getAttribute('url') );
            //setBrowserTitle(testItem.getAttribute('title'));
        } 
        catch ( e ) 
        {
            getContent(myTarget.getAttribute('url'));
        }
//        getContent(myTarget.getAttribute('url'));
        YAHOO.util.Event.preventDefault(e);
        //setBrowserTitle(myTarget.getAttribute('title'));
    }
};

function getContent(param)
{
    if (param.indexOf("/") >= 0)
        getUrlContent(param, true);
    else
        getPageContent(param);
}

function getPageContent(pageName)
{
    var callback = {
        success : function(o) {
            // need to interogate and work out what has been sent back
            var response = eval('new Array(' + o.responseText + ')');
            YAHOO.SHC.panel.Content.setBody(response[0]);
            YAHOO.SHC.panel.Content.render(document.getElementById("mainHolder"));
            YAHOO.SHC.panel.Content.show();
            showingWait = false;
            
            // Add a listener for all the A tags
            var contentATags = YAHOO.util.Dom.getElementsBy(checkATag, "a", YAHOO.SHC.panel.Content.element);
            YAHOO.util.Event.addListener(contentATags, "click", contentHyperLink);
            
            contentSpecificActions(pageName);
            
            if (response[1])
                eval(response[1]);
        },
        failure : function(o) {
            showContentError();
            showingWait = false;
        }
    }
    contentWait();
    YAHOO.util.Connect.resetFormState();
    var conn = YAHOO.util.Connect.asyncRequest("GET", "/GetContent.ashx?pageName=" + pageName, callback, null);
}

function getUrlContent(url, showWait)
{
    var callback = {
        success : function(o) {
            // need to interogate and work out what has been sent back
            var response = eval('new Array(' + o.responseText + ')');
            
            if (response[0] == 'LOGINDIALOG')
            {
                showLoginDialog(response);
            }
            else if (response[0] == 'DIALOG')
            {
                showDialog(response);
            }
            else if (response[0] == "SUCCESSDIALOG")
	        {
	            if (YAHOO.SHC.myDialog)
	                YAHOO.SHC.myDialog.hide();
	            showConfirmation(response[1]);

                if (response[2])
                    eval(response[2]);
            }
            else if (response[0] == "ERRORDIALOG")
	        {
	            if (YAHOO.SHC.myDialog)
	                YAHOO.SHC.myDialog.hide();
	            showError(response[1]);
            }
            else
            {
                YAHOO.SHC.panel.Content.setBody(response[1]);
                YAHOO.SHC.panel.Content.render(document.getElementById("mainHolder"));
                YAHOO.SHC.panel.Content.show();
                sortOutLogMenuItems();
                showingWait = false;
                
                if (response[2])
                    eval(response[2]);
                if (response[3])
                    eval(response[3]);
            }
            
        },
        failure : function(o) {
            showContentError();
        }
    }
    
    if (showWait)
        contentWait();
    
    if (url.indexOf('~') > -1)
    {
        url = url.replace(/~/g, "?");
        url = url.replace(/-/g, "=");
        url = url.replace(/,/g, "&");
    }
        
    YAHOO.util.Connect.resetFormState();
    var conn = YAHOO.util.Connect.asyncRequest("GET", unescape(url), callback, null);
}

function contentSpecificActions(pageName)
{
    switch (pageName)
    {
        case 'shchowtofindus':
            YAHOO.SHC.Venues = new YAHOO.widget.TabView('venueTabs');
            break;
        case 'addnewmember':
            alert('Hi');
        default:
            return;
    }
}

function showLoginDialog(response)
{
    var loginCallback = { 
        success: function(o) {
	        var response = eval('new Array(' + o.responseText + ')');
            if (response[0] == "CONTENT")
	        {
	            YAHOO.SHC.LoginDialog.hide();
	            getContent(response[1]);
                sortOutLogMenuItems();
                getAdministrationPanel();
            }
            else if (response[0] == "SUCCESSDIALOG")
	        {
	            YAHOO.SHC.myDialog.hide();
	            showConfirmation(response[1]);
            }
            else if (response[0] == "ERRORDIALOG")
	        {
	            YAHOO.SHC.myDialog.hide();
	            showError(response[1]);
            }
            else if (response[0] == "ERROR")
            {
                var err = document.getElementById('dialogError');
                err.innerHTML = response[1];
                err.style.display = "block";
                document.getElementById('dlgLogin').reset();
            }
        }, failure:  function(o) {
            showError("Submission failed: " + o.status);
        }
    };

    var handleForgotten = function() { 
        this.cancel(); 
        getUrlContent("/ForgottenPassword.ashx", true);
        } 
    var loginCancel = function() { 
        this.cancel(); 
        history.back();
        } 
    var handleSubmit = function() {
        this.submit();
        } 
    var myButtons = [ { text:"Log In", handler:handleSubmit, isDefault:true }, 
                        { text:"Cancel", handler:loginCancel }, 
                        { text:"Forgotten Password", handler:handleForgotten } ]; 
    
    if (YAHOO.SHC.LoginDialog == undefined)
        YAHOO.SHC.LoginDialog = new YAHOO.widget.Dialog("loginDialog", {postmethod: "async", width : "300px", modal: true, fixedcenter: true, buttons: myButtons, close: false});
        
    YAHOO.SHC.LoginDialog.callback = loginCallback;
    YAHOO.SHC.LoginDialog.setHeader(response[1]);
    YAHOO.SHC.LoginDialog.setBody(response[2]);
    YAHOO.SHC.LoginDialog.render();
    YAHOO.SHC.LoginDialog.show();
}
function showDialog(response)
{
    var dialogCallback = { 
        success: function(o) {
	        var response = eval('new Array(' + o.responseText + ')');
	        YAHOO.util.Connect.resetFormState();
	        if (response[0] == 'DIALOG')
            {
                showDialog(response);
            }
            else if (response[0] == "SUCCESS")
	        {
	            YAHOO.SHC.myDialog.hide();
	            getContent(response[1]);
            }
            else if (response[0] == "SUCCESSDIALOG")
	        {
	            YAHOO.SHC.myDialog.hide();
	            showConfirmation(response[1]);
	            
                if (response[2])
                    eval(response[2]);
            }
            else if (response[0] == "ERRORDIALOG")
	        {
	            YAHOO.SHC.myDialog.hide();
	            showError(response[1]);
	            
                if (response[2])
                    eval(response[2]);
            }
            else if (response[0] == "CONTENT")
	        {
	            YAHOO.SHC.myDialog.hide();
                YAHOO.SHC.panel.Content.setBody(response[1]);
                YAHOO.SHC.panel.Content.render(document.getElementById("mainHolder"));
                YAHOO.SHC.panel.Content.show();
                
                // Add a listener for all the A tags
                var contentATags = YAHOO.util.Dom.getElementsBy(checkATag, "a", YAHOO.SHC.panel.Content.element);
                YAHOO.util.Event.addListener(contentATags, "click", contentHyperLink);
                
                if (response[2])
                    eval(response[2]);
            }
            else if (response[0] == "ERROR")
            {
                var err = document.getElementById('dialogError');
                err.innerHTML = response[1];
                err.style.display = "block";
            }
        }, 
        failure:  function(o) {
	        alert("Submission failed: " + o.status);
        }
    };

    var handleSubmit = function() {
        var data = YAHOO.util.Connect.setForm('dlgForm');
        var formAction = YAHOO.util.Dom.get('dlgForm').getAttribute("action");
        var dialogResult = YAHOO.util.Connect.asyncRequest("post", formAction, dialogCallback, null);
        } 
    var myButtons = [ { text:"Submit", handler:handleSubmit, isDefault:true }, 
                        { text:"Cancel", handler:handleCancel } ]; 
    
    if (YAHOO.SHC.myDialog == undefined)
        YAHOO.SHC.myDialog = new YAHOO.widget.Dialog("myDialog", {postmethod: "none", width : "300px", close: false, modal: true, fixedcenter: true, buttons: myButtons});
        
    YAHOO.SHC.myDialog.setHeader(response[1]);
    YAHOO.SHC.myDialog.setBody(response[2]);
    YAHOO.SHC.myDialog.cfg.setProperty('fixedcenter', true);
    YAHOO.SHC.myDialog.cfg.setProperty('width', '300px');
    YAHOO.SHC.myDialog.render();        
    YAHOO.SHC.myDialog.show();
        
    if (response[3])
        eval(response[3]);
}
function getAdministrationPanel()
{
    YAHOO.SHC.MemberMenu = null;
    
    var callback = {
        success : function(o) {
            var setUpAdminMenu = function() {
                YAHOO.SHC.MemberMenu = new YAHOO.widget.Menu("shcmenu_adminMenu", { autosubmenudisplay:true, iframe: true, position: 'static'});
                YAHOO.SHC.MemberMenu.clickEvent.subscribe(onMenuClick, YAHOO.SHC.MemberMenu, true);
                
                // Need to go through and set up submenu click listeners
                var aItems = YAHOO.SHC.MemberMenu.getItemGroups();

                if(aItems && aItems[0]) {
                    var i = aItems[0].length - 1;
                    var menu;

                    do {
                      menu = aItems[0][i].cfg.getProperty("submenu");
                      if (menu) {
                          menu.clickEvent.subscribe(onMenuClick, YAHOO.SHC.MemberMenu, true);
                          
                          doChildSubMenus(menu);
                      }
                    }
                    while(i--);
                }
                YAHOO.SHC.MemberMenu.render();//document.getElementById('menuHolder'));
                YAHOO.SHC.MemberMenu.show();
                YAHOO.SHC.panel.AdminPanel.render();
                YAHOO.SHC.panel.AdminPanel.show();
            };
            
            YAHOO.util.Event.onAvailable("shcmenu_adminMenu", setUpAdminMenu);
            
            YAHOO.SHC.panel.AdminPanel.setBody(o.responseText);
            YAHOO.util.Event.addListener("memberAdminPanel_Control", "click", collapsePanel);
            createChildPanels("memberAdminPanel");

            YAHOO.util.Event.addListener("adminPanelLogin", "click", panelLogin);
            YAHOO.util.Event.addListener("adminPanelLogin", "mouseover", setHoverButton, true);
            YAHOO.util.Event.addListener("adminPanelLogin", "mouseout", setHoverButton, false);
        },
        failure : function(o) {
            YAHOO.SHC.panel.AdminPanel.innerHTML = o.responseText;
            YAHOO.SHC.panel.AdminPanel.style.visibility = "visible";
            YAHOO.SHC.panel.AdminPanel.innerHTML = "CONNECTION FAILED!";
        }
    }
        
    YAHOO.util.Connect.resetFormState();
    var conn = YAHOO.util.Connect.asyncRequest("GET", "/GetAdminPanel.ashx", callback, null);
}

function getLastWeeksFixtures(showLoading)
{
    var callback = {
        success : function(o) {
            YAHOO.SHC.panel.LastWeek.setBody(o.responseText);
            YAHOO.SHC.panel.LastWeek.render();
            YAHOO.SHC.panel.LastWeek.show();
            YAHOO.util.Event.addListener("lastWeek_Control", "click", collapsePanel);
            createChildPanels("lastWeek");
            
            if (!lastWeekRefresh)
                lastWeekRefresh = setInterval('getLastWeeksFixtures(true)', 300000);
        },
        failure : function(o) {
            YAHOO.SHC.panel.LastWeek.innerHTML = o.responseText;
            YAHOO.SHC.panel.LastWeek.style.visibility = "visible";
            YAHOO.SHC.panel.LastWeek.innerHTML = "CONNECTION FAILED!";
        }
    }
    //YAHOO.SHC.panel.Content.hide();
    if (showLoading)
        lastWeekWait();
        
    YAHOO.util.Connect.resetFormState();
    var conn = YAHOO.util.Connect.asyncRequest("GET", "/GetFixtures.ashx?fixtures=0", callback, null);
}
function getThisWeeksFixtures(showLoading)
{
    var callback = {
        success : function(o) {
            YAHOO.SHC.panel.ThisWeek.setBody(o.responseText);
            YAHOO.SHC.panel.ThisWeek.render();
            YAHOO.SHC.panel.ThisWeek.show();
            YAHOO.util.Event.addListener("thisWeek_Control", "click", collapsePanel);
            createChildPanels("thisWeek");
            
            if (!thisWeekRefresh)
                thisWeekRefresh = setInterval('getThisWeeksFixtures(true)', 300000);
        },
        failure : function(o) {
            YAHOO.SHC.panel.ThisWeek.innerHTML = o.responseText;
            YAHOO.SHC.panel.ThisWeek.style.visibility = "visible";
            YAHOO.SHC.panel.ThisWeek.innerHTML = "CONNECTION FAILED!";
        }
    }
    //YAHOO.SHC.panel.Content.hide();
    if (showLoading)
        thisWeekWait();
        
    YAHOO.util.Connect.resetFormState();
    var conn = YAHOO.util.Connect.asyncRequest("GET", "/GetFixtures.ashx?fixtures=1", callback, null);
}

function renderClubStats()
{
//    if (YAHOO.SHC.panel.Scorers == null)
//        YAHOO.SHC.panel.Scorers = new YAHOO.widget.Module("statsScorers", { context: ['mainHolder', 'tl', 'tl']});
    if (YAHOO.SHC.panel.Streaks == null)
        YAHOO.SHC.panel.Streaks = new YAHOO.widget.Module("statsStreaks", { context: ['mainHolder', 'tl', 'tl']});
    if (YAHOO.SHC.panel.ThisSeasonStreaks == null)
        YAHOO.SHC.panel.ThisSeasonStreaks = new YAHOO.widget.Module("statsSeason", { context: ['statsStreaks', 'tl', 'bl']});
    if (YAHOO.SHC.panel.AllTimeStreaks == null)
        YAHOO.SHC.panel.AllTimeStreaks = new YAHOO.widget.Module("statsAllTime", { context: ['statsSeason', 'tl', 'bl']});
        
//    YAHOO.SHC.panel.Scorers.render();
//    YAHOO.SHC.panel.Scorers.show();
//    YAHOO.util.Event.addListener("statsScorers_Control", "click", collapsePanel);
//    createChildPanels("statsScorers");
    YAHOO.SHC.panel.Streaks.render();
    YAHOO.SHC.panel.Streaks.show();
    YAHOO.SHC.panel.ThisSeasonStreaks.render();
    YAHOO.SHC.panel.ThisSeasonStreaks.show();
    YAHOO.SHC.panel.AllTimeStreaks.render();
    YAHOO.SHC.panel.AllTimeStreaks.show();
    YAHOO.util.Event.addListener("statsSeason_Control", "click", collapsePanel);
    createChildPanels("statsSeason");
    YAHOO.util.Event.addListener("statsAllTime_Control", "click", collapsePanel);
    createChildPanels("statsAllTime");
}

function createChildPanels(controlPanel)
{
    var myEls = YAHOO.util.Dom.getElementsBy(checkPanelControl, "div", controlPanel);
    
    var f = myEls.length - 1;
    
    if (f >= 0)
    {    
        do
        {
            if (myEls[f].getAttribute("control") == controlPanel)
                eval('YAHOO.SHC.panel.' + myEls[f].id + ' = new YAHOO.widget.Module("' + myEls[f].id + '");');
        }
        while (f--);

        if (controlPanel == "lastWeek")
        {
            myEls = YAHOO.util.Dom.getElementsBy(checkFixture, "tr", controlPanel);
            f = myEls.length - 1;
            
            if (f >= 0)
            {            
                do
                {
                    if (myEls[f].getAttribute("type") == "fixture")
                    {
                        lastWeeksFixtures[lastWeeksFixtures.length] = myEls[f].id;
                        YAHOO.util.Event.addListener(myEls[f].id, "click", showFixtureDetail);
                        YAHOO.util.Event.addListener(myEls[f].id, "mouseover", setHoverFixture, true);
                        YAHOO.util.Event.addListener(myEls[f].id, "mouseout", setHoverFixture, false);
                    }
                }
                while (f--);
                YAHOO.SHC.tooltips.FixtureResult = new YAHOO.widget.Tooltip("fixtureResult", {context: lastWeeksFixtures, text: 'Click the fixture to see more information.'});
            }
        }
    }

}

var collapsePanel = function (e, obj) 
    {
        var myTarget = YAHOO.util.Event.getTarget(e, 1);
        var targetPanel = myTarget.id.split("_");
        var collapse = true;
        
        if (myTarget.src.indexOf(HIDE_GIF_SRC) >= 0)
        {
            collapse = true;
            myTarget.src = SHOW_GIF_SRC;
        }
        else
        {
            collapse = false;
            myTarget.src = HIDE_GIF_SRC;
        }
            
        
        // USe the target panel and hide all the sub panels
        var myEls = YAHOO.util.Dom.getElementsBy(checkPanelControl, "div", myTarget[0]);
        
        var f = myEls.length - 1;
        
        do
        {
            if (myEls[f].getAttribute("control") == targetPanel[0])
            {
                if (collapse)
                    eval('YAHOO.SHC.panel.' + myEls[f].id + '.hide()');
                else
                    eval('YAHOO.SHC.panel.' + myEls[f].id + '.show()');
            }
        }
        while (f--);
    };
var handleCancel = function() { 
    this.cancel(); 
    clearContentWait();
} 
    
var panelLogin = function (e, obj)
    {
        var myTarget = YAHOO.util.Event.getTarget(e, 1);
        YAHOO.util.History.navigate( "content", myTarget.getAttribute('url'));
    };
var setHoverButton = function (e, obj)
    {
        var myTarget = YAHOO.util.Event.getTarget(e, 1);
        if (obj)
            YAHOO.util.Dom.addClass(myTarget, "buttonHover");
        else
            YAHOO.util.Dom.removeClass(myTarget, "buttonHover");
    };
    
    
var showFixtureDetail = function (e, obj) {
    var myTarget = YAHOO.util.Event.getTarget(e, 1);
    if ((myTarget.tagName != 'IMG') 
        || ((myTarget.tagName == 'IMG') && (myTarget.getAttribute('type') == 'details'))) {
        myTarget = getRow(e);
        YAHOO.util.History.navigate("content", "/GetFixtures.ashx?fixtures=3&fixtureid=" + myTarget.id);
    }
    
    
};
    
var setHoverFixture = function (e, obj)
    {
        var myTarget = getRow(e);
        if (obj)
            YAHOO.util.Dom.addClass(myTarget, "follow");
        else
            YAHOO.util.Dom.removeClass(myTarget, "follow");
    };
    
function getRow(e)
{
    var myTarget = YAHOO.util.Event.getTarget(e, 1);
    
    while (myTarget.tagName != 'TR')
    {
        myTarget = myTarget.parentNode;
    }
    return myTarget
}
function getTarget(e)
{
    var myTarget = YAHOO.util.Event.getTarget(e, 1);
    return myTarget
}
var checkPanelControl = function (el) 
    {
        return (el.getAttribute("control") != undefined);
    };
var checkStreaks = function (el)
    {
        return (el.tagName == "P");
    };
var checkFixture = function (el) 
    {
        return (el.getAttribute("type") == "fixture");
    };
var checkPayment = function (el) 
    {
        return (el.getAttribute("type") == "payment");
    };
var checkATag = function (el) 
    {
        return (el.tagName == "A");
    };
var checkTRTag = function (el) 
    {
        return (el.tagName == "TR");
    };
var checkTextInputTag = function (el) 
    {
        return ((el.tagName == "INPUT")&&(el.getAttribute("type") == "text"));
    };
var checkInputTag = function (el) 
    {
        return (el.tagName == "INPUT");
    };
var checkATagAndMail = function (el) 
    {
        return ((el.tagName == "A") && (el.getAttribute('mail') == 'true'));
    };
function getATag(e)
{
    var myTarget = YAHOO.util.Event.getTarget(e, 1);
    
    while (myTarget.tagName != 'A')
    {
        myTarget = myTarget.parentNode;
    }
    return myTarget
}
function setContactUsDialog()
{
    YAHOO.SHC.myDialog.cfg.setProperty('width', '450px');
    YAHOO.SHC.myDialog.cfg.setProperty('fixedcenter', true);
    YAHOO.SHC.myDialog.render();        
    YAHOO.SHC.myDialog.show();
}    
function setBrowserTitle(toAppend)
{
    // Find first index of ::
    var idx = document.title.indexOf("::");
    var firstPart = document.title.substr(0, idx + 2);
    document.title = firstPart + toAppend;
}
    
function showContentError()
{
    var errorText = "<p>There has been a problem with your request. Please try again later.</p>";
    YAHOO.SHC.panel.Content.setBody(errorText);
    YAHOO.SHC.panel.Content.render(document.getElementById("mainHolder"));
    YAHOO.SHC.panel.Content.show();
}

function showRightPanel(showIt)
{
    var rightPanel = YAHOO.util.Dom.get('rightHolder');
    
    if (showIt)
    {
        // Show the fixtures panels
        YAHOO.SHC.panel.LastWeek.show();
        YAHOO.SHC.panel.ThisWeek.show();
        YAHOO.SHC.panel.MemberSearchPanel.hide();
    }
    else
    {
        // Hide the fixtures panels
        YAHOO.SHC.panel.LastWeek.hide();
        YAHOO.SHC.panel.ThisWeek.hide();
        YAHOO.SHC.panel.MemberSearchPanel.show();
    }

}

// Sponsors animation etc....
var ua = navigator.userAgent.toLowerCase();
var isOpera = (ua.indexOf('opera') > -1);
var isSafari = (ua.indexOf('safari') > -1);
var isIE = (window.ActiveXObject);

if (isIE) {
    //MSIE HACK
    document.execCommand("BackgroundImageCache", false, true);
}


YAHOO.namespace('widget.slideshow');

//Seconds Timeout
YAHOO.widget.slideshow.timeOut = 5;

//Current Slide
YAHOO.widget.slideshow.currentSlide = 0;

//zindex
YAHOO.widget.slideshow.currentZindex = 900;

//Timer Holder
YAHOO.widget.slideshow.timer = null;

//Effect Attrs
YAHOO.widget.slideshow.effects1 = { opacity: { from : 1, by: -1 } };
//YAHOO.widget.slideshow.effects2 = { opacity: { from: 0, to: 1 }, width: { from: 0, to: 125 } };
//YAHOO.widget.slideshow.effects3 = { opacity: { from: 0, to: 1 }, width: { from: 0, to: 125 }, height: { from: 0, to: 125 } };
YAHOO.widget.slideshow.effects = YAHOO.widget.slideshow.effects1;

//Array of Images
YAHOO.widget.slideshow.slides = [
    '/graphics/sponsors/civica.gif',
    '/graphics/TVLogoHeading.gif'
];

YAHOO.widget.slideshow.urls = [
    'http://www.civica.co.uk', 
    'shctv'
];


YAHOO.widget.slideshow.loadNextSlide = function() {
    var nextSlide = (YAHOO.widget.slideshow.currentSlide + 1);
    if (!YAHOO.widget.slideshow.slides[nextSlide]) {
        nextSlide = 0;
    }
    YAHOO.widget.slideshow.loadSlide(YAHOO.widget.slideshow.currentSlide, nextSlide);
    YAHOO.widget.slideshow.currentSlide = nextSlide;
}
YAHOO.widget.slideshow.loadSlide = function(currentSlideId, slideID) {
    if (YAHOO.widget.slideshow.slides[slideID]) {
        var oldDiv = YAHOO.util.Dom.get('slideshow_' + currentSlideId);
        var div = YAHOO.util.Dom.get('slideshow_' + slideID);
        var nextImage = YAHOO.widget.slideshow.slides[slideID];
        
        //var setFinalOpacity = function(type, args) {
            YAHOO.util.Dom.setStyle(div, 'opacity', 1);
            YAHOO.util.Dom.setStyle(oldDiv, 'opacity', 0);
        //};
        //YAHOO.util.Dom.get('ft').innerHTML = 'Showing Image: (' + nextImage + ')';
//        if (YAHOO.widget.slideshow.effects.width) {
//            YAHOO.util.Dom.setStyle(div, 'width', 0);
//        }
//        if (YAHOO.widget.slideshow.effects.height) {
//            YAHOO.util.Dom.setStyle(div, 'height', 0);
//        }
//        YAHOO.util.Dom.setStyle(div, 'z-index', YAHOO.widget.slideshow.currentZindex);
//        var animSlide = new YAHOO.util.Anim(oldDiv, YAHOO.widget.slideshow.effects, 1, YAHOO.util.Easing.easeOut);
//        animSlide.onComplete.subscribe(setFinalOpacity);
//        animSlide.animate();
        //YAHOO.widget.slideshow.currentZindex++;
        YAHOO.widget.slideshow.timer = setTimeout('YAHOO.widget.slideshow.loadNextSlide()', (YAHOO.widget.slideshow.timeOut * 1000));
    }
}

YAHOO.widget.slideshow.preloadImages = function() {
    for (var i = YAHOO.widget.slideshow.slides.length; i > -1; i-- ) {
        if (!YAHOO.util.Dom.get('slideshow_' + i)) {
            if (YAHOO.widget.slideshow.slides[i]) {
                var div = document.createElement('div');
                div.id = 'slideshow_' + i;
                YAHOO.widget.slideshow.slide_holder.appendChild(div);
                var nextImage = YAHOO.widget.slideshow.slides[i];
                YAHOO.util.Dom.setStyle(div, 'background-image', 'url('+ nextImage + ')');
                YAHOO.util.Dom.setStyle(div, 'opacity', 0);
            }
        }
    }
    YAHOO.widget.slideshow.loadSlide(0, 0);
}

YAHOO.widget.slideshow.init = function(slideID) {
    YAHOO.widget.slideshow.box = new YAHOO.widget.Overlay("sponsors");
    YAHOO.widget.slideshow.box.cfg.setProperty("visible", true);
    //YAHOO.widget.slideshow.box.cfg.setProperty("fixedcenter", true);
    YAHOO.widget.slideshow.slide_holder = YAHOO.util.Dom.get('slide_holder');

    YAHOO.widget.slideshow.preloadImages();
    YAHOO.util.Event.addListener(YAHOO.widget.slideshow.slide_holder, "click", sponsorNavigate);
    //YAHOO.widget.slideshow.loadSlide(0);
}
YAHOO.util.Event.addListener(window, 'load', YAHOO.widget.slideshow.init, YAHOO.widget.slideshow, true);

var sponsorNavigate = function()
{
    var currentSlide = YAHOO.widget.slideshow.currentSlide;
	if (YAHOO.widget.slideshow.urls[currentSlide].indexOf('http') > -1)
		window.open(YAHOO.widget.slideshow.urls[currentSlide]);
	else
		getContent(YAHOO.widget.slideshow.urls[currentSlide]);
}


