// Use this function to retrieve a cookie.
function getCookie(name) {
	var cname = name + "=";  
	var dc = document.cookie;             
	    if (dc.length > 0) {            
	    begin = dc.indexOf(cname);      
	        if (begin != -1) {          
	        begin += cname.length;       
	        end = dc.indexOf(";", begin);
	            if (end == -1) end = dc.length;
	            return unescape(dc.substring(begin, end));
	        } 
	    }
	return null;
}

function writeCookie(cookie_name, cookie_value) 
{
	var today = new Date();
	var the_date = new Date();
	the_date.setTime(today.getTime() + 1000 * 60 * 60 * 24);
    if (cookie_value == null)
    {
        the_date.setTime(today.getTime() - 1000*60*60*24);
    }
	var the_cookie_date = the_date.toGMTString();
	var the_cookie = cookie_name + "=" + cookie_value;
	var the_cookie = the_cookie + ";path=/;expires=" + the_cookie_date;
	document.cookie = the_cookie;
	return null;
}

function writeGreeting() 
{
	var user_block = document.getElementById("add1");
	var greeting = "";
	greeting += "User: ";
	if ((getCookie("usr") == null) || (getCookie("usr") == ""))
	{
		greeting += "Not logged in";
		greeting += "<br>";
		greeting += "<A HREF=\"/custom/login.html\">Login</a><br>";
		greeting += "<A HREF=\"/cgi-bin/custom/signup.pl\">Signup</a>";
	} 
	else
	{
		greeting += getCookie("usr");
		greeting += "<br>";
		greeting += "<A HREF=\"/cgi-bin/custom/settings.pl\">Change Settings</a><br>";
		greeting += "<A HREF=\"#\" onClick=\"client_logout(); return(false);\">Logout<\/A>";
	}

	user_block.innerHTML = greeting;
	return null;
}


function setAllChecks(check)
{
	for(f=0; f<document.forms.length; f++)
		for(e=0; e<document.forms[f].elements.length; e++)
			if ((document.forms[f].elements[e].type == "checkbox") &&
			    (!document.forms[f].elements[e].name.match(/OPTION/)))
				document.forms[f].elements[e].checked = check;
}

function create_request_string(theform) 
{ 
	var reqStr = ""; 

	for(i=0; i < theform.elements.length; i++) 
	{ 
		isformObject = false; 

		switch (theform.elements[i].tagName) 
		{ 
		case "INPUT": 

			switch (theform.elements[i].type) 
			{ 
			case "text": 
			case "hidden": 
					reqStr += theform.elements[i].name + "=" + encodeURIComponent(theform.elements[i].value); 
					isformObject = true; 
				break; 

			case "checkbox": 
				if (theform.elements[i].checked) 
				{ 
					reqStr += theform.elements[i].name + "=" + theform.elements[i].value; 
				}
				else
				{ 
					reqStr += theform.elements[i].name + "="; 
				} 
				isformObject = true; 
				break; 

			case "radio": 
				if (theform.elements[i].checked) 
				{ 
					reqStr += theform.elements[i].name + "=" + theform.elements[i].value; 
					isformObject = true; 
				} 
				break; 
			} 
			break; 

		case "TEXTAREA": 

			reqStr += theform.elements[i].name + "=" + encodeURIComponent(theform.elements[i].value); 
			isformObject = true; 
			break; 

		case "SELECT": 
			var sel = theform.elements[i]; 
			reqStr += sel.name + "=" + sel.options[sel.selectedIndex].value; 
			isformObject = true; 
			break; 
		} 

		if ((isformObject) && ((i+1)!= theform.elements.length)) 
		{ 
			reqStr += "&"; 
		} 
	} 
	return reqStr; 
} 

function changecss(theClass,element,value) 
{
// Last Updated on May 21, 2008
// documentation for this script at
// http://www.shawnolson.net/a/503/altering-css-class-attributes-with-javascript.html

	var cssRules;
	if (document.all) 
	{
		cssRules = 'rules';
	}
	else if (document.getElementById) 
	{
		cssRules = 'cssRules';
	}
	var added = false;
	for (var S = 0; S < document.styleSheets.length; S++)
	{
		for (var R = 0; R < document.styleSheets[S][cssRules].length; R++) 
		{
			if (document.styleSheets[S][cssRules][R].selectorText == theClass) 
			{
				if(document.styleSheets[S][cssRules][R].style[element])
				{
					document.styleSheets[S][cssRules][R].style[element] = value;
					added=true;
					break;
				}
			}
		}

		if(!added)
		{
			if(document.styleSheets[S].insertRule)
			{
				document.styleSheets[S].insertRule(theClass+' { '+element+': '+value+'; }',document.styleSheets[S][cssRules].length);
			}
			else if (document.styleSheets[S].addRule) 
			{
				document.styleSheets[S].addRule(theClass,element+': '+value+';');
			}
		}
	}
}

function get_radio_value(r)
{
	var radio_value = null;
	for (var i=0; i < r.length; i++)
	{
		if (r[i].checked) 
			radio_value = r[i].value; 
	}
	return(radio_value);
}

function client_logout()
{
	var myConn = new XHConn();
	if (!myConn) return false;
   	myConn.connect("/cgi-bin/custom/quietlo.pl", "GET", "", 
		finish_client_logout);
	writeCookie("usr", null);
	writeCookie("session", null);
	writeGreeting();
	return(false);
}

function finish_client_logout(return_text)
{
}

