/* menu scripts */
sfHover = function() {
	var sfEls = document.getElementById("menu").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

/* functions to do a rollover of the main image */
addLoadListener(initMainImageRollover);

function initMainImageRollover() {
	
	if (document.getElementById("mainImage")) {
		
			if ( altMainImage.length > 15 ) {
		
				//preload rollover image
				var preLoad = new Image;
				preLoad.src = altMainImage;
				
				//attach listeners for the rollover
				attachEventListener(document.getElementById("mainImage"), "mouseover", swapMainImage, false);
				attachEventListener(document.getElementById("mainImage"), "mouseout", swapMainImage, false);
			
			}
			
	}
	
}

function swapMainImage(event) {
	
	imgElement = document.getElementById("mainImage");
	theMainImage = "http://"+window.location.hostname+MainImage;

	if( getEventType(event) == "mouseover" )	{
		imgElement.src = altMainImage;
	} else {
		imgElement.src = MainImage;
	}
		
}

/* functions to do a rollover of the gallery links */
addLoadListener(initGalleryLinkRollovers);

function initGalleryLinkRollovers(){
		
		if (document.getElementById) {
			
			if (document.getElementById("galleryLink")){
				
				images = document.getElementById("galleryLink").getElementsByTagName("img");

				//attach listeners for the rollover fade effect
				for (i=0;  i <= images.length; i++){	
					attachEventListener(images[i], "mouseover", fadeImg, false);
					attachEventListener(images[i], "mouseout", unFadeImg, false);
				}
				
			}
			
		}
}

function fadeImg(event) {
	
	var activatedImage = getCallingElement(event,"img").id;
	var images = document.getElementById("galleryLink").getElementsByTagName("img");

	for (i=0;  i <= images.length; i++){	
	
		if (images[i]) {
			if (images[i].id != activatedImage) {
				doFade(images[i].id);
			}
		}
	}
}

function unFadeImg(event) {
	
	var activatedImage = getCallingElement(event,"img").id;
	var images = document.getElementById("galleryLink").getElementsByTagName("img");

	for (i=0;  i <= images.length; i++){	
		
		if (images[i]) {
			if (images[i].id != activatedImage) {
				doUnFade(images[i].id);
			}
		}
		
	}
}

function doFade(id){
	setTimeout("PartFadeOut('"+id+"',0)",0);	
}

function doUnFade(id){
	setTimeout("PartFadeIn('"+id+"',0)",0);	
}

/* this controls the rollover effect on the portrait place logo */
/* functions to do a rollover of the gallery links */
addLoadListener(initLogoRollovers);

// this variable tells the logo rollover to happen
var allowLogoRollover = true;

function initLogoRollovers() {
	var logo = document.getElementById("logo");
	img1 = new Image();
	img1.src = "/site/images/logo-portrait-place-over.gif";
	attachEventListener(logo, "mouseover", LogoRollover, false);
	attachEventListener(logo, "mouseout", LogoRollover, false);
}

function LogoRollover(event) {
	if (allowLogoRollover) {
		if( getEventType(event) == "mouseover" )	
			document.getElementById("logo").src = "/site/images/logo-portrait-place-over.gif";	
		if( getEventType(event) == "mouseout" )	
			document.getElementById("logo").src = "/site/images/logo-portrait-place.gif";	
	}
}

/* this controls the rollover effect for collection images */

addLoadListener(initCollectionRollovers);

function initCollectionRollovers() {
	
		collections = getElementsByClassName(document, "a", "collection");
	
		for (i=0; i<=collections.length; i++) {
				attachEventListener(collections[i], "click", CollectionRollover, false);
		}
	
}

function CollectionRollover(event) {
		stopDefaultAction(event);
		image = getCallingElement(event,"a").href;
		if (document.getElementById("mainImage"))
			document.getElementById("mainImage").src = image;	
		else
			document.getElementById("photo").style.backgroundImage = 'url('+image+')';
}

function getElementsByClassName(oElm, strTagName, strClassName){
    var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=0; i<arrElements.length; i++){
        oElement = arrElements[i];      
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }   
    }
    return (arrReturnElements)
}


