// COPYRIGHT Redbrick Solutions Inc. 2005-2006 ALL RIGHT RESERVED
var on_class = "";
var off_class = "off";

function setMod(id, c) {
    if (id && c) {
        var up = document.getElementById("up" + id);
        var down = document.getElementById("down" + id);
        var ups = $('yay' + id);
        var downs = $('nay' + id);
        var u_int = 0;
        var d_int = 0;
        if (ups && downs) {
          var u_int = parseInt(ups.innerHTML);
          var d_int = parseInt(downs.innerHTML);
        }
        if (c == "u") {
          if (down.className == on_class) {u_int += 1; d_int -= 1}
          else {u_int += 1}
          up.className = on_class;
          down.className = off_class;
        }
        else if (c == "d") {
          if (up.className == on_class) {u_int -= 1; d_int += 1}
          else {d_int += 1}
          up.className = off_class;
          down.className = on_class;
        }
        else if (c == "r") {
          if (up.className == on_class) {u_int -= 1}
          else {d_int -= 1}
          up.className = off_class;
          down.className = off_class;
        }
        if (ups && downs) {
          ups.innerHTML = Math.max(u_int, 0);
          downs.innerHTML = Math.max(d_int, 0);
        }
    }
}

function mod(id, uc) {
    var up = document.getElementById('up' + id);
    var down = document.getElementById('down' + id);
    var dir;

    if (uc > 0 && up.className == on_class || uc < 0 && down.className == on_class) {
        setMod(id, "r");
        dir = 0;
    }
    else if (uc > 0) {
        setMod(id, "u");
        dir = 1;
    }
    else if (uc < 0) {
        setMod(id,"d");
        dir = -1;
    }

    new Ajax.Request('/mod', {parameters: "id="+id+"&dir="+dir});
}

function empty_err(name, thing, length, empty) {
    var el = $(name);
    var err = $(name + '_err');
    var has_el = !el || !el.value;
    if (!empty && has_el) {
        err.innerHTML = 'enter a ' + thing + '!';
        return false;
    }
    else if (el.value.length > length) {
        err.innerHTML = 'your ' + thing + ' is too long!';
        return false;
    }
    else {
	if(err.innerHTML != '') { err.innerHTML = ''; }
        return true;
    }
}

function chksub() {
    return empty_err('title', 'title', 100, false)
        && empty_err('name', 'name', 100, true)
        && empty_err('desc', 'description', 500, false);
}

function logout() {$("outform").submit()}

function confirm_new_widget(widgetname, form) {
	var answer = confirm('really make listing ' + widgetname + '?') 
	if (answer){
        form.submit();
    }
	else{
        alert("Creation cancelled")
	}
}


