

isIE = false;
isOpera = false;
isSafari = false;
isKonqueror = false;
isMozilla = false;

function figureOutBrowser() {
  var agent = navigator.userAgent;
  if (agent.indexOf("Opera") != -1) {isOpera = true; return;}
  if (agent.indexOf("Safari") != -1) {isSafari = true; return;}
  if (agent.indexOf("MSIE") != -1) {isIE = true; return;}
  if (agent.indexOf("Konqueror") != -1) {isKonqueror = true; return;}
  if (agent.indexOf("Gecko") != -1) {isMozilla = true; return;}
}

figureOutBrowser();

window.onerror=errorHandle;

      function focusForm(){
        halfrm = document.forms("halform",0);
        if(halfrm != null){
          els = halfrm.elements;
          found=false;
          for(i=0;i<els.length && !found;i++){
            el = els[i];
            
            if (el.type != "hidden"){
              el.focus();
              if (el.type == "text" || el.type == "password")
                el.select();
              found=true;
            }
          }
        }
      }
      
      function errorHandle(){
        return true;
      }
      
function wizard_showtooltip(e, which) {
  var positionX = 0;
  var positionY = 0;

  if(window.event != null){ // IE code
    e = window.event;
    positionX = e.clientX + document.body.scrollTop;
    positionY = e.clientY + document.body.scrollTop;

    if(document.createDocumentFragment) {
      positionY+= document.documentElement.scrollTop;
      positionX+= document.documentElement.scrollTop;
    }
  } else { // if(window.pageXOffset){ // N6 and Mozilla
    positionX= e.clientX + window.pageXOffset;
    positionY= e.clientY + window.pageYOffset;
  }

  var mydiv = document.getElementById(which);

  if (!mydiv) {
    return;
  }

  mydiv.style.top = positionY + 6;
  mydiv.style.left = positionX + 6;
  mydiv.style.width = 300;
  mydiv.style.zIndex = 1000;
  mydiv.style.visibility = 'visible';
  
  if (isIE) {
    var transFrame = document.getElementById("transparent-frame");
    if (transFrame != null) {
      transFrame.style.top = mydiv.style.top;
      transFrame.style.left = mydiv.style.left;
      transFrame.style.width = mydiv.style.width;
      transFrame.style.height = mydiv.style.height;
      transFrame.style.top = mydiv.style.top;
      transFrame.style.visibility = 'visible';
    }
  }
  
}

function wizard_hidetooltip(e, which) {
  var mydiv = document.getElementById(which)

  if (!mydiv) {
    return;
  }
  mydiv.style.visibility = 'hidden';
  if (isIE) {
    var transFrame = document.getElementById("transparent-frame");
    if (transFrame != null) {
      transFrame.style.visibility = 'hidden';
    }
  }
}

function previewDidChange(event) {
  if (isIE || isKonqueror || isSafari || isOpera) event = window.event;
  if (event == null) return;
  var snd = event.target;
  if (snd == null) snd = event.srcElement;
  if (snd == null) return;
  var id = snd.id;
  var mydiv = document.getElementById(id);
  var rid = id + '-preview';
  var outdiv = document.getElementById(rid);
  if (mydiv != null && outdiv != null) {
    outdiv.innerHTML = mydiv.value;
  }
}

String.prototype.startsWith = function(str) {
  if (str.length > this.length) return false;
  for (var i = 0; i < str.length; i++) {
    var c1 = str.charAt(i);
    var c2 = this.charAt(i);
    if (c1 != c2) return false;
  }
  return true;
}

String.prototype.indexOf = function(str) {
  var sl = str.length;
  var max = this.length - sl;
  if (max <= 0) return false;
  
  for (var i = 0; i < max; i++) {
    var miss = false;
    for (var x = 0;!miss && x < sl; x++) {
      var c1 = str.charAt(x);
      var c2 = this.charAt(i + x);
      if (c1 != c2) miss = true;
    }
    if (!miss) return i;
  }
  return -1;
}

function beginingOfPage() {

  
  var textAreas = document.getElementsByTagName("textarea");
  for (var i = 0; i < textAreas.length; i++) {
    var area = textAreas[i];
    var id = area.id;

    if (id != null && id.startsWith("preview-")) {
      var tofind = id + '-preview';
      var pn = area.parentNode;
      var areaVal = area.value;
      var areaHtml = area.outerHTML;
      var width = area.style.width;
      
      var toAppend = '<br><div id="';
      toAppend = toAppend + tofind;
      toAppend = toAppend + '"></div>';
      
      var newElm = document.createElement("span");
      
      newElm.innerHTML = toAppend;
      
      pn.appendChild(newElm);
      
      area = document.getElementById(id);      

      var spanner = document.getElementById(tofind);

      if (spanner != null) {
        spanner.innerHTML = areaVal;
        spanner.style.width = width;
      }
      
      area.value = areaVal;

      area = document.getElementById(id);      

      if (isIE || isKonqueror || isSafari || isOpera) {
        area.onkeyup = function() {previewDidChange();};
        area.onchange = function() {previewDidChange();};
      } else {
         area.onkeyup = function(event) {previewDidChange(event);};
         area.onchange = area.onkeyup;
      }
    }
  }

  var all = document.all;
  if (all != null) {
    for (var i = 0; i < all.length; i++) {
      var elm = all[i];
      elm.style.zIndex = 0;
    }
  }
}

function closeDownOverlays() {
  var rootframe = top.document.getElementById("transparent-frame");
  if (rootframe != null) rootframe.style.visibility = 'hidden';
  rootframe = top.document.getElementById("helper-frame");
  if (rootframe != null) rootframe.style.visibility = 'hidden';
  rootframe = top.document.getElementById("transparent-span");
  if (rootframe != null) rootframe.style.visibility = 'hidden';
}

function doPictureManagement(currentXid) {

  var overlay = null;
  if (isIE || isMozilla) {
    overlay = document.getElementById('transparent-frame');
  } else {
    overlay = document.getElementById('transparent-span');
  }
  
  if (overlay != null) {
    overlay.style.position = 'absolute';
    overlay.style.top = 0;
    overlay.style.left = 0;

    var tmp = document.width;
    if (tmp == null) {
      tmp = document.body.offsetWidth;
    }

    overlay.style.width = tmp;
    tmp = document.height;
    if (tmp == null) {tmp = document.body.offsetHeight;}
    overlay.style.height = tmp;
    overlay.style.visibility = 'visible';
  }
  
  var frm = document.getElementById('helper-frame');
  if (frm != null) {
    frm.style.position = 'absolute';
    frm.style.top = 40;
    frm.style.left = 40;


    frm.style.width = 600;
    frm.style.height = 500;
	
    frm.style.backgroundColor = "#ffffff";
  
    var src = "/dogscape/utils/edit_images_for_dog.jsp?otherxid="+currentXid;  

    frm.src = src;
    
    frm.style.visibility = 'visible';
  }
}