// ONLINE VERSION

// global vars
var imgSkinPath = "";
var propMLS     = "";
var imgPropPath = "";

// LOAD TOP
function loadImgsTop(mls,skindir) {
  propMLS = mls;
  imgPropPath = "../"+propMLS+"/images/";
  imgSkinPath = "../imgs/"+skindir+"/";
  if (document.images) {
    // top nav normal image
    top1_nrm = new Image();
    top1_nrm.src = imgSkinPath+"still_images_nrm.gif";
    top2_nrm = new Image();
    top2_nrm.src = imgSkinPath+"slide_show_nrm.gif";
    top3_nrm = new Image();
    top3_nrm.src = imgSkinPath+"360_nrm.gif";
    top4_nrm = new Image();
    top4_nrm.src = imgSkinPath+"dettext_nrm.gif";
    // top nav hover image
    top1_hov = new Image();
    top1_hov.src = imgSkinPath+"still_images_hov.gif";
    top2_hov = new Image();
    top2_hov.src = imgSkinPath+"slide_show_hov.gif";
    top3_hov = new Image();
    top3_hov.src = imgSkinPath+"360_hov.gif";
    top4_hov = new Image();
    top4_hov.src = imgSkinPath+"dettext_hov.gif";
  }
}

// LOAD BOTTOM
var imgArrView=new Array();
function loadImgsBtm(room,views) {
  if (document.images) {
    // room images
    for (i=1; i<=views; i++) {
      imgArrView[i] = new Image();
      imgArrView[i].src = imgPropPath+room+i+".jpg";
    }
  }
}

// LOAD LEFT
var imgArrNrm=new Array();
var imgArrHov=new Array();
function loadImgsLeft() {
  for (i=0; i<arguments.length; i++) {
    imgArrNrm[i] = new Image();
    imgArrNrm[i].src = imgSkinPath+arguments[i]+"_nrm.gif";
    imgArrHov[i] = new Image();
    imgArrHov[i].src = imgSkinPath+arguments[i]+"_hov.gif";
  }
}

// LOAD FOR MAIN NAV
var imgNavNrmRight = new Image();
var imgNavNrmLeft  = new Image();
var imgNavHovRight = new Image();
var imgNavHovLeft  = new Image();
imgNavNrmRight.src = "../imgs/clear.gif";
imgNavNrmLeft.src  = "../imgs/clear.gif";
imgNavHovRight.src = "../imgs/overlay_right.png";
imgNavHovLeft.src  = "../imgs/overlay_left.png";


var BrowserDetect = {
  init: function () {
    this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
    this.version = this.searchVersion(navigator.userAgent)
      || this.searchVersion(navigator.appVersion)
      || "an unknown version";
    this.OS = this.searchString(this.dataOS) || "an unknown OS"; },
  searchString: function (data) {
    for (var i=0;i<data.length;i++)  {
      var dataString = data[i].string;
      var dataProp = data[i].prop;
      this.versionSearchString = data[i].versionSearch || data[i].identity;
      if (dataString) {
        if (dataString.indexOf(data[i].subString) != -1) {
          return data[i].identity; } }
      else if (dataProp) {
        return data[i].identity; } } },
  searchVersion: function (dataString) {
    var index = dataString.indexOf(this.versionSearchString);
    if (index == -1) return;
    return parseFloat(dataString.substring(index+this.versionSearchString.length+1)); },
  dataBrowser: [
    { string: navigator.userAgent,
      subString: "Chrome",
      identity: "Chrome" },
    { string: navigator.userAgent,
      subString: "OmniWeb",
      versionSearch: "OmniWeb/",
      identity: "OmniWeb" },
    { string: navigator.vendor,
      subString: "Apple",
      identity: "Safari",
      versionSearch: "Version" },
    { prop: window.opera,
      identity: "Opera" },
    { string: navigator.vendor,
      subString: "iCab",
      identity: "iCab" },
    { string: navigator.vendor,
      subString: "KDE",
      identity: "Konqueror" },
    { string: navigator.userAgent,
      subString: "Firefox",
      identity: "Firefox" },
    { string: navigator.vendor,
      subString: "Camino",
      identity: "Camino" },
    { string: navigator.userAgent,  // for newer Netscapes (6+)
      subString: "Netscape",
      identity: "Netscape" },
    { string: navigator.userAgent,
      subString: "MSIE",
      identity: "Explorer",
      versionSearch: "MSIE" },
    { string: navigator.userAgent,
      subString: "Gecko",
      identity: "Mozilla",
      versionSearch: "rv" },
    { string: navigator.userAgent,  // for older Netscapes (4-)
      subString: "Mozilla",
      identity: "Netscape",
      versionSearch: "Mozilla" }
  ],
  dataOS : [
    { string: navigator.platform,
      subString: "Win",
      identity: "Windows" },
    { string: navigator.platform,
      subString: "Mac",
      identity: "Mac" },
    { string: navigator.userAgent,
      substring: "iPhone",
      identity: "iPhone/iPod" },
    { string: navigator.platform,
      subString: "Linux",
      identity: "Linux" }
  ]
};
BrowserDetect.init();
// for detect display on a web page
//<script type="text/javascript">
//<!-- //
//document.write('<p>You are using ' + BrowserDetect.browser + ' ' + BrowserDetect.version + ' on ' + BrowserDetect.OS + '</p>');
//// -->
//</script>

