// prefix by init_
//

// functions:
//
// windowError()
// clearAllIntervals()
// checkBrowser()
// preloadLaterImagesAndThenPages();
// preloadInitialImages();
// preloadLaterImages();
// preloadPages();
// preloadInitialPages();
// preloadLaterPages();

var gstrLang = "en" // other possibility is "ga"
var gstrTdCurrentMenuItemId = "menuItem_1"; //beware of this - check that works in IE5
var gstrTdCurrentMenuItemParentId = null;
var gintMainContentHeight_new, gintMainContentHeight_old; // to do with fancy scrolling in of text.
var gstrCurrentFile, gstrCurrentTitle;
var gstrCurrentImageFile;

var gintCurrentImageWidth = 0;
var gintMaxImageHeight = 0;
var gintCurrentImageTop = 0;
var gisFinishedDisplayingMainContent = true; //keeps track so clicking on new links
				         //doesn't work unless this value is true
var gintImageDefaultTop = 180;
var gintImageDefaultLeft = 640;
var gintImageDefaultWidth = 155;
var gisRestrictImageHeight = false;
var gisLoadingImage = true;
var gisAdjustMainImage = true;

//variables needed for global synchronising of displaying outside HTML files.
var gintCountToDisplay = -1;
var gintDisplayCounter = -1;
var gstrFrameToUse = new Array();
var gstrDivToUse = new Array();
var gisLinkToCurrentlySelectedPage = false;

var gInterval, gIntervalFadeInImage, gIntervalMoveOverCompu, gIntervalMenuItemsVisible, gintervalFadeOutImage;

window.onerror = init_windowError;

function init_windowError(msg, url, linenumber)
{
    // error has occurred
    var e;
    
    try
    {
        gisAlreadyErrorOccurred;
    }
    catch(e)
    {
        //don't bother showing error message ...
        //alert("An error has occurred. \nError description: " + msg + " at line number "+ linenumber +".\nPlease report this to: info@compusquad.ie.");
        gisAlreadyErrorOccurred = true;	
        init_clearAllIntervals();
    }

    return true;
}

function init_clearAllIntervals()
{
    var e;

    try
    {
        window.clearInterval(gInterval);
    }
    catch (e)
    {
    }

    try
    {
        window.clearInterval(gIntervalFadeInImage);
    }
    catch (e)
    {
    }

    try
    {
        window.clearInterval(gIntervalMoveOverCompu);
    }
    catch (e)
    {
    }

    try
    {
        window.clearInterval(gIntervalMenuItemsVisible);
    }
    catch (e)
    {
    }

    try
    {
        window.clearInterval(gintervalFadeOutImage);
    }
    catch (e)
    {
    }
	
}

function init_checkBrowser()
{

    // this is a function for checking the browser being used
    
    /*if (navigator.appName.indexOf("Explorer") != -1)
    {
        
    }*/

}


function init_preloadLaterImagesAndThenPages()
{
    init_preloadLaterImages();
    window.setTimeout("init_preloadPages()", 1000); //give time for images to load
}

function init_preloadInitialImages()
{
    var astrImageTitles= new Array('home');
    var astrOtherImages = new Array('csquad_logo','headerImage','home','making_the_net_work_better');

    for (var i=0;i<astrImageTitles.length;i++)
    {
            var imgNew = new Image();
            imgNew.src="images/title_"+astrImageTitles[i]+".gif";
    }
    
    for (var i=0;i<astrOtherImages.length;i++)
    {
            var imgNew = new Image();
            imgNew.src = "images/"+astrOtherImages[i]+".gif";
    }

}

function init_preloadLaterImages()
{
    var astrImageTitles = new Array('broadband','casestudies_business','casestudies_school', 'computer', 'contact', 'broadband',
                                    'networkAdmin','solutions_business','solutions_database', 'training', 'solutions_security',
                                    'accueil', 'administration_reseau','cas_staideir_gno','cas_staideir_scoileanna',
                                    'contactez_nous','dean','duilleog','etudes_de_cas_ecoles',
                                    'etudes_de_cas_entreprises','formation','idirlion_leathanbhandach',
                                    'internet_a_bande_large','pairtneiri','partenaires',
                                    'partners','reitigh','reitigh_bunachair_shonrai','reitigh_do_scoileanna',
                                    'reitigh_ghno','reitigh_shlandala','reseautique','riarachan_lionra',
                                    'school_solutions','seirbhisi','services_aux_entreprises','services_informatiques',
                                    'solutions_de_base_de_donnees', 'solutions_de_securite','solutions_d_affaires','solutions_pour_les_ecoles',
                                    'traenail');
    var astrOtherImages = new Array('services','networkAdmin','solutions','contact',
                                    'business_solutions','security_solutions','database_solutions','school_solutions','schoolbags',
                                    'training','briefcases','broadband');

    for (var i=0;i<astrImageTitles.length;i++)
    {
        var imgNew = new Image();
        imgNew.src = "images/title_"+astrImageTitles[i]+".gif";
    }
    
    for (var i=0;i<astrOtherImages.length;i++)
    {
        var imgNew = new Image();
        imgNew.src = "images/"+astrOtherImages[i]+".gif";
    }

}

var gastrPreloadPages = new Array();
var gintPreloadPageCount = -1;
var gstrPreloadedLangAlready = "";

function init_preloadPages()
{
    var astrFiles = new Array('home','computerservices','networkadmin','school','business','training','broadband',
                              'casestudies_businesses','casestudies_schools','security','database','contact');

    gastrPreloadPages = astrFiles;
    if (gstrPreloadedLangAlready.indexOf(gstrLang) != -1)
    {
        return; //these files are already preloaded, no need to do again.
    }
    
    gintPreloadPageCount = 0;
    
    frames['frameForPreLoadingOnly'].location.replace("generated_html/"+gstrLang+"/"+gastrPreloadPages[gintPreloadPageCount]+"_"+gstrLang+".html");
    
}

function init_preloadNextPage()
{
    gintPreloadPageCount = gintPreloadPageCount + 1;
    
    if ((gintPreloadPageCount <= gastrPreloadPages.length) && (gastrPreloadPages[gintPreloadPageCount]))
    {
        frames['frameForPreLoadingOnly'].location.replace("generated_html/"+gstrLang+"/"+gastrPreloadPages[gintPreloadPageCount]+"_"+gstrLang+".html");
    }
    else
    {
        if (gstrPreloadedLangAlready.indexOf(gstrLang) == -1)
        {
            gstrPreloadedLangAlready = gstrPreloadedLangAlready+"-"+gstrLang;
        }
    }
}