// COOKIE MANAGEMENT
function getObj(id)
{
	var obj = null;
	if(document.getElementById)
		obj = document.getElementById(id);
	else if(document.all)
		obj = document.all[id];
	else if(document.layers)
		obj = document.layers[id];
	return obj;
}

/*
add a new cookie
@param string    The name of the cookie
@param string    The value of the cookie
@param mixed     A pre-set date object or an integer representing the number of days. Default value creates a 'session' cookie.
@param string    The domain access of the cookie. Defaults to the current domain.
@param string    The path access of the cookie. Defaults to the entire site, "/".
*/
function setCookie(name, value, expires, domain, path)
{
    // Build expiry
    // Date object
    if(expires.toGMTString)
        expires = '; expires=' + expires.toGMTString();

    // Integer, assume its number of days
    else if(typeof(expires) == 'integer')
    {
        var date = new Date();
		date.setTime( date.getTime() + (expires * 86400) );
		expires = '; expires=' + date.toGMTString();
    }

    // Session cookie
    else
        expires = '';

    // Build domain
    if(domain)
        domain = '; domain=' + domain;
    else
        domain = '';

    // Build path
    if(path)
        path = '; path=' + path;
    else
        path = '; path=/';

    // Make cookie
    document.cookie = name + '=' + escape(value) + expires + domain + path;
}

function readCookie(name)
{
	var doc_cookies = document.cookie.split(';');
	search = name + '=';

	var search = new RegExp('(' + name + ')=');
	for(var i = 0; i < doc_cookies.length; i++)
	{
		cookie = doc_cookies[i];
		if(search.test(cookie)){
			cookie = cookie.replace(search,'');
			return unescape(cookie.substring(search.length));
		}
	}	
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

// SET COOKIES
function setLoginCookie(id_account, key)
{
	var cookie = readCookie('login');
	
	if(!cookie){
		cookie = '';
		cookie = id_account+','+key;
		setCookie('login', cookie, Date('January 1, 2020'));
	}
}

function getLoginCookie()
{
	var cookie = readCookie('login_key');
	if(cookie){
		alert('login cookie found');
	}
}

function toggleItem(name)
{
	var obj = getObj(name);
	if(!obj)
	return false;
	if(obj.style.display == 'none')
	{
		var state = 1;
		obj.style.display = '';
	}else{
		var state = 0;
		obj.style.display = 'none';
	}
	return state;
}

function toggleUnit(name)
{
	var img_opened;
	var img_closed;
	var form;
	var status;
	img_opened = 'http://www.egovern.org/images/admin/closed.gif';
	img_closed = 'http://www.egovern.org/images/admin/open.gif';

	img_opened = 'http://www.egovern.org/images/admin/positive.gif';
	img_closed = 'http://www.egovern.org/images/admin/negative.gif';

	/* temporary for test server
	img_opened = '../images/admin/positive.gif';
	img_closed = '../images/admin/negative.gif';
	//*/

	if (document.getElementById('img_'+name)){ img = document.getElementById('img_'+name); }
	var status;
	status = toggleItem(name);
	if(status == 1)
	{
		if (document.getElementById('img_'+name)){ img.src = img_closed; }
		if (document.getElementById('box_'+name)){ 
			var box;
			box = document.getElementById('box_'+name);
			box.className = 'box_on'; 
		}
	}else{
		if (document.getElementById('img_'+name)){ img.src = img_opened; }
		if (document.getElementById('box_'+name)){ 
			var box;
			box = document.getElementById('box_'+name);
			box.className = 'box'; 
		}
	}
	return status;
}

function toggleUnitSave(name)
{
	var status;
	status = toggleUnit(name);
	savePreference(name, status);
	return true;
}

function getPreferences()
{
	var doc_cookies = document.cookie.split(';');
	var name = 'pref';
	var search = new RegExp('(' + name + ')=');
	for(var i = 0; i < doc_cookies.length; i++)
	{
		cookie = doc_cookies[i];
		if(search.test(cookie)){
			cookie = cookie.replace(search,'');
			return unescape(cookie.substring(search.length));
		}

	}	
	return null;
}

function savePreference(name, state)
{
	var cookie = getPreferences();
	if(!cookie)
		cookie = '';
	var search = new RegExp('(' + name + ')=([01]{1}),');
	if(search.test(cookie)){
		cookie = cookie.replace(search, '$1=' + state + ',');
	}else{
		cookie = name + '=' + state + ',' + cookie;
	}
	setCookie('pref', cookie, Date('January 1, 2020'));
}

// CUSTOM JAVASCRIPTS
/* notices alert */
function notice(message)
{
	switch(message)
	{
		case 'restricted':
			alert('You must be a registered user to use this function.');
		break;
		case 'coming':
			alert('This function is coming soon');
		break;
	}
}

/* checkbox check all, uncheck all */
function checkAll(id, checked){
	var el = document.getElementById(id);
	for(var i = 0; i < el.elements.length; i++){
		el.elements[i].checked = checked;
	}
}

function show(name){
	var obj = getObj(name);
	if(!obj){
		return false;
	}else{
		obj.style.display = '';
	}
}
function hide(name){
	var obj = getObj(name);
	if(!obj){
		return false;
	}else{
		obj.style.display = 'none';
	}
}

// MENU TAB SELECTOR
/***********************************************
* DD Tab Menu script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

//Set tab to intially be selected when page loads:
//[which tab (1=first tab), ID of tab content to display]:
var initialtab=[2, "menu2"]

//Turn menu into single level image tabs (completely hides 2nd level)?
var turntosingle=0 //0 for no (default), 1 for yes

//Disable hyperlinks in 1st level tab images?
var disabletablinks=0 //0 for no (default), 1 for yes

var previoustab=""

if (turntosingle==1)
document.write('<style type="text/css">\n#tabcontentcontainer{display: none;}\n</style>')

function expandcontent(tid)
{
	if (document.getElementById)
	{
		highlighttab('t'+tid)
		if (turntosingle==0)
		{
			if (previoustab!=""){
				document.getElementById(previoustab).style.display="none"
			}
			document.getElementById(tid).style.display="block"
			previoustab=tid
		}
	}
}

function highlighttab(ttid)
{
	if (typeof tabobjlinks=="undefined"){
		collecttablinks()
	}
	for (i=0; i<tabobjlinks.length; i++){
		tabobjlinks[i].className=""
	}
	tablink = document.getElementById(ttid)
	tablink.className="current"
}

function collecttablinks()
{
	var tabobj=document.getElementById("tablist")
	tabobjlinks=tabobj.getElementsByTagName("A")
}

// CLIENT DATA
/*
function clientData(info)
{
	if (info == 'width')
	{
		width_height_html = '<br>SCREEN SETTINGS: ';
		width = (screen.width) ? screen.width:'';
		height = (screen.height) ? screen.height:'';
		width_height_html += width + " x " +
			height + " pixels";
		(width && height) ? document.write(width_height_html):'';
	}
	else if (info == 'js' )
	{
		document.write('<br>JAVASCRIPT ENABLED');
	}
	else if ( info == 'cookies' )
	{
		expires ='';
		setCookie( 'cookie_test', 'it_worked' , expires, '', '', '' );
		string = '<br>JS COOKIES: ';
		if ( readCookie( 'cookie_test' ) )
		{
			string += 'enabled';
		}
		else {
			string += 'disabled';
		}
		document.write( string );
	}
}

clientData('js');
clientData('width');
clientData('cookies');
//*/