﻿//BP:10/17/2007 - AJAX image viewer
//var dynimages=new Array(17); for(i=0;i<17;i++) {dynimages[i]=new Array(17)}
var dynimages=new Array();
var currentIndex ;
var previousUnitId;
var preloadimg="no";var optlinktarget="";var imgborderwidth=0;
var filterstring="progid:DXImageTransform.Microsoft.GradientWipe(GradientSize=1.0 Duration=0.7)";

if (preloadimg=="yes"){	for (x=0; x<dynimages.length; x++){	var myimage=new Image();myimage.src=dynimages[x][0]	}}
function returnimgcode(theimg,thealt,target){
    var imghtml="";
  
    if (theimg !="") {
        //load thumbnails
        if (target == 'ctl00_ContentPlaceHolder3_PropertyDetails1_photoload'){
        imghtml+='<img id="img1" src="'+theimg+'" alt="'+thealt+'" border="'+imgborderwidth+'" width="195" height="140" style="max-width:195px;max-height:140px">';
        }
        else{//load larger images
         imghtml+='<img id="img2" src="'+theimg+'" alt="'+thealt+'" border="'+imgborderwidth+'" width="500" height="375" style="max-width:500px;max-height:375px">';
        }
    }
    if (theimg !="")imghtml+='</a>';return imghtml;
}

function getNextImage(target,nextIndex) {
   currentIndex = parseFloat(document.getElementById('currentIndex').value) 
   previousUnitId = document.getElementById('hdnPrevUnit').value
    var currentUnitId = document.getElementById('ctl00_ContentPlaceHolder3_PropertyDetails1_hndUnitId').value

    if (previousUnitId != currentUnitId){//Load array from server if this is a new unit
     ret = R90_LF.UnitImageMgr.GetImageArray(currentUnitId, OnComplete, OnTimeOut, OnError);
     document.getElementById('hdnPrevUnit').value = currentUnitId
    }
    else {OnComplete("0")}
    
    function OnComplete(arg) {
        //if arg is not "0" then use array from the web service and place in memory using the eval() function, if it is "0" then use the array already in memory
        if (arg != "0" ){
             var arraySize =arg.split(";"); 
             arraySize = (arraySize.length -1)/2
             //alert(arg + " " + arraySize) ;
            dynimages=new Array(arraySize); for(i=0;i<arraySize;i++) {dynimages[i]=new Array(arraySize)}; eval(arg);
        } 
      
        //image counter
        document.getElementById('imagecounter_sm').innerHTML = " " + (currentIndex+2) + " of " + dynimages.length
        document.getElementById('imagecounter_lg').innerHTML = (currentIndex+2) + " of " + dynimages.length
        
        if ( currentIndex + nextIndex  < dynimages.length && dynimages[currentIndex + nextIndex][0] != undefined  ) {
        document.getElementById(target).innerHTML=returnimgcode(dynimages[currentIndex + nextIndex][0],dynimages[currentIndex + nextIndex][1],target); //change image
        document.getElementById('ctl00_ContentPlaceHolder3_PropertyDetails1_imgtitle').innerHTML=dynimages[currentIndex + nextIndex][1]; //change image title
        document.getElementById('currentIndex').value = currentIndex + nextIndex;
        }
        else {
        document.getElementById('currentIndex').value = -1;
        getNextImage(target,nextIndex);
        }
    }
    function OnTimeOut(arg) {
    alert("TimeOut encountered when calling GetImageArray.");
    }
    function OnError(arg) {
    alert("Error encountered when calling GetImageArray.");
    }     
}

function getPrevImage(target,prevIndex) {
   currentIndex = parseFloat(document.getElementById('currentIndex').value)
   previousUnitId = document.getElementById('hdnPrevUnit').value
    var currentUnitId = document.getElementById('ctl00_ContentPlaceHolder3_PropertyDetails1_hndUnitId').value
    
    if (previousUnitId != currentUnitId){//Load array from server if this is a new unit
     ret = R90_LF.UnitImageMgr.GetImageArray(currentUnitId, OnComplete, OnTimeOut, OnError);
     document.getElementById('hdnPrevUnit').value = currentUnitId
    }
    else {OnComplete("0")}

    function OnComplete(arg) {
        //if arg is not "0" then use array from the server and place in memory using the eval() function, if it is "0" then use the array already in memory
        if (arg != "0" ){
            var arraySize =arg.split(";"); 
            arraySize = (arraySize.length -1)/2
            dynimages=new Array(arraySize); for(i=0;i<arraySize;i++) {dynimages[i]=new Array(arraySize)};eval(arg);
        } 
        //image counter
        document.getElementById('imagecounter_sm').innerHTML = " " + (currentIndex) + " of " + dynimages.length
        document.getElementById('imagecounter_lg').innerHTML = (currentIndex) + " of " + dynimages.length
        
        if (currentIndex == -1) {currentIndex = dynimages.length;}
        //alert(dynimages.length);
        if ( currentIndex + prevIndex > -1 && dynimages[currentIndex + prevIndex][0] != undefined  ) {
        document.getElementById(target).innerHTML=returnimgcode(dynimages[currentIndex + prevIndex][0],dynimages[currentIndex + prevIndex][1],target);//change image
        document.getElementById('ctl00_ContentPlaceHolder3_PropertyDetails1_imgtitle').innerHTML=dynimages[currentIndex + prevIndex][1]; //change image title
        document.getElementById('currentIndex').value = currentIndex + prevIndex;
        }
        else {
        document.getElementById('currentIndex').value = dynimages.length;
        getPrevImage(target,prevIndex);
        }
    }
    function OnTimeOut(arg) {
    alert("TimeOut encountered when calling GetImageArray.");
    }
    function OnError(arg) {
    alert("Error encountered when calling GetImageArray.");
    }     
}
