function hoverImage(img) {
  if (img.src.indexOf("hover") == -1)
    img.src = img.src.substring(0, img.src.lastIndexOf(".")) + "_hover" + img.src.substring(img.src.lastIndexOf("."));
  else
    img.src = img.src.replace("_hover", "");
}

function getImage(location, maximum) {
  document.write('<img src="'+location+'_'+(Math.ceil(Math.random()*maximum))+'.jpg" alt="">');
}


var currentFood = 0;

function getFoodImage(location, maximum) {
  currentFood += Math.ceil(Math.random()*maximum / 3);
  document.write('<img src="'+location+'_'+currentFood+'.jpg" alt="">');
}

function submitHandler(button) {
  if (button.value != "Please Wait...") {
    submitText = button.value;
    button.value = "Please Wait...";
  }
  else
    button.value = submitText;
  button.disabled = true;
}

function changeTourPhoto(img) {
  document.getElementById('panorama').style.visibility = "hidden";
  document.getElementById('photo').innerHTML = '<img src="' + img.replace("thumb_", "") + '" alt=""><br><br><a href="javascript:continueTour()">Click here to return to the tour</a>';
  document.getElementById('photo').style.visibility = "visible";
}

function continueTour() {
  document.getElementById('panorama').style.visibility = "visible";
  document.getElementById('photo').style.visibility = "hidden";
}

function processForm() {
  var inputs = document.getElementsByTagName('input');
  var textareas = document.getElementsByTagName('textarea');

  for (i = 0; i < inputs.length; i++) {
    if (inputs[i].type != 'submit' && inputs[i].type != 'hidden' && !/^\+/.test(inputs[i].value))
      inputs[i].value = '+' + inputs[i].value;
  }

  for (i = 0; i < textareas.length; i++) {
    if (!/^\+/.test(textareas[i].value))
      textareas[i].value = '+' + textareas[i].value;
  }
}

var numMenus = 0;
var phases = 0;
var phaseIndecies = new Array();
var expandAll = 0;

function expand(item, num) {
  if (document.getElementById(item).style.visibility == "hidden") {
    for (i = 0; i < numMenus; i++) {
      document.getElementById(i).style.top = "";
    }
    document.getElementById(item).style.cssText = '';
  }
  else {
    var height = document.getElementById(item).offsetHeight;
    document.getElementById(item).style.cssText = "position: relative; height: 1px; visibility: hidden; overflow: hidden;";

    for (i = 0; i < phaseIndecies.length; i++) {
      if (i < phaseIndecies[0])
        var nextPhase = i;
    }

    for (i = num + 1; i < numMenus; i++) {
      if (i < phaseIndecies[nextPhase])
        document.getElementById(i).style.top = -1 *  height;
      else {
        for (j = nextPhase; j <= phaseIndecies.length; j++) {
           document.getElementById(phaseIndecies[j]).style.top = -1 *  height;
        }
        return;
      }
    }
  }
}

function fullMenu() {
  if (expandAll == 0) {
    for (i = 1; i < numMenus; i++) {
      document.getElementById(i).style.cssText = '';
    }
    for(i = 0; i < document.images.length; i++) {
      if(document.images[i].src.indexOf("expand") != -1) {
        document.images[i].src = document.images[i].src.replace(".jpg", "_hover.jpg");
      }
    }
    expandAll = 1;
  }
}

function generateModifyField(img, val) {
  var field = img.id;
  img.src = "spacer.gif";
  img.style.width = 1;

  expansions = 0;
  rate = 90;
  expansionField = field + "_field";
  expandWidth = 200;
  clearTimeout(expandTimer);
  expandModifyField();
}

var expandTimer;
var expansions = 0;
var expansionField = "";
var rate = 90;
var expandWidth = 200;
var types = new Array("event", "pack", "phase", "course", "item", "subItem");

