		
	var opacitySpeed = 25;	// Speed of opacity - switching between large images - Lower = faster
	var opacitySteps = 10; 	// Also speed of opacity - Higher = faster
	
	var coloumnsPerPage = 3;
	var maxNumPages = 2;
	var currentPage = 0;
    var HW_slideWidth = 237;
	
	
	var HW_largeImage = false;
	var HW_imageToShow = false;
	var HW_currentOpacity = 100;
	
	var currentUnqiueOpacityId = false;
	var HW_currentActiveImage = false;
	var HW_thumbDiv = false;
	
	var leftArrowObj;
	var rightArrowObj;
	
	function initGalleryScript()
	{
		leftArrowObj = document.getElementById('HW_leftArrow');		
		leftArrowObj.style.visibility='hidden';
		rightArrowObj = document.getElementById('HW_rightArrow');	
		leftArrowObj.style.cursor = 'pointer';	
		rightArrowObj.style.cursor = 'pointer';	
		leftArrowObj.onclick = leftArrowClick;
		rightArrowObj.onclick = rightArrowClick;
		
		HW_largeImage = document.getElementById('HW_largeImage').getElementsByTagName('IMG')[0];
		//var innerDiv = document.getElementById('HW_thumbs_inner');
		//HW_slideWidth = innerDiv.getElementsByTagName('DIV')[0].offsetWidth*coloumnsPerPage;
		HW_thumbDiv = document.getElementById('HW_thumbs_inner');
		HW_thumbDiv.style.left = '0px';

	}
	

	
	
	
	function showPreview(inputObj)
	{		
		if(HW_currentActiveImage){
			if(HW_currentActiveImage==inputObj)return;
			HW_currentActiveImage.className='';
		}
		HW_currentActiveImage = inputObj;
		HW_currentActiveImage.className='activeImage';
		
		
		document.getElementById("pic_text").innerHTML=HW_currentActiveImage.alt;	
	
		HW_imageToShow = inputObj.src.replace(/(.*)t.jpg/, "$1.jpg");
		
		currentUnqiueOpacityId = Math.random();
		moveOpacity(opacitySteps*-1,currentUnqiueOpacityId);
	}
	
	function setOpacity(obj, opacity) {
	  opacity = (opacity == 100)?99.999:opacity;
	  
	  // IE/Win
	  obj.style.filter = "alpha(opacity:"+opacity+")";
	  
	  // Safari<1.2, Konqueror
	  obj.style.KHTMLOpacity = opacity/100;
	  
	  // Older Mozilla and Firefox
	  obj.style.MozOpacity = opacity/100;
	  
	  // Safari 1.2, newer Firefox and Mozilla, CSS3
	  obj.style.opacity = opacity/100;
	}
	
	function moveOpacity(speed,uniqueId)
	{
	
		HW_currentOpacity = HW_currentOpacity + speed;
		if(HW_currentOpacity<=5 && speed<0){
		
			var tmpParent = HW_largeImage.parentNode; 
			HW_largeImage.parentNode.removeChild(HW_largeImage);
			HW_largeImage = document.createElement('IMG');
			tmpParent.appendChild(HW_largeImage);
			setOpacity(HW_largeImage,HW_currentOpacity);
			HW_largeImage.src = HW_imageToShow;
		
			speed=opacitySteps;
		}
		if(HW_currentOpacity>=99 && speed>0)HW_currentOpacity=99;		
		setOpacity(HW_largeImage,HW_currentOpacity);
		if(HW_currentOpacity>=99 && speed>0)return;		
		if(uniqueId==currentUnqiueOpacityId)setTimeout('moveOpacity(' + speed + ',' + uniqueId + ')',opacitySpeed);		
	}
	
function highlightOn(obj)
{
	setOpacity(obj, 100);
	// precache image
	var tmpImage = new Image();
	tmpImage.src = obj.src.replace(/(.*)t.jpg/, "$1.jpg");
}

function highlightOff(obj)
{
	setOpacity(obj, 60);
}

function fadeIn(objId,opacity,targetOpacity,increment,delay) {
  if (document.getElementById) {
    if (opacity <= targetOpacity) {
      setOpacity(document[objId], opacity);
      opacity += increment;
      window.setTimeout("fadeIn('"+objId+"',"+opacity+","+targetOpacity+","+increment+","+delay+")", delay);
    }
  }
}

function fadeOutVanish(objId,opacity,targetOpacity,increment,delay) {
  if (document.getElementById) {
    if (opacity >= targetOpacity) {
      setOpacity(document[objId], opacity);
      opacity -= increment;
      window.setTimeout("fadeOutVanish('"+objId+"',"+opacity+","+targetOpacity+","+increment+","+delay+")", delay);
    } else {
      	document[objId].style.visibility = 'hidden';
    }
  }
}

function showObject(objId)
{
	document[objId].style.visibility = 'visible';
}

