/* ***** VALIDATION ***** */
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 checkContact()
{
var blnForm_Validated = true;
var strMessage = "Please fill in the highlighted form fields.\n";

var arrInputs = document.getElementById("mainContact").getElementsByTagName("input");
var arrTextareas = document.getElementById("mainContact").getElementsByTagName("textarea");

var txtFirst_Name = getFormElement(arrInputs, "txtFirst_Name");
var txtSurname = getFormElement(arrInputs, "txtSurname");
var txtCompany_Name = getFormElement(arrInputs, "txtCompany_Name");
var txtEmail = getFormElement(arrInputs, "txtEmail");
var txtEmailConfirm = getFormElement(arrInputs, "txtEmailConfirm");
var txtEnquiry = getFormElement(arrTextareas, "txtEnquiry");

txtFirst_Name.className = "";
txtSurname.className = "";
txtCompany_Name.className = "";
txtEmail.className = "";
txtEmailConfirm.className = "";
txtEnquiry.className = "";

if (txtFirst_Name.value == "")
    {
    blnForm_Validated = false;
    txtFirst_Name.className = "fillForm";
    }

if (txtSurname.value == "")
    {
    blnForm_Validated = false;
    txtSurname.className = "fillForm";
    }

if (txtCompany_Name.value == "")
    {
    blnForm_Validated = false;
    txtCompany_Name.className = "fillForm";
    }

if (txtEmail.value == "")
    {
    blnForm_Validated = false;
    txtEmail.className = "fillForm";
    txtEmailConfirm.className = "fillForm";
    }
else if (txtEmail.value != txtEmailConfirm.value)
    {
    blnForm_Validated = false;
    txtEmail.className = "fillForm";
    txtEmailConfirm.className = "fillForm";
    strMessage += "\nPlease confirm your email address."
    }

if (txtEnquiry.value == "")
    {
    blnForm_Validated = false;
    txtEnquiry.className = "fillForm";
    }

if (!blnForm_Validated)
    {
    alert(strMessage);
    }

return blnForm_Validated;
}



function checkSubscribe()
{
var arrInputs = document.getElementById("subscribe").getElementsByTagName("input");
var txtSubEmail = getFormElement(arrInputs, "txtSubEmail");

if (txtSubEmail.value == "" || txtSubEmail.value == "Email address")
    {
    alert("Please enter your email address");
    txtSubEmail.className = "fillForm";
    return false;
    }
else
    {
    document.forms[0].target = "_blank";
    return true;
    }
}
/* ***** VALIDATION ***** */



/* ***** SLIDE SERVICES ***** */
var blnSliding = false;
var blnSlideDown = true;
var slideCurrent;
var intSlideDelay = 50;
var intOpacityLevel = 0;
var intCurrentHeight;
var intSlideMaxHeight;
var divCurrent;
var linkOpenClose;
var timerSlide;



function slideService(intIndex)
{
divCurrent = document.getElementById("expandInfo" + intIndex);
linkOpenClose = divCurrent.getElementsByTagName("a")[0];

slideCurrent = divCurrent.getElementsByTagName("div")[1];

if (!blnSliding)
    {
    blnSliding = true;

    if (slideCurrent.style.height)
        {
        intCurrentHeight = slideCurrent.style.height.substring(0,slideCurrent.style.height.length - 2)
        }
    else
        {
        intCurrentHeight = 0;
        }

    blnSlideDown = (intCurrentHeight == 0) ? true : false;
    intOpacityLevel = (blnSlideDown) ? 0 : 100;

    slideCurrent.style.filter = "alpha(opacity=100)";
    slideCurrent.style.opacity = "1";
    slideCurrent.style.height = "auto";

    intSlideMaxHeight = slideCurrent.offsetHeight;

    slideCurrent.style.height = intCurrentHeight + "px";

    blnIE = (navigator.appName.indexOf("Microsoft Internet Explorer") != -1) ? true : false;

    divCurrent.className = (blnSlideDown) ? "expandOn" : "";
    linkOpenClose.innerHTML = (blnSlideDown) ? "Click to collapse" : "Click to expand";

    timerSlide = setInterval(doSliding, intSlideDelay);
    }
}



