

//GLOBALS
var serialNumber = 0;
var http_request = false;
var searchValueCheck = '';
var photoButtonSearchStr ='';
var photoCounter = 0;
var photoCounterArray = new Array();
var backForwardButtonFlag = 0;

//SHOWROOM 
function showroom(action)
{
	var close = document.getElementById('close').style;	
	var showroom  = document.getElementById('showroom-outer').style;
	
	if (action == 1)
	{
		var windowHeight = windowSize();
		var scrollPos = scrollPositionCheck()
		
		close.display = 'block';
		var margin  = ((windowHeight - 570)/2) + (scrollPos );
		close.marginTop = margin + 'px';
		
		showroom.display = 'block';
		margin = ((windowHeight - 620)/2) + scrollPos;
		showroom.marginTop = margin + 'px'
	}
	else
	{
		close.display = 'none';
		showroom.display = 'none'
	}
}

function windowSize()
{
	var size = 0;
	
	if (typeof window.innerHeight != 'undefined')
	{
		size = window.innerHeight
	}
	else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientHeight != 'undefined' && document.documentElement.clientHeight != 0)
	{
		size = document.documentElement.clientHeight 
	}
	else
	{
		size = document.getElementsByTagName('body')[0].clientHeight
	}
	return size
}

function scrollPositionCheck()
{
	var position = 0;
	
	if (typeof window.pageYoffset != 'undefined')
	{
		position = window.pageYoffset
	}

	else if (typeof document.documentElement.scrollTop != 'undefined' && document.documentElement.scrollTop > 0)
	{
		position = document.documentElement.scrollTop
	}

	else if (typeof document.body.scrollTop != 'undefined')
	{
		position = document.body.scrollTop
	} 
	return position
}

//AJAX 
function throbber(throbberID)
{
	var bg = document.getElementById(throbberID).style;
	bg.backgroundImage = 'url(graphics/throbber.gif)';
	bg.backgroundPosition = 'center center';
	bg.backgroundRepeat = 'no-repeat'
}

function XHR(method)
{
	http_request = false;
	if (window.XMLHttpRequest)
	{
		http_request = new XMLHttpRequest();
		if (method == 'post')
		{
			if (http_request.overrideMimeType)
			{
				http_request.overrideMimeType('text/html');
			}
		}
	}
	else if (window.ActiveXObject)
	{
		try
		{
			http_request = new ActiveXObject('Msxml2.XMLHTTP')
		}
		catch (e)
		{
			try
			{
				http_request = new ActiveXObject('Microsoft.XMLHTTP')
			}
			catch (e){}
		}
	}
	else return false;
}

function ajaxPost(url, str, postingThrobber)
{
	throbber(postingThrobber);
	XHR('post');
	http_request.onreadystatechange = function()
	{
		if (http_request.readyState == 4 && http_request.status == 200)
		{
			document.getElementById(postingThrobber).style.backgroundImage = 'none';
			if (postingThrobber == 'contact-throbber')
			{
				document.getElementById('success').style.display = 'block'
			}
		}
	}
	http_request.open('POST', url, true);
	http_request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
	http_request.setRequestHeader('Content-length', str.length);
	http_request.setRequestHeader('Connection', 'close');
	http_request.send(str)
}

function ajaxGet(url, holdingDiv, loadingThrobber)
{
	throbber(loadingThrobber);
	if (holdingDiv == 'collections') {document.getElementById('collections-nav').style.display = 'none'}
	XHR('get');
	http_request.onreadystatechange=function() {loadPage(http_request, holdingDiv, loadingThrobber)}
	http_request.open('GET', url, true);
	http_request.send(null)
}

function loadPage(http_request, holdingDiv, loadingThrobber)
{
	if (http_request.readyState == 4 && (http_request.status==200 || window.location.href.indexOf('http')==-1))
	{
		if (holdingDiv != 'collections-gallery')
		{
			if (holdingDiv != 'showroom')
			{
				document.getElementById(loadingThrobber).style.backgroundImage = "none"
			}
		}
		var ajaxStr = http_request.responseText;
		if (holdingDiv == 'collections') {search(ajaxStr)}
		else 
		{
			document.getElementById(holdingDiv).innerHTML = ajaxStr
		}
	}
}

//SEARCH 
function searchCheck()
{
	var searchValue = document.getElementById('search').value;
	searchValue = searchValue.toLowerCase();
	document.getElementById('search').value = "";
	ajaxGet('search.php?q=' + searchValue, 'collections', 'searchthrobber');
	
	return false
}

function search(dataStr)
{		
	if (dataStr != 'empty')
	{
		document.getElementById('collections-nav').innerHTML = dataStr;
		toggleOnOff('collections-nav', 'collectionsSearchError');
	}
	
	else
	{
		document.getElementById('collectionsSearchError').style.display = 'block'
	}
}

//GET PHOTOS AND CONFIGURE INFO REQUEST BUTTON
function getPhoto(photo, directory)
{	
	if (backForwardButtonFlag == 0) {backForwardButtons(photo, directory)}
	serialNumber = photo;
	
	document.getElementById('collections-gallery-inner').style.backgroundImage = 'none';	
	
	var bg = document.getElementById('collections-gallery').style;
	bg.backgroundImage = 'url(graphics/throbber.gif)';
	bg.backgroundPosition = 'center center';
	bg.backgroundRepeat = 'no-repeat';	
	
	document.getElementById('collections-gallery-inner').style.backgroundImage = 'url(product-files/' + directory + '/' + photo + '.jpg)';	
	backForwardButtonFlag = 0;
}


//NAVIGATION BUTTONS
function backForwardButtons(photo, directory)
{
	photoCounter ++;

	document.getElementById('back-button').style.display = 'none';
	document.getElementById('forward-button').style.display = 'none';

	if (photoCounter < photoCounterArray.length)
	{
		document.getElementById('forward-button').style.display = 'block';

		var shuffleLoop = photoCounterArray.length - photoCounter;
		for (var i=shuffleLoop; i>0; i--)
		{
			var shuffle = photoCounter + i;
			photoCounterArray[shuffle] = new Array();
			photoCounterArray[shuffle] = photoCounterArray[shuffle-1]
		}
	}

	photoCounterArray[photoCounter] = new Array(searchValueCheck, photo, directory);

	if (photoCounter > 1)
	{
		document.getElementById('back-button').style.display = 'block'
	}
}

function backButton()
{
	photoCounter --;
	var button = photoCounterArray[(photoCounter)];
	backForwardButtonFlag = 1;
	getPhoto(button[1], button[2]);

	if (photoCounter == 1)
	{
		document.getElementById('back-button').style.display = 'none'
	}

	if (photoCounterArray.length > photoCounter)
	{
		document.getElementById('forward-button').style.display = 'block'
	}
}

function forwardButton()
{
	photoCounter ++;
	var button = photoCounterArray[(photoCounter)];
	backForwardButtonFlag = 1;
	getPhoto(button[1], button[2]);
	document.getElementById('back-button').style.display = 'block'

	if (photoCounter+1 == photoCounterArray.length)
	{
		document.getElementById('forward-button').style.display = 'none'
	}
}

//TOGGLE
function toggleOnOff(on, off)
{
	document.getElementById(on).style.display = 'block';
	document.getElementById(off).style.display = 'none'
}



