// JavaScript Document

//var style_cookie_name = "style";
var style_cookie_duration = 30;

function show_hide(box,button){

	var thisbox = document.getElementById(box);
	var thisbutton = button;	
	var current_display = thisbox.style.display;
	
	if (current_display == '' || current_display == 'block'){

		thisbox.style.display = 'none';
		thisbutton.style.backgroundPosition = '0 -25px';
		Set_Cookie(box, "none", style_cookie_duration);
	} else {

		thisbox.style.display = 'block';
		thisbutton.style.backgroundPosition = '0 0';
		Set_Cookie(box, "block", style_cookie_duration);
	}
	
}

function set_style_from_cookie(box) {

    var state = Get_Cookie(box);
    var thisbox = document.getElementById(box);
    var thisbutton = document.getElementById(box+1);

    if (state != null && thisbox != null && thisbutton != null) {
        if (state.length != 0) {

            if (state == "block" || state == "") {

                thisbox.style.display = 'block';
                thisbutton.style.backgroundPosition = '0 0';
                Set_Cookie(box, "block", style_cookie_duration);

            } else {

                thisbox.style.display = 'none';
                thisbutton.style.backgroundPosition = '0 -25px';
                Set_Cookie(box, "none", style_cookie_duration);
            }

        }
    }
}

function Set_Cookie(name, value, expires, path, domain, secure) {
    // set time, it's in milliseconds
    var today = new Date();
    today.setTime(today.getTime());

    /*
    if the expires variable is set, make the correct
    expires time, the current script below will set
    it for x number of days, to make it for hours,
    delete * 24, for minutes, delete * 60 * 24
    */
    if (expires) {
        expires = expires * 1000 * 60 * 60 * 24;
    }
    var expires_date = new Date(today.getTime() + (expires));

    document.cookie = name + "=" + escape(value) +
    ((expires) ? ";expires=" + expires_date.toGMTString() : "") +
    ((path) ? ";path=" + path : "") +
    ((domain) ? ";domain=" + domain : "") +
    ((secure) ? ";secure" : "");
}

function Get_Cookie(check_name) {
    // first we'll split this cookie up into name/value pairs
    // note: document.cookie only returns name=value, not the other components
    var a_all_cookies = document.cookie.split(';');
    var a_temp_cookie = '';
    var cookie_name = '';
    var cookie_value = '';
    var b_cookie_found = false; // set boolean t/f default f

    for (i = 0; i < a_all_cookies.length; i++) {
        // now we'll split apart each name=value pair
        a_temp_cookie = a_all_cookies[i].split('=');


        // and trim left/right whitespace while we're at it
        cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');

        // if the extracted name matches passed check_name
        if (cookie_name == check_name) {
            b_cookie_found = true;
            // we need to handle case where cookie has no value but exists (no = sign, that is):
            if (a_temp_cookie.length > 1) {
                cookie_value = unescape(a_temp_cookie[1].replace(/^\s+|\s+$/g, ''));
            }
            // note that in cases where cookie is initialized but no value, null is returned
            return cookie_value;
            break;
        }
        a_temp_cookie = null;
        cookie_name = '';
    }
    if (!b_cookie_found) {
        return null;
    }
}


function add_remove(box) {

    var thisbox = document.getElementById(box);
    var thischeckbox = document.getElementById('checkbox_' + box);

    var current_display = thisbox.style.display;

    if (current_display == '' || current_display == 'block') {

        thisbox.style.display = 'none';
        thischeckbox.checked = false;

    } else {

        thisbox.style.display = 'block';
        thischeckbox.checked = true;

    }

}

function add_element(controlname, header, target) {

    var container = document.getElementById(target);
    var new_element = document.createElement('li');

    new_element.innerHTML = '<input id="checkbox_' + controlname + '" type="checkbox" checked="checked" onclick="add_remove(\'' + controlname + '\') /> ' + header;
    container.appendChild(new_element);

}


//function set_cookie(cookie_name, cookie_value, lifespan_in_days, valid_domain) {
//    var domain_string = valid_domain ?
//	("; domain=" + valid_domain) : '';
//    document.cookie = cookie_name +
//	"=" + encodeURIComponent(cookie_value) +
//	"; max-age=" + 60 * 60 *
//	24 * lifespan_in_days +
//	"; path=/" + domain_string;
//}

//function get_cookie(cookie_name) {
//    var cookie_string = document.cookie;
//    if (cookie_string.length != 0) {
//        var cookie_value = cookie_string.match(
//			'(^|;)[\s]*' +
//			cookie_name +
//			'=([^;]*)'
//		);
//        return decodeURIComponent(cookie_value[2]);
//    }
//    return '';
//}
