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;
}



/* ********** SUB MENUS ********** */
function showSubMenu(intSubMenu)
{
hideSubMenus();

document.getElementById("subMenu" + intSubMenu).style.display = "block";
}



function hideSubMenus()
{
var arrSubMenus = document.getElementById("topSubMenu").getElementsByTagName("ul");

for (var intLoopSubMenus = 0; intLoopSubMenus < arrSubMenus.length; intLoopSubMenus++)
    {
    arrSubMenus[intLoopSubMenus].style.display = "none";
    }
}



function keepHighlighted(blnOn, intMenuNumber)
{
document.getElementById("topMenu").getElementsByTagName("li")[intMenuNumber].className = (blnOn == 1) ? "highlightMenu" : "";
}
/* ********** SUB MENUS ********** */



/* ********** SLIDESHOW ********** */
var blnSliding;
var strSlideShowHolderID = "holdSlideShow";
var strSlideShowHolderID2 = "holdSlideShowText";
var intSlideNumTotal;
var intSlideNumCurrent = 1;
var intSlideNumNext = 1;
var slideCurrent;
var slideCurrent2;
var slideNext;
var slideNext2;
var intOpacityLevel = 100;
var timerSlideShow;
var timeoutSlideShow;


function startSlideShow(intSlideNumber)
{
if (blnSliding != true && intSlideNumCurrent != intSlideNumber)
    {
    clearTimeout(timeoutSlideShow);

    blnSliding = true;

    if (intSlideNumber == "-")
        {
        intSlideNumNext = (intSlideNumCurrent - 1 == 0) ? intSlideNumTotal : intSlideNumCurrent - 1;
        }
    else if (intSlideNumber == "+")
        {
        intSlideNumNext = (intSlideNumCurrent + 1 > intSlideNumTotal) ? 1 : intSlideNumCurrent + 1;
        }
    else
        {
        intSlideNumNext = intSlideNumber;
        }

    slideCurrent = document.getElementById(strSlideShowHolderID).getElementsByTagName("img")[intSlideNumCurrent - 1];
    slideCurrent.style.filter = "alpha(opacity=100)";
    slideCurrent.style.opacity = "1";
    slideCurrent.style.display = "block";

    slideCurrent2 = document.getElementById(strSlideShowHolderID2).getElementsByTagName("div")[intSlideNumCurrent - 1];
    slideCurrent2.style.filter = "alpha(opacity=100)";
    slideCurrent2.style.opacity = "1";
    slideCurrent2.style.display = "block";

    slideNext = document.getElementById(strSlideShowHolderID).getElementsByTagName("img")[intSlideNumNext - 1];
    slideNext.style.filter = "alpha(opacity=0)";
    slideNext.style.opacity = "0.0";
    slideNext.style.display = "block";

    slideNext2 = document.getElementById(strSlideShowHolderID2).getElementsByTagName("div")[intSlideNumNext - 1];
    slideNext2.style.filter = "alpha(opacity=0)";
    slideNext2.style.opacity = "0.0";
    slideNext2.style.display = "block";

    var arrNavLinks = document.getElementById("slideShowNav").getElementsByTagName("li");

    for (var intLoopLinks = 1; intLoopLinks < arrNavLinks.length - 1; intLoopLinks++)
        {
        arrNavLinks[intLoopLinks].className = (intLoopLinks == intSlideNumNext) ? "navOn" : "";
        }

    timerSlideShow = setInterval(runSlideShow,50);
    }
}



function runSlideShow()
{
if (intOpacityLevel != 0)
    {
    intOpacityLevel = intOpacityLevel - 5;

    slideCurrent.style.filter = "alpha(opacity=" + intOpacityLevel + ")";
    slideCurrent.style.opacity = intOpacityLevel / 100;
    slideCurrent2.style.filter = "alpha(opacity=" + intOpacityLevel + ")";
    slideCurrent2.style.opacity = intOpacityLevel / 100;

    slideNext.style.filter = "alpha(opacity=" + (100 - intOpacityLevel) + ")";
    slideNext.style.opacity = (100 - intOpacityLevel) / 100;
    slideNext2.style.filter = "alpha(opacity=" + (100 - intOpacityLevel) + ")";
    slideNext2.style.opacity = (100 - intOpacityLevel) / 100;
    }
else
    {
    intSlideNumCurrent = intSlideNumNext;
    intOpacityLevel = 100;

    slideCurrent.style.display = "none";

    clearInterval(timerSlideShow);
    blnSliding = false;

    timeoutSlideShow = setTimeout("startSlideShow('+')",7500);
    }
}
/* ********** SLIDESHOW ********** */