function rszCtrWin(iWidth,iHeight) {
  var iOuterWidth  = 0;
  var iOuterHeight = 0;
  var iWindowLeft  = 0;
  var iWindowTop   = 0;
  var iWidthAdj    = 0;
  var iHeightAdj   = 0;
  //alert ("Browser detected: " + BrowserDetect.browser);

  // determine absolute values for resize where supported
  //var reSizeRef = document.getElementById('reSizeRef');
  var reSizeRef = objById('reSizeRef');
  if (reSizeRef)
  {
    var iPreWidth   = reSizeRef.offsetWidth;
    var iPreHeight  = reSizeRef.offsetHeight;
    window.resizeTo(iPreWidth,iPreHeight);
    var iPostWidth  = reSizeRef.offsetWidth;
    var iPostHeight = reSizeRef.offsetHeight;
    // make additional adjustments based on browser
    switch (BrowserDetect.browser)
    {
    case "Explorer":
      iWidthAdj  += 4;
      iHeightAdj += 2;
      break;
    case "Firefox":
      iWidthAdj  += 4;
      iHeightAdj += 2;
      break;
    case "Safari":
      iWidthAdj  += 36;
      iHeightAdj += 18;
      break;
    case "Chrome":
      iWidthAdj  += 56;
      iHeightAdj += 84;
      break;
    default:
      iWidthAdj  += 4;
      iHeightAdj += 2;
    }
    iOuterWidth  = iWidth+(iPreWidth-iPostWidth)+iWidthAdj;
    iOuterHeight = iHeight+(iPreHeight-iPostHeight)+iHeightAdj;
    //alert("WxH="+iWidth+"x"+iHeight+" - PreWxPreH="+iPreWidth+"x"+iPreHeight+" - PostWxPostH="+iPostWidth+"x"+iPostHeight+" - OWxOH="+iOuterWidth+"x"+iOuterHeight);
  }
  else
  {
    // make completely manual adjustments based on browser
    switch (BrowserDetect.browser)
    {
    case "Explorer":
      iWidthAdj  += 40;
      iHeightAdj += 96;
      break;
    case "Firefox":
      iWidthAdj  += 20;
      iHeightAdj += 90;
      break;
    case "Safari":
      iWidthAdj  += 52;
      iHeightAdj += 56;
      break;
    case "Chrome":
      iWidthAdj  += 56;
      iHeightAdj += 84;
      break;
    default:
      iWidthAdj  += 34;
      iHeightAdj += 86;
    }
    iOuterWidth  = iWidth+iWidthAdj;
    iOuterHeight = iHeight+iHeightAdj;
    //alert("WxH="+iWidth+"x"+iHeight+" - OWxOH="+iOuterWidth+"x"+iOuterHeight);
  }
  window.resizeTo(iOuterWidth,iOuterHeight);

  iWindowLeft = (screen.width-iOuterWidth)/2;
  iWindowTop  = (screen.height-iOuterHeight)/2;
  //alert("winLeft="+iWindowLeft+" - winTop="+iWindowTop);
  window.moveTo(iWindowLeft,iWindowTop);
}

// general get element by id
function objById(id) {
  if (document.getElementById)
    var returnVar = document.getElementById(id);
  else if (document.all)
    var returnVar = document.all[id];
  else if (document.layers)
    var returnVar = document.layers[id];
  return returnVar;
}

function imgSwapGen(imgDocId,imgObjName) {
  document.images[imgDocId].src = eval(imgObjName+".src");
}

// PHOTO SWAP
// setup
var tblIdCur     = "";
var tblIdPrv     = "";
var borderClrCur = "";
var borderClrPrv = "";
var roomCodePrev = "";
var roomCodeNext = "";
var curMLS       = "";
var skinDir      = "";
var roomViews    = "";
var imgIdx       = "";

function imgSwapMainSetup(clrCur,clrPrv,codePrev,codeNext,cMLS,skDir,rmViews,imgLast) {
  tblIdCur     = "tbl1";
  tblIdPrv     = "tbl1";
  borderClrCur = "#"+clrCur;
  borderClrPrv = "#"+clrPrv;
  roomCodePrev = codePrev;
  roomCodeNext = codeNext;
  curMLS       = cMLS;
  skinDir      = skDir;
  roomViews    = rmViews;
  if (imgLast == "1") {
    imgIdx = rmViews;
    imgSwapMain(imgIdx); }
  else {
    imgIdx = 1; }
}

// swap
function imgSwapMain(imgIdxOrDirection) {
  var imgObj, curObj, prvObj;

  if (imgIdxOrDirection == "p") {
    imgIdx--; }
  else if (imgIdxOrDirection == "n") {
    imgIdx++; }
  else {
    imgIdx = imgIdxOrDirection; }

  if (imgIdx <= 0) {
    if (curMLS != "") {
      window.location.href="smth_propdisp.cgi?smthmls="+curMLS+"&sec=l&itm="+roomCodePrev+"&skn="+skinDir+"&iml=1"; } }
  else if (imgIdx > roomViews) {
    if (curMLS != "") {
      window.location.href="smth_propdisp.cgi?smthmls="+curMLS+"&sec=l&itm="+roomCodeNext+"&skn="+skinDir+"&iml=0"; } }
  else {
    tblIdCur = "tbl"+imgIdx;
    if (tblIdCur != tblIdPrv) {
      imgObj = objById('imgMain');
      imgObj.src = imgArrView[imgIdx].src;
      curObj = objById(tblIdCur);
      curObj.style.backgroundColor = borderClrCur;
      prvObj = objById(tblIdPrv);
      prvObj.style.backgroundColor = borderClrPrv;
      tblIdPrv = tblIdCur; } }
}

