<!--

//
// Script    :   fes_gen_functions.js
// Author    :   C.E. Berry
// Version   :   1.0
// Notes     :   General Javascript function library for Flex-eSystems products
//
//               All material contained within is the intellectual property of Flex-eSystems Ltd.
//               and as such may not be reproduced in any way shape or form without the prior consent of
//               Flex-eSystems.
//
//=============================================================================================================

var pub_image_dir  ='images/';
var pub_preloaded = false;
var pub_options = new Array();
var pubNn = false;

// Set pubNn to true if running Netscape Navigator
// This can then be used for testing browser model in other functions

if (document.layers)
{
    pubNn = true;
}
else
{
    pubNn = false;
}


// Preload images

// Parameters:

//      prm_id = name of image tag
//      prm_img = name of GIF to be associated
//      prm_status = text for the status line
//      prm_top = 1 for top level page, 0 for other

function fncPreLoad(prm_id,prm_img,prm_status,prm_top)
{
    var loc_index = 0;

    if(!document.images)
    {
        return false;
    }
    else
    {
        loc_index = pub_options.length;
        pub_options[loc_index] = new fncOption(prm_id,prm_img,prm_status,prm_top);
        return true;
    }
}

// Mouseover image manipulation for general pages

// Parameters:

//      prm_action = On or Off (Mouse over or Mouse out)
//      prm_id = name of image tag for which mouseover event has been triggered
//      prm_imageswap = 0 - just change status line, 1 - swap image and change status line

function fncChangeOption(prm_action, prm_id, prm_imgswap)
{
    if (document.images && pub_preloaded==true)
    {
        for (loc_index = 0; loc_index < pub_options.length; loc_index++)
        {
            if (pub_options[loc_index].Id == prm_id)
            {
                loc_opt_no = loc_index;
                loc_index = pub_options.length + 1;
            }

        }

        if (prm_action == "On")
        {
            if (prm_imgswap == 1)
            {
                document[pub_options[loc_opt_no].Id].src = pub_options[loc_opt_no].ImgOn.src;
            }

            window.status = pub_options[loc_opt_no].Status;
        }
        else
        {
            if (prm_imgswap == 1)
            {
                document[pub_options[loc_opt_no].Id].src = pub_options[loc_opt_no].ImgOff.src;
            }

            window.status = '';
        }
    }

    return true;

}

// Construct new element of general pages options array

// Parameters:

//      prm_id = name of image tag
//      prm_img = name of GIF file associated
//      prm_status = text for the status line
//      prm_top = 1 for top level page, 0 for other

function fncOption(prm_id,prm_img,prm_status,prm_top)
{
    this.Id = prm_id;
    this.Status = prm_status;
    this.ImgOff = new Image;
    this.ImgOn = new Image;

    if (prm_top)
    {
        this.ImgOff.src = pub_image_dir + prm_img + '.gif';
        this.ImgOn.src = pub_image_dir + prm_img + 'on.gif';
    }
    else
    {
        this.ImgOff.src = '../'+ pub_image_dir + prm_img + '.gif';
        this.ImgOn.src = '../'+ pub_image_dir + prm_img + 'on.gif';
    }
}

// Create array of URLS for essentials pages

var pubAcUrls = new fncBuildAcUrls(
    "essentials_cd.htm",
    "essentials_dvd.htm",
    "essentials_pc.htm"
    );

// Build array from function arguments

function fncBuildAcUrls()
{
    var locArgs = fncBuildAcUrls.arguments;
    var locInd1 = 0;

    for (locInd1=0; locInd1<locArgs.length; locInd1++)
    {
        this[locInd1] = locArgs[locInd1];
    }

    this.length = locArgs.length;

}

// Function to load splash screen and centre it accordingly (applying offsets if required)

function fncLoadSplash(prm_page_name,prm_target_name,prm_window_width,prm_window_height,prm_xoffset,prm_yoffset,prm_scrollbars)
{
    var loc_xpos = ((screen.width - prm_window_width) / 2) + prm_xoffset;
    var loc_ypos = ((screen.height - 380) / 2) + prm_yoffset;

    if (pubNn)
    {
        loc_win_features = "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=" + prm_scrollbars +",resizable=0,screenX=" + loc_xpos + ",screenY=" + loc_ypos + ",width=" + prm_window_width + ",height=" + prm_window_height;
    }
    else
    {
        loc_win_features = "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=" + prm_scrollbars +",resizable=0,left=" + loc_xpos + ",top=" + loc_ypos + ",width=" + prm_window_width + ",height=" + prm_window_height;
    }

    window.open(prm_page_name,prm_target_name,loc_win_features);
    return true;
}

// Get todays date

function fncTodaysDate()
{
   this_date = new Date();

   var loc_today_no = this_date.getDay();
   var loc_today_date   = this_date.getDate();
   var loc_today_month  = this_date.getMonth();
   var loc_today_year   = this_date.getFullYear();
   var loc_day_name     = '';
   var loc_month_name   = ''

   switch(loc_today_no){
    case 0: loc_day_name = 'Sunday';
            break;
    case 1: loc_day_name = 'Monday';
            break;
    case 2: loc_day_name = 'Tuesday';
            break;
    case 3: loc_day_name = 'Wednesday';
            break;
    case 4: loc_day_name = 'Thursday';
            break;
    case 5: loc_day_name = 'Friday';
            break;
    case 6: loc_day_name = 'Saturday';
            break;
   }

   switch(loc_today_month){
       case 0:  loc_month_name = 'January';
                break;
       case 1:  loc_month_name = 'February';
                break;
       case 2:  loc_month_name = 'March';
                break;
       case 3:  loc_month_name = 'April';
                break;
       case 4:  loc_month_name = 'May';
                break;
       case 5:  loc_month_name = 'June';
                break;
       case 6:  loc_month_name = 'July';
                break;
       case 7:  loc_month_name = 'August';
                break;
       case 8:  loc_month_name = 'September';
                break;
       case 9:  loc_month_name = 'October';
                break;
       case 10: loc_month_name = 'November';
                break;
       case 11: loc_month_name = 'December';
                break;
   }

   var loc_the_date = loc_day_name + ' ' + loc_today_date + ' ' + loc_month_name + ' ' + loc_today_year;

   return loc_the_date;
}

//-->