/* ********** NEWS SLIDER ********** */
var blnSlideLeft;
var intNewsWidth = 758;
var intNextPos;
var intMoveAmount = 40;


function slideNews(intMoveType)
{
if (blnSliding != true)
    {
    blnSliding = true;

    if (intMoveType == 0)
        {
        blnSlideLeft = false;

        intSlideNumNext = (intSlideNumCurrent - 1 == 0) ? intSlideNumTotal : intSlideNumCurrent - 1;
        intNextPos = -intNewsWidth;
        }
    else
        {
        blnSlideLeft = true;

        intSlideNumNext = (intSlideNumCurrent + 1 > intSlideNumTotal) ? 1 : intSlideNumCurrent + 1;
        intNextPos = intNewsWidth;
        }

    slideCurrent = document.getElementById("newsSlider" + intSlideNumCurrent);
    slideCurrent.style.left = "0px";
    slideCurrent.style.display = "block";

    slideNext = document.getElementById("newsSlider" + intSlideNumNext);
    slideNext.style.left = intNextPos + "px";
    slideNext.style.display = "block";

    timerSlideShow = setInterval(runSlideNews,50);
    }
}



function runSlideNews()
{
if (intNextPos != 0)
    {
    if (blnSlideLeft)
        {
        intNextPos = (intNextPos - intMoveAmount < 0) ? 0 : intNextPos - intMoveAmount;

        slideCurrent.style.left = (intNextPos - intNewsWidth) + "px";
        }
    else
        {
        intNextPos = (intNextPos + intMoveAmount > 0) ? 0 : intNextPos + intMoveAmount;
        
        slideCurrent.style.left = (intNextPos + intNewsWidth) + "px";
        }

    slideNext.style.left = intNextPos + "px";
    }
else
    {
    intSlideNumCurrent = intSlideNumNext;

    slideCurrent.style.display = "none";

    clearInterval(timerSlideShow);
    blnSliding = false;
    }
}
/* ********** NEWS SLIDER ********** */






/* ********** GALLERY ********** */
var intToPosition;
var intPreviousGallIndex = -1;

intNextPos = 0;
intMoveAmount = 20;



function showGallery(intMenuIndex)
{
var intLooper;
var strActiveID = "galleryItems_" + intMenuIndex;
var arrGalleryTopLinks = document.getElementById("holdGallery").getElementsByTagName("ul")[0].getElementsByTagName("li");
var arrGalleryDivs = document.getElementById("holdGallery").getElementsByTagName("div");

for (intLooper = 0; intLooper < arrGalleryTopLinks.length -1; intLooper++)//extra li to end off border line
    {
    if (intLooper == intMenuIndex)
        {
        arrGalleryTopLinks[intLooper].className = "menuOn";
        }
    else
        {
        arrGalleryTopLinks[intLooper].className = "";
        }
    }

for (intLooper = 0; intLooper < arrGalleryDivs.length; intLooper++)
    {
    if (arrGalleryDivs[intLooper].id.indexOf("galleryItems_") != -1)
        {
        if (arrGalleryDivs[intLooper].id == strActiveID)
            {
            arrGalleryDivs[intLooper].style.display = "block";
            }
        else
            {
            arrGalleryDivs[intLooper].style.display = "none";
            }
        }
    }
}


function slideGalleryNav(intMoveType)
{
if (blnSliding != true)
    {
    blnSliding = true;
    blnSlideLeft = (intMoveType == 0) ? false : true;

    intToPosition = (blnSlideLeft) ? intNextPos - (intThumbWidth * 4) : intNextPos + (intThumbWidth * 4);
    intToPosition = (intToPosition > 0) ? 0 : intToPosition;
    intToPosition = (intToPosition < -intMaxPosition) ? -intMaxPosition : intToPosition;

    timerSlideShow = setInterval(runslideGalleryNav,50);
    }
}


function runslideGalleryNav()
{
if (blnSlideLeft)
    {
    intNextPos = (intNextPos - intMoveAmount < intToPosition) ? intToPosition : intNextPos - intMoveAmount;
    }
else
    {
    intNextPos = (intNextPos + intMoveAmount > intToPosition) ? intToPosition : intNextPos + intMoveAmount;
    }

slideCurrent.style.left = intNextPos + "px";

if (intNextPos == 0 || intNextPos == intToPosition)
    {
    clearInterval(timerSlideShow);
    blnSliding = false;
    }
}



function gallThumb(blnOnOff,objImage)
{
objImage.className = (blnOnOff == 1) ? "gallThumbOn" : "";
}


