var currentImages = 0;
var viewSize = 4;
var wait = 0;
var thumbwidth = 105;

function JumpToImage(goNUM)
{
 if (currentImages > 0 && currentImages > goNUM){
  while ( currentImages > 0 && currentImages > goNUM){
   if(currentImages > 0 && wait == 0)
   {
    wait = 1;
    size = thumbwidth * viewSize;
    if (viewSize > currentImages) { size = thumbwidth * currentImages; }
    new Effect.Move("imageBoxInside", { x: size, y: 0, duration:0.0, transition: Effect.Transitions.full });
    if (currentImages > viewSize) {
    currentImages=currentImages - viewSize;
    } else {
    currentImages=0;
    }
    wait = 0;
   }
  }
 } else if (currentImages < totalImages - viewSize && currentImages < goNUM - viewSize){
  while ( currentImages < totalImages - viewSize && currentImages < goNUM - viewSize){
   if(currentImages < totalImages - viewSize && wait == 0)
   {
    wait = 1;
    size = thumbwidth * viewSize;
    if (viewSize > totalImages - currentImages - viewSize) { size = thumbwidth * (totalImages-currentImages - viewSize);}
    new Effect.Move("imageBoxInside", { x: -size, y: 0, duration:0.0, transition: Effect.Transitions.full });
    if (viewSize > totalImages - currentImages - viewSize) {
    currentImages=totalImages - viewSize;
    } else {
    currentImages=currentImages+viewSize;
    }
        wait = 0;
   }
  }
 }
}

function moveToPrevious()
{
  if(currentImages > 0 && wait == 0)
  {
    wait = 1;
    size = thumbwidth * viewSize;
    if (viewSize > currentImages) { size = thumbwidth * currentImages; }
    new Effect.Move("imageBoxInside", { x: size, y: 0, duration:0.2, transition: Effect.Transitions.sinoidal });
    if (currentImages > viewSize) {
    currentImages=currentImages - viewSize;
    } else {
    currentImages=0;
    }
    wait = 0;
  }
}

function moveToNext()
{
if(currentImages < totalImages - viewSize && wait == 0)
  {
    wait = 1;
    size = thumbwidth * viewSize;
    if (viewSize > totalImages - currentImages - viewSize) { size = thumbwidth * (totalImages-currentImages - viewSize);}
    new Effect.Move("imageBoxInside", { x: -size, y: 0, duration:0.2, transition: Effect.Transitions.sinoidal });
    if (viewSize > totalImages - currentImages - viewSize) {
    currentImages=totalImages - viewSize;
    } else {
    currentImages=currentImages + viewSize;
    }
    wait = 0;
  }
}

        var currentImage;
        var currentImageNum;
        var currentImageEvent;
        var currentImageCat_Num;
        var TYPEImg;
