
function swapImage(imageId,zoneId,imagenum,lp,sizes,imageExtras){
	var mainImage = document.getElementById('main'+zoneId);
	var swapImage = document.getElementById(zoneId+"_image_"+imagenum);
	var lI = lp + "/" + imageId + "." + sizes + imageExtras + ".jpg";
	var mHref = document.getElementById("href_"+zoneId);
	var iHref = document.getElementById(zoneId+"_href_"+imagenum);
	
	if (iHref) {
		mHref.href =iHref.href;
		if (swapImage) mainImage.src = lI;
	} else if (swapImage) {
      lTImage = swapImage.getAttribute("lThumbImage"); 
      largeImage  =swapImage.getAttribute("largeimage");
      
      thumbPath = lTImage;

      mainImage.src = thumbPath;
            
      mainImage.setAttribute("largeimage",largeImage);
      mainImage.setAttribute("imagenum",imagenum);
      mainImage.setAttribute("imageid",imageId);
	}
	 
	
}

function enlargeGalleryMainImage(zoneId){
      
      var mainImage = document.getElementById('main'+zoneId);

      var imageId = mainImage.getAttribute("imageid");
      var imageNum = mainImage.getAttribute("imagenum");

      
      popupinlinewindow(imageId,zoneId,imageNum);
      
}

function putMainBack(zoneId){
      var mainImage = document.getElementById('main'+zoneId);
      var thumbPath = mainImage.getAttribute("original");
      
      mainImage.src = thumbPath;
      
}


function enlargeGalleryImage(imageId,zoneId,imageNumber){
      
}

function positionEnlarge(confirm){
      
      if (!confirm) return setTimeout('positionEnlarge(1)', 100);
      var temp2 = $G("imageholder");
      var t = $G("mainenlargeimage");
      var ie6 = (navigator.userAgent.toLowerCase().indexOf('msie 6') > -1);
      
      var wSizeWidth = document.documentElement.clientWidth;
      var wSizeHeight = document.documentElement.clientHeight;
      var temp3 = new Image();
      var ie = (navigator.userAgent.toLowerCase().indexOf('msie') > -1);
      
//    alert(t.src);
      
      temp3.src = t.src;
      
      if (!temp3.width) return setTimeout('positionEnlarge(1)', 100);
      //alert(t.width+', '+temp3.width);
      var imageWidth = temp3.width;
      var imageHeight = temp3.height;
      var iemask = $G("iedivmask");

      var changeSrc = false;
      
      if (imageWidth > wSizeWidth){
            imageWidth = (wSizeWidth-50);
            changeSrc = true;
      }
      
      if (imageHeight > wSizeHeight){
            imageHeight = (wSizeHeight - 50);
            changeSrc = true;
      }
      
      if (changeSrc){
            
            var thumbSrc = t.getAttribute("thumbpath");
            var thumbImgId = t.getAttribute("imageid");
            thumbSrc = thumbSrc + imageWidth + "x" + imageHeight + "/"+thumbImgId+".jpg";
                  
            t.src = thumbSrc;
            t.gisDone = false;
            
            if (ie){
                  if (temp2.image.readyState) getImageSize.call(temp2.image);
            }
            return;
      }
      t.width = imageWidth;
      t.height = imageHeight;
      
      temp2.style.left = "50%";
      temp2.style.top = "50%";
      
      iemask.style.left = "50%";
      iemask.style.top = "50%";
      
      if (imageWidth < 200){
            temp2.style.width='200px';
            iemask.style.width='200px';
            imageWidth=200;
      }else{
            temp2.style.width=imageWidth+'px';
            iemask.style.width=imageWidth+'px';
      }
      if (imageHeight < 200){
            temp2.style.height='200px';
            iemask.style.height='200px';
            imageHeight = 200;
      }else{
            temp2.style.height=imageHeight+30+'px';
            iemask.style.height=imageHeight+30+'px';
      }
            
      imageWidth = imageWidth/2;
      imageHeight = imageHeight/2;
      
      temp2.style.marginLeft='-'+imageWidth+'px';
      temp2.style.marginTop='-'+imageHeight+'px';
      
      iemask.style.marginLeft='-'+imageWidth+'px';
      iemask.style.marginTop='-'+imageHeight+'px';
      
      if (ie6){
            
            var st = document.documentElement.scrollTop;
            var sl = document.documentElement.scrollLeft;
            
            if (sl > 0){
                  sl = sl - imageWidth;
                  temp2.style.marginLeft=sl+'px';
                  iemask.style.marginLeft=sl+'px';
            }
            if (st>0){
                  st = st - imageHeight;
                  temp2.style.marginTop=st+'px';
                  iemask.style.marginTop=st+'px';
            }
            
      
      }
      temp2.className="imageholder";
      
      var divHeight = t.height+15;
      temp2.style.height = divHeight+'px';
      
      if (ie6){
            iemask.className="imageholder";
            iemask.style.height = divHeight+'px';
      }
            
      t.className = "imageVisible";
}