function expandModifyField() {
  expansions += rate;
  rate--;

  document.getElementById(expansionField).style.visibility = "visible";

  if (document.getElementById(expansionField).offsetWidth >= expandWidth) {
    clearTimeout(expandTimer);
    return;
  }

  document.getElementById(expansionField).style.width = Math.round((expandWidth + expansions) / 10);

  expandTimer = setTimeout("expandModifyField()", 1);
}

function expandDeleteButton() {
  expansions += rate;
  rate--;

  document.getElementById(expansionField).style.visibility = "visible";

  if (document.getElementById(expansionField).offsetWidth >= 23) {
    return;
  }

  document.getElementById(expansionField).style.width = Math.round((23 + expansions) / 10);

  expandTimer = setTimeout("expandDeleteButton()", 1);
}

function generateNewField(img, type) {
  var div = document.getElementById(img.id+"div");
  img.src = "spacer.gif";
  img.style.width = 1;

  div.style.left = img.offsetLeft - 15;
  div.style.top = 0;

  if (type == "pack" || type == "pack2") {
    var title = "New Package Name:";
    var description = "Description:";
  }
  if (type == "phase" || type == "phase2") {
    var title = "New Phase Name:";
    var description = "Description:";
  }
  if (type == "course" || type == "course2") {
    var title = "New Course Name:";
    var description = "Description:";
  }
  if (type == "item" || type == "item2") {
    var title = "New Dish Name:";
    var description = "Description:";
  }
  if (type == "subItem" || type == "subItem2") {
    var title = "New Additional Option:";
    var description = "Description:";
  }

  var html = '<table>\n';
  html += '  <tr>\n';
  html += '    <td align="center"><img src="buttons_x.gif" onmouseover="hoverImage(this)" onmouseout="hoverImage(this)" onclick="CancelNew(\''+div.id+'\', \''+type+'\')"><br><font style="font-size: 9px;">Cancel</font></td>\n';
  html += '    <td>\n';
  html += '<table>\n';
  html += '  <tr>\n';
  html += '    <td><nobr><b>'+title+'</b></nobr></td>\n';
  html += '    <td><input type="text" name="'+img.id+'_field"></td>\n';
  html += '  </tr>\n';
  html += '  <tr>\n';
  html += '    <td><nobr><b>'+description+'</b></nobr></td>\n';
  html += '    <td><textarea name="'+img.id+'a_field"></textarea></td>\n';
  html += '  </tr>\n';
  html += '</table>\n';
  html += '    </td>\n';
  html += '  </tr>\n';
  html += '</table>\n';
  html += '<img src="spacer.gif" width=30 height=1>';

  var id = img.id;
  var num = img.id.match(/^[0-9]{1,}/);
  num++;

  div.insertAdjacentHTML('afterEnd', '<img id="'+num+id+'" src="new.jpg" onmouseover="hoverImage(this)" onmouseout="hoverImage(this)" onclick="generateNewField(this, \''+type+((type.indexOf('2') == -1)?'2':'')+'\');"><div id="'+num+id+'div" style="position: relative; overflow: hidden;"></div>\n');
  div.innerHTML = html;

  div.style.width = 1;

  expansions = 0;
  rate = 100;
  expansionField = div.id;
  expandWidth = 500;
  clearTimeout(expandTimer);
  expandModifyField();
}

