function getFormElement(arrFormElements, strFormPartID)
{
var objOutput;

for (var intLooper = 0; intLooper < arrFormElements.length; intLooper++)
    {
    if (arrFormElements[intLooper].id.indexOf(strFormPartID) != -1)
        {
        objOutput = arrFormElements[intLooper];
        break;
        }
    }

return objOutput;
}



function getElementsByClassName(arrElements,strClassName)
{
var arrReturn = [];

for (var loopElements = 0; loopElements < arrElements.length; loopElements++)
    {
    if (arrElements[loopElements].className == strClassName)
        {
        arrReturn[arrReturn.length] = arrElements[loopElements];
        }
    }

return arrReturn;
}



/* ***** VALIDATION ***** */
function checkContact()
{
var blnForm_Validated = true;
var strMessage = "Please fill in the highlighted form fields.\n";

var arrSelects = document.getElementsByTagName("select");
var arrInputs = document.getElementsByTagName("input");
var arrTextareas = document.getElementsByTagName("textarea");

var txtName = getFormElement(arrInputs, "txtName");
var txtCompany_Name = getFormElement(arrInputs, "txtCompany_Name");
var txtEmail = getFormElement(arrInputs, "txtEmail");
var txtEmailConfirm = getFormElement(arrInputs, "txtEmailConfirm");
var txtEnquiry = getFormElement(arrTextareas, "txtEnquiry");

txtName.className = "";
txtCompany_Name.className = "";
txtEmail.className = "";
txtEmailConfirm.className = "";
txtEnquiry.className = "";

if (txtName.value == "")
    {
    blnForm_Validated = false;
    txtName.className = "txtName fillForm";
    }

if (txtCompany_Name.value == "")
    {
    blnForm_Validated = false;
    txtCompany_Name.className = "txtCompany fillForm";
    }

if (txtEmail.value == "")
    {
    blnForm_Validated = false;
    txtEmail.className = "txtEmail fillForm";
    txtEmailConfirm.className = "txtEmailConfirm fillForm";
    }
else if (txtEmail.value != txtEmailConfirm.value)
    {
    blnForm_Validated = false;
    txtEmail.className = "txtEmail fillForm";
    txtEmailConfirm.className = "txtEmailConfirm fillForm";
    strMessage += "\nPlease confirm your email address."
    }

if (txtEnquiry.value == "")
    {
    blnForm_Validated = false;
    txtEnquiry.className = "fillForm";
    }

if (!blnForm_Validated)
    {
    alert(strMessage);
    }

return blnForm_Validated;
}
/* ***** VALIDATION ***** */



/* ***** POP UP CONTENT ***** */
function popContent(blnOnOff,intPopIndex,intTotal_Slides)
{
clearTimeout(timeoutRunAgain);
clearInterval(timerSlide);

var divPopContent = document.getElementById("popContent");

if (blnOnOff == 1)
    {
    document.getElementById("overlayLayer").style.display = "block";
    divPopContent.style.display = "block";

    var arrPopDivs = divPopContent.getElementsByTagName("div");
    var divPopCurrent;
    var intCountPops = 0;

    for (var intLoopPops = 0; intLoopPops < arrPopDivs.length; intLoopPops++)
        {
        if (arrPopDivs[intLoopPops].id.indexOf("poppingCont") != -1)
            {
            if (intCountPops == intPopIndex)
                {
                arrPopDivs[intLoopPops].style.display = "block";
                divPopCurrent = arrPopDivs[intLoopPops];
                }
            else
                {
                arrPopDivs[intLoopPops].style.display = "none";
                }

            intCountPops++;
            }
        }

    divSSHolder = divPopCurrent;
    divSSHolder.getElementsByTagName("img")[0].style.display = "block";
    divSSHolder.getElementsByTagName("div")[0].style.display = "block";

    if (intTotal_Slides > 1)
        {
        document.getElementById("prevButton").style.display = "block";
        document.getElementById("nextButton").style.display = "block";

        blnSliding = false;
        intIndexCurrent = 0;
        intIndexNext = 0;
        intTotalSlides = intTotal_Slides;
        intOpacityLevel = 100;
        strNavDirection = "";

        timeoutRunAgain = setTimeout(startSlideShow,7000);
        }
    else
        {
        document.getElementById("prevButton").style.display = "none";
        document.getElementById("nextButton").style.display = "none";
        }

    centerElementOnScreen(divPopContent);
    }
else
    {
    document.getElementById("overlayLayer").style.display = "none";
    divPopContent.style.display = "none";

    blnSliding = false;
    blnAutoScroll = true;
    intIndexCurrent = 0;
    intIndexNext = 0;
    intTotalSlides = intTotalTestSlides;
    intOpacityLevel = 100;
    divSSHolder = document.getElementById("topSection");;
    strNavDirection = "";

    var arrTestsDivs = divSSHolder.getElementsByTagName("div");
    var arrTestsImgs = divSSHolder.getElementsByTagName("img");
    
    for (var intLoopTest = 0; intLoopTest < arrTestsDivs.length; intLoopTest++)
        {
        arrTestsDivs[intLoopTest].style.display = "none";
        arrTestsImgs[intLoopTest].style.display = "none";
        }

    startSlideShow();
    }
}



