var m_bColourSchemeBlack;
var m_bDisplayBackground;
var m_bBackgroundAudio;

function openEmailPopup(p_nId)
{
    var oWindow = window.open("email_popup.php?id=" + p_nId,"emailPopup",'width=300,height=400,toolbar=0,resizable=1');
}

function toggleCheckbox(p_nId)
{
    var hiddenFields = ["searchblog","searchmedia","changemood"];
    
    var oCheckbox = document.getElementById("checkbox"+p_nId);
    
    if (oCheckbox.src.indexOf("images/checkbox_on") != -1)
    {
        oCheckbox.src = "images/checkbox_off" + ((m_bColourSchemeBlack == false) ? "_inverted" : "") + ".gif";
        document.storageForm[hiddenFields[p_nId]].value = 0;
    }
    else
    {
        oCheckbox.src = "images/checkbox_on" + ((m_bColourSchemeBlack == false) ? "_inverted" : "") + ".gif";
        document.storageForm[hiddenFields[p_nId]].value = 1;
    }
}


if(window.XMLHttpRequest)
    httpRequest = new XMLHttpRequest();
else if(window.ActiveXObject)
    httpRequest = new ActiveXObject("MSXML2.XMLHTTP");

function reloadPage()
{
    if (httpRequest.readyState == 4)
    {    
        document.location.reload();
    }
}

function toggleStylesheet(p_bState, p_bStore)
{
    // White >>  p_bState = false
    // Black >>  p_bState = true
    
    // alert(p_bState);
    
    m_bColourSchemeBlack = p_bState; 
    
    // Toggle style sheet
    var i, a, main;
    for(i=0; (a = document.getElementsByTagName("link")[i]); i++)
    {
        // alert(a);
        if(a.getAttribute("rel").indexOf("style") != -1  && a.getAttribute("title")) 
        {
            a.disabled = true;
            if (a.getAttribute("title") == "lightStyle") 
            {
                if (a.disabled != p_bState)
                {
                    a.disabled = p_bState;
                }
            }
        }
    }    
    
    // loop through image elements that need changing
    var imageElements = [["search_button","search_now_button"],
                         ["menu_label_options","menu_label_options"],
                         ["menu_colour0","menu_colour_dark"],
                         ["menu_colour1","menu_colour_light"],
                         ["menu_background","menu_background"],
                         ["menu_audio","menu_audio"],
                         ["menu_label_nav","menu_label_nav"],
                         ["menu_nav0","menu_button_blog"],
                         ["menu_nav1","menu_button_forum"],
                         ["menu_nav2","menu_button_shop"],
                         ["menu_nav3","menu_button_register"],
                         ["menu_nav4","menu_button_links"],
                         ["menu_nav5","menu_button_storage"]];

    for (var i=0; i<imageElements.length; i++)
    {
        var oImage = document.getElementById(imageElements[i][0])
        oImage.src = "images/" + imageElements[i][1] + ((p_bState == false) ? "_inverted" : "") + ".gif";
        oImage.oSrc = oImage.src;
    }
    
    // change flash movies
    callFlash('newsfeed_swf','setColour',p_bState);
    
    if (p_bStore != false)
    {
        // Use XMLHttpRequest to store php session var
        if(window.XMLHttpRequest)
            httpRequest = new XMLHttpRequest();
        else if(window.ActiveXObject)
            httpRequest = new ActiveXObject("MSXML2.XMLHTTP");

        httpRequest.open('POST', 'toggle_colourscheme.php', true);
        httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        httpRequest.send('state=' + (p_bState ? 'true' : 'false'));  
        
        if (navigator.appName == "Microsoft Internet Explorer")
        {
            httpRequest.onreadystatechange = reloadPage;// document.location.reload;
        }
    }
}

// *********************************************************
// * Toggle Background
// ********************************************************* 
function toggleBackground(p_bState)
{
    if (p_bState != undefined)
    {
        m_bDisplayBackground = p_bState;
    }
    else
    {
        m_bDisplayBackground = !m_bDisplayBackground;
        p_bState = m_bDisplayBackground;
    }

    // toggle display
    document.getElementById("flashcontent").style.display = p_bState ? "block" : "none";
    
    // Use XMLHttpRequest to store php session var
    if(window.XMLHttpRequest)
        var httpRequest = new XMLHttpRequest();
    else if(window.ActiveXObject)
        var httpRequest = new ActiveXObject("MSXML2.XMLHTTP");
    
    
    httpRequest.open('POST', 'toggle_background.php', true);
    httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    httpRequest.send('state=' + (p_bState ? 'true' : 'false'));

}

// *********************************************************
// * Toggle Background Audio
// ********************************************************* 
function toggleBackgroundAudio(p_bState, p_bSave)
{
	
	if (p_bSave == undefined)
	{
		p_bSave	= true;
	}
	
	
    if (p_bState != undefined)
    {
        m_bBackgroundAudio = p_bState;
    }
    else
    {
        m_bBackgroundAudio = !m_bBackgroundAudio;
        p_bState = m_bBackgroundAudio;
    }

    // toggle display
    callFlash('backgroundSwf','setAudio',p_bState);
    
    if (p_bSave != false)
    {
    
		// Use XMLHttpRequest to store php session var
		if(window.XMLHttpRequest)
			var httpRequest = new XMLHttpRequest();
		else if(window.ActiveXObject)
			var httpRequest = new ActiveXObject("MSXML2.XMLHTTP");

		httpRequest.open('POST', 'toggle_background_audio.php', true);
		httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		httpRequest.send('state=' + (p_bState ? 'true' : 'false'));
    
    }

}

// *********************************************************
// * Communication with Flash
// ********************************************************* 
function thisMovie(movieName)
{
    if (navigator.appName.indexOf("Microsoft") != -1) 
    {
        return window[movieName];
    }
    else 
    {
        return document[movieName];
    }
}

function callFlash(p_sMovieName, p_sFunction, p_sParams)
{
    var oFlashMovie = thisMovie(p_sMovieName);
    
    if (oFlashMovie)
    {
        switch (p_sFunction)
        {
            case "updateKeywords":
                if (m_bBackgroundSWFReady == true)
                {
                    oFlashMovie.flashUpdateKeywords(escape(p_sParams));
                }
                break;
            case "setColour":
                if (m_bFeedSWFReady == true)
                {
                    oFlashMovie.flashChangeColour(escape(p_sParams));
                }
                break;
            case "setAudio":
                if (m_bBackgroundSWFReady == true)
                {
                    oFlashMovie.flashSetAudio(escape(p_sParams));
                }
                break;
        }
    }
}

// Vars to keep track of SWF initialising
var m_bFeedSWFReady = false;
var m_bBackgroundSWFReady = false;

// Notification from Flash that particular SWFs have initialised. Called from Flash. 
function notifyFlashInit(p_sMovieName)
{
    switch (p_sMovieName)
    {
        case "backgroundSWF":
            m_bBackgroundSWFReady = true;
            break;
        case "feedSWF":
            m_bFeedSWFReady = true;
            break;
    }
}


// *********************************************************
// * MM rollover scripts
// *********************************************************
function MM_swapImgRestore() 
{ //v3.0
  var i,x,a=document.MM_sr;
  for(i=0; a&&i<a.length && (x=a[i]) && x.oSrc; i++)
  {
    x.src=x.oSrc;
  }
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
