
/*|**********************************************************|*/
/*| Gallery ajax/php script created by Barry Goodman 07/6/09 |*/
/*| http://barrygoodman.co.uk/downloads	                     |*/				 
/*|**********************************************************|*/


// Slide Variables

//width of one image + margins
var galSlideMultiplyer = 100;

//how many thumbs to display at a time:
var galPerSlide = 5; //(from config)

//galPerSlide is how many slides to have per page (set on top of php page)
var galSlideAmount = galPerSlide * galSlideMultiplyer;
//timeout value
var galSlideTime = 10;
//how many px to move per slide
var galAddAmount = 10;
//gallery page counter
var galTheGal = 1;
//count
var galCounter = 0;
//var to stop user sliding back and forth
var galAllow = true;
//timer for timeouts
var galTimer;
//var pics to count pics slided
var galPics = 0;
//remaining pics var
var galRemain;

//number of images in each gallery (uses gallery dir name as key)
var allGalCounts = new Array();
allGalCounts['catering'] = 19;
allGalCounts['events'] = 12;
allGalCounts['cafe'] = 10;
allGalCounts['catering'] = 19;
allGalCounts['events'] = 12;
allGalCounts['cafe'] = 10;

var galTotals;
var galPages;



//!tooptips addition!

var cafeGalTips = new Array();
cafeGalTips['cafea1'] = 'Swedish Cinnamon Roll';
cafeGalTips['cafea2'] = 'Toast Skagen';
cafeGalTips['cafea3'] = 'Open Faced Grav Lax Sandwich';
cafeGalTips['cafea4'] = 'Open Faced Swedish Meatball Sandwich';
cafeGalTips['cafea5'] = '"Limpa" Swedish Style Rye Bread';
cafeGalTips['cafea6'] = 'Assorted Sour Dough and Brioche';
cafeGalTips['cafea7'] = 'Chocolate Swirl';
cafeGalTips['cafea8'] = 'Cinnamon-Nutt Roll';
cafeGalTips['cafea9'] = 'Almond Roll';
cafeGalTips['cafeb1'] = 'Cheese Danish';

var caterGalTips = new Array();
caterGalTips['cateringa1'] = 'Crustacean salad';
caterGalTips['cateringa2'] = 'Oven baked halibut';
caterGalTips['cateringa3'] = 'Filet of Kobe';
caterGalTips['cateringa4'] = 'Wild Boar';
caterGalTips['cateringa5'] = 'Filet mignon';
caterGalTips['cateringa6'] = 'Sesame crusted Ahi tuna';
caterGalTips['cateringa7'] = 'Seafood Salad';
caterGalTips['cateringa8'] = 'Loin of Venison';
caterGalTips['cateringa9'] = 'Hors D&#039;oeuvres';
caterGalTips['cateringb1'] = 'Skagen Canap&eacute;';
caterGalTips['cateringb2'] = 'Stuffed Tomatoes';
caterGalTips['cateringb3'] = 'Grilled vegetables';
caterGalTips['cateringb4'] = 'Green and white asparagus';
caterGalTips['cateringb5'] = 'Grilled Filet of Tenderloin';
caterGalTips['cateringb6'] = 'Outdoor Afternoon Spring Buffet';
caterGalTips['cateringb7'] = 'A Traditional Holiday Setting, in association with Oz Malibu';
caterGalTips['cateringb8'] = 'A Nice Dinner Buffet, in association with Oz Malibu';
caterGalTips['cateringb9'] = 'A Summer Time Buffet';
caterGalTips['cateringc1'] = 'Buffet for a Social Function';

