﻿var SessionLength;
var SessionWarning;
var Warning;
var MSIE = "Microsoft Internet Explorer"
var	OPERA = "Opera"
var NETSCAPE = "Netscape"

function SelectCategory(theForm, element1, element2, tabto)
{
	theForm.elements[element2].value = theForm.elements[element1].value;			
	document.getElementById(element2).focus();
}

function SelectTopic(theForm, element1, element2, tabto)
{
	theForm.elements[element2].value = theForm.elements[element1].value;			
	document.getElementById(element2).focus();
}

function SetFieldFocus(FieldID)
{
	document.getElementById(FieldID).focus();
}

function Trim(sString) 
{
	while (sString.substring(0,1) == ' ')
	{
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' ')
	{
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}
			
function ShowFAQQuestionsOld(theForm, element)
{
	var govgroup = GetQuerystring("govgroup");
	var dept = GetQuerystring("dept");
	var div = GetQuerystring("div");
	var topic = theForm.elements[element].value;
	var timeout = GetQuerystring("sessiontimeout");
	var privatefaq = GetQuerystring("private");

  	theForm.action="faqs.asp?govgroup=" + govgroup + "&dept=" + dept + "&div=" + div + "&topic=" + topic + "&banner=" + dept + "&menu=" + dept + "&sessiontimeout=" + timeout + "&private=" + privatefaq;
  	theForm.submit();
}

function ShowFAQQuestions(theForm, element)
{
	var govgroup = GetQuerystring("govgroup");
	var dept = GetQuerystring("dept");
	var div = GetQuerystring("div");
	var type = GetQuerystring("type");
	var topic = theForm.elements[element].value;
	var timeout = GetQuerystring("sessiontimeout");
	var privatefaq = GetQuerystring("private");

  	theForm.action="faqs.asp?govgroup=" + govgroup + "&dept=" + dept + "&div=" + div + "&type=" + type + "&topic=" + topic + "&banner=" + dept + "&menu=" + dept + "&sessiontimeout=" + timeout + "&private=" + privatefaq;
  	theForm.submit();
}
			
function ShowFAQQuestionsAll(theForm, element)
{
	var govgroup = theForm.elements[element].value;

  	theForm.action="faqsall.asp?govgroup=" + govgroup;
  	theForm.submit();
}

function ShowFAQQuestionsGroup(theForm, element)
{
	var govgroup = theForm.elements[element].value;
	var dept = GetQuerystring("dept");
	var div = GetQuerystring("div");
	var type = GetQuerystring("type");
	var topic = GetQuerystring("topic");
	var banner = GetQuerystring("banner");
	var menu = GetQuerystring("menu");

  	theForm.action="faqsall.asp?govgroup=" + govgroup + "&dept=&div=&type=" + type + "&topic=&banner=" + banner + "&menu=" + menu;
  	theForm.submit();
}
			
function ShowFAQQuestionsTopic(theForm, element)
{
	var govgroup = GetQuerystring("govgroup");
	var dept = GetQuerystring("dept");
	var div = GetQuerystring("div");
	var type = GetQuerystring("type");
	var topic = theForm.elements[element].value;
	var banner = GetQuerystring("banner");
	var menu = GetQuerystring("menu");

  	theForm.action="faqsall.asp?govgroup=" + govgroup + "&dept=" + dept + "&div=" + div + "&type=" + type + "&topic=" + topic + "&banner=" + banner + "&menu=" + menu;
  	theForm.submit();
}

function ShowFAQQuestionsDept(theForm, element)
{
	var govgroup = GetQuerystring("govgroup");
	var dept = theForm.elements[element].value;
	var div = GetQuerystring("div");
	var type = GetQuerystring("type");
	var topic = GetQuerystring("topic");
	var banner = GetQuerystring("banner");
	var menu = GetQuerystring("menu");

  	theForm.action="faqsall.asp?govgroup=" + govgroup + "&dept=" + dept + "&div=&type=" + type + "&topic=" + topic + "&banner=" + banner + "&menu=" + menu;
  	theForm.submit();
}

function ShowFAQQuestionsDivision(theForm, element)
{
	var govgroup = GetQuerystring("govgroup");
	var dept = GetQuerystring("dept");
	var div = theForm.elements[element].value;
	var type = GetQuerystring("type");
	var topic = GetQuerystring("topic");
	var banner = GetQuerystring("banner");
	var menu = GetQuerystring("menu");

  	theForm.action="faqsall.asp?govgroup=" + govgroup + "&dept=" + dept + "&div=" + div + "&type=" + type + "&topic=" + topic + "&banner=" + banner + "&menu=" + menu;
  	theForm.submit();
}

function ShowNewsItems(theForm, element)
{
	var govgroup = theForm.elements[element].value;
	var dept = GetQuerystring("dept");
	var div = GetQuerystring("div");
	var type = GetQuerystring("type");
	var topic = "";
	var banner = GetQuerystring("banner");
	var menu = GetQuerystring("menu");
	
  	theForm.action="newsall.asp?govgroup=" + govgroup + "&dept=&div=&type=" + type  + "&topic=" + "&banner=" + banner + "&menu=" + menu;
  	theForm.submit();
}

function ShowNewsItemsDept(theForm, element)
{
	var govgroup = GetQuerystring("govgroup");
	var dept = theForm.elements[element].value;	
	var div = GetQuerystring("div");
	var type = GetQuerystring("type");
	var topic = "";
	var banner = GetQuerystring("banner");
	var menu = GetQuerystring("menu");
	
//  	theForm.action="newsall.asp?govgroup=" + govgroup + "&dept=" + dept + "&div=" + div + "&type=" + type + "&topic=" + "&banner=" + banner + "&menu=" + menu;
  	theForm.action="newsall.asp?govgroup=" + govgroup + "&dept=" + dept + "&div=&type=" + type + "&topic=" + "&banner=" + banner + "&menu=" + menu;
  	theForm.submit();
}

function ShowNewsItemsDivision(theForm, element)
{
	var govgroup = GetQuerystring("govgroup");
	var dept = GetQuerystring("dept");
	var div = theForm.elements[element].value;
	var type = GetQuerystring("type");
	var topic = "";
	var banner = GetQuerystring("banner");
	var menu = GetQuerystring("menu");
	
  	theForm.action="newsall.asp?govgroup=" + govgroup + "&dept=" + dept + "&div=" + div + "&type=" + type + "&topic=" + "&banner=" + banner + "&menu=" + menu;
  	theForm.submit();
}

function ShowNewsItemsTopic(theForm, element)
{
	var govgroup = GetQuerystring("govgroup");
	var dept = GetQuerystring("dept");
	var div = GetQuerystring("div");
	var type = GetQuerystring("type");
	var topic = theForm.elements[element].value;
	var banner = GetQuerystring("banner");
	var menu = GetQuerystring("menu");
	
  	theForm.action="newsall.asp?govgroup=" + govgroup + "&dept=" + dept + "&div=" + div + "&type=" + type + "&topic=" + topic + "&banner=" + banner + "&menu=" + menu;
  	theForm.submit();
}

/**
 * DHTML date validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 * The functions are:
 *    isInteger
 *    stripCharsInBag
 *    daysInFebruary
 *    DaysArray
 *    isDate
 */
// Declaring valid date character, minimum year and maximum year
var dtCh= "/";
var minYear=2000;
var maxYear=2050;

function isInteger(s)
{
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag)
{
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year)
{
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}

function DaysArray(n)
{
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr)
{
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=dtStr.substring(0,pos1)
	var strDay=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++)
	{
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1)
	{
		return false
	}
	if (strMonth.length<1 || month<1 || month>12)
	{
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month])
	{
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear)
	{
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false)
	{
		return false
	}