function showGallPhoto(intIndex)
{
if (intPreviousGallIndex != intIndex)
    {
    if (intPreviousGallIndex != -1)
        {
        document.getElementById("galleryPhoto").getElementsByTagName("img")[intPreviousGallIndex].style.display = "none";
        }

    var imgNewImage = document.getElementById("galleryPhoto").getElementsByTagName("img")[intIndex];

    imgNewImage.style.display = "block";
    document.getElementById("galleryPhotoCaption").innerHTML = imgNewImage.title;

    intPreviousGallIndex = intIndex;
    }
}
/* ********** GALLERY ********** */





/* ********** NEWS PAGE ********** */
function showNews(blnWhole_Section, intMenuIndex, intSubMenuIndex, strActive_Class)
{
var intLooper;
var arrNewsTopLinks = document.getElementById("holdNews").getElementsByTagName("ul")[0].getElementsByTagName("li");
var ulSubMenu;
var arrSubMenuLinks;

for (intLooper = 0; intLooper < arrNewsTopLinks.length -1; intLooper++)//extra li to end off border line
    {
    ulSubMenu = document.getElementById("newsSubMenu" + (intLooper + 1));

    if (intLooper == intMenuIndex)
        {
        arrNewsTopLinks[intLooper].className = "menuOn";
        ulSubMenu.style.display = "block";

        arrSubMenuLinks = ulSubMenu.getElementsByTagName("a");
        }
    else
        {
        arrNewsTopLinks[intLooper].className = "";
        ulSubMenu.style.display = "none";
        }
    }

for (intLooper = 0; intLooper < arrSubMenuLinks.length; intLooper++)
    {
    arrSubMenuLinks[intLooper].className = (intLooper == intSubMenuIndex) ? "menuOn" : "";
    }

var arrNewsDivs = document.getElementById("holdNews").getElementsByTagName("div");

if (blnWhole_Section == 1)
    {
    for (intLooper = 0; intLooper < arrNewsDivs.length; intLooper++)
        {
        if (arrNewsDivs[intLooper].className)
            {
            if (arrNewsDivs[intLooper].className.indexOf(strActive_Class) != -1)
                {
                arrNewsDivs[intLooper].style.display = "block";
                }
            else
                {
                arrNewsDivs[intLooper].style.display = "none";
                }
            }
        }
    }
else
    {
    for (intLooper = 0; intLooper < arrNewsDivs.length; intLooper++)
        {
        if (arrNewsDivs[intLooper].className)
            {
            if (arrNewsDivs[intLooper].className == strActive_Class)
                {
                arrNewsDivs[intLooper].style.display = "block";
                }
            else
                {
                arrNewsDivs[intLooper].style.display = "none";
                }
            }
        }
    }
}
/* ********** NEWS PAGE ********** */



/* ********** MAP ********** */
var map1;
var map2;


function initialize()
{
if (GBrowserIsCompatible())
    {
    map1 = new GMap2(document.getElementById("map_canvas1"));
    map1.setCenter(new GLatLng(53.3898,-6.1091), 12);
    map1.setUIToDefault();

    map2 = new GMap2(document.getElementById("map_canvas2"));
    map2.setCenter(new GLatLng(53.402164,-6.166763), 13);
    map2.setUIToDefault();

    var ptLocation = new GLatLng(53.3898,-6.1091);
    map1.addOverlay(new GMarker(ptLocation));

    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/markerE.png";

    markerOptions = { icon:letteredIcon };

    var marker = new GMarker(new GLatLng(53.3898,-6.1091), markerOptions);

    GEvent.addListener(marker, "click", function() {
    marker.openInfoWindowHtml("Sutton Lawn Tennis Club<br />Howth Road, Sutton,Dublin 13");
    });

    map2.addOverlay(marker);
    }
}
/* ********** MAP ********** */



/* ***** POP UP 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 top = scrollTop + topOffset;
var left = scrollLeft + leftOffset;

element.style.position = "absolute";
element.style.top = top + "px";
element.style.left = left + "px";
}
/* ***** POP UP CONTENT ***** */