var eventGalTips = new Array();
eventGalTips['eventsa1'] = 'Wedding Reception';
eventGalTips['eventsa2'] = 'Jewelry-Box Room';
eventGalTips['eventsa3'] = 'The Imperial Feast';
eventGalTips['eventsa4'] = 'Marie Antoinette Ball';
eventGalTips['eventsa5'] = 'Super Bowl 08 Show';
eventGalTips['eventsa6'] = 'Super Bowl 08 Show';
eventGalTips['eventsa7'] = 'Secret Masquerade Ball';
eventGalTips['eventsa8'] = 'Jewelry Box Ballerina';
eventGalTips['eventsa9'] = 'Garden Party';
eventGalTips['eventsb1'] = 'Wedding Set';
eventGalTips['eventsb2'] = 'Busyness Luncheon';
eventGalTips['eventsb3'] = 'The Imperial Feast';





//setupGal function
//function activated on gallery pane load.
//sets up the last few gallery specific globals, and activates the gallery.
function setupGal(gal) {

	//set up the last few gallery-specific globals:
	galTotals = allGalCounts[gal];
	galPages = Math.ceil(galTotals / galPerSlide);
	
	//reset editable globals (in case this gallery has been loaded before):
	galTheGal = 1;
	galCounter = 0;
	galAllow = true;
	clearTimeout(galTimer);
	galPics = 0;
	galRemain = 0;

	//and start the gallery:
	galLoadArrows();

}




function galSlideBack(arrow)
{
	if (galAllow == true)
	{
		/*set gallery / page number -1 */
		galTheGal -= 1;
		/* run load gallery function*/
		galSlideRight();
	}	
}




/*Slideforward : slide forward is function to progress to next slide */
function galSlideForward(arrow)
{
	if (galAllow == true)
	{
		/*fix ie*/
		document.getElementById("galslide").position = "relative"
		/*incriment gallery/page number*/
		galTheGal += 1;
		/*Slide the gallery left*/
		galSlideLeft();
	}
}




function galSlideLeft()
{
	//set allow to false
	galAllow = false;
	//get the slide
	gallerySlide = document.getElementById("galslide");
	//get current left position
	gCurrent = parseInt(gallerySlide.style.left.split("px")[0]);

	
	//add 1 each time we get past a pic
	if ((gCurrent % 100) == 0)
	{
		galPics++;
	}
	
	//if its the first pic
	if (galCounter == 0)
	{
		galRemain = galTotals - (galTheGal * galPerSlide) + galPerSlide; //(galTotals && galPerSlide are set as globals on the php page)
		//alert("galRemain:" + galRemain);
	}
	
	if (galRemain < galPerSlide)
	{
		galSlideAmount = (galRemain) * galSlideMultiplyer;
	}
	
	
	if (galCounter < (galSlideAmount / galAddAmount)) 
	{
		//ajust px 
		gCurrent -= galAddAmount;
		//set new left px
		gallerySlide.style.left = gCurrent + "px";
		//incriment galCounter
		galCounter++;
		//loop
		setTimeout("galSlideLeft()", galSlideTime);
	}
	else 
	{
		if(galTimer)
		{
			//clear the timer
			clearTimeout(galTimer);
		}
		//allow the users to re click
		galAllow = true;
		//clear galCounter
		galCounter = 0;
		//reset amount to slide
		galSlideAmount = galPerSlide * galSlideMultiplyer;
		//re check arrows
		galLoadArrows();
	}
	
}




function galSlideRight()
{
	//set allow to false
	galAllow = false;
	//get the slide
	gallerySlide = document.getElementById("galslide");
	//get current left position
	gCurrent = parseInt(gallerySlide.style.left.split("px")[0]);
	
	
	//minus 1 each time we get past a pic
	if ((gCurrent % 100) == 0)
	{
		galPics -= 1;
		
		if(galPics == 1)
		{
			galCounter = (galSlideAmount / galAddAmount) -  (galSlideMultiplyer / galAddAmount);
		}
	}
	
	//if its the first pic
	if (galCounter == 0)
	{
		galRemain = galTotals - (galTheGal * galPerSlide) - galPerSlide;
		//alert("galRemain:" + galRemain);
	}
	
	
	if (galCounter < (galSlideAmount / galAddAmount))
	{
		//ajust px 
		gCurrent += galAddAmount;
		//set new left px
		gallerySlide.style.left = gCurrent + "px";
		//incriment galCounter
		galCounter++;
		
		//loop
		setTimeout("galSlideRight()", galSlideTime);
	}	
	else
	{
		if (galTimer)
		{
			//clear the timer
			clearTimeout(galTimer);
		}
		//allow the users to re click
		galAllow = true;
		//clear galCounter
		galCounter = 0;
		//reset amount to slide
		galSlideAmount = galPerSlide * galSlideMultiplyer;
		//re check arrows
		galLoadArrows();
	}

}




