function clickButton(e, buttonid)
{
var evt = e ? e : window.event;
var bt = document.getElementById(buttonid);

if (bt)
    {
    if (evt.keyCode == 13)
        {
        bt.click();
        return false;
        }
    }
}



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 showSearch(blnHasFocus,objTxtBox)
{
if (blnHasFocus && objTxtBox.value == "Search...")
    {
    objTxtBox.value = "";
    }
else if (!blnHasFocus && objTxtBox.value == "")
    {
    objTxtBox.value = "Search...";
    }
}



/* ***** IMAGES SLIDESHOW ***** */
var objSlideShowHolder;
var intIndexCurrent = 0;
var intIndexNext;
var intSlideDelay = 100;
var intOpacityLevel = 100;
var imgCurrent;
var imgNext;
var paraCurrent;
var paraNext;
var blnSliding = false;
var blnIE;
var blnSSForward = true;
var blnChangeSSHeading = false;
var blnChangeSSHeight = false;
var timerSlide;



function runSlideShow(blnForward)
{
clearInterval(timerSlide);
clearTimeout(timeoutLoop)

blnSSForward = blnForward;

slideShow();
}



function slideShow()
{
if (!blnSliding)
    {
    blnSliding = true;

    objSlideShowHolder = document.getElementById("slideShow");

    if (blnSSForward)
        {
        intIndexNext = (intIndexCurrent + 1 == intTotalSlides) ? 0 : intIndexCurrent + 1;
        }
    else
        {
        intIndexNext = (intIndexCurrent - 1 == -1) ? (intTotalSlides - 1) : intIndexCurrent - 1;
        }

    imgCurrent = objSlideShowHolder.getElementsByTagName("img")[intIndexCurrent];
    imgCurrent.style.filter = "alpha(opacity=100)";
    imgCurrent.style.opacity = "1";
    imgCurrent.style.display = "block";

    imgNext = objSlideShowHolder.getElementsByTagName("img")[intIndexNext];
    imgNext.style.filter = "alpha(opacity=0)";
    imgNext.style.opacity = "0.0";
    imgNext.style.display = "block";

    if (blnHasText)
        {
        paraCurrent = objSlideShowHolder.getElementsByTagName("p")[intIndexCurrent];
        paraCurrent.style.filter = "alpha(opacity=100)";
        paraCurrent.style.opacity = "1";
        paraCurrent.style.display = "block";

        paraNext = objSlideShowHolder.getElementsByTagName("p")[intIndexNext];
        paraNext.style.filter = "alpha(opacity=0)";
        paraNext.style.opacity = "0.0";
        paraNext.style.display = "block";

        blnIE = (navigator.appName.indexOf("Microsoft Internet Explorer") != -1) ? true : false;
        }

    timerSlide = setInterval(startslideShow, intSlideDelay);
    }
}



function startslideShow()
{
if (intOpacityLevel != 0)
    {
    intOpacityLevel = intOpacityLevel - 10;

    imgCurrent.style.filter = "alpha(opacity=" + intOpacityLevel + ")";
    imgCurrent.style.opacity = intOpacityLevel / 100;

    imgNext.style.filter = "alpha(opacity=" + (100 - intOpacityLevel) + ")";
    imgNext.style.opacity = (100 - intOpacityLevel) / 100;

    if (blnHasText)
        {
        paraCurrent.style.filter = "alpha(opacity=" + intOpacityLevel + ")";
        paraCurrent.style.opacity = intOpacityLevel / 100;

        paraNext.style.filter = "alpha(opacity=" + (100 - intOpacityLevel) + ")";
        paraNext.style.opacity = (100 - intOpacityLevel) / 100;
        }

    if (blnChangeSSHeight)
        {
        objSlideShowHolder.style.height = imgNext.height + "px";
        }
    }
else 
    {
    clearInterval(timerSlide);

    imgCurrent.style.display = "none";

    if (blnHasText)
        {
        paraCurrent.style.display = "none";

        if (blnIE)
            {
            paraNext.style.removeAttribute('filter');
            }
        }

    if (blnChangeSSHeading)
        {
        changeSSHeading(imgNext.title);
        }

    intIndexCurrent = intIndexNext;
    intOpacityLevel = 100;

    blnSliding = false;

    timeoutLoop = setTimeout(slideShow,6000);
    }
}



function changeSSHeading(strHeading)
{
document.getElementById("ssHeading").getElementsByTagName("span")[0].innerHTML = strHeading;
}
/* ***** IMAGES SLIDESHOW ***** */