return true
}

function GetQuerystring(key, default_)
{
	if (default_==null) default_=""; 

		key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
		var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
		var qs = regex.exec(window.location.href);

		if(qs == null)
			return default_;
		else
			return qs[1];
} 			

function StartSession(Delay)
{
	// If a value was not provided call GetSessionTimeoutValue() 
	// to get the session length from the URL query string
		
	if (Delay == undefined)
	{
		Delay = GetSessionTimeoutValue();
	}

	SessionLength = Delay * 60000;
		
	if (SessionLength > 0)
	{
		ClearLength = setInterval("SessionTimeOut()", SessionLength);
	}
}

function SessionTimeOut()
{
	document.getElementById('TimerDivTag').style.visibility = 'visible';
	Warning = setTimeout("CloseSession()", 30000); 
}

function LogOut()
{
	CloseSession();
}

function ContinueSession()
{
	document.getElementById('TimerDivTag').style.visibility = 'hidden'; 
	clearTimeout(Warning);
}
		
function CloseSession()
{
	var BrowserUserAgent = navigator.userAgent;
		
	if(BrowserUserAgent.search("MSIE") != -1)
	{
		document.execCommand("ClearAuthenticationCache");

//		window.opener='Self';
//		window.open('','_parent','');
//		window.close();
	}

	window.location.replace("http://co.livingston.mi.us");
}