function DelayFade(objId,startDelay,increment,targetOpacity)
{
	setOpacity(document[objId], 0);
	window.setTimeout("fadeIn('"+objId+"',"+0+","+targetOpacity+","+increment+",100)", startDelay);	
	document[objId].style.visibility = 'visible';
}
//preload and set index rollovers
if (document.images)
{		
    home = new Image;
	homeOff = new Image;
	homeOff.src = "f/nav/home_off.gif";	
	homeOn= new Image;
	homeOn.src= "f/nav/home_on.gif";
	homeOver= new Image;
	homeOver.src= "f/nav/home_over.gif";
	
	profile = new Image;
	profileOff = new Image;
	profileOff.src = "f/nav/profile_off.gif";	
	profileOn= new Image;
	profileOn.src= "f/nav/profile_on.gif";
	profileOver= new Image;
	profileOver.src= "f/nav/profile_over.gif";
	
	gallery = new Image;
	galleryOff = new Image;
	galleryOff.src = "f/nav/gallery_off.gif";
	galleryOn= new Image;
	galleryOn.src= "f/nav/gallery_on.gif";
	galleryOver= new Image;
	galleryOver.src= "f/nav/gallery_over.gif";
	
	contact = new Image;
	contactOff = new Image;
	contactOff.src = "f/nav/contact_off.gif";
	contactOn = new Image;
	contactOn.src= "f/nav/contact_on.gif";
	contactOver = new Image;
	contactOver.src= "f/nav/contact_over.gif";
	
	bespoke = new Image;
	bespokeOff = new Image;
	bespokeOff.src = "f/nav/bespoke_off.gif";
	bespokeOn = new Image;
	bespokeOn.src= "f/nav/bespoke_on.gif";
	bespokeOver = new Image;
	bespokeOver.src= "f/nav/bespoke_over.gif";
		
	
	brides = new Image;
	bridesOff = new Image;
	bridesOff.src = "f/nav/brides_off.gif";	
	bridesOn = new Image;
	bridesOn.src= "f/nav/brides_on.gif";
	bridesOver = new Image;
	bridesOver.src= "f/nav/brides_over.gif";
}

// rollover function
function rollOver(imgField,newImg)
{
	if(document.images)
	{
	document[imgField].src = eval(newImg + ".src")
	}
}

//=========================================
// generic object finder
function getObject( obj ) {
  var strObj
  if ( document.all ) {
    strObj = document.all.item( obj );
  } else if ( document.getElementById ) {
    strObj = document.getElementById( obj );
  }  
  return strObj;
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}



function positionObject(objId,parentId,tb,lr,dx,dy){
	f = getObject(objId);
	m = getObject(parentId);
	var coors = findPos(m);
	x = dx;
	y = dy;
	if (lr=='left')
	{
		x += coors[0] + (m.offsetWidth - m.clientWidth)/2;
	}else{
		x += coors[0] + (m.offsetWidth - m.clientWidth)/2 +m.clientWidth  - f.clientWidth;
	}
	
	if (tb=='top')
	{
		y += coors[1]+ (m.offsetHeight - m.clientHeight)/2;
	}else{
		y += coors[1] + (m.offsetHeight - m.clientHeight)/2 +m.clientHeight - f.clientHeight;
	}	
	
	f.style.top = y +'px';	
	f.style.left = x + 'px';	
}

/* addEvent handler for IE and other browsers */
function addEvent(elm, evType, fn, useCapture) 
// addEvent and removeEvent
// cross-browser event handling for IE5+,  NS6 and Mozilla
// By Scott Andrew
{
 if (elm.addEventListener){
   elm.addEventListener(evType, fn, useCapture);
   return true;
 } else if (elm.attachEvent){
   var r = elm.attachEvent("on"+evType, fn);
   return r;
 }
} 

function rightArrowClick()
{
// cycle the white block
	// make it visible.
	showObject("whiteBlockInner");
	currentPage++;
	leftPos = HW_slideWidth*currentPage*-1;
	HW_thumbDiv.style.left = leftPos + 'px';
	fadeOutVanish("whiteBlockInner", 90,0,8,20);
	if (currentPage>=maxNumPages)
	{
		document.getElementById('HW_rightArrow').style.visibility='hidden';
	}
	document.getElementById('HW_leftArrow').style.visibility='visible';
}

function leftArrowClick()
{
// cycle the white block
	// make it visible.
	showObject("whiteBlockInner");
	currentPage--;
	leftPos = HW_slideWidth*currentPage*-1;
	HW_thumbDiv.style.left = leftPos + 'px';
	fadeOutVanish("whiteBlockInner", 90,0,8,20);
	if (currentPage==0)
	{
		document.getElementById('HW_leftArrow').style.visibility='hidden';
	}
	document.getElementById('HW_rightArrow').style.visibility='visible';
}