/* ***** HOME NEWS SLIDESHOW ***** */
var intIndexCurrentNews = 0;
var intIndexNextNews;
var intSlideDelayNews = 100;
var intMoveAmount = 10;
var intMaxHeight = 102;
var intCurrentNewsTop;
var intNextNewsTop;
var divCurrentNews;
var divNextNews;
var blnSlidingNews = false;
var timerSlideNews;



function slideShowNews()
{
if (!blnSlidingNews)
    {
    blnSlidingNews = true;

    intCurrentNewsTop = 0;
    intNextNewsTop = intMaxHeight;

    intIndexNextNews = (intIndexCurrentNews + 1 == intTotalSlidesNews) ? 0 : intIndexCurrentNews + 1;

    divCurrentNews = document.getElementById("homeNewsSS").getElementsByTagName("div")[intIndexCurrentNews];
    divCurrentNews.style.display = "block";
    divCurrentNews.style.top = "px";

    divNextNews = document.getElementById("homeNewsSS").getElementsByTagName("div")[intIndexNextNews];
    divNextNews.style.display = "block";
    divNextNews.style.top = intMaxHeight + "px";

    timerSlideNews = setInterval(startslideShowNews, intSlideDelayNews);
    }
}



function startslideShowNews()
{
if (intNextNewsTop != 0)
    {
    intCurrentNewsTop = intCurrentNewsTop - intMoveAmount;
    intNextNewsTop = (intNextNewsTop - intMoveAmount <= 0) ?  0 : intNextNewsTop - intMoveAmount;

    divCurrentNews.style.top = intCurrentNewsTop + "px";
    divNextNews.style.top = intNextNewsTop + "px";
    }
else 
    {
    clearInterval(timerSlideNews);

    divCurrentNews.style.display = "none";

    intIndexCurrentNews = intIndexNextNews;

    blnSlidingNews = false;

    timeoutLoopNews = setTimeout(slideShowNews,6000);
    }
}
/* ***** HOME NEWS SLIDESHOW ***** */



function showHomeLink(objDiv)
{
var divChild = objDiv.getElementsByTagName("div")[0];
divChild.style.display = (divChild.style.display == "block") ? "none" : "block";
}



function showListing(intIndex)
{
var arrProdListingDivs = document.getElementById("listings").getElementsByTagName("div");
var arrListingLinks = document.getElementById("listingLinks").getElementsByTagName("a");
var arrPointerPositions = new Array("129","433");
var intCountProdListingDivs = 0;

for (var intLoopProdListings = 0; intLoopProdListings < arrProdListingDivs.length; intLoopProdListings++)
    {
    if (arrProdListingDivs[intLoopProdListings].id.indexOf("prodListings") != -1)
        {
        arrProdListingDivs[intLoopProdListings].style.display = (intIndex == intCountProdListingDivs) ? "block" : "none";
        arrListingLinks[intCountProdListingDivs].className = (intIndex == intCountProdListingDivs) ? "linkOn" : "";

        intCountProdListingDivs++;
        }
    }

document.getElementById("pointer").style.left = arrPointerPositions[intIndex] + "px";
}



function showDynamics(intIndex)
{
var arrDynamicLinks = document.getElementById("dynamicLinks").getElementsByTagName("a");
var arrDynamicDivs = document.getElementById("holdDynamics").getElementsByTagName("div");
var intCountDynamicDivs = 0;

for (var loopDynamics = 0; loopDynamics < arrDynamicLinks.length; loopDynamics++)
    {
    arrDynamicLinks[loopDynamics].className = (loopDynamics == intIndex) ? "linkOn" : "";
    }

for (var loopDynamics = 0; loopDynamics < arrDynamicDivs.length; loopDynamics++)
    {
    if (arrDynamicDivs[loopDynamics].id.indexOf("dynamicCont") != -1)
        {
        intCountDynamicDivs++;
        arrDynamicDivs[loopDynamics].style.display = (intCountDynamicDivs == (intIndex + 1)) ? "block" : "none";
        }
    }

document.getElementById("pointer").getElementsByTagName("img")[0].style.left = arrPointerPositions[intIndex] + "px";
}



function goURL(strURL)
{
window.location = strURL;
}



