//
// common.js
//

// Author: Colin Jaggs
// Date: 6th October 2004
// Description: Common JS functions use throughout the site

// common variables
var popUpWin = false;
var xOffset = 10, yOffset = 10;
var floatingLayers = new Array("floatingInfo");

// cross browser function to find an element by id
function objectById(id)
{ 
	if (document.getElementById) return document.getElementById(id); 
	else if (document.all) return document.all[id]; 
	else if (document.layers) return document.layers[id]; 
} 

// textbox focus and blur events (change active css)
function focusTxt(obj) { obj.className = obj.className + " Selected"; }
function blurTxt(obj) { obj.className = obj.className.replace(" Selected", ""); }

// quick search keypress event capture
function qsKeyPress(e)
{
    if (e.keyCode == 13)
    {
        qsGo();
        return false;
    }
    else return true;
}

// quick search go event
function qsGo()
{
    var url = HTTPHost + "/search-results";
    if ((document.forms[0].qSrch.value != "") && (document.forms[0].qSrch.value != "Search CFC")) url += "?a=" + document.forms[0].qSrch.value.replace(/[\<\%\&\@\#\=\+\>]*/g, "").replace(/\s+/g, " ").replace(/^\s+/, "").replace(/\s+$/, "");
    location.href = url;
}

// load a banner, checking for a flash banner first (if flash is available) and then a jpg
function autoBanner(ver)
{
	ver = ver || 1;
    var bWidth = 900, bHeight = 105;
    if (PageName == "home") bHeight = 244;

    // check if there are any banners specifically for this page
    if (avlPageBanners != "")
    {
        // check for flash or image based banners for this page
        if (avlPageBanners.indexOf("swf") > -1 && DetectFlashVer(6, 0, 0)) WriteFlashBanner(FolderRoot + "DynamicContent/Flash/Banners/" + PageName.replace(/\//g, "-"), bWidth, bHeight, ver);
        else if (avlPageBanners.indexOf("png") > -1) WriteImgBanner(FolderRoot + "DynamicContent/Images/Banners/" + PageName.replace(/\//g, "-") + ".png", bWidth, bHeight);
        else if (avlPageBanners.indexOf("jpg") > -1) WriteImgBanner(FolderRoot + "DynamicContent/Images/Banners/" + PageName.replace(/\//g, "-") + ".jpg", bWidth, bHeight);
    }
    
    // otherwise look for default banners instead
    else if (PageName != "home")
    {
        // check for default flash or image based banners
        if (avlDefBanners.indexOf("swf") > -1 && DetectFlashVer(6, 0, 0)) WriteFlashBanner(FolderRoot + "DynamicContent/Flash/Banners/Default", bWidth, bHeight, ver);
        else if (avlDefBanners.indexOf("png") > -1) WriteImgBanner(FolderRoot + "DynamicContent/Images/Banners/Default.png", bWidth, bHeight);
        else if (avlDefBanners.indexOf("jpg") > -1) WriteImgBanner(FolderRoot + "DynamicContent/Images/Banners/Default.jpg", bWidth, bHeight);
    }
}

// write a flash banner to the document
function WriteFlashBanner(swfPath, width, height, ver)
{
    AC_FL_RunContent
    (
	    "src", swfPath + "?ver=" + ver,
	    "width", width,
	    "height", height,
	    "align", "middle",
	    "id", "autoBanner",
	    "quality", "high",
	    "bgcolor", "#FFFFFF",
	    "name", "autoBanner",
	    "allowScriptAccess", "sameDomain",
	    "type", "application/x-shockwave-flash",
	    "wmode", "transparent",
	    'codebase', 'http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab',
	    "pluginspage", "http://www.adobe.com/go/getflashplayer"
    );
}

// write an image banner to the document
function WriteImgBanner(imgPath, width, height)
{
    document.write("<img src=\"" + imgPath + "\" alt=\"\" width=\"" + width + "\" height=\"" + height + "\" />")
}

// add a page to the user's favourites
function addToFavorites(url)
{
	if (window.external) window.external.AddFavorite(url, PageTitle);
	else alert("Sorry but your browser doesn't support this function.");
}