function centerElementOnScreen(element)
{
var scrollTop = document.body.scrollTop;
var scrollLeft = document.body.scrollLeft;
var viewPortHeight = document.body.clientHeight;
var viewPortWidth = document.body.clientWidth;

if (document.compatMode == "CSS1Compat")
    {
    scrollTop = document.documentElement.scrollTop;
    scrollLeft = document.documentElement.scrollLeft;
    viewPortHeight = document.documentElement.clientHeight;
    viewPortWidth = document.documentElement.clientWidth;
    }

var topOffset = Math.ceil(viewPortHeight/2 - element.offsetHeight/2);
var leftOffset = Math.ceil(viewPortWidth/2 - element.offsetWidth/2);

var top = scrollTop + topOffset;
var left = scrollLeft + leftOffset;

element.style.position = "absolute";
element.style.top = top + "px";
element.style.left = left + "px";
}
/* ***** POP UP CONTENT ***** */



/* ***** SLIDESHOW ***** */
var blnSliding = false;
var blnAutoScroll = true;
var blnIE;
var intIndexCurrent = 0;
var intIndexNext = 0;
var imgCurrent;
var imgNext;
var txtCurrent;
var txtNext;
var intTotalSlides;
var intOpacityLevel = 100;
var divSSHolder;
var strNavDirection = "";
var timerSlide;
var timeoutRunAgain;



function navPopImages(strDirection)
{
strNavDirection = strDirection;

blnAutoScroll = false
startSlideShow();
}



function startSlideShow()
{
clearTimeout(timeoutRunAgain);

if (!blnSliding)
    {
    blnSliding = true;

    if (strNavDirection == "-")
        {
        intIndexNext = (intIndexNext - 1 < 0) ? (intTotalSlides -1) : intIndexNext - 1;
        }
    else
        {
        intIndexNext = (intIndexNext + 1 == intTotalSlides) ? 0 : intIndexNext + 1;
        }

    imgCurrent = divSSHolder.getElementsByTagName("img")[intIndexCurrent];
    imgCurrent.style.filter = "alpha(opacity=100)";
    imgCurrent.style.opacity = "1";
    imgCurrent.style.display = "block";

    imgNext = divSSHolder.getElementsByTagName("img")[intIndexNext];
    imgNext.style.filter = "alpha(opacity=0)";
    imgNext.style.opacity = "0.0";
    imgNext.style.display = "block";

    txtCurrent = divSSHolder.getElementsByTagName("div")[intIndexCurrent];
    txtCurrent.style.filter = "alpha(opacity=100)";
    txtCurrent.style.opacity = "1";
    txtCurrent.style.display = "block";

    txtNext = divSSHolder.getElementsByTagName("div")[intIndexNext];
    txtNext.style.filter = "alpha(opacity=0)";
    txtNext.style.opacity = "0.0";
    txtNext.style.display = "block";

    blnIE = (navigator.appName.indexOf("Microsoft Internet Explorer") != -1) ? true : false;

    timerSlide = setInterval(slideMain, 30);
    }
}



function slideMain()
{
if (intOpacityLevel != 0)
    {
    intOpacityLevel = intOpacityLevel - 5;

    imgCurrent.style.filter = "alpha(opacity=" + intOpacityLevel + ")";
    imgCurrent.style.opacity = intOpacityLevel / 100;

    imgNext.style.filter = "alpha(opacity=" + (100 - intOpacityLevel) + ")";
    imgNext.style.opacity = (100 - intOpacityLevel) / 100;

    txtCurrent.style.filter = "alpha(opacity=" + intOpacityLevel + ")";
    txtCurrent.style.opacity = intOpacityLevel / 100;

    txtNext.style.filter = "alpha(opacity=" + (100 - intOpacityLevel) + ")";
    txtNext.style.opacity = (100 - intOpacityLevel) / 100;
    }
else 
    {
    clearInterval(timerSlide);

    imgCurrent.style.display = "none";
    txtCurrent.style.display = "none";

    intIndexCurrent = intIndexNext;
    intOpacityLevel = 100;

    if (blnIE)
        {
        txtNext.style.removeAttribute('filter');
        }

    blnSliding = false;

    if (blnAutoScroll)
        {
        timeoutRunAgain = setTimeout(startSlideShow,7000);
        }
    }
}
/* ***** SLIDESHOW ***** */
