var xmlHttp
var curr=1;
var galleries= new Array("cuisine","decor","lifestyle","still");
var DHTML = (document.getElementById || document.all || document.layers);
var gallery_count = {"cuisine":1,"decor":1,"lifestyle":1,"still":1};
var gallery_max = new Object;
var currentGal = '';
var preload = new Array();
for (x in galleries){
	getCount(galleries[x]);
	loadImages(galleries[x]);
}

function loadImages(gal)
{
var url="preload.php?gallery="+gal;
if (window.XMLHttpRequest) {              
    AJAX=new XMLHttpRequest();              
} else {                                  
    AJAX=new ActiveXObject("Microsoft.XMLHTTP");
}
if (AJAX) {
     AJAX.open("GET", url, false);                             
     AJAX.send(null);
     var images=AJAX.responseText;                                         
} else {
     return false;
}
images=images.split(",");
//image1 = new Image();
//image1.src="gallery/cuisine/CheeseFigsCaseySills2002.jpg"
for (x in images){	
	eval("preload"+x+" = new Image()");
	eval("preload"+x+".src = \"gallery/"+gal+"/"+images[x]+"\"");
}
}

function getCount(gallery)
{
currentGal=gallery;
var url="image.php";
url=url+"?gallery="+gallery+"&type=count";
url=url+"&sid="+Math.random();
if (window.XMLHttpRequest) {              
    AJAX=new XMLHttpRequest();              
} else {                                  
    AJAX=new ActiveXObject("Microsoft.XMLHTTP");
}
if (AJAX) {
     AJAX.open("GET", url, false);                             
     AJAX.send(null);
     gallery_max[currentGal]=AJAX.responseText;                                         
} else {
     return false;
}                                             
} 
/*
function countChanged() 
{ 
if (xmlHttp.readyState==4)
{
gallery_max[currentGal]=xmlHttp.responseText;
alert(xmlHttp.responseText);
}
}
*/
function getObj(name)
{
  if (document.getElementById)
  {
  	this.obj = document.getElementById(name);
	this.style = document.getElementById(name).style;
  }
  else if (document.all)
  {
	this.obj = document.all[name];
	this.style = document.all[name].style;
  }
  else if (document.layers)
  {
   	this.obj = document.layers[name];
   	this.style = document.layers[name];
  }
}


function loadimg(gallery,id)
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 
var url="image.php";
url=url+"?gallery="+gallery+"&id="+id+"&type=image";
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
} 

function stateChanged() 
{ 
if (xmlHttp.readyState==4)
{ 
//document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
blendimage('blenddiv','blendimage', xmlHttp.responseText, 200);
}
}

/*function flashSucks(){
		for(a=1;a<=5;a++) { 
			blendimage('blenddiv','blendimage', 'images/cs_intro_'+a+'.jpg', 200);
			setTimeout('flashSucks()', 1000);
        } 
}
*/

function loadSlider(gal)
{
	//document.getElementById('cuisine').src = ''; 
	var slider='<li><ul><li class="leftarrow"><a href="#" onclick="loadBack(\''+gal+'\')">&nbsp;</a></li><li class="bar"><div class="handle" id="handle_'+gal+'"></div></li><li class="rightarrow"><a href="#" onclick="loadNext(\''+gal+'\')">&nbsp;</a></li></ul></li>';
	//var slider='<li><ul><a href="#"><li class="leftarrow"></li></a><li class="bar" id="track_'+gal+'"><div class="handle" id="handle_'+gal+'"></div></li><a href="#"><li class="rightarrow"></li></a></ul></li>';
	//var slider='<div align="center">'+gal+'</div><table><tr><td><a href="#" onclick="loadBack(\''+gal+'\')"><</a></td><td><div class="track" id="track_'+gal+'"><div class="handle" id="handle_'+gal+'"></div></div></td><td><a href="#"  onclick="loadNext(\''+gal+'\')">></a></td></tr></table>';
	unloadSlider();
	document.getElementById(gal + '_slider').innerHTML=slider;
	//var per = ((gallery_count[gal]-1)/gallery_max[gal])*96.031746;
	//moveSlider(gal,per);
	loadimg(gal,gallery_count[gal]);
}


function unloadSlider()
{
	for (x in galleries){
		document.getElementById(galleries[x]+'_slider').innerHTML='';
	}
	for (x in gallery_count){
		gallery_count[x]=1;
	}
}

function loadNext(gal)
{
	if (gallery_count[gal]<gallery_max[gal]){
		var per = (gallery_count[gal]/(gallery_max[gal]-1))*96.031746;
		gallery_count[gal]++;
		moveSlider(gal,per);
		loadimg(gal,gallery_count[gal]);
	}
}

function loadBack(gal)
{
	if (gallery_count[gal]>1&&gallery_count[gal]<gallery_max[gal]){
		gallery_count[gal]--;
		var per = ((gallery_count[gal]-1)/(gallery_max[gal]-1))*96.031746;
		moveSlider(gal,per);
		loadimg(gal,gallery_count[gal]);
	} else if (gallery_count[gal]==1){
		moveSlider(gal,0);
	} else if (gallery_count[gal]==gallery_max[gal]){
		gallery_count[gal]--;
		var per = ((gallery_count[gal]-1)/(gallery_max[gal]-1))*96.031746;
		moveSlider(gal,per);
		loadimg(gal,gallery_count[gal]);
	}
}

function moveSlider(gal, per)
{
	if (!DHTML) return;
	gal="handle_" + gal;
	per=per + "%";
	var x = new getObj(gal);
	x.style.marginLeft = per;
}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}

function blendimage(divid, imageid, imagefile, millisec) { 
    var speed = Math.round(millisec / 100); 
    var timer = 0; 
     
    //set the current image as background 
    document.getElementById(divid).style.backgroundImage = "url(" + document.getElementById(imageid).src + ")"; 
     
    //make image transparent 
    changeOpac(0, imageid); 
     
    //make new image 
    document.getElementById(imageid).src = imagefile; 

    //fade in image 
    for(i = 0; i <= 100; i++) { 
        setTimeout("changeOpac(" + i + ",'" + imageid + "')",(timer * speed)); 
        timer++; 
    } 
}

function opacity(id, opacStart, opacEnd, millisec) { 
    //speed for each frame 
    var speed = Math.round(millisec / 100); 
    var timer = 0; 

    //determine the direction for the blending, if start and end are the same nothing happens 
    if(opacStart > opacEnd) { 
        for(i = opacStart; i >= opacEnd; i--) { 
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed)); 
            timer++; 
        } 
    } else if(opacStart < opacEnd) { 
        for(i = opacStart; i <= opacEnd; i++) 
            { 
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed)); 
            timer++; 
        } 
    } 
} 

//change the opacity for different browsers 
function changeOpac(opacity, id) { 
    var object = document.getElementById(id).style; 
    object.opacity = (opacity / 100); 
    object.MozOpacity = (opacity / 100); 
    object.KhtmlOpacity = (opacity / 100); 
    object.filter = "alpha(opacity=" + opacity + ")"; 
}