function GetSessionTimeoutValue()
{
	var SESSION_TIMEOUT = "SESSIONTIMEOUT";
	    	
    var query = window.location.search.substring(1); 
	var vars = query.split("&"); 
		
	for (var i=0;i<vars.length;i++) 
	{ 
		var pair = vars[i].split("="); 
		if (pair[0].toUpperCase() == SESSION_TIMEOUT) 
		{ 
			return pair[1]; 
		} 
	} 
	return 0;
}
function MoreAdministrationSession(AdminPath)
{
	window.opener='Self';
	window.open('','_parent','');
//	window.close();
	document.execCommand("ClearAuthenticationCache"); 
	window.location = AdminPath;
}

function CloseBrowserWindow()
{
	var IEAgent = navigator.userAgent;
	var IEVer = IEAgent.substr((IEAgent.indexOf('MSIE')+5),3);

	// Checks if the tab or browser close (X) button was clicked.
	// If event.clientY < 0, then click was on the browser menu area.
	
	if(IEVer == '7.0' || IEVer == '8.0')
	{

		if (event.clientY < 0)
		{
			document.execCommand("ClearAuthenticationCache"); 
		}
		else
		{
			if (window.event.clientX > (document.body.offsetWidth - 5))
			{
				document.execCommand("ClearAuthenticationCache"); 
			}
		}
	}
	else
	{
		if (window.screenLeft == 10004 && self.screenTop > 9000) 
		{ 
			document.execCommand("ClearAuthenticationCache");
		} 
	}
}

function Left(str, n)
{
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}

function Right(str, n)
{
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}

function GetFileExtension(filename)
{
	if(!filename ) return "";
	
	if( filename.length == 0 ) return "";
	var dot = filename.lastIndexOf(".");

	if( dot == -1 ) return "";
	var extension = filename.substr(dot + 1,filename.length);
	return extension;
} 

function DetectBrowser()
{
	return navigator.appName
} 

function GetBrowserInfo()
{
	var BrowserName;
	var BrowserCodeName = navigator.appCodeName;
	var BrowserAppName = navigator.appName;
	var BrowserAppVersion = navigator.appVersion;
	var BrowserCookieEnabled = navigator.cookieEnabled;
	var BrowserLanguage = navigator.language;
	var BrowserSystemLanguage = navigator.systemLanguage;
	var BrowserUserLanguage = navigator.userLanguage;
	var BrowserPlatform = navigator.platform;
	var BrowserUserAgent = navigator.userAgent;
		
	if(BrowserUserAgent.search("MSIE") != -1)
	{
		BrowserName = "Microsoft Internet Explorer";
		var BrowserVersionString = BrowserUserAgent.split("MSIE");
		var BrowserVersion = Left(Trim(BrowserVersionString[1]), 3);
	}

	if(BrowserUserAgent.search("Firefox") != -1)
	{
		BrowserName = "Firefox";
		var BrowserVersionString = BrowserUserAgent.split("Firefox/");
		var BrowserVersion = Left(Trim(BrowserVersionString[1]), 4);
	}
	
	return {BrowserCodeName:BrowserCodeName, BrowserAppName:BrowserAppName, BrowserAppVersion:BrowserAppVersion, BrowserCookieEnabled:BrowserCookieEnabled, BrowserLanguage:BrowserLanguage, BrowserSystemLanguage:BrowserSystemLanguage, BrowserUserLanguage:BrowserUserLanguage, BrowserPlatform:BrowserPlatform, BrowserUserAgent: BrowserUserAgent, BrowserVersionString: BrowserVersionString, BrowserName:BrowserName, BrowserVersion:BrowserVersion};
} 









