//******************************************************************************************//
//     	 			   File: 	html_javascript
//
//			 		Version:	1.0 
//					   Date:	Thu Jun 8 2006
//				  Copyright:	¨2006 PureBlend New Media Design Group <info@pureblend.com>
//
//******************************************************************************************//
function OpenPopupWindow(aURL,aWidth,aHeight) {

	// mozilla & safari DOM
	theParentTop 		= parent.screenY;
	theParentLeft 		= parent.screenX;
	theParentHeight 	= parent.innerHeight;
	theParentWidth 		= parent.innerWidth;
	
	// winIE DOM
	 if (navigator.appName.indexOf("Microsoft")!=-1) {
		theParentTop 		= parent.screenTop - 60; // cheat the top a bit
		theParentLeft 		= parent.screenLeft;
		theParentHeight 	= document.body.offsetHeight;
		theParentWidth 		= document.body.offsetWidth;
	}
	
	// common code
	theTop 				= Math.round((theParentHeight / 2) - (aHeight / 2) + theParentTop);
	theLeft				= Math.round((theParentWidth  / 2) - (aWidth  / 2) + theParentLeft);
	//windowName_suffix  	= Math.round(Math.random()*4);
	
	theWindow = window.open(aURL, 'popWindow', 'width=' + aWidth + ',height=' + aHeight + ',top=' + theTop + ',left=' + theLeft + ',scrollbars=yes,location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=yes');
}

// Show or Hide an object

function ToggleVisibility(anID) {
	theItem	= document.getElementById(anID);
	
	if (theItem) {
		if (theItem.style.display == "block") {
			theItem.style.display = "none";
		} else {
			theItem.style.display = "block";
		}
	}
}

function ShowAnObject(elt) {
	elt.style.display = "block";
}

function HideAnObject(elt) {
	elt.style.display = "none";
}

// Swap an Image (used for star and balloon mouseovers)

function SwapImage(anID,aSrc) {
	if (aSrc) {
		if (aSrc.src) {
			theStarIMG 			= document.getElementById(anID);
			if (theStarIMG) {
				theStarIMG.src	= aSrc.src;
			}
		}
	}
	return true;
}

// Used to restore star rating images onmouseout

function RestoreStarImage(anID) {

	theStarIMG 					= document.getElementById(anID);
	
	if (theStarIMG) {
		if (theStarIMG.alt) {
			theStarIMG.src		= theStarIMG.alt;			// original src is stored in alt attribute
		}													// user-readible alts are stored in the star's imagemap
	}
	return true;											
}

// Set the Star Rating

function SetRating(anID,aRating) {
	theStarIMG 			= document.getElementById(anID);	// the star IMG tag
	theSrcStr			= "" + theStarIMG.alt;				// alt attribute contains original src attribute
	theNewSrcStr		= "";
	
	// determine background color, then build new gold star URL
	
	if (theSrcStr.indexOf("white") > -1) {
		theNewSrcStr	= "/images/stars/star_white_gold_" + aRating + "0.jpg";
	} else if (theSrcStr.indexOf("gray") > 0) {
		theNewSrcStr	= "/images/stars/star_gray_gold_"  + aRating + "0.jpg";
	} else if (theSrcStr.indexOf("beige") > 0) {
		theNewSrcStr	= "/images/stars/star_beige_gold_" + aRating + "0.jpg";
	}
	
	if (theNewSrcStr) {
		theStarIMG.src		= theNewSrcStr;					// save new src URL
		theStarIMG.alt		= theNewSrcStr;					// save a copy in the alt attribute for onmouseout events
	}
	
	var workerBee = document.getElementById('workerBee');
	workerBee.setAttribute('src', '/resources_setRating.php?rid='+anID+'&rating='+aRating);

	return true;
}

// Add Comments
// Opens popup window where users may add their own comments and view comments from others

function AddComment(anID) {
	theURL = "/comments.php?layoutStyle=verbose&resID=" + anID;
	OpenPopupWindow(theURL,450,640);
}

function AddCommentBrief(anID) {
	theURL = "/comments.php?layoutStyle=brief&resID=" + anID;
	OpenPopupWindow(theURL,450,330);
}

function OpenSlideShowWindow(anID) {
	theURL = "/slideshow.php?resID=" + anID;
	OpenPopupWindow(theURL,800,800);
}

function OpenSlideShowImage(path,caption,height,width) {
	theURL = "/slideshow.php?path=" + path + "&caption=" + caption + "&height=" + height + "&width=" + width;
	OpenPopupWindow(theURL,800,800);
}

function OpenFileUpload(anID) {
	theURL = "/file_upload.php?clientID=" + anID;
	OpenPopupWindow(theURL,600,500);
}

function addEvent(obj, evType, fn){ 
	if (obj.addEventListener){ 
		obj.addEventListener(evType, fn, false); 
		return true; 
	} else if (obj.attachEvent){ 
		var r = obj.attachEvent("on"+evType, fn); 
		return r; 
	} else { 
		return false; 
	} 
}