/* ***** VALIDATION ***** */
function checkContact()
{
var blnForm_Validated = true;
var strMessage = "Please fill in the highlighted form fields.\n";

var arrLabels = document.getElementById("holdForm").getElementsByTagName("label");
var arrInputs = document.getElementById("holdForm").getElementsByTagName("input");
var arrTextareas = document.getElementById("holdForm").getElementsByTagName("textarea");

var labelName = getFormElement(arrLabels, "labelName");
var labelCompany = getFormElement(arrLabels, "labelCompany");
var labelPhone = getFormElement(arrLabels, "labelPhone");
var labelEmail = getFormElement(arrLabels, "labelEmail");
var labelEmailConfirm = getFormElement(arrLabels, "labelEmailConfirm");
var labelEnquiry = getFormElement(arrLabels, "labelEnquiry");

var txtName = getFormElement(arrInputs, "txtName");
var txtCompany = getFormElement(arrInputs, "txtCompany");
var txtPhone = getFormElement(arrInputs, "txtPhone");
var txtEmail = getFormElement(arrInputs, "txtEmail");
var txtEmailConfirm = getFormElement(arrInputs, "txtEmailConfirm");
var txtEnquiry = getFormElement(arrTextareas, "txtEnquiry");

labelName.className = "";
labelCompany.className = "";
labelPhone.className = "";
labelEmail.className = "";
labelEmailConfirm.className = "sameSection";
labelEnquiry.className = "";

txtName.className = "";
txtCompany.className = "";
txtPhone.className = "";
txtEmail.className = "";
txtEmailConfirm.className = "sameSection";
txtEnquiry.className = "";

if (txtName.value == "")
    {
    blnForm_Validated = false;
    labelName.className = "fillFormLabel";
    txtName.className = "fillForm";
    }

if (txtCompany.value == "")
    {
    blnForm_Validated = false;
    labelCompany.className = "fillFormLabel";
    txtCompany.className = "fillForm";
    }

if (txtPhone.value == "")
    {
    blnForm_Validated = false;
    labelPhone.className = "fillFormLabel";
    txtPhone.className = "fillForm";
    }

if (txtEmail.value == "")
    {
    blnForm_Validated = false;
    labelEmail.className = "fillFormLabel";
    labelEmailConfirm.className = "sameSection fillFormLabel";
    txtEmail.className = "fillForm";
    txtEmailConfirm.className = "sameSection fillForm";
    }
else if (txtEmail.value != txtEmailConfirm.value)
    {
    blnForm_Validated = false;
    labelEmail.className = "fillFormLabel";
    labelEmailConfirm.className = "sameSection fillFormLabel";
    txtEmail.className = "fillForm";
    txtEmailConfirm.className = "sameSection fillForm";
    strMessage += "\nPlease confirm your email address."
    }

if (txtEnquiry.value == "")
    {
    blnForm_Validated = false;
    labelEnquiry.className = "fillFormLabel";
    txtEnquiry.className = "fillForm";
    }

if (!blnForm_Validated)
    {
    alert(strMessage);
    }

return blnForm_Validated;
}