function showImage(imgPath, imgName, width, height, next_image, event, cat_num, large, percent) {
//MUST BUILD IF IMAGE DOESN'T EXIST, SPECIFY SIZES
                // ADJUST TRANSPARENT TO MATCH
                var transObj = document.getElementById("obfuscate");
                transObj.src = 'images/transparent.gif';
                transObj.style.height = height+'px';
                transObj.style.width = width+'px';
                currentImage = imgName;
                currentImageNum = next_image;
                currentImageType = "COLOR";
                currentImageEvent = event;
                currentImageCat_Num = cat_num;
                currentImagePath = imgPath;
                // RESET BW Image
                if (document.getElementById("BW")) {
                var transObjbw = document.getElementById("BW");
                transObjbw.src = 'images/'+cssDir+'/bw.gif';
                transObjbw.alt = 'View image in Black & White';
                transObjbw.title = 'View image in Black & White';
                }
                // RESET SEPIA Image
                if (document.getElementById("SEPIA")) {
                var transObjsepia = document.getElementById("SEPIA");
                transObjsepia.src = 'images/'+cssDir+'/sepia.gif';
                transObjsepia.alt = 'View image in SEPIA';
                transObjsepia.title = 'View image in SEPIA';
                }
                TYPEImg = 0;
                var transObjimgNumb = document.getElementById("imgNumb");
                if (transObjimgNumb) {
                var str1 = imgName.match(/^[^_]+_([^.]+)\.jpg$/)[1];
                transObjimgNumb.innerHTML = str1;
                }
                var transObjimgOrderNumb = document.getElementById("imgOrderNumb");
                if (transObjimgOrderNumb) {transObjimgOrderNumb.innerHTML = "Image # "+str1; }
                var transObjimgOrderType = document.getElementById("imgOrderType");
                if (transObjimgOrderType) {transObjimgOrderType.innerHTML = "Image type: COLOR"; }
                var transObjFS = document.getElementById("FS");
                if (large == "1" && transObjFS) {
                        transObjFS.src = 'images/'+cssDir+'/fs.gif';
                } else if (large == "0" && transObjFS) {
                        transObjFS.src = 'images/transparent.gif';
                }
                // ADJUST BACKGROUND IMAGE
                var imgObj = document.getElementById("container");
        if (percent) {
                imgObj.style.background = 'url("goimage.php?imgpath='+imgPath+'&imgname='+imgName+'&percent='+percent+'") no-repeat center';
        } else {
                imgObj.style.background = 'url("goimage.php?imgpath='+imgPath+'&imgname='+imgName+'") no-repeat center';
//                imgObj.style.background = 'url("'+imgPath+'/'+imgName+'") no-repeat center';
        }
                imgObj.style.height = height+'px';
                imgObj.style.width = width+'px';
                goFAVS("imgstatfav",event,cat_num);
        }

        function showTYPE(imgPath, imgType, percent) {
            if (TYPEImg != 1 && imgType == "bw") {
                currentImageType = "BW";
                var transObj = document.getElementById("BW");
                transObj.src = 'images/'+cssDir+'/color.gif';
                transObj.alt = 'View image in Color';
                transObj.title = 'View image in Color';
                var transObjsepia = document.getElementById("SEPIA");
                transObjsepia.src = 'images/'+cssDir+'/sepia.gif';
                transObjsepia.alt = 'View image in SEPIA';
                transObjsepia.title = 'View image in SEPIA';
                var transObjimgOrderType = document.getElementById("imgOrderType");
                if (transObjimgOrderType) {transObjimgOrderType.innerHTML = "Image type: Black & White"; }
                TYPEImg = 1;
               var imgObj2 = document.getElementById("container");
        if (percent) {
                imgObj2.style.background = 'url("goimage.php?imgpath='+currentImagePath+'&imgname='+currentImage+'&type=BW&percent='+percent+'") no-repeat center';
        } else {
                imgObj2.style.background = 'url("goimage.php?imgpath='+currentImagePath+'&imgname='+currentImage+'&type=BW") no-repeat center';
        }
                } else if (TYPEImg != 2 && imgType == "sepia") {
                currentImageType = "SEPIA";
                var transObj = document.getElementById("SEPIA");
                transObj.src = 'images/'+cssDir+'/color.gif';
                transObj.alt = 'View image in Color';
                transObj.title = 'View image in Color';
                var transObjbw = document.getElementById("BW");
                transObjbw.src = 'images/'+cssDir+'/bw.gif';
                transObjbw.alt = 'View image in Black & White';
                transObjbw.title = 'View image in Black & White';
                var transObjimgOrderType = document.getElementById("imgOrderType");
                if (transObjimgOrderType) {transObjimgOrderType.innerHTML = "Image type: SEPIA"; }
                TYPEImg = 2;
                var imgObj2 = document.getElementById("container");
        if (percent) {
                imgObj2.style.background = 'url("goimage.php?imgpath='+currentImagePath+'&imgname='+currentImage+'&type=SEPIA&percent='+percent+'") no-repeat center';
        } else {
                imgObj2.style.background = 'url("goimage.php?imgpath='+currentImagePath+'&imgname='+currentImage+'&type=SEPIA") no-repeat center';
        }
                } else {
                currentImageType = "COLOR";
                var transObjbw = document.getElementById("BW");
                transObjbw.src = 'images/'+cssDir+'/bw.gif';
                transObjbw.alt = 'View image in Black & White';
                transObjbw.title = 'View image in Black & White';
                var transObjsepia = document.getElementById("SEPIA");
                transObjsepia.src = 'images/'+cssDir+'/sepia.gif';
                 transObjsepia.alt = 'View image in SEPIA';
                transObjsepia.title = 'View image in SEPIA';
                var transObjimgOrderType = document.getElementById("imgOrderType");
                if (transObjimgOrderType) {transObjimgOrderType.innerHTML = "Image type: COLOR"; }
               TYPEImg = 0;
                var imgObj2 = document.getElementById("container");
                if (percent) {
                        imgObj2.style.background = 'url("goimage.php?imgpath='+currentImagePath+'&imgname='+currentImage+'&percent='+percent+'") no-repeat center';
                } else {
                        imgObj2.style.background = 'url("goimage.php?imgpath='+currentImagePath+'&imgname='+currentImage+'") no-repeat center';
                }
                }
        }

function goNext()
{

for (var n = 0; n < slides.length-1; n++)
{
 if (slides[n][0] == currentImage) {
  showImage(currentImagePath, slides[n+1][0], "946", "960", slides[n+1][2], currentImageEvent, currentImageCat_Num, slides[n+1][3]);
  return;
 }
}

}
function goBack()
{

for (var n = 0; n < slides.length; n++)
{
 if (slides[n][0] == currentImage) {
  showImage(currentImagePath, slides[n-1][0], "946", "960", slides[n-1][2], currentImageEvent, currentImageCat_Num, slides[n-1][3]);
  return;
 }
}

}