var restartTimer;

function moveSlide(go_reverse) {
	
	// If we are auto advancing, cancel the auto timer.
	if (slideTimer) {
		clearInterval(slideTimer);
	} 
	
	// passing in a positive argument to doSlideShow() causes it to advance to the previous slide. 
	doSlideShow( go_reverse );
	
	// Restart the slide loop in 30secs.
	restartTimer = setInterval('slideLoop()', 30000);
}

function clickOnSlide(arguments) {
	if (theOrientation == 'ipad') {
		
		if (hud_controller && hud_controller.isVisible == false) {
				//stopSlide();
			 	showSlideInHUD(i);
			} else {
				nextSlide();
			}
		
	} else {
		nextSlide();
	}
}

function nextSlide() {
	moveSlide(false);
	buildIndicator(int_indicatorCount);
}

function prevSlide() {
	moveSlide(true);
	buildIndicator(int_indicatorCount);
}

function stopSlide() {
	// Pause completely stops the slideshow until user chooses to Play.
	if (slideTimer) {
		clearInterval(slideTimer);
	} 
	if (restartTimer) {
		clearInterval(restartTimer);
	} 
	fadePlayPauseBtn();
}

function restartSlide() {
	(restartTimer) ? clearInterval(restartTimer): clearInterval(slideTimer);slideLoop();
	fadePlayPauseBtn();
}

function fadePlayPauseBtn() {
	if ($('slideshow_play_btn').style.display=='none') {
		Effect.Fade('slideshow_pause_btn', { duration:1.0, from:1.0, to:0.0 });
		Effect.Appear('slideshow_play_btn', { duration:1.0, from:0.0, to:1.0 });
	} else {
		Effect.Fade('slideshow_play_btn', { duration:1.0, from:1.0, to:0.0 });
		Effect.Appear('slideshow_pause_btn', { duration:1.0, from:0.0, to:1.0 });
	}
}

function goToPage(str_url, str_orientation) {
	var theURL			= str_url;
	if (str_orientation == 'landscape') {
		theURL			= str_url+'?orientation=L';
	} else if (str_orientation == 'ipad') {
		theURL			= str_url+'?orientation=ipad';
	}
	document.location.href=theURL;
}

function buildIndicator(int_indicatorCount) {
	//{{{
	// Example:
	// squareIndex = 2;
	// buildIndicator(4, 'buttonviewer_indicator', 'squares', 'squareIndex');
	
	

	var	imgSrc;
	var	imgAlt;
	var indicatorDivID	= (arguments[1]) ? arguments[1]: 'slideshow_slide_indicator_div';
	var indictatorType	= 'circles'; // or squares
	var counterVarName	= 'i';
	
	if (arguments[1]) {
		indicatorDivID 	= arguments[1];
	} 
	
	if (arguments[2]) {
		indictatorType 	= arguments[2];
	} 
	
	if (arguments[3]) {
		counterVarName 	= arguments[3];
	} 
	
	
	if (indicator_div = document.getElementById(indicatorDivID)) {
		indicator_div.innerHTML = '';
		for (c = 0; c < int_indicatorCount; c++) {
			if (c == eval(counterVarName)) {
				// this is the current slide
				imgSrc	= '/art/indicator/'+indictatorType+'/full.gif';
				imgAlt	= 'This is the Current Item.';
			} else {
				imgSrc	= '/art/indicator/'+indictatorType+'/empty.gif';
				imgAlt	= 'This is not the Current Item.';
			}
			
			var indicatorImage 		= new Image();
			indicatorImage.src 		= imgSrc;
			//indicatorImage.width 	= 9;
			//indicatorImage.height 	= 7;
			indicatorImage.alt 		= imgAlt;
			indicator_div.appendChild(indicatorImage);
		}
	} 
	//}}}

}
function goToSlide(int_slideNumber) {
	// int_slideNumber	zero-index slide number
	if (int_slideNumber < int_indicatorCount) {
		
		// Switch to specified slide
		if (int_slideNumber != i) {
			
			Effect.Fade(screens[i], { duration:0.5, from:1.0, to:0.0 });
			i = int_slideNumber.toFixed(0);
			Effect.Appear(screens[i], { duration:0.5, from:0.0, to:1.0 });
	
			buildIndicator(int_indicatorCount);
		} 
		
		// Clear auto-timers
		if (slideTimer) {
			clearInterval(slideTimer);
		} 
		if (restartTimer) {
			clearInterval(restartTimer);
		} 
		
		// Switch play/pause button to play
		if ($('slideshow_play_btn').style.display=='none') {
			Effect.Fade('slideshow_pause_btn', { duration:1.0, from:1.0, to:0.0 });
			Effect.Appear('slideshow_play_btn', { duration:1.0, from:0.0, to:1.0 });
		}
		
		document.getElementById('slideshow_caption_div').innerHTML = unescape(slideshow_captions[i]);
	} else {
		alert('Invalid slide number: '+int_slideNumber.toFixed(0));
	}
}