function checkNewAccount()
{
var blnForm_Validated = true;
var strMessage = "Please fill in the highlighted form fields.\n";

var arrLabels = document.getElementById("holdForm").getElementsByTagName("label");
var arrInputs = document.getElementById("holdForm").getElementsByTagName("input");
var arrSelects = document.getElementById("holdForm").getElementsByTagName("select");
var arrTextareas = document.getElementById("holdForm").getElementsByTagName("textarea");

var labelName = getFormElement(arrLabels, "labelName");
var labelCompany = getFormElement(arrLabels, "labelCompany");
var labelAddress = getFormElement(arrLabels, "labelAddress");
var labelPhone = getFormElement(arrLabels, "labelPhone");
var labelEmail = getFormElement(arrLabels, "labelEmail");
var labelEmailConfirm = getFormElement(arrLabels, "labelEmailConfirm");
var labelCompany_Reg_Num = getFormElement(arrLabels, "labelCompany_Reg_Num");
var labelDirectors_Names = getFormElement(arrLabels, "labelDirectors_Names");
var labelVat_Exempt = getFormElement(arrLabels, "labelVat_Exempt");

var txtName = getFormElement(arrInputs, "txtName");
var txtCompany = getFormElement(arrInputs, "txtCompany");
var txtAddress = getFormElement(arrTextareas, "txtAddress");
var txtPhone = getFormElement(arrInputs, "txtPhone");
var txtEmail = getFormElement(arrInputs, "txtEmail");
var txtEmailConfirm = getFormElement(arrInputs, "txtEmailConfirm");
var txtCompany_Reg_Num = getFormElement(arrInputs, "txtCompany_Reg_Num");
var txtDirectors_Names = getFormElement(arrTextareas, "txtDirectors_Names");
var selVat_Exempt = getFormElement(arrSelects, "selVat_Exempt");

labelName.className = "";
labelCompany.className = "";
labelAddress.className = "";
labelPhone.className = "";
labelEmail.className = "";
labelEmailConfirm.className = "sameSection";
labelCompany_Reg_Num.className = "";
labelDirectors_Names.className = "";
labelVat_Exempt.className = "";

txtName.className = "";
txtCompany.className = "";
txtAddress.className = "";
txtPhone.className = "";
txtEmail.className = "";
txtEmailConfirm.className = "sameSection";
txtCompany_Reg_Num.className = "";
txtDirectors_Names.className = "";
selVat_Exempt.className = "";

if (txtName.value == "")
    {
    blnForm_Validated = false;
    labelName.className = "fillFormLabel";
    txtName.className = "fillForm";
    }

if (txtCompany.value == "")
    {
    blnForm_Validated = false;
    labelCompany.className = "fillFormLabel";
    txtCompany.className = "fillForm";
    }

if (txtAddress.value == "")
    {
    blnForm_Validated = false;
    labelAddress.className = "fillFormLabel";
    txtAddress.className = "fillForm";
    }

if (txtPhone.value == "")
    {
    blnForm_Validated = false;
    labelPhone.className = "fillFormLabel";
    txtPhone.className = "fillForm";
    }

if (txtEmail.value == "")
    {
    blnForm_Validated = false;
    labelEmail.className = "fillFormLabel";
    labelEmailConfirm.className = "sameSection fillFormLabel";
    txtEmail.className = "fillForm";
    txtEmailConfirm.className = "sameSection fillForm";
    }
else if (txtEmail.value != txtEmailConfirm.value)
    {
    blnForm_Validated = false;
    labelEmail.className = "fillFormLabel";
    labelEmailConfirm.className = "sameSection fillFormLabel";
    txtEmail.className = "fillForm";
    txtEmailConfirm.className = "sameSection fillForm";
    strMessage += "\nPlease confirm your email address."
    }

if (txtCompany_Reg_Num.value == "")
    {
    blnForm_Validated = false;
    labelCompany_Reg_Num.className = "fillFormLabel";
    txtCompany_Reg_Num.className = "fillForm";
    }

if (txtDirectors_Names.value == "")
    {
    blnForm_Validated = false;
    labelDirectors_Names.className = "fillFormLabel";
    txtDirectors_Names.className = "fillForm";
    }

if (selVat_Exempt.selectedIndex == 0)
    {
    blnForm_Validated = false;
    labelVat_Exempt.className = "fillFormLabel";
    selVat_Exempt.className = "fillForm";
    }

if (!blnForm_Validated)
    {
    alert(strMessage);
    }

return blnForm_Validated;
}



function checkOrderToner()
{
var blnForm_Validated = true;
var strMessage = "Please fill in the highlighted form fields.\n";

var arrLabels = document.getElementById("holdForm").getElementsByTagName("label");
var arrInputs = document.getElementById("holdForm").getElementsByTagName("input");
var arrTextareas = document.getElementById("holdForm").getElementsByTagName("textarea");

var labelName = getFormElement(arrLabels, "labelName");
var labelCompany = getFormElement(arrLabels, "labelCompany");
var labelPhone = getFormElement(arrLabels, "labelPhone");
var labelEmail = getFormElement(arrLabels, "labelEmail");
var labelEmailConfirm = getFormElement(arrLabels, "labelEmailConfirm");
var labelProduct_Description = getFormElement(arrLabels, "labelProduct_Description");
var labelQuantity = getFormElement(arrLabels, "labelQuantity");

var txtName = getFormElement(arrInputs, "txtName");
var txtCompany = getFormElement(arrInputs, "txtCompany");
var txtPhone = getFormElement(arrInputs, "txtPhone");
var txtEmail = getFormElement(arrInputs, "txtEmail");
var txtEmailConfirm = getFormElement(arrInputs, "txtEmailConfirm");
var txtProduct_Description = getFormElement(arrTextareas, "txtProduct_Description");
var txtQuantity = getFormElement(arrInputs, "txtQuantity");

labelName.className = "";
labelCompany.className = "";
labelPhone.className = "";
labelEmail.className = "";
labelEmailConfirm.className = "sameSection";
labelProduct_Description.className = "";
labelQuantity.className = "";

txtName.className = "";
txtCompany.className = "";
txtPhone.className = "";
txtEmail.className = "";
txtEmailConfirm.className = "sameSection";
txtProduct_Description.className = "";
txtQuantity.className = "";

if (txtName.value == "")
    {
    blnForm_Validated = false;
    labelName.className = "fillFormLabel";
    txtName.className = "fillForm";
    }

if (txtCompany.value == "")
    {
    blnForm_Validated = false;
    labelCompany.className = "fillFormLabel";
    txtCompany.className = "fillForm";
    }

if (txtPhone.value == "")
    {
    blnForm_Validated = false;
    labelPhone.className = "fillFormLabel";
    txtPhone.className = "fillForm";
    }

if (txtEmail.value == "")
    {
    blnForm_Validated = false;
    labelEmail.className = "fillFormLabel";
    labelEmailConfirm.className = "sameSection fillFormLabel";
    txtEmail.className = "fillForm";
    txtEmailConfirm.className = "sameSection fillForm";
    }
else if (txtEmail.value != txtEmailConfirm.value)
    {
    blnForm_Validated = false;
    labelEmail.className = "fillFormLabel";
    labelEmailConfirm.className = "sameSection fillFormLabel";
    txtEmail.className = "fillForm";
    txtEmailConfirm.className = "sameSection fillForm";
    strMessage += "\nPlease confirm your email address."
    }

if (txtProduct_Description.value == "")
    {
    blnForm_Validated = false;
    labelProduct_Description.className = "fillFormLabel";
    txtProduct_Description.className = "fillForm";
    }

if (txtQuantity.value == "")
    {
    blnForm_Validated = false;
    labelQuantity.className = "fillFormLabel";
    txtQuantity.className = "fillForm";
    }

if (!blnForm_Validated)
    {
    alert(strMessage);
    }

return blnForm_Validated;
}
/* ***** VALIDATION ***** */



