﻿
//------: SLIDER GALLERY SCRIPTS: START
var imgSize = 241;
var gap = 4;
var imgPerPage = 1;
var pageSize = imgSize * imgPerPage + imgPerPage * gap;
var allPages = 0;
var SliderPage = 0;
function SlideGallery(HolderId, nextprev) {
	SliderPage = parseInt($('#' + HolderId).find("input[type='hidden']").val());
    allPages = 0;
    var movePage = false;
    var MaxW = $('#' + HolderId).outerWidth();

    $('#' + HolderId + ' img').each(function (index) { allPages++;  });

    var allImages = $('#' + HolderId + '>img');
    //allPages = Math.ceil(allImages.length / imgPerPage);
    //alert(allPages);
    switch (nextprev) {
        case "next":           
            if (SliderPage < (allPages - 1)) {
                movePage = true;
                SliderPage++;               
            }
            break;
        case "prev":
            if (SliderPage > 0) {
                movePage = true;
                SliderPage--;
            }
            break;
    }

    if (movePage) {
    	$('#' + HolderId).parent().parent().parent().find('.prevnextBtns').addClass("disabled");
        //$('.prevnextBtns').addClass("disabled");
    	$('#' + HolderId).parent().parent().parent().find('.nextImgdummy').addClass("disabled");
    	$('#' + HolderId).parent().parent().parent().find('.prevImgdummy').addClass("disabled");
        $('#' + HolderId).animate({ 'left': -SliderPage * pageSize }, 500, function () {
        	SliderSetBtns(HolderId);
        });
    }
    $('#' + HolderId).find("input[type='hidden']").val(SliderPage);
}
function SliderSetBtns(HolderId) {
    if (SliderPage > 0) {
    	$('#' + HolderId).parent().parent().parent().find('.nextImgdummy').removeClass("disabled");
    	$('#' + HolderId).parent().parent().parent().find('.prevImg').removeClass("disabled");
    }
    if (SliderPage < (allPages - 1)) {
    	$('#' + HolderId).parent().parent().parent().find('.nextImg').removeClass("disabled");
    	$('#' + HolderId).parent().parent().parent().find('.prevImgdummy').removeClass("disabled");
    }
}
//------: SLIDER GALLERY SCRIPTS: END

//------: LIST GALLERY SCRIPTS: START
var allowExpand = true; // Allow expand of highslide by default
function Gallery(aId, prevnext, array, arraypageField, objThis) {
    var img = $('#' + aId + '>img.image');
    var changePage = false;
    var objImage = new Image();
    var Len = array.length;

    var cpage = Number($('#' + arraypageField).attr("value"));
    var thePage;
    $(objThis).removeClass("disabled");
    var parent = $(objThis).parent().parent();
    var prevnextBtns = $(parent).find(".prevnextBtns");
    $(prevnextBtns).removeClass("disabled");

    switch (prevnext) {
        case "prev":
            if (cpage > 0) {
                changePage = true;
                thePage = cpage - 1;
                if (thePage == 0) {
                    $(objThis).addClass("disabled");
                }
            }
            break;
        case "next":
            if (cpage < (Len - 1)) {
                changePage = true;
                thePage = cpage + 1;
                if (thePage >= Number(Len - 1)) {
                    $(objThis).addClass("disabled");
                }
            }
            break;
    }
    $('#' + arraypageField).attr("value", thePage);

    if (changePage) {
        allowExpand = false;
        $(prevnextBtns).css("display", "none");
        objImage.src = array[thePage].Thumb;
        $('#' + aId).attr("href", array[thePage].Large);
        $('#' + aId).animate({ 'opacity': 0 }, 500, function () {
            objImage.onLoad = GalleryImageLoaded(aId, img, objImage.src, prevnextBtns);
        });
    }

}
function GalleryImageLoaded(aId, img, imgsrc, prevnextBtns) {
    img.attr("src", imgsrc);
    $('#' + aId).animate({ 'opacity': 1 }, 500);
    $(prevnextBtns).css("display", "block");
    allowExpand = true;
}
function getCurrentPage(img, array) {
    var Len = array.length;
    var theImage;
    var cImage = img.attr("src");
    if (cImage.substr(0, 7) != "http://") {
        theImage = cImage;
    } else {
        theImage = cImage.substring(imgPath.length);
    }
    if (Len > 0) {
        for (i = 0; i < Len; i++) {
            if (theImage == array[i].Thumb) {
                return i;
            }
        }
    }
    return null;
}
//------: LIST GALLERY SCRIPTS: END


function findPosX(obj) {
    var curleft = 0;
    if (obj.offsetParent) {
        while (obj.offsetParent) {
            curleft += obj.offsetLeft
            obj = obj.offsetParent;
        }
    }
    else if (obj.x)
        curleft += obj.x;
    return curleft;
}

