function get_cookie(c) {
   
    var cookie = top.document.cookie;
    cookies = cookie.split('; ');
    for (i=0; i < cookies.length; i++) {
        pair = cookies[i].split('=');
	if (pair[0] == c) {
	    return pair[1];
	}
    }
    return false;
}

function onLink(layer, timer, Xoff, Yoff) {

    Xoff = parseInt(Xoff);
    Yoff = parseInt(Yoff);
    if(isNaN(Xoff)) Xoff = -1;
    if(isNaN(Yoff)) Yoff = 8;
    if(timer != null && timer != 0) clearTimeout(timer);
    if(window.active_layer != null && window.active_layer != 0) hE(window.active_layer);
    var pos = getElementPosition(layer + '_link');
    var X = pos.left;
    var Y = pos.top;
    var dim = getElementSize(layer + '_link');
    var w = dim.width; 
    var h = dim.height;
    var el = gE(layer);
    sX(el, X + Xoff);
    sY(el, Y + h + Yoff);
    sE(el);
    window.active_layer = el;
}

function getElementPosition(eid){

    var parent = gE(eid);
    var left = 0;
    var top = 0;
    while(parent){
        left += parent.offsetLeft;
        top += parent.offsetTop;
        parent = parent.offsetParent;
    }
    if(navigator.userAgent.indexOf('MSIE') != -1) left += document.body.leftMargin * 1;
    return {left:left, top:top};
}

function getElementSize(eid){

    var el = gE(eid);
    return {width:el.offsetWidth, height:el.offsetHeight};
}

function getWidth() {

    if(document.layers){
        return window.innerWidth;
    }
    else {
        return document.body.offsetWidth;
    }
}

function screenMiddle(){

    var width = getWidth();
    var mid;
    if(width % 2 == 0){
        mid = width / 2;
    }
    else{
        mid = (width + 1) / 2;
    }
    return mid;
}

function offLink(layer) {

    window.status = '';
    var code = 'var el = gE(\'' + layer + '\'); hE(el)';
    var tid = setTimeout(code, 1325);
    return tid;
}

function prettifyString(s) {

    var a = s.split('_');
    for(var i = 0; i < a.length; i++) a[i] = a[i].substring(0, 1).toUpperCase() + a[i].substring(1);
    var s = a.join(' ');
//    if(s.indexOf('s') != s.length - 1) s = s + 's';
    return s;
}

var all_selected = false;

function toggle_selection(f) {

    if(!f) return alert('What the heck am I supposed to select?  I don\'t see no records!'); 
    var s = f.selected;
    if(!s) return alert('There ain\'t nothin\' for me to select!!!');
    all_selected = !all_selected;
    if(!s.length){
        s.checked = all_selected;
        return false;
    }
    for(var i = 0; i < s.length; i++){
        s[i].checked = all_selected;
    }
}

function select_all(f) {

    all_selected = false;
    return toggle_selection(f);
}

function deselect_all(f) {

    all_selected = true;
    return toggle_selection(f);
}

function email_check(f, type, actions) {

    if(!actions) actions = 'select all records ';
    if(!any_selected(f)){
        var ans = confirm('No records have been selected.  Do you want to ' + actions  + ' in ' + type + '?');
        return ans;
    }
    return true;
}

function any_selected(f) {

    if(!f) return false;
    var s = f.selected;
    if(!s) return false;
    if(!s.length) return s.checked;
    for(var i = 0; i < s.length; i++) if(s[i].checked == true) return true;
    return false;
}

function exactly_one_selected(f){

    if(!f) return false;
    var s = f.selected;
    if(!s) return false;
    if(!s.length) return s.checked;
    var already_checked = false;
    for(var i = 0; i < s.length; i++) {
	if(s[i].checked == true){
     	    if(already_checked) return false;
            already_checked = true;
        }
    }
    return already_checked;
}

function get_lone_selected_value(f){

    if(exactly_one_selected(f)){
        var s = f.selected;
	if(s.length){
            for(var i = 0; i < s.length; i++) {
	        if(s[i].checked == true) return s[i].value;
            }
        }
        else{
            if(s.checked == true) return s.value;
        }
    }
    return;
}

function cursor_position(e){
    if(e.createTextRange) {
        e.cursor = document.selection.createRange().duplicate();
    }
    else e.ignore = 1;
}

function insert_text(e, t){

    var p;
    if(e.createTextRange && e.cursor){
        p = e.cursor;
        p.text = p.text.charAt(p.text.length - 1) == ' ' ? t + ' ' : t;
    }
    else if(!e.ignore) e.value = t;
}
