//------------------------------------------------------------------------//
//--                                                                    --//
//-- Copyright (c) 2004 adbeast inc.  All rights reserved.              --//
//-- Unauthorized use of this or any part of this program is strictly   --//
//-- prohibited.                                                        --//
//--                                                                    --//
//------------------------------------------------------------------------//

// ***** GetQuery ***** //
function getQueryVariable(variable) {
   var query = parent.location.search.substring(1);
   var vars = query.split("&");
   for (var k=0;k<vars.length;k++) {
      var pair = vars[k].split("=");
      if (pair[0] == variable) {
         return pair[1];
      }
   } 
}

var defImg;
function initImageRoom() {
   defImg = getQueryVariable("defaultIMG");
   if (!defImg) {
      displayWindow(1);
   } else {
      displayWindow(defImg);
   }
}
// ***** Show/Hide Credits ***** //
var xCoords = 0;
var yCoords = 0;
if (navigator.appName == "Netscape") {
   document.captureEvents(Event.CLICK);
}
document.onclick = captureCoords;

function captureCoords(e) {
   if (navigator.appName == "Microsoft Internet Explorer"){
      xCoords = event.clientX;
      yCoords = event.clientY;
   } else {
      xCoords = e.pageX;
      yCoords = e.pageY;
   }
}

function expandCreditsNS(objShowCredits, lngImageOID, lngPortfolioOID){
   var scrWidth,scrY,scrLength,yWin;
   scrWidth = (window.screen.width - 200);
   yWin = yCoords + 60;
   scrLength = (window.screen.height / 2);
   scrY = scrLength - 100;

   if (yCoords < scrLength) { 
      var newWin = window.open("PopupCredits.asp?eCI=" + EncodeString(lngImageOID) + "&eP=" + EncodeString(lngPortfolioOID), "Spot", "width=180,height=300,screenX="+ scrWidth + ",screenY=" +yWin+ ",top=" +yWin+",left=" + scrWidth);
   } else {     
     var newWin = window.open("PopupCredits.asp?eCI=" + EncodeString(lngImageOID) + "&eP=" + EncodeString(lngPortfolioOID), "Spot", "width=180,height=300,screenX=" + scrWidth + ",screenY=" +scrY+ ",top=" +scrY+ ",left=" +scrWidth);
   }
   newWin.focus();
}  

function expandCredits(objShowCredits) {
   d = document;
   layer1 = "";    

   if (d.getElementById) {
      layer1 = d.getElementById(objShowCredits);
   } else {
      return 1;
   }

   if (layer1.style.display == "" ) {
      layer1.style.display = "none";
   } else {
      layer1.style.display = "";
   }
}
// ***** End Show/Hide Credits ***** //

function checkReferrer() {
   var flagReferrer = true;
   var strCurrentURLReferrer = window.document.referrer;
   for (var r=0;r<arrURLReferral.length;r++) {
      if (strCurrentURLReferrer.match(arrURLReferral[r]) == null) { 
         flagReferrer = false;
      } else {
         flagReferrer = true;
         break;
      }
   }
   if (flagReferrer == false) {
      window.top.location.href = "http://" + arrURLReferral[0];
   }
}

function displayWindow(currentImage) {

   var imageDisplay = eval("imageURL" + currentImage);
   var imageEXT = eval("imageEXT" + currentImage);
   var imageTitle = eval("productServiceName" + currentImage);
   var imageName = eval("imageName" + currentImage);
   var imageNext = eval(currentImage)+eval(1);

   parent.displayPortfolio.document.getElementById("pID").innerHTML = currentImage;
   parent.displayPortfolio.document.getElementById("pNOI").innerHTML = numberOfImages;
   parent.displayPortfolio.document.getElementById("pTitle").innerHTML = imageTitle + " - " + imageName;

   if (currentImage == 1) {
      parent.displayPortfolio.document.getElementById("prev").innerHTML = "<img src='http://studio.adbeast.com/inc/ImageRoom/images/nav_prev_disabled.gif' border='0' width='16' height='16'>";
   } else {
      parent.displayPortfolio.document.getElementById("prev").innerHTML = "<a href='JavaScript:displayWindow(" + eval(currentImage-1) + ");'><img src='http://studio.adbeast.com/inc/ImageRoom/images/nav_prev.gif' border='0' width='16' height='16'></a>";
   }

   if (currentImage == numberOfImages) {
      parent.displayPortfolio.document.getElementById("next").innerHTML = "<img src='http://studio.adbeast.com/inc/ImageRoom/images/nav_next_disabled.gif' border='0' width='16' height='16'>";
   } else {
      parent.displayPortfolio.document.getElementById("next").innerHTML = "<a href='JavaScript:displayWindow(" + imageNext + ");'><img src='http://studio.adbeast.com/inc/ImageRoom/images/nav_next.gif' border='0' width='16' height='16'></a>";
   }

   parent.displayPortfolio.document.images.imageDisplay.src = "images/" + imageDisplay + "_medium" + imageEXT;
   parent.displayPortfolio.document.images.imageDisplay.src = "spacer_black.gif";
   parent.displayPortfolio.document.images.imageDisplay.src = "images/" + imageDisplay + "_medium" + imageEXT;
}