function findPosY(obj) {
    var curtop = 0;
    if (obj.offsetParent) {
        while (obj.offsetParent) {
            curtop += obj.offsetTop
            obj = obj.offsetParent;
        }
    }
    else if (obj.y)
        curtop += obj.y;
    return curtop;
}

function RepositionLayer(RefObj, MoveObj, OffsetX, OffsetY) {
    var RefObj, MoveObj;
    var RefObjLeftPos, RefObjTopPos;
    var MoveObjLeftPos, PosDiff;
    RefObjLeftPos = findPosX(RefObj);
    RefObjTopPos = findPosY(RefObj);
    MoveObj.style.left = (RefObjLeftPos + OffsetX) + 'px';
    MoveObj.style.top = (RefObjTopPos + OffsetY) + 'px';
}


function getInternetExplorerVersion()
// Returns the version of Internet Explorer or a -1
// (indicating the use of another browser).
{
  var rv = -1; // Return value assumes failure.
  if (navigator.appName == 'Microsoft Internet Explorer')
  {
    var ua = navigator.userAgent;
    var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    if (re.exec(ua) != null)
      rv = parseFloat( RegExp.$1 );
  }
  return rv;
}

var ver = getInternetExplorerVersion();

function MenuHandler() {
    
    this.insub = false;
    this.inmenu = false;
    this.t = 0;
    this.showSubMenu = function(caller, id) {
        for (i=0;i<document.getElementById("MenuList").getElementsByTagName("a").length;i++)
            document.getElementById("MenuList").getElementsByTagName("a")[i].className = "";
        caller.className = "active";
        window.clearTimeout(this.t);
        sub = document.getElementById("SubMenu");  
        
        for (i = 0; i < sub.getElementsByTagName("ul").length; i++) {
            sub.getElementsByTagName("ul")[i].style.display = "none";          
        }
        pointer = document.getElementById("MenuPointer");

        /*
        if (ver < 7 && ver != -1) {
			RepositionLayer(caller, pointer, -140, 56);
        }
        else {
			RepositionLayer(caller, pointer, 0, 56);
        }
        */
        
        RepositionLayer(caller, pointer, 0, 56);


        var TheSub = document.getElementById("SubMenu" + id);
       
        

        if (TheSub) {
			if (ver < 7 && ver != -1) {
				TheSub.style.left = (caller.offsetLeft - 80) + "px";
			}
			else {
				TheSub.style.marginLeft = (caller.offsetLeft + 15) + "px";
			}
             TheSub.style.display = "block";
             pointer.style.display = "block";
             sub.style.display = "block";             
        } else {
             pointer.style.display = "none";
             sub.style.display = "none";     
        }
    };

    this.hideSubMenu = function() {
    
        sub = document.getElementById("SubMenu");        
        if (!this.insub && !this.inmenu) {
            for (i = 0; i < document.getElementById("MenuList").getElementsByTagName("a").length; i++)
                document.getElementById("MenuList").getElementsByTagName("a")[i].className = "";
            for (i = 0; i < sub.getElementsByTagName("ul").length; i++) {
                sub.getElementsByTagName("ul")[i].style.display = "none";               
            }
            pointer.style.display = "none";
            sub.style.display = "none";
        }
    };

    this.timedHideSubMenu = function() {
        this.t = window.setTimeout("mh.hideSubMenu();", 100);
    };

    this.showSubSubMenu = function(caller, id) {        
        sub = document.getElementById("SubMenu");
        for (i = 0; i < caller.parentNode.getElementsByTagName("li").length; i++)
            caller.parentNode.getElementsByTagName("li")[i].getElementsByTagName("a")[0].className = "";
        for (i = 0; i < sub.getElementsByTagName("ul").length; i++) {
            if (sub.getElementsByTagName("ul")[i] != caller.parentNode)            
                sub.getElementsByTagName("ul")[i].style.display = "none";
                
        }
        if (document.getElementById("SubSubMenu" + id)) {
            caller.parentNode.style.borderRight = "1px solid #c3c3c3";
            caller.getElementsByTagName("a")[0].className = "active";
            caller.getElementsByTagName("a")[0].style.marginRight = "10px";
            document.getElementById("SubSubMenu" + id).style.left = caller.parentNode.style.left;
            document.getElementById("SubSubMenu" + id).style.display = "block";
        } else {
            caller.parentNode.style.borderRight = "none";
            caller.getElementsByTagName("a")[0].style.marginRight = "0px";
        } 
    };
}

var mh = new MenuHandler();


