function doLoad() {
  // does nothing
}

function addEvent( obj, type, fn ){  // the add event function
  if (obj.addEventListener) obj.addEventListener( type, fn, false );
  else if (obj.attachEvent) {
    obj["e"+type+fn] = fn;
    obj[type+fn] = function() {
      obj["e"+type+fn]( window.event );
    };
    obj.attachEvent( "on"+type, obj[type+fn] );
  }
}

var firstEl;

function validateForm(frm) {
  errs = "";
  firstEl = null;
  els = frm.elements;
  for(i=0; i<els.length; i++) {
    if(els[i].id == "req")
      errs += checkVal(els[i]);
  }
  if(errs != "") {
    alert("Please make the following changes:\n\n" + errs);
    if(firstEl)
      firstEl.focus();
    return false;
  }
  return true;
}

function checkVal(el) {
  if(el) {
    if(((el.tagName == "INPUT" || el.tagName == "TEXTAREA") && el.value == "")
       || (el.tagName == "SELECT" && el.options[el.selectedIndex].value == "")) {
      if(firstEl == null)
        firstEl = el;
      return "- " + el.title + "\n";
    }
  }
  return "";
}

/** MOUSE OVER EFFECTS **/
function preloadImgs() {
  imgs = document.images;
  for(i=0; i<imgs.length; i++) {
    src = imgs[i].src;
    if(imgs[i].className != 'no-hover' && src.indexOf('_off') != -1) {
      document.onImg = new Image();
      document.onImg.src = src.replace('_off', '_on');
      
      addEvent(imgs[i], "mouseover", toggleImg);
      addEvent(imgs[i], "mouseout", toggleImg);
    }
  }
  imgs = document.getElementsByTagName("input");
  for(i=0; i<imgs.length; i++) {
    if(imgs[i].type.toLowerCase() == 'image') {
      src = imgs[i].src;
      if(imgs[i].className != 'no-hover' && src.indexOf('_off') != -1) {
        document.onImg = new Image();
        document.onImg.src = src.replace('_off', '_on');
        
        addEvent(imgs[i], "mouseover", toggleImg);
        addEvent(imgs[i], "mouseout", toggleImg);
      }
    }
  }
}

addEvent(window, "load", preloadImgs);

function toggleImg() {
  src = this.src;
  if(src.indexOf('_off') != -1)
    this.src = src.replace('_off', '_on');
  else if(src.indexOf('_on') != -1)
    this.src = src.replace('_on', '_off');
}


function fixIE() {
  if(document.all) {
    theObjects = document.getElementsByTagName("object");
    for (var i = 0; i < theObjects.length; i++) {
      theObjects[i].outerHTML = theObjects[i].outerHTML;
    }
  }
}
//addEvent(window, "load", fixIE);


function goTo(u) {
  window.location = u;
}

function openPopupWindow(url, width, height, scrolling, name) {
  if (!width) width = 350;
  if (!height) height = 350;
  if (!scrolling) scrolling = "no"; 
  if (!name) name = "win"+Math.round(Math.random()*1000); 
  
  features = "width="+width+","
           + "height="+height+","
           + "toolbar=no,"
           + "location=no,"
           + "status=no,"
           + "menubar=no,"
           + "scrollbars="+scrolling+","
           + "top=50,"//+(window.screen.height-height)/2+","
           + "left=50";//+(window.screen.width-width)/2;
  win = window.open(url,name,features);
  win.focus();
  return win;
}

function addForm(i) {
  var opts = {
    target: '#your-cart',
    url: '/cart-display.jsp',
    beforeSubmit: function() {
	  els = document.getElementById("orderFrm"+i).elements;
	  for(j=0; j<els.length;j++) {
	    if(els[j].tagName == "SELECT") {
	      if(els[j].selectedIndex == 0) {
	        alert('Please '+ els[j].options[0].text);
	        els[j].focus();
	        return false;
	      }
	    }
	  }

	  $("#alert"+i).fadeIn();
      $("#your-cart").fadeOut();
      if($("#subtext")) $("#subtext").fadeOut();
      return true;
    },
    success: function() {
    	$("#your-cart").fadeIn();
      //$("#your-cart")[0].scrollIntoView();
      $.scrollTo("#your-cart", 1200, {offset:-195});
      setTimeout("$('#alert"+i+"').fadeOut()", 500);
    }
  };
  
  h = $("#frmWr"+i+" table").height();
  $("#alert"+i).height(h);
  $("#alert"+i).css("line-height", h+"px");
  $("#orderFrm"+i).ajaxForm(opts);
  $("#orderFrm"+i+" :input").bind("focus", function(e) {
    if(this.value == "0")
      this.value = "";
  });
  $("#orderFrm"+i+" :input").bind("blur", function(e) {
    if(this.value == "")
      this.value = "0";
    else if(isNaN(this.value))
      this.value = "0";
    else
      this.value = Number(this.value).toFixed(0);
  });
}


function viewLicense() {
  openPopupWindow('/images/account/ReadyLicenseAgreementFall08.pdf', 900, window.screen.height-200, 'yes', 'license');
}

function changeLanguage(lang) {
  var u = 'http://translate.google.com/translate?u='+window.location+'&hl=en&ie=UTF8&sl=en&tl='+lang;
  window.location = u;
}

var now = new Date();

function updateDate(el) {
  frm = el.form;
  n = el.name.substring(0, el.name.lastIndexOf("_"));
  val = '';
  if(frm[n+'_year']) {
    val += formatDate(n);
  }
  if(frm[n+'_hour']) {
    if(val.length > 0)
      val += ' ';
    val += formatTime(n);
  }
  frm[n].value = val;
}

function formatDate(s) {
  return v(s+'_year') + "-" + v(s+'_month') + "-" + v(s+'_day');
}

function formatTime(s) {
  h = parseInt(v(s+'_hour'));
  if(v(s+'_AmPm') == 'PM')
    h += 12;
  return h + ":" + v(s+'_min') + ":00";
}

function v(n) {
  el = document.mainForm[n];
  return el.options[el.selectedIndex].value;
}

function addToCart(frm) {
  els = frm.elements;
  for(i=0; i<els.length; i++) {
    if(els[i].tagName == "SELECT") {
      if(els[i].selectedIndex == 0) {
        alert('Please '+ els[i].options[0].text);
        els[i].focus();
        return false;
      }
    }
  }
  return true;
}

var p = new Array;
function updatePrice(sel, ind, price) {
  p[ind] = sel.options[sel.selectedIndex].title;
  pAdjust = 0;
  for(i=0; i<p.length; i++) {
    if(p[i])
      pAdjust += parseFloat(p[i]);
  }
  nPrice = price + pAdjust;
  document.forms['orderForm'].price.value = nPrice;
  document.getElementById('thePrice').innerHTML = formatCurrency(nPrice);
}

function formatCurrency(num) {
  num = num.toString().replace(/\$|\,/g,'');
  if(isNaN(num))
  num = "0";
  sign = (num == (num = Math.abs(num)));
  num = Math.floor(num*100+0.50000000001);
  cents = num%100;
  num = Math.floor(num/100).toString();
  if(cents<10)
  cents = "0" + cents;
  for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
  num = num.substring(0,num.length-(4*i+3))+','+
  num.substring(num.length-(4*i+3));
  return (((sign)?'':'-') + '$' + num + '.' + cents);
}