function removeEnlarge(){
      
      var ele = $G("enlargeoverlay");
      var ele2 = $G("imageholder");
      var temp = $G("sbSiteBody");
      var iemask = $G("iedivmask");
      
      temp.removeChild(iemask);
      temp.removeChild(ele2);
      temp.removeChild(ele);
      
}

function getImageSize(){

      if (this.gisDone) return;
            this.gisDone = true;
      
      positionEnlarge();
      
}

function showNextImage() {
      var numberOfImages = this.numberOfImages;
      var imageEle = $G("mainenlargeimage");
      var tt = $G("enlargenext");
      var imageNum = tt.getAttribute("imagenum");
      var nextImage = imageNum;
      var iemask = $G("iedivmask");
      var zoneId = tt.getAttribute("zoneid");
      var ie = (navigator.userAgent.toLowerCase().indexOf('msie') > -1);
      
            
      if (imageNum==numberOfImages)
            nextImage = 1;
      else
            nextImage++;
            
      var imageItemEle= $G(zoneId+"_image_"+nextImage);
      if (imageItemEle)
            imageSrc = imageItemEle.getAttribute("largeimage");
            
      if (imageEle){
            imageEle.className="imageInvisible";      
            imageEle.src = imageSrc;
            imageEle.gisDone = false;
            imageEle.setAttribute("imageid",imageItemEle.getAttribute("imageid"));
            
            var temp2 = $G("imageholder");
            
            tt.setAttribute("imagenum",nextImage);    
            iemask.className= "enlargehidden";
            temp2.className="enlargehidden";
            
            if (ie){
                  if (temp2.image.readyState) getImageSize.call(temp2.image);
            }
            
      }
      
      $G("imageDetails").innerHTML = nextImage + " of " + numberOfImages;
      
}

function showPreviousImage() {
      var numberOfImages = this.numberOfImages;
      var imageEle = $G("mainenlargeimage");
      var tt = $G("enlargenext");
      var imageNum = tt.getAttribute("imagenum");
      var previousImage = imageNum;
      var iemask = $G("iedivmask");
      var zoneId = tt.getAttribute("zoneid");
      var ie = (navigator.userAgent.toLowerCase().indexOf('msie') > -1);
      
      
      if (imageNum==1)
            previousImage = numberOfImages;
      else
            previousImage--;
            
      var imageItemEle= $G(zoneId+"_image_"+previousImage);
      
      if (imageItemEle)
            imageSrc = imageItemEle.getAttribute("largeimage");
            
      if (imageEle){
            imageEle.className="imageInvisible";            
            imageEle.src = imageSrc;
            imageEle.gisDone = false;
            imageEle.setAttribute("imageid",imageItemEle.getAttribute("imageid"));
            var temp2 = $G("imageholder");
            
            tt.setAttribute("imagenum",previousImage);      
      
            iemask.className= "enlargehidden";
            temp2.className="enlargehidden";
            if (ie){
                  if (temp2.image.readyState) getImageSize.call(temp2.image);
            }
      }
      
      $G("imageDetails").innerHTML = previousImage + " of " + numberOfImages;
      
}