function displayFullScreen(index) {
	if (window.screen) {
		var agt = navigator.userAgent.toLowerCase();
		var isMac = (agt.indexOf("mac")!=-1);
		var isIE = (agt.indexOf("msie")!=-1);
		var newWidth = screen.availWidth - 10;
		var newHeight = screen.availHeight;

		if ( isMac && isIE ) {
			newHeight = newHeight - 10;
		} else {
			newHeight = newHeight - 30;
      }

		var qtFSsize = 'width=' + newWidth + ',height=' + newHeight;
		var qtFSparam = '&w=' + newWidth + '&h=' + newHeight;

		if ( navigator.appName == "Netscape" ) {
			var qtFSpos = 'screenX=0,screenY=0,';
		} else {
			var qtFSpos = 'left=0,top=0,';
      }

		qtFS = window.open('fsIndex.html?index=' + index + qtFSparam,'adbeastPortfolio','scrollbars=no,resizable=yes,' + qtFSpos + qtFSsize);
	}
}

function initFullScreenDisplay() {
   var currentImage = parseInt(getQueryVariable("index"));
   var imageDisplay = eval("imageURL" + currentImage);
   var imageEXT = eval("imageEXT" + currentImage);

   parent.displayPortfolio.document.images.imageDisplay.src = "images/" + imageDisplay + "_large" + imageEXT;
   //defaultIM(currentImage); //set image to fit to page onload
   zoomRes(currentImage); //set image to orig size to page onload
}

function initFullScreenToolbar() {
   var currentImage = parseInt(getQueryVariable("index"));
   var imageTitle = eval("productServiceName" + currentImage);
   var imageName = eval("imageName" + currentImage);

   parent.toolbarPortfolio.document.getElementById("pID").innerHTML = currentImage;
   parent.toolbarPortfolio.document.getElementById("pNOI").innerHTML = numberOfImages;
   parent.toolbarPortfolio.document.getElementById("pTitle").innerHTML = imageTitle + " - " + imageName;

   if (currentImage == 1) {
      parent.toolbarPortfolio.document.getElementById("prev").innerHTML = "<img src='http://studio.adbeast.com/inc/ImageRoom/images/nav_prev_disabled.gif' border='0' width='16' height='16'>";
   } else {
      parent.toolbarPortfolio.document.getElementById("prev").innerHTML = "<a href='JavaScript:fsReload(" + eval(currentImage-1) + ");'><img src='http://studio.adbeast.com/inc/ImageRoom/images/nav_prev.gif' border='0' width='16' height='16'></a>";
   }

   if (currentImage == numberOfImages) {
      parent.toolbarPortfolio.document.getElementById("next").innerHTML = "<img src='http://studio.adbeast.com/inc/ImageRoom/images/nav_next_disabled.gif' border='0' width='16' height='16'>";
   } else {
      parent.toolbarPortfolio.document.getElementById("next").innerHTML = "<a href='JavaScript:fsReload(" + eval(currentImage+1) + ");'><img src='http://studio.adbeast.com/inc/ImageRoom/images/nav_next.gif' border='0' width='16' height='16'></a>";
   }

   zoomInDisplay(currentImage);
   zoomOutDisplay(currentImage);
   zoomFitDisplay(currentImage);
   zoomResDisplay(currentImage);
}

function fsReloadDelay(currentImage) {
   fsReloadDisplay(currentImage);
   fsReloadToolbar(currentImage);
}
function fsReload(currentImage) {
   // Before loading the next image, replace the current one with a blank.
   // This will eliminate the distortion effect.
   parent.displayPortfolio.document.images.imageDisplay.src = "spacer_black.gif";
   setTimeout("fsReloadDelay(" + currentImage + ");",100);
}