function goFAVS(type,str1,str2,str3,str4) {
if (document.getElementById("FAVS"+str4)) {
currentImageEvent = str1;
currentImageCat_Num = str2;
currentImage = str3;
currentImageNum = str4;
}
  xmlHttp=GetXmlHttpObject();
  if (xmlHttp==null) {
    alert ("Your browser does not support AJAX!");
    return;
  }
 if (type == "addfav" || type == "imgstatfav") {
  if (!document.getElementById("FAVS") && !document.getElementById("FAVS"+currentImageNum)) { return; }
    var url="validate.php?type="+type+"&event="+currentImageEvent+"&cat_num="+currentImageCat_Num+"&img_name="+currentImage;
 }
 if (type == "logoff") {
    var url="validate.php?type="+type+"&event="+str1+"&cat_num="+str2+"&returnpg="+str3+"&num_page="+str4;
 }
        var myRandom=parseInt(Math.random()*99999999);  // cache buster
        xmlHttp.open("GET",url + "&rand=" + myRandom,true);
        xmlHttp.onreadystatechange = goFAVSHttpResponse;
        xmlHttp.send(null);
}

function goFAVSHttpResponse() {
        if (xmlHttp.readyState == 4) {
            results = xmlHttp.responseText.split(",");
            if (results[0] == "addfav") {
               if (results[1] == "expired") {
                alert("You are not logged into Favorites, please log in first!");
               } else if (results[1] == "add"){
                  if (results[2] == "failed") {
                    alert("There was an error adding the image to your favorites, please try again");
                  } else if (document.getElementById("FAVS")){
                var transObj = document.getElementById("FAVS");
                transObj.src = 'images/'+cssDir+'/remfavs.gif';
                transObj.alt = 'Remove image from Favorites';
                transObj.title = 'Remove image from Favorites';
                  } else if (document.getElementById("FAVS"+currentImageNum)){
                var transObj = document.getElementById("FAVS"+currentImageNum);
                transObj.src = 'images/'+cssDir+'/remfavs.gif';
                transObj.alt = 'Remove image from Favorites';
                transObj.title = 'Remove image from Favorites';
                  }
               } else if (results[1] == "delete"){
                  if (results[2] == "failed") {
                    alert("There was an error removing the image from your favorites, please try again");
                  } else if (document.getElementById("FAVS")){
                var transObj = document.getElementById("FAVS");
                transObj.src = 'images/'+cssDir+'/addfavs.gif';
                transObj.alt = 'Add image to Favorites';
                transObj.title = 'Add image to Favorites';
                  } else if (document.getElementById("FAVS"+currentImageNum)){
                var transObj = document.getElementById("FAVS"+currentImageNum);
                transObj.src = 'images/'+cssDir+'/addfavs.gif';
                transObj.alt = 'Add image to Favorites';
                transObj.title = 'Add image to Favorites';
                  }
               } else {
                 alert("Unexpected results from Add to Favorites.");
               }
            } else if (results[0] == "logoff"){
               //if (results[1] == "expired") {
                //var str1 = "(log on)";
                //document.getElementById("statFAV").innerHTML = str1;
               //} else {
        if (results[3] == "favs") {                goPAGE('viewer', results[1], results[2], results[3], '', 'logon');  }
        else {                var str1 = '<a alt="Click here to log on" title="Click here to log on" onMouseOver="this.style.cursor=\'pointer\'" onClick="goPAGE(\'favs\', \''+results[1]+'\', \''+results[2]+'\', \''+results[3]+'\', \''+results[4]+'\', \'logon\')">Log into Favorites</a>';
                document.getElementById("statFAV").innerHTML = str1;  }
               //}
            } else if (results[0] == "statfav"){
               if (results[1] == "expired") {
                alert("not logged on");
               } else {
                alert("logged on");
               }
            } else if (results[0] == "imgstatfav") {
               if (results[1] == "expired") {
                var transObj = document.getElementById("FAVS");
                transObj.src = 'images/'+cssDir+'/addfavs.gif';
                transObj.alt = 'Add image to Favorites';
                transObj.title = 'Add image to Favorites';
               } else {
                 if (results[1] == "1") {
                var transObj = document.getElementById("FAVS");
                   transObj.src = 'images/'+cssDir+'/remfavs.gif';
                   transObj.alt = 'Remove image from Favorites';
                   transObj.title = 'Remove image from Favorites';
                 } else {
                   var transObj = document.getElementById("FAVS");
                   transObj.src = 'images/'+cssDir+'/addfavs.gif';
                   transObj.alt = 'Add image to Favorites';
                   transObj.title = 'Add image to Favorites';
                 }
               }
            } else {
                alert("Unexpected results from main type."+results[0]+results[1]+results[2]);
            }
        }
}