function VideoGalleryHandler(Gallery) {
    this.Videos = new Array();
    this.Gallery = document.getElementById(Gallery);

    this.addVideo = function(embedString, image) {
        var elem = new Array();
        elem[0] = embedString;
        elem[1] = image;
        this.Videos[this.Videos.length] = elem;
    };

    this.PlayVideo = function(item) {
        document.getElementById("playable").innerHTML = this.Videos[item][0];
		this.hideVideoGallery();
    };

    this.showVideoGallery = function() {
    this.Gallery.getElementsByTagName("div")[0].getElementsByTagName("div")[0].style.display = "block";
    };

    this.hideVideoGallery = function() {
        this.Gallery.getElementsByTagName("div")[0].getElementsByTagName("div")[0].style.display="none";
    };

    this.RenderGallery = function() {
        var tbl = this.Gallery.getElementsByTagName("div")[0].getElementsByTagName("div")[0].getElementsByTagName("table")[0];
        var j = 0;
        for (i = 0; i < this.Videos.length; i++) {
            if (!(i % 3) && i > 0)
                j++;
            var img = tbl.getElementsByTagName("tr")[j].getElementsByTagName("td")[i % 3].getElementsByTagName("img")[0];
            img.src = this.Videos[i][1];
            img.style.cursor="pointer";
            img.alt=" ";
            img.onclick = function(){
				var g=-1;
				for (k=0;k<this.parentNode.parentNode.parentNode.getElementsByTagName("tr").length;k++){
					for (l=0;l<this.parentNode.parentNode.parentNode.getElementsByTagName("tr")[k].getElementsByTagName("td").length;l++)
						if (this.parentNode.parentNode.parentNode.getElementsByTagName("tr")[k].getElementsByTagName("td")[l].getElementsByTagName("img")[0]==this){
							g=k*this.parentNode.parentNode.parentNode.getElementsByTagName("tr")[k].getElementsByTagName("td").length+l;
							vh.PlayVideo(g);
							break;
						}
					if(g>=0)
						break;
				}
			};
        }
        this.PlayVideo(0);
    };
}


var current = 0;
function previousPhoto(button1, button2, id, alt1, alt2) {
    current--;
    if (current < 0) {
        current = 0;
        document.getElementById(button1).style.display = "none";
        document.getElementById(alt1).style.display = "inline";
    }
    else {
        document.getElementById(id).src = OutputForJS[current][0];
        document.getElementById(id).parentNode.href = OutputForJS[current][1];
        document.getElementById(id).parentNode.parentNode.parentNode.getElementsByTagName("div")[document.getElementById(id).parentNode.parentNode.parentNode.getElementsByTagName("div").length - 1].innerHTML = OutputForJS[current][2];
        if (current == 0) {
            document.getElementById(button1).style.display = "none";
            document.getElementById(alt1).style.display = "inline";
        }
        if (current < OutputForJS.length - 1) {
            document.getElementById(button2).style.display = "inline";
            document.getElementById(alt2).style.display = "none";
        }
    }
}

function nextPhoto(button1, button2, id, alt1, alt2) {
    current++;
    if (current > OutputForJS.length - 1) {
        current = OutputForJS.length - 1;
        document.getElementById(button2).style.display = "none";
        document.getElementById(alt2).style.display = "inline";
    }
    else {
        document.getElementById(id).src = OutputForJS[current][0];
        document.getElementById(id).parentNode.href = OutputForJS[current][1];
        document.getElementById(id).parentNode.parentNode.parentNode.getElementsByTagName("div")[document.getElementById(id).parentNode.parentNode.parentNode.getElementsByTagName("div").length - 1].innerHTML = OutputForJS[current][2];
        if (current == OutputForJS.length - 1) {
            document.getElementById(button2).style.display = "none";
            document.getElementById(alt2).style.display = "inline";
        }
        if (current > 0) {
            document.getElementById(button1).style.display = "inline";
            document.getElementById(alt1).style.display = "none";
        }
    }

}

function NoHtmlComments(source, arguments) {
    arguments.IsValid = !arguments.Value.match(/<\s*?[^>]+\s*?>/);
}      


function showCalendar(item) {
    if(item=='departMemberCal')
        hideCalendar('arrivalMemberCal');
    else
        hideCalendar('departMemberCal');  
    document.getElementById(item).style.display = 'block';
    document.getElementById(item + 'Ctl').innerHTML = "<a onclick=\"javascript:hideCalendar('" + item + "');\"><img src=\"/Assets/Images/calendar.gif\" border=\"0\" alt=\"\"/></a>";
    
}


function hideCalendar(item) {
    document.getElementById(item).style.display = 'none';
    document.getElementById(item + 'Ctl').innerHTML = "<a onclick=\"javascript:showCalendar('" + item + "');\"><img src=\"/Assets/Images/calendar.gif\" border=\"0\" alt=\"\"/></a>";
   
}