function fsReloadDisplay(currentImage) {
   var imageDisplay = eval("imageURL" + currentImage);
   var imageEXT = eval("imageEXT" + currentImage);

   //defaultIM(currentImage); //set image to fit to page onload
   zoomRes(currentImage); //set image to orig size to page onload
   parent.displayPortfolio.document.images.imageDisplay.src = "images/" + imageDisplay + "_large" + imageEXT;
}

function fsReloadToolbar(currentImage) {
   var imageTitle = eval("productServiceName" + currentImage);
   var imageName = eval("imageName" + currentImage);
   
   parent.toolbarPortfolio.document.getElementById("pID").innerHTML = currentImage;
   parent.toolbarPortfolio.document.getElementById("pNOI").innerHTML = numberOfImages;
   parent.toolbarPortfolio.document.getElementById("pTitle").innerHTML = imageTitle + " - " + imageName;
   
   if (currentImage == 1) {
      parent.toolbarPortfolio.document.getElementById("prev").innerHTML = "<img src='http://studio.adbeast.com/inc/ImageRoom/images/nav_prev_disabled.gif' border='0' width='16' height='16'>";
   } else {
      parent.toolbarPortfolio.document.getElementById("prev").innerHTML = "<a href='JavaScript:fsReload(" + eval(currentImage-1) + ");'><img src='http://studio.adbeast.com/inc/ImageRoom/images/nav_prev.gif' border='0' width='16' height='16'></a>";
   }
   
   if (currentImage == numberOfImages) {
      parent.toolbarPortfolio.document.getElementById("next").innerHTML = "<img src='http://studio.adbeast.com/inc/ImageRoom/images/nav_next_disabled.gif' border='0' width='16' height='16'>";
   } else {
      parent.toolbarPortfolio.document.getElementById("next").innerHTML = "<a href='JavaScript:fsReload(" + eval(currentImage+1) + ");'><img src='http://studio.adbeast.com/inc/ImageRoom/images/nav_next.gif' border='0' width='16' height='16'></a>";
   }
   
   zoomInDisplay(currentImage);
   zoomOutDisplay(currentImage);
   zoomFitDisplay(currentImage);
   zoomResDisplay(currentImage);
}

// ***** Zoom Functions ***** //
var zIn = "";
var zOut = "";
var zFit = "";
var zRes = "";

function defaultIM(currentImage) {
   zoomFit(currentImage); //set the universal default load style.
}

function zoomIn (currentImage) { 
   var imW = eval("lgOrigWidth" + currentImage); 
   var imH = eval("lgOrigHeight" + currentImage);
   zoom(imW,imH,'imageDisplay','in'); 
}

function zoomOut (currentImage) { 
   var imW = eval("lgOrigWidth" + currentImage); 
   var imH = eval("lgOrigHeight" + currentImage);
   zoom(imW,imH,'imageDisplay','out'); 
}

function zoomFit (currentImage) { 
   var imW = eval("lgOrigWidth" + currentImage); 
   var imH = eval("lgOrigHeight" + currentImage);
   zoom(imW,imH,'imageDisplay','fit'); 
}

function zoomRes (currentImage) { 
   var imW = eval("lgOrigWidth" + currentImage); 
   var imH = eval("lgOrigHeight" + currentImage);
   zoom(imW,imH,'imageDisplay','restore'); 
}

var whatcache;
var lngZoomFactor = 0.05;       // 5%
var blnExecuted = false;

function zoomInit(originalW, originalH, strImageName) {
   if( !blnExecuted ) {
      whatcache = eval("parent.displayPortfolio.document.images." + strImageName);
      whatcache.style.width   = originalW;
      whatcache.style.height  = originalH;
      blnExecuted = true;
   }
}

function zoomAction(lngZoomDirection, whatcache) {
   if (parseInt(whatcache.style.width) > 10 && parseInt(whatcache.style.height) > 10) {
      whatcache.style.width  = parseInt(whatcache.style.width) + parseInt(whatcache.style.width) * lngZoomFactor * lngZoomDirection;
      whatcache.style.height = parseInt(whatcache.style.height)+ parseInt(whatcache.style.height) * lngZoomFactor * lngZoomDirection;
   }
}