function generateAddField(img, type) {
  var div = document.getElementById(img.id+"div");
  img.src = "spacer.gif";
  img.style.width = 1;

  div.style.left = img.offsetLeft - 15;
  div.style.top = 0;

  if (type == "pack" || type == "pack2") {
    var title = "New Package Name:";
    var description = "Description:";
  }
  if (type == "phase" || type == "phase2") {
    var title = "New Phase Name:";
    var description = "Description:";
  }
  if (type == "course" || type == "course2") {
    var title = "New Course Name:";
    var description = "Description:";
  }
  if (type == "item" || type == "item2") {
    var title = "New Dish Name:";
    var description = "Description:";
  }
  if (type == "subItem" || type == "subItem2") {
    var title = "New Additional Option:";
    var description = "Description:";
  }

  var html = '<table style=\"margin-left: 30px;\">\n';
  html += '  <tr>\n';
  html += '    <td align="center"><img src="buttons_x.gif" onmouseover="hoverImage(this)" onmouseout="hoverImage(this)" onclick="CancelNew(\''+div.id+'\', \''+type+'\')"><br><font style="font-size: 9px;">Cancel</font></td>\n';
  html += '    <td>\n';
  html += '<table>\n';
  html += '  <tr>\n';
  html += '    <td><nobr><b>'+title+'</b></nobr></td>\n';
  html += '    <td><input type="text" name="'+img.id+'_field"></td>\n';
  html += '  </tr>\n';
  html += '  <tr>\n';
  html += '    <td><nobr><b>'+description+'</b></nobr></td>\n';
  html += '    <td><textarea name="'+img.id+'a_field"></textarea></td>\n';
  html += '  </tr>\n';
  html += '</table>\n';
  html += '    </td>\n';
  html += '  </tr>\n';
  html += '</table>\n';

  var id = img.id;
  id = id.match(/[0-9]{1,}$/);
  var num = img.id.match(/^[0-9]{1,}/);
  num++;
  num--;
  num++;

  div.insertAdjacentHTML('afterEnd','<table style="margin-left: 30"><tr><td><img id="'+num+'add'+id+'" src="new.jpg" onmouseover="hoverImage(this)" onmouseout="hoverImage(this)" onclick="generateNewField(this, \''+type+'\');"><div id="'+num+'add'+id+'div" style="position: relative; overflow: hidden;"></div></td></tr></table>\n');

  div.innerHTML = html;

  div.style.width = 1;

  expansions = 0;
  rate = 100;
  expansionField = div.id;
  expandWidth = 500;
  clearTimeout(expandTimer);
  expandModifyField();
}

function CancelNew(div, type) {
  var img = document.getElementById(div.replace("add", "new"));
  if (type.indexOf("2") == -1) {
    if (div.indexOf("Child") != -1) {
        img.src = "newChild.jpg";
        img.style.width = 50;
    }
    else {
      img.src = "new.jpg";
      img.style.width = 24;
    }
  }
  else {
    img.src = "spacer.gif";
  }
  document.getElementById(div).innerHTML = " ";
  document.getElementById(div).style.cssText = "height: 1px; position: relative; overflow: hidden;";
}

function numberCheck(txt, warning) {
  /*for (i = 0; i < txt.value.length; i++) {
    if (txt.value.charCodeAt(i) < 48 || txt.value.charCodeAt(i) > 57) {
      for (j = i; j < txt.value.length; j++) {
        if (txt.value.charCodeAt(j) < 48 || txt.value.charCodeAt(j) > 57) {
          if (j == txt.value.length - 1) {
            txt.value = txt.value.substring(0, j);
          }
          else {
            txt.value = txt.value.substring(0, j) + txt.value.substring(j+1, txt.value.length);
            j--;
          }
        }
      }
      txt.select();
      txt.focus();
      alert(warning);
      return;
    }
  }*/
}

function view(div) {
  document.getElementById(div).style.cssText = "padding: 5px; ";
}

function hide(div) {
  document.getElementById(div).style.cssText = "position: relative; height: 1px; visibility: hidden; overflow: hidden;";
}

function confirmDelete(img) {
  if (img.src.indexOf("x") == -1) {
    img.src = "buttons_x.gif";

    img.style.width = 0;

    expansions = 0;
    rate = 20;
    expansionField = img.id;
    expandDeleteButton();
  }
  else {
    img.id = img.id.replace("delete", "");
    document.location.href = "menu.pl?action=delete&id="+img.id;
  }
}