function popupinlinewindow(imageId,zoneId,imageNum) { 

      var imageItemEle= $G(zoneId+"_image_"+imageNum);
      var imageSrc = "";
      var numberOfImages = 0;
      var checkOverlay = $G("enlargeoverlay");
      var imagePath = "";
      var ie = (navigator.userAgent.toLowerCase().indexOf('msie') > -1);
      
      if (checkOverlay)
            return;
            
      if (imageItemEle){
            
            imageSrc = imageItemEle.getAttribute("largeimage");
            numberOfImages = imageItemEle.getAttribute("noi");
            imagePath = imageItemEle.getAttribute("thumbpath");
            
      }

      var ele = $STRUCTURE({e: { className: 'overlayclass',id:'enlargeoverlay',onclick:removeEnlarge}});
      var iemask = $STRUCTURE({ t: 'iframe', cn: 'enlargehidden', id:'iedivmask' });
      var ele2 = $STRUCTURE({e: { className: 'enlargehidden', id:'imageholder'},s:[
                                           {e: { className: 'enlargeClose',innerHTML: '',onclick:removeEnlarge}},
                                           { t: 'img', cn: 'imageInvisible', r:'image', e: { src: imageSrc, id:'mainenlargeimage',onload:getImageSize}},
                                           {e: { className: 'buttonHolder', id:'buttonHolder'},s:[
                                                {e: { className: 'enlargehidden',imagenum:imageNum, id:'enlargeprev', innerHTML: '', 
                                                onclick: showPreviousImage, numberOfImages: numberOfImages }},
                                              {e: { className: 'enlargedetails', id:'imageDetails', innerHTML: ''}},
                                                {e: { className: 'enlargehidden',imagenum:imageNum, id:'enlargenext', innerHTML: '', 
                                                      onclick: showNextImage, numberOfImages: numberOfImages }}
                                           ]}
                                           ]
      });
      
      var temp = $G("sbSiteBody");
      
      temp.appendChild(ele);
      temp.appendChild(iemask);
      temp.appendChild(ele2);
      
      $G("mainenlargeimage").setAttribute("thumbpath",imagePath);
      $G("mainenlargeimage").setAttribute("imageid",imageId);
      
      $G("enlargenext").setAttribute("imagenum",imageNum);
      $G("enlargeprev").setAttribute("imagenum",imageNum);
      
      $G("enlargenext").setAttribute("zoneid",zoneId);
      $G("enlargeprev").setAttribute("zoneid",zoneId);
      
      if (numberOfImages > 1){
            $G("enlargenext").className = "enlargenext";
            $G("enlargeprev").className = "enlargeprev";
      }
      
      $G("imageDetails").innerHTML = imageNum + " of " + numberOfImages;
      
      if (ie){
            if (ele2.image.readyState) getImageSize.call(ele2.image);
      }
}

$TRY = function() { for (var fn,i = 0; ( fn = arguments[i] ); i++) try { return fn(); } catch(e) { } }
$G = function(e) { if(typeof(e)!='string') return e; return $TRY(function() { return document.getElementById(e); }, function() { return document.all[e]; }, function() { return null; } ); }
$D =  function(e) { return (typeof(e) != 'undefined'); }
$STRUCTURE = function(s, top) {
      s.t = s.t || 'div';
      var key, item, i, ele = (s.f) ? s.f() : document.createElement(s.t);
      top = top || ele;
      
      if (s.r) top[s.r] = ele;
      if (s.a) for (key in s.a) ele.setAttribute(key, s.a[key]);
      if (s.e) { ele.ooCleanupQ = []; for (key in s.e) { ele.ooCleanupQ.push[key]; ele[key] = s.e[key]; } }
      if ($D(s.x)) ele.appendChild(document.createTextNode(s.x));
      if (s.s) for (i=0;(item=s.s[i]);i++) ele.appendChild ($STRUCTURE(item, top));
      if (s.y) for (key in s.y) ele.style[key] = s.y[key];
      if (s.tr) s[key] = top;
      if (s.cn) ele.className = s.cn;
      if ($D(s.id)) ele.id = s.id;
      
      for (key in s) if (key.charAt(0)=='_') ele[key.substring(1)]=s[key];

      return ele;
}



