function nothing() {}

var menuOpen = new Array();

function t(cat) {
    if(menuOpen[cat] == true) {
        c(cat, 'display', 'none');
        menuOpen[cat] = false;
        setCookie(cat, "false", "", "/");
    }
    else {
        c(cat, 'display', 'inline');
        menuOpen[cat] = true;
        setCookie(cat, "true", "", "/");
    }
}

function loadEvents() {

    var els = getElementsByClass('catMenu');

    for(i = 0; i < els.length; i++) {
        if(getCookie(els[i].id) == "true") {
            t(els[i].id);
        }
    }
}

AttachEvent(window, "load", loadEvents);

function changeOpac(image, opacity) {
    var object = image.style;
    object.opacity = opacity;
    object.MozOpacity = opacity;
    object.KhtmlOpacity = opacity;
    object.filter = "alpha(opacity=" + (opacity*100) + ")";
}

function c(name, what, value) {
    if(typeof(document[name]) != "undefined") {

        if(typeof(document[name].style) != "undefined") {
            var el = document[name];
            el.style[what] = value;
        }
    }
    else if(document.getElementById(name)) {
        var el = document.getElementById(name);
        el.style[what] = value;
    }
    else {
        foundIt = false;
        ss = document.styleSheets;

        if(typeof(ss) != "undefined") {
            for(s=0; s<ss.length; s++) {
                if(typeof(ss[s].rules) != "undefined") {
                    for(i=0; i<ss[s].rules.length; i++) {
                        if(typeof(ss[s].rules[i].selectorText) != "undefined" && ss[s].rules[i].selectorText.toLowerCase() == name.toLowerCase()) {
                            ss[s].rules[i].style[what] = value;
                            foundIt = true;
                        }
                    }
                }
                else if(typeof(ss[s].cssRules) != "undefined") {
                    for(i=0; i<ss[s].cssRules.length; i++) {
                        if(typeof(ss[s].cssRules[i].selectorText) != "undefined" && ss[s].cssRules[i].selectorText.toLowerCase() == name.toLowerCase()) {
                            ss[s].cssRules[i].style[what] = value;
                            foundIt = true;
                        }
                    }
                }
            }
        }
        if(!foundIt) {
            //alert('Could not find element: '+name);
        }
    }
}

function toggle(name) {
    if(document.getElementById(name).style.display == 'none') {
        document.getElementById(name).style.display = '';
        setCookie(name, "show", "", "/");
    }
    else {
        document.getElementById(name).style.display = 'none';
        deleteCookie(name, "/");
    }
}

function setCookie(name, value, expires, path, domain, secure) {
  var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + expires.toGMTString() : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
  document.cookie = curCookie;
}

function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } else
    begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));
}

function deleteCookie(name, path, domain) {
  if (getCookie(name)) {
    document.cookie = name + "=" +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}

function RM_popup(url,name,w,h) {
    var url;
    if (!url) {
        alert('popupimage() error: no url supplied');
        return false;
    }
    if(!name) var name = 'popup';
    if(!w) var w = 480;
    if(!h) var h = 545;
    var screen_w = screen.availWidth || screen.width;
    var screen_h = screen.availHeight || screen.height;
    var opts = 'width='+w+',height='+h+',scrollbars=yes,resizable=yes,menubar=yes';
    if (screen_h > 0 && screen_w > 0) {
        var ha_value = (screen_w / 2) - (w / 2);
        var va_value = (screen_h / 2) - (h / 2);
        opts += ',left='+ha_value+',top='+va_value;
    }
    var confirmWin = window.open(url, name, opts);
    if (confirmWin != null) {
        confirmWin.focus();
    }
}

function AttachEvent(elementObj, eventName, eventHandlerFunctionName) {
    if (elementObj.addEventListener) { // Non-IE browsers
        elementObj.addEventListener(eventName, eventHandlerFunctionName, false);
    }
    else if (elementObj.attachEvent) { // IE 6+
        elementObj.attachEvent('on' + eventName, eventHandlerFunctionName);
    }
    else { // Older browsers
        var currentEventHandler = elementObj['on' + eventName];
        if (currentEventHandler == null) {
            elementObj['on' + eventName] = eventHandlerFunctionName;
        }
        else {
            elementObj['on' + eventName] = function(e) { currentEventHandler(e); eventHandlerFunctionName(e); }
        }
    }
}

function getElementsByClass(searchClass,node,tag) {
    var classElements = new Array();
    if ( node == null )
        node = document;
    if ( tag == null )
        tag = '*';
    var els = node.getElementsByTagName(tag);
    var elsLen = els.length;
    var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
    for (i = 0, j = 0; i < elsLen; i++) {
        if ( pattern.test(els[i].className) ) {
            classElements[j] = els[i];
            j++;
        }
    }
    if(classElements.length > 0) return classElements;
    else return false;
}

function statResolution() {
    var screen_w = screen.availWidth || screen.width;
    var screen_h = screen.availHeight || screen.height;
    if(screen_w > 0 && screen_h > 0) {
        imag = new Image();
        imag.src = '/image.php?w='+screen_w+'&h='+screen_h;
    }
}

function validateForm(form) {
    var msg = "";
    var required;

    if(form == null) {
        form = document.forms[0];
    }


    for(i = 0; i < form.elements.length; i++) {
        if(form.elements[i].name == '_required') {
            required = form.elements[i].value.split(",");
        }
    }

    if(required.length > 0) {
        for(i = 0; i < required.length; i ++) {
            for(x = 0; x < form.elements.length; x++) {
                var checked = false;
                if(form.elements[x].name == required[i] || form.elements[x].name == required[i]+'[]') {
                    if(form.elements[x].type == "checkbox" || form.elements[x].type == "radio") {
                        if(form.elements[x].checked == true) checked = true;
                    }
                    else {
                        if(form.elements[x].value != "") checked = true;
                    }
                    if(checked == true) break;
                }
            }
            if(checked == false) {
                msg += "\n"+required[i].replace(/_/g, " ");
            }
        }

        if(msg.length > 0) {
            alert("Please fill in the following fields before submitting:\n"+msg);
            return false;
        }
        else {
            for(i = 0; i < form.elements.length; i++) {
                // fix spam field
                if(form.elements[i].name == '_spamFix') {
                    form.elements[i].value = 'yes';
                }
            }
            return true;
        }
    }
    return true;
}

function log(msg) {
    if (typeof(console) != 'undefined'){
        console.log(msg);
    }
}
