var ie5 = document.all && document.getElementById;
var ns6 = document.getElementById && !document.all;
var arVersion = navigator.appVersion.split("MSIE");
var ieversion = parseFloat(arVersion[1]);

function sexOffendersNewZip(e) {
  if(document.checkZipCode.z.value != 'zipcode') {
    if(!document.checkZipCode.termsAccept || document.checkZipCode.termsAccept.checked) {
      search = document.checkZipCode.z.value;
      load();
    }
    else {
      showAlert(e, 'You must accept the terms to continue.', 'sexOffenderZip');
    }
  }
  else {
    showAlert(e, 'You must enter a zipcode to continue.', 'sexOffenderZip');
  }
  return false;
}

function popupUrl(url, queryString, width, height, noscroll, bookmark) {
  var qs = queryString ? '?' + queryString + '&popupWindow=1' : '?popupWindow=1';
  var bm = bookmark ? '#' + bookmark: '';
  var w = width ? width : 810;
  var h = height ? height : 600;
  var s = noscroll ? 0 : 1;
  window.open(url + qs + bm, 'popupUrl', 'toolbar=0,location=0,directories=0,status=0,scrollbars=' + s + ',resizable=1,width=' + w + ',height=' + h);
}

function getMouseX(e) {
  if(ie) {
    return(e.clientX + document.documentElement.scrollLeft + document.body.scrollLeft + 20);
  }
  else {
    return(e.clientX + window.scrollX + 20);
  }
}

function getMouseY(e) {
  if(ie) {
    return(e.clientY + document.documentElement.scrollTop + document.body.scrollTop + 10);
  }
  else {
    return(e.clientY + window.scrollY + 10);
  }
}

function findPosX(obj) {
  var curleft = 0;
  if(obj.offsetParent)
    while(1) {
      curleft += obj.offsetLeft;
      if(!obj.offsetParent)
        break;
      obj = obj.offsetParent;
    }
  else if(obj.x)
    curleft += obj.x;
  return curleft;
}

function findPosY(obj) {
  var curtop = 0;
  if(obj.offsetParent)
    while(1) {
      curtop += obj.offsetTop;
      if(!obj.offsetParent)
        break;
      obj = obj.offsetParent;
    }
  else if(obj.y)
    curtop += obj.y;
  return curtop;
}

function showAlert(e, text, relativeObjId) {
  if (!e) e = window.event;

  var alertBox = document.getElementById('alertBox');
  var alertText = document.getElementById('alertText');
  if(alertBox && alertBox.style.visibility == 'hidden') {
    var x;
    var y;
    if(relativeObjId) {
      var tmpObj = document.getElementById(relativeObjId);
      x = findPosX(tmpObj);
      y = findPosY(tmpObj);
    }
    else {
      x = getMouseX(e);
      y = getMouseY(e);
    }
    alertBox.style.left = x + 'px';
    alertBox.style.top = y + 'px';
    alertText.innerHTML = text;
    alertBox.style.visibility = 'visible';

    setTimeout(hideAlert, 2000)
  }
}

function popupSexOffenderBox(relativeObjId) {
  var soBox = document.getElementById('sexOffenderPopup');

  var tmpObj = document.getElementById(relativeObjId);
  x = findPosX(tmpObj);
  y = findPosY(tmpObj);
  
  soBox.style.left = x + 'px';
  soBox.style.top = (y - 50) + 'px';
  soBox.style.visibility = 'visible';
}

function closeSexOffenderBox() {
  document.getElementById('sexOffenderPopup').style.visibility = 'hidden';
}

function submitSexOffenderSearch() {
  var z = document.sexOffenderForm.zipCode.value;
  var error;
  if(!document.sexOffenderForm.termsAgree.checked) {
    error = 'You must accept the terms';
  }
  else if(!z || z.length < 5) {
    error  = 'Please enter a valid zip code';
  }

  if(error) {
    var e = document.getElementById('errorMessage');
    e.innerHTML = error;
    e.style.display = '';
  }
  else {
    z = document.sexOffenderForm.address.value + ',' + document.sexOffenderForm.city.value + ',' + document.sexOffenderForm.zipCode.value;
    location.href = '/sexoffender/index.html?z=' + z;
  }
}

function hideAlert() {
  document.getElementById('alertBox').style.visibility = 'hidden';
}

function popupFeatureScreenshot(title, featureId) {
  var screenshotTitle = document.getElementById('featureScreenshotTitle');
  screenshotTitle.innerHTML = title;

  var screenshotImg = document.getElementById('featureScreenshotImg');
  screenshotImg.src = '/images/features/' + featureId + '.png';
  
  var screenshotBox = document.getElementById('featureScreenshot');

  var topScroll = self.pageYOffset ? self.pageYOffset : document.documentElement.scrollTop;
  var width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth;
  var height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight;
  var horzShift = window.innerWidth ? 360 : 350;
  var vertShift = window.innerHeight ? 10 : 0;

  var left = parseInt(width / 2) - horzShift;

  var top;
  if(topScroll < 250 ) {
    var subPageContent = document.getElementById('subPageContent');
    var refY = findPosY(subPageContent);
    top = refY + vertShift;
  }
  else {
    top = parseInt(height / 2) + topScroll - 240;
  }

  screenshotBox.style.left = left + 'px';
  screenshotBox.style.top = top + 'px';
  screenshotBox.style.visibility = 'visible';
}

function closeFeaturesScreenshot() {
  document.getElementById('featureScreenshot').style.visibility = 'hidden';
  var screenshotImg = document.getElementById('featureScreenshotImg');
  screenshotImg.src = '/images/features/loading.gif';
}

var pngImagesOver = new Array();
var pngImagesOut = new Array();
function pngImage(containerId, imagePath, width, height, alt) {
  var container = document.getElementById(containerId);
  if(container) {
    var element;
    if ((ieversion >= 5.5) && (ieversion < 7) && (document.body.filters)) {
      element = document.createElement('SPAN');
      element.id = containerId + 'Img';
      element.style.display = 'block';
      element.style.width = width;
      element.style.height = height;
      element.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + imagePath + "', sizingMethod='scale')";
    }
    else {
      element = document.createElement('IMG');
      element.id = containerId + 'Img';
      element.src = imagePath;
      element.alt = alt;
      element.width = width;
      element.height = height;
    }
    container.appendChild(element);
  }
}

function pngImageBG(containerId, imagePath, width, height, alt) {
  var container = document.getElementById(containerId);
  if(container) {
    if ((ieversion >= 5.5) && (ieversion < 7) && (document.body.filters)) {
      container.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + imagePath + "', sizingMethod='scale')";
    }
    else {
      container.style.backgroundImage = 'url(' + imagePath + ')';
    }
  }
}

function pngMouseOverImg(imgId, imgPath) {
  var obj = document.getElementById(imgId);
  if(imgId) {
    if ((ieversion >= 5.5) && (ieversion < 7) && (document.body.filters)) {
      obj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + imgPath + "', sizingMethod='scale')";
    }
    else {
      obj.src = imgPath;
    }
  }
}

function pngMouseOutImg(imgId, imgPath) {
  var obj = document.getElementById(imgId);
  if(imgId) {
    if ((ieversion >= 5.5) && (ieversion < 7) && (document.body.filters)) {
      obj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + imgPath + "', sizingMethod='scale')";
    }
    else {
      obj.src = imgPath;
    }
  }
}
