function getElementsByClassName(classname, node)  {
    if(!node) { 
        node = document.getElementsByTagName("body")[0];
    }
    var a = [];
    var re = new RegExp('\\b' + classname + '\\b');
    var els = node.getElementsByTagName("*");
    for(var i=0,j=els.length; i<j; i++) {
        if(re.test(els[i].className)) {
            a.push(els[i]);
        }
    }
    return a;
}
/* ------------------------
 AUTO FILL INPUT BOXES
---------------------------*/
function check_auto_fills() {
    // OTHER FUNCTION TO INITIALIZE
    activate_login_toggle();
    check_add_comments();
    check_add_reply();
    text_areas_init();
    // CHECK AUTO FILLS
    var i, all_inputs, his_value;    all_inputs= getElementsByClassName('input_clean-auto_fill');    for(var i=0; i< all_inputs.length; i++) {
         all_inputs[i].his_value = all_inputs[i].value;
        all_inputs[i].onfocus=function () {
            if(this.value == this.his_value) { this.value=''; }
        }
        all_inputs[i].onblur=function () {
            if(this.value.replace(' ','') == ''){
                this.value = this.his_value;
            }
        }
    }
}
function activate_login_toggle() {
    if(document.getElementById('toggle_login')) {
        var login_link = document.getElementById('toggle_login');
        var login_form = document.getElementById('member_login');
        var close_login = document.getElementById('close_login');
        var cur_display = login_form.style.display;
        login_link.onclick = function () {
            if(login_form.style.display=="block") {
                login_form.style.display="none";
            } else {
                login_form.style.display="block";
            }
            return false;
        }
        close_login.onclick = function () {
            login_form.style.display="none";
            return false;
        }
    }
}
function check_add_comments() {
    if(document.getElementById('add_comment')) {
        var add_comment_link = document.getElementById('add_comment');
        var add_comment_form = document.getElementById('add_comment_form');
        add_comment_link.onclick = function () {
            if(add_comment_form.style.display=="block") {
                add_comment_form.style.display="none";
            } else {
                add_comment_form.style.display="block";
            }
            return false;
        }
    }
}
function check_add_reply() {
    if(document.getElementById('add_discussion_reply')) {
        var add_reply_link = document.getElementById('add_discussion_reply');
        var add_reply_form = document.getElementById('add_reply_form');
        add_reply_link.onclick = function () {
            if(add_reply_form.style.display=="block") {
                add_reply_form.style.display="none";
            } else {
                add_reply_form.style.display="block";
            }
            return false;
        }
    }
}

/* MAX LENGTH AAN TEXAREAS */
function text_areas_init(){
    var objs = document.getElementsByTagName('textarea');
    var oi = 0; //oi is object index
    var thisObj;

    for (oi=0;oi<objs.length;oi++) {
        var this_name = objs[oi].id;
        thisObj = objs[oi];
        // note that maxlength is case sensitve
        if (thisObj.getAttribute('maxlength')){
            objs[oi].onkeyup = function() {
                force_max_length(this);
            }
        }
    }
}

function force_max_length(the_textarea_to_force) {
    var max_length = parseInt(the_textarea_to_force.getAttribute('maxlength'));
    var cur_length = the_textarea_to_force.value.length;
    if(cur_length > max_length) {
        the_textarea_to_force.value = the_textarea_to_force.value.substring(0, max_length);
    }
}