/* ********** CALENDAR ********** */
function showCalendar(intMonthIndex)
{
var intLoopCal;
var arrCalendarMonthLinks = document.getElementById("holdCalendar").getElementsByTagName("li");
var selCalendarYear = document.getElementById("selCalendarYear");
var strCalCurrentYear = selCalendarYear.options[selCalendarYear.selectedIndex].value;
var arrAllCalendarDivs = document.getElementById("holdCalendar").getElementsByTagName("div");
var divCurrentYear = document.getElementById("cal" + strCalCurrentYear);
var arrCurrentYearDivs = divCurrentYear.getElementsByTagName("div");

intCurrentCalMonth = intMonthIndex;

for (intLoopCal = 0; intLoopCal < arrAllCalendarDivs.length; intLoopCal++)
    {
    arrAllCalendarDivs[intLoopCal].style.display = "none";
    }

divCurrentYear.style.display = "block";

for (intLoopCal = 0; intLoopCal < arrCurrentYearDivs.length; intLoopCal++)
    {
    arrCurrentYearDivs[intLoopCal].style.display = (intLoopCal == intMonthIndex) ? "block" : "none";
    arrCalendarMonthLinks[intLoopCal].className = (intLoopCal == intMonthIndex) ? "linkOn" : "";
    }
}
/* ********** CALENDAR ********** */



function showContent(strHolderID, intContentNum)
{
var arrContentLinks = document.getElementById(strHolderID + "Links").getElementsByTagName("a");
var arrContents = document.getElementById(strHolderID).getElementsByTagName("div");

for (var intLoopContents = 0; intLoopContents < arrContents.length; intLoopContents++)
    {
    arrContentLinks[intLoopContents].className = ((intLoopContents + 1) == intContentNum) ? "leftLinkOn" : "";
    arrContents[intLoopContents].style.display = ((intLoopContents + 1) == intContentNum) ? "block" : "none";
    }
}



function goUrl(strURL)
{
window.location = strURL;
}



function checkLogin()
{
var blnForm_Validated = true;
var strMessage = "Please enter your Username and Password.";

var arrInputs = document.getElementById("homeTextRight").getElementsByTagName("input");

var txtUsername = getFormElement(arrInputs, "txtUsername");
var txtPassword = getFormElement(arrInputs, "txtPassword");

txtUsername.className = "";
txtPassword.className = "";

if (txtUsername.value == "")
    {
    blnForm_Validated = false;
    txtUsername.className = "fillForm";
    }

if (txtPassword.value == "")
    {
    blnForm_Validated = false;
    txtPassword.className = "fillForm";
    }

if (!blnForm_Validated)
    {
    alert(strMessage);
    }

return blnForm_Validated;
}



function checkContact()
{
var blnForm_Validated = true;
var strMessage = "Please fill in the highlighted fields.";

var arrInputs = document.getElementById("leftContact").getElementsByTagName("input");
var arrTextareas = document.getElementById("leftContact").getElementsByTagName("textarea");

var txtFirstName = getFormElement(arrInputs, "txtFirstName");
var txtSurname = getFormElement(arrInputs, "txtSurname");
var txtEmail = getFormElement(arrInputs, "txtEmail");
var txtComments = getFormElement(arrTextareas, "txtComments");

txtFirstName.className = "";
txtSurname.className = "";
txtEmail.className = "";
txtComments.className = "";

if (txtFirstName.value == "")
    {
    blnForm_Validated = false;
    txtFirstName.className = "fillForm";
    }

if (txtSurname.value == "")
    {
    blnForm_Validated = false;
    txtSurname.className = "fillForm";
    }

if (txtEmail.value == "")
    {
    blnForm_Validated = false;
    txtEmail.className = "fillForm";
    }

if (txtComments.value == "")
    {
    blnForm_Validated = false;
    txtComments.className = "fillForm";
    }

if (!blnForm_Validated)
    {
    alert(strMessage);
    }

return blnForm_Validated;
}



function showMailList(blnOpen)
{
document.getElementById("mailList").style.display = (blnOpen == 1) ? "block" : "none";
}



function checkJoinEmail()
{
var blnForm_Validated = true;
var strMessage = "Please enter a valid email address.";

var arrInputs = document.getElementById("mailList").getElementsByTagName("input");

var txtEmailList = getFormElement(arrInputs, "txtEmailList");
txtEmailList.className = "";

if (txtEmailList.value == "")
    {
    blnForm_Validated = false;
    txtEmailList.className = "fillForm";
    }

if (!blnForm_Validated)
    {
    alert(strMessage);
    }

return blnForm_Validated;
}



function showSeraphim(intOnOff, strPath)
{
var seraphimText = document.getElementById("websiteBy").getElementsByTagName("p")[0];
var seraphimImg = document.getElementById("websiteBy").getElementsByTagName("img")[0];

if (intOnOff == 1)
    {
    seraphimText.style.display = "block";
    seraphimImg.src = strPath + "images/seraphim1.gif";
    }
else
    {
    seraphimText.style.display = "none";
    seraphimImg.src = strPath + "images/seraphim.gif";
    }
}
