//-> collapsable left menu
function initMenu() {
  $('#menu ul').hide();
  $('#menu #active').show();
  $('#menu li a').click(
    function() {
      var checkElement = $(this).next();
      if((checkElement.is('ul')) && (checkElement.is(':visible'))) {
        return false;
        }
      if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
        $('#menu ul:visible').slideUp('normal');
        checkElement.slideDown('normal');
        return false;
        }
      }
    );
  }
  
$(document).ready(function() {
    initMenu();
    $("div").fadeIn("slow");	
});


//-> validate form feilds
function MM_findObj(n, d) { //v4.01
    var p, i, x; if (!d) d = document; if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
        d = parent.frames[n.substring(p + 1)].document; n = n.substring(0, p);
    }
    if (!(x = d[n]) && d.all) x = d.all[n]; for (i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n];
    for (i = 0; !x && d.layers && i < d.layers.length; i++) x = MM_findObj(n, d.layers[i].document);
    if (!x && d.getElementById) x = d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
    var i, p, q, nm, test, num, min, max, errors = '', args = MM_validateForm.arguments;
    for (i = 0; i < (args.length - 2); i += 3) {
        test = args[i + 2]; val = MM_findObj(args[i]);
        if (val) {
            nm = val.name; if ((val = val.value) != "") {
                if (test.indexOf('isEmail') != -1) {
                    p = val.indexOf('@');
                    if (p < 1 || p == (val.length - 1)) errors += '- ' + nm + ' must contain an e-mail address.\n';
                } else if (test != 'R') {
                    num = parseFloat(val);
                    if (isNaN(val)) errors += '- ' + nm + ' must contain a number.\n';
                    if (test.indexOf('inRange') != -1) {
                        p = test.indexOf(':');
                        min = test.substring(8, p); max = test.substring(p + 1);
                        if (num < min || max < num) errors += '- ' + nm + ' must contain a number between ' + min + ' and ' + max + '.\n';
                    } 
                } 
            } else if (test.charAt(0) == 'R') errors += '- ' + nm + ' is required.\n';
        }
    } if (errors) alert('The following error(s) occurred:\n' + errors);
    document.MM_returnValue = (errors == '');
}