function doSliding()
{
if (blnSlideDown)
    {
    intOpacityLevel = (intOpacityLevel != 100) ? intOpacityLevel + 5 : intOpacityLevel;

    if (intCurrentHeight != intSlideMaxHeight)
        {
        intCurrentHeight = (parseFloat(intCurrentHeight) + 15 > intSlideMaxHeight) ? intSlideMaxHeight : parseFloat(intCurrentHeight) + 15;
        }
    }
else
    {
    intOpacityLevel = (intOpacityLevel != 0) ? intOpacityLevel - 5 : intOpacityLevel;

    if (intCurrentHeight != 0)
        {
        intCurrentHeight = (parseFloat(intCurrentHeight) - 30 < 0) ? 0 : parseFloat(intCurrentHeight) - 30;
        }
    }

    slideCurrent.style.filter = "alpha(opacity=" + intOpacityLevel + ")";
    slideCurrent.style.opacity = intOpacityLevel / 100;
    slideCurrent.style.height = intCurrentHeight + "px";

if ((intOpacityLevel == 100 && intCurrentHeight == intSlideMaxHeight) || (intOpacityLevel == 0 && intCurrentHeight == 0))
    {
    clearInterval(timerSlide);

    if (blnIE)
        {
        slideCurrent.style.removeAttribute('filter');
        }

    blnSliding = false;
    }
}
/* ***** SLIDE SERVICES ***** */



/* ***** POP CONTENT ***** */
function popContent(blnOnOff,intPopIndex)
{
var divPopContent = document.getElementById("popContent");

if (blnOnOff == 1)
    {
    document.getElementById("overlayLayer").style.display = "block";
    divPopContent.style.display = "block";

    var arrPopDivs = divPopContent.getElementsByTagName("div");
    var intCountPops = 0;

    for (var intLoopPops = 0; intLoopPops < arrPopDivs.length; intLoopPops++)
        {
        if (arrPopDivs[intLoopPops].id.indexOf("poppingCont") != -1)
            {
            arrPopDivs[intLoopPops].style.display = (intCountPops == intPopIndex) ? "block" : "none";
            intCountPops++;
            }
        }

    centerElementOnScreen(divPopContent);
    }
else
    {
    document.getElementById("overlayLayer").style.display = "none";
    divPopContent.style.display = "none";
    }
}



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 topOffset = Math.ceil((viewPortHeight/2) - (409/2));
//var leftOffset = Math.ceil((viewPortWidth/2) - (715/2));

var top = scrollTop + topOffset;//w=715 h=409
var left = scrollLeft + leftOffset;

element.style.position = "absolute";
element.style.top = top + "px";
element.style.left = left + "px";
}
/* ***** POP CONTENT ***** */



function showBlogSubMenu(intIndex)
{
var blogMenu = document.getElementById("rightBlog").getElementsByTagName("ul")[0];
var arrBlogSubMenus = blogMenu.getElementsByTagName("ul");

for (var intLoopSubs = 0; intLoopSubs < arrBlogSubMenus.length; intLoopSubs++)
    {
    arrBlogSubMenus[intLoopSubs].style.display = (intIndex == intLoopSubs) ? "block" : "none";
    }
}



function checkAddComment()
{
var blnForm_Validated = true;
var strMessage = "Please fill in the highlighted form fields.\n";

var arrInputs = document.getElementsByTagName("input");
var arrTextareas = document.getElementsByTagName("textarea");

var txtName = getFormElement(arrInputs, "txtName");
var txtEmail = getFormElement(arrInputs, "txtEmail");
var txtComment = getFormElement(arrTextareas, "txtComment");

txtName.className = "";
txtEmail.className = "";
txtComment.className = "";

if (txtName.value == "")
    {
    blnForm_Validated = false;
    txtName.className = "fillForm";
    }

if (txtEmail.value == "")
    {
    blnForm_Validated = false;
    txtEmail.className = "fillForm";
    }

if (txtComment.value == "")
    {
    blnForm_Validated = false;
    txtComment.className = "fillForm";
    }
else if (txtComment.value.length > 300)
    {
    blnForm_Validated = false;
    txtComment.className = "fillForm";

    strMessage += "Please keep your comments to 300 characters or below."
    }

if (!blnForm_Validated)
    {
    alert(strMessage);
    }

return blnForm_Validated;
}



function showSubscribe(blnHasFocus,objTxtSubEmail)
{
if (blnHasFocus && objTxtSubEmail.value == "Email address")
    {
    objTxtSubEmail.value = "";
    }
else if (!blnHasFocus && objTxtSubEmail.value == "")
    {
    objTxtSubEmail.value = "Email address";
    }
}




function showSeraphim(blnShow)
{
document.getElementById("seraphim").getElementsByTagName("p")[0].style.display = (blnShow) ? "block" : "none";
}