function galLoadArrows()
{
	/* store pointer of arrow boxes into */
	var prev = document.getElementById("galprevarr");
	var next = document.getElementById("galnextarr");
	
	/*clear button boxes. this removes the buttons so we start with clean slate*/
	prev.innerHTML="";
	next.innerHTML="";
	
	//Check which buttons should be there
	if (galPages > 1)
	{
		/*if we are not on page one and not on the last page*/
		if ((galTheGal >= 1) && (galTheGal != galPages))
		{
			/*print out the next button*/
			var nextArr = "<a href=\"#\" onclick=\"return false;\" onfocus=\"this.blur();\">";
			nextArr += "<img src=\"grafix/next.png\" alt=\"click for more\" id=\"galnextarrimg\" onmousedown=\"galSlideForward(this);\" /></a>";	
			next.innerHTML = nextArr;
		}
		else
		{
			next.innerHTML = "<img src=\"grafix/next.png\" alt=\"no more slides\" id=\"galnextarrimg_out\" />";
		}	
	
		/*if we are not on page 1 */
		if (galTheGal >= 2)
		{
			//print out previous button
			var prevArr = "<a href=\"#\" onclick=\"return false;\" onfocus=\"this.blur();\">";
			prevArr += "<img src=\"grafix/previous.png\" alt=\"click for more\" id=\"galprevarrimg\" onmousedown=\"galSlideBack(this);\" /></a>";
			prev.innerHTML = prevArr;
		}
		else
		{
			prev.innerHTML = "<img src=\"grafix/previous.png\" alt=\"no more slides\" id=\"galprevarrimg_out\" />";
		}		
	}
}




function galLoadImage(image)
{
	//access main image node
	var mainImg = document.getElementById("galmainimg");
	//get caller
	var id = image.id;
	//get callers image location/name (src)
	var image = document.getElementById(id).src;
 	//remove thumbs from url
	var	url1 = image.split("/thumbs");
	//remove pre thumb_
	var theSplit = url1[1].split("thumb_");
	//change main image node src/image to the callers image/src 
	mainImg.src= url1[0] + "/" + theSplit [1];
	
	
	
	//!tooptips addition!
	
	//update the main tooltip content:
	var imgName = theSplit[1].substr(0, theSplit[1].length -4);
	
	if (theSplit[1].substr(0, 4) == 'cafe') {
		document.getElementById('galmaintooltip').innerHTML = cafeGalTips[imgName];
	}
	else if (theSplit[1].substr(0, 6) == 'events') {
		document.getElementById('galmaintooltip').innerHTML = eventGalTips[imgName];
	}
	else {
		document.getElementById('galmaintooltip').innerHTML = caterGalTips[imgName];
	}
	
	//and fix the main image overlay div width (and position):
	var theWidth = document.getElementById('galmainimg').offsetWidth;
	document.getElementById('galmainimgoverlay').style.width = theWidth +'px';
	document.getElementById('galmainimgoverlay').style.marginLeft = 0 - (theWidth /2) +'px';
	
}




//!tooptips addition!

function showMainTooltip() {
	document.getElementById('galmaintooltip').style.display = 'block';
}

function hideMainTooltip() {
	document.getElementById('galmaintooltip').style.display = 'none';
}
	

function showThumbTooltip(tipId) {
	document.getElementById(tipId).style.display = 'block';
}
	
function hideThumbTooltip(tipId) {
	document.getElementById(tipId).style.display = 'none';
}

	
	
	