/* ***** GOOGLE MAP ***** */
function initialize()
{
if (GBrowserIsCompatible())
    {
    map.setCenter(new GLatLng(53.292438193548804, -6.444039344787598), 14);
    map.setUIToDefault();

    var baseIcon = new GIcon(G_DEFAULT_ICON);
    baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
    baseIcon.iconSize = new GSize(20, 34);
    baseIcon.shadowSize = new GSize(37, 34);
    baseIcon.iconAnchor = new GPoint(9, 34);
    baseIcon.infoWindowAnchor = new GPoint(9, 2);

    var letteredIcon = new GIcon(baseIcon);
    letteredIcon.image = "http://www.google.com/mapfiles/markerM.png";

    markerOptions = { icon:letteredIcon };

    for (var intLoopLocations = 0; intLoopLocations < arrLocations[0].length; intLoopLocations++)
        {
        arrMarkers[intLoopLocations] = new GMarker(new GLatLng(parseFloat(arrLocations[1][intLoopLocations]), parseFloat(arrLocations[2][intLoopLocations])), markerOptions);
        GEvent.addListener(arrMarkers[intLoopLocations], "click", function() {
        arrMarkers[intLoopLocations].openInfoWindowHtml(arrLocations[1][intLoopLocations]);
        });
        map.addOverlay(arrMarkers[intLoopLocations]);        
        }
    }
}
/* ***** GOOGLE MAP ***** */



/* ***** POP UP CONTENT ***** */
function popContent(blnOnOff,intPopIndex)
{
var divPopContent = document.getElementById("popContent");

if (blnOnOff == 1)
    {
    if (blnChangeSSHeight)
        {
        document.getElementById("slideShow").style.height = document.getElementById("slideShow").getElementsByTagName("img")[0].height + "px";
        }

    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++;
            }
        }

    if (typeof(timeoutLoop) != "undefined")
        {
        timeoutLoop = setTimeout(slideShow,6000);
        }

    centerElementOnScreen(divPopContent);
    }
else
    {
    if (typeof(timeoutLoop) != "undefined")
        {
        clearTimeout(timeoutLoop)
        clearInterval(timerSlide);

        if (imgCurrent)
            {
            imgCurrent.style.display = "none";
            imgNext.style.display = "block";
            imgNext.style.filter = "alpha(opacity=100)";
            imgNext.style.opacity = "1";

            if (blnChangeSSHeading)
                {
                changeSSHeading(imgNext.title);
                }

            intIndexCurrent = intIndexNext;
            }

        intOpacityLevel = 100;

        blnSliding = false;
        }

    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 top = scrollTop + topOffset + 30;//to take it away from the sub menu
var left = scrollLeft + leftOffset;

element.style.position = "absolute";
element.style.top = top + "px";
element.style.left = left + "px";
}
/* ***** POP UP CONTENT ***** */