function zoom(originalW, originalH, strImageName, strZoomMode) {
   var lngZoomDirection;
   if (!document.all && !document.getElementById) {
      return;
   }
   zoomInit(originalW, originalH, strImageName);
   if( strZoomMode == "in" ) {
      lngZoomDirection = 1;
   } else {
      lngZoomDirection = -1;
   }

   if (strZoomMode == "restore") {
      whatcache.style.width = originalW;
      whatcache.style.height = originalH;
   } else if (strZoomMode == "fit") {
      var agt=navigator.userAgent.toLowerCase(); //browser sniffer
      var clientW = parent.displayPortfolio.document.body.clientWidth; //works in all but safari
      var clientH = parent.displayPortfolio.document.body.clientHeight; //works in all but safari
      if (agt.indexOf("safari") != -1) { //if safari
         clientW = parent.displayPortfolio.innerWidth
         clientH = parent.displayPortfolio.innerHeight;
      }
      var ratioH  = originalH / clientH;
      var ratioW  = originalW / clientW;
      if ( ratioW < ratioH ) { // if width is gt height set image height to 100%
         whatcache.style.height  = clientH;
         whatcache.style.width   = originalW / ratioH;
      } else { // else if height is gt width, set width to 100%
         whatcache.style.width   = clientW;
         whatcache.style.height  = originalH / ratioW;
      }
   } else {
      zoomAction(lngZoomDirection, whatcache);
   }
}

function zoomOutDisplay(currentImage) {
   var strZoomOut = "                  <table cellpadding=0 cellspacing=3 border=0>"
   strZoomOut = strZoomOut + "                     <tr><td align=center><a href=\"JavaScript:zoomOut(" + currentImage + ");\"><img src=\"http://studio.adbeast.com/inc/ImageRoom/images/nav_zoom_out.gif\" border=0 alt=\"Zoom Out\" title=\"Zoom Out\"></a></td></tr>"
   strZoomOut = strZoomOut + "                     <tr><td align=center><a href=\"JavaScript:zoomOut(" + currentImage + ");\">&nbsp;zoom out</a></td></tr>"
   strZoomOut = strZoomOut + "                  </table>"
   if (allowZoom == 1) {
      parent.toolbarPortfolio.document.getElementById("zoomOut").innerHTML = strZoomOut;
   }
}

function zoomInDisplay(currentImage) {
   var strZoomIn = "                  <table cellpadding=0 cellspacing=3 border=0>";
   strZoomIn = strZoomIn + "                     <tr><td align=center><a href=\"JavaScript:zoomIn(" + currentImage + ");\"><img src=\"http://studio.adbeast.com/inc/ImageRoom/images/nav_zoom_in.gif\" border=0 alt=\"Zoom In\" title=\"Zoom In\"></a></td></tr>";
   strZoomIn = strZoomIn + "                     <tr><td align=center><a href=\"JavaScript:zoomIn(" + currentImage + ");\">&nbsp;zoom in</a></td></tr>"
   strZoomIn = strZoomIn + "                  </table>"
   if (allowZoom == 1) {
      parent.toolbarPortfolio.document.getElementById("zoomIn").innerHTML = strZoomIn;
   }
}

function zoomFitDisplay(currentImage) {
   var strZoomFit = "                  <table cellpadding=0 cellspacing=3 border=0>"
   strZoomFit = strZoomFit + "                     <tr><td align=center><a href=\"JavaScript:zoomFit(" + currentImage + ");\"><img src=\"http://studio.adbeast.com/inc/ImageRoom/images/nav_zoom_fit.gif\" border=0 alt=\"Zoom Fit\" title=\"Fit to Page\"></a></td></tr>"
   strZoomFit = strZoomFit + "                     <tr><td align=center><a href=\"JavaScript:zoomFit(" + currentImage + ");\">&nbsp;fit to page</a></td></tr>"
   strZoomFit = strZoomFit + "                  </table>"
   if (allowZoom == 1) {
      parent.toolbarPortfolio.document.getElementById("zoomFit").innerHTML = strZoomFit;
   }
}

function zoomResDisplay(currentImage) {
   var strZoomRes = "                  <table cellpadding=0 cellspacing=3 border=0>"
   strZoomRes = strZoomRes + "                     <tr><td align=center><a href=\"JavaScript:zoomRes(" + currentImage + ");\"><img src=\"http://studio.adbeast.com/inc/ImageRoom/images/nav_zoom_restore.gif\" border=0 alt=\"Zoom Restore\" title=\"Zoom 100%\"></a></td></tr>"
   strZoomRes = strZoomRes + "                     <tr><td align=center><a href=\"JavaScript:zoomRes(" + currentImage + ");\">&nbsp;original size</a></td></tr>"
   strZoomRes = strZoomRes + "                  </table>"
   if (allowZoom == 1) {
      parent.toolbarPortfolio.document.getElementById("zoomRes").innerHTML = strZoomRes;
   }
}