// Browser Types
/*
ns4=(_d.layers)?true:false
ns6=(navigator.userAgent.indexOf("Gecko")!=-1)?true:false
mac=(navigator.appVersion.indexOf("Mac")!=-1)?true:false
mac45=(navigator.appVersion.indexOf("MSIE 4.5")!=-1)?true:false
if(ns6||ns4)mac=false
opera=(navigator.userAgent.indexOf("Opera")!=-1)?true:false
ns61=(parseInt(navigator.productSub)>=20010726)?true:false
ie4=(!_d.getElementById&&_d.all)?true:false;
konq=(navigator.userAgent.indexOf("Konqueror")!=-1)?true:false
*/

var strArrow = '<img src="/Stage/images/common/bullet_arrow.gif" border="0" width="7" height="8">';
var strArrowStart = '<img src="/Stage/images/common/bullet_arrow.gif" border="0" width="7" height="8" ';
var strArrowEnd = '>';
var strBullet = '<img src="/Stage/images/common/bullet_square.gif" border="0" width="4" height="4">';
var strPhonePoliceGeneral = "(714) 738-6800";
var ns = (!document.all && document.getElementById);
var ie = (document.all && document.getElementById);
var userAgent = navigator.userAgent.toLowerCase();
var userApp = navigator.appName.toLowerCase();
var userVersion = parseFloat(navigator.appVersion);
var userAppVersion = navigator.appVersion.toLowerCase();
var isNetscape6 = false;
if (navigator.userAgent.indexOf('Netscape6') != -1) isNetscape6 = true ;

function isNet4x() {
	if (document.getElementById)
		return false;
	return true;
}

function fncPopWindow(strUrl,strWindowName,strFeatures){
	if(strWindowName == ""){
		strWindowName = "wndSecondary";
	}
	if(strFeatures == ""){
		strFeatures = "width=500,height=350,resizable=yes,scrollbars=yes,top=200px,dependent=yes"
	}
	var wndPop = window.open(strUrl,strWindowName,strFeatures);
	wndPop.document.close();
	wndPop.focus();
}

function fncCloseThisWindow(){
	window.close();
}

// String Validation
function fncReplaceChar(str, chr, newchr){
	for(var i=0;i<str.length;i++){
		str = str.replace(chr,newchr);		
	}
	return str;
}

function replaceChar(str, chr){
	for(var i=0;i<str.length;i++){
		str = str.replace(chr,"");		
	}
	return str;
}

function rep_leading_blanks(inString){
	var i, j = inString.length, retString = inString;
	for (var i = 0; i < j ; i++) {
		if (inString.charAt(i) == ' ')
			retString = inString.substr(i+1,j-i-1);
		else
			return(retString);
	}
	return(retString);
}

function rep_trailing_blanks(inString){
	var i, j = inString.length, retString = inString;
	
	for (var i=j;i>0;i--) {
		if (inString.charAt(i-1)==' ')
			retString=inString.substr(0,i-1);
		else
		return(retString);
	}	
	return(retString);
}

function fncRemoveExtraBlanks(obj){
	obj = rep_leading_blanks(obj);
	obj = rep_trailing_blanks(obj);
	return obj;
}

function fncRemoveExtraBlanksString(str){
	str = rep_leading_blanks(str);
	str = rep_trailing_blanks(str);
	return str;
}

function mask (InString, Mask)  {
	var LenStr = InString.length, LenMsk = Mask.length;
	
	if ((LenStr==0) || (LenMsk==0))	return(0);
	if (LenStr!=LenMsk)	return(0);

	for(var Count=0; Count<=InString.length; Count++) {
		StrChar = InString.substring(Count, Count+1);
		MskChar = Mask.substring(Count, Count+1);
		if (MskChar=='#') {
			if(!isNumberChar(StrChar)) return(0);
		} else if (MskChar=='?') {
			if(!isAlphabeticChar(StrChar)) return(0);
		} else if (MskChar=='!') {
			if(!isNumOrChar(StrChar)) return(0);
		} else if (MskChar=='*') {
		} else {
			if (MskChar!=StrChar) return(0);
		}
	}
	return (1);
}

function isNumberChar (InString)  {
	var RefString="1234567890";

	if(InString.length!=1) return false;
	if (RefString.indexOf (InString, 0)==-1) return false;
	
	return true;
}

function isAlphabeticChar (InString)  {
	var	RefString="abcdefghijklmnopqrstuvwxyz";
	
	if(InString.length != 1) return false;	
	InString=InString.toLowerCase ()
	if (RefString.indexOf (InString, 0)==-1) return false;
	
	return true;
}

function isNumOrChar (InString)  {
	var RefString="1234567890abcdefghijklmnopqrstuvwxyz";

	if(InString.length!=1) return false;
	InString=InString.toLowerCase();
	if (RefString.indexOf (InString, 0)==-1) return false;

	return true;
}


var aryCommonJsNumbers = new Array("0","1","2","3","4","5","6","7","8","9");
var aryCommonJsLetters = new Array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
var aryCommonJsOtherChar = new Array(",",".","<",">","/","\\","|","{","}","[","]","`","~","!","@","#","$","%","^","&","*","(",")","-","_","+","=",";",":","?","'","\"");
	
//Verifies character based strings
function fncCharStringVerification(strValue,type)  {
	var allowNumbers = "no";
	if(type == "Name" || type == "Street Address" || type == "State License" || type == "Email Body"){
		allowNumbers = "yes";
	}
	
	var foundNumber = "no";
	if(allowNumbers == "no"){
		for(var x = 0; x < aryCommonJsNumbers.length; x++){
			if(strValue.indexOf(aryCommonJsLetters[x]) > -1){
				foundNumber = "yes";
				//alert("Please do not enter numbers in the " + type + " filed.");
				return false;
				break;
			}
		}
	}
	
	if(foundNumber == "no"){
		for(var y = 0; y < aryCommonJsOtherChar.length; y++){
			if(strValue.indexOf(aryCommonJsOtherChar[y]) > -1){
				if(type == "Name"){	//allow periods, dashes, and commas in name fields
					if((aryCommonJsOtherChar[y] != ".") && (aryCommonJsOtherChar[y] != "-") && (aryCommonJsOtherChar[y] != ",")){
						return false;
						break;
					}
				}else if(type == "Street Address"){	//allow periods, dashes, and commas in street address fields
					if((aryCommonJsOtherChar[y] != ".") && (aryCommonJsOtherChar[y] != "-") && (aryCommonJsOtherChar[y] != "#")){
						return false;
						break;
					}
				}else if(type == "State License"){	//allow dashes in state license
					if((aryCommonJsOtherChar[y] != "-")){
						return false;
						break;
					}
				}else if(type == "Email Body"){
					if((aryCommonJsOtherChar[y] != ".") && (aryCommonJsOtherChar[y] != "-") && (aryCommonJsOtherChar[y] != "#") && (aryCommonJsOtherChar[y] != "'") && (aryCommonJsOtherChar[y] != ",")){
						return false;
						break;
					}
				}else{
					return false;
					break;
				}
			}
		}
	}
}

//Checks to verify string is a number
function fncCleanNumbers(strValue,type){
	var foundLetter = "no";
	for(var x = 0; x < aryCommonJsLetters.length; x++){
		if(strValue.indexOf(aryCommonJsLetters[x]) > -1){
			foundLetter = "yes";
			//alert("Please enter only numbers and commas in the " + type + " fields.");
			return false;
			break;
		}
	}
	
	if(foundLetter == "no"){
		for(var y = 0; y < aryCommonJsOtherChar.length; y++){
			if(strValue.indexOf(aryCommonJsOtherChar[y]) > -1){
				if(type == "Phone"){
					if(aryCommonJsOtherChar[y] != "-" && aryCommonJsOtherChar[y] != "(" && aryCommonJsOtherChar[y] != ")"){
						return false;
						break;
					}
				}else if(type == "Date"){
					if(aryCommonJsOtherChar[y] != "/"){
						return false;
						break;
					}
				}else if(type == "ZipLong"){
					if(aryCommonJsOtherChar[y] != "-"){
						return false;
						break;
					}
				}else if(type == "Zip" || type == "Pure" || type == "Meter"){
					return false;
					break;
				}else if(type == "Dollar"){
					if(aryCommonJsOtherChar[y] != "," && aryCommonJsOtherChar[y] != ".")
					{
						return false;
						break
					}
				}else{
					if(aryCommonJsOtherChar[y] != ","){	//allow commas, except for rates
						//alert("Please enter only numbers and commas in the " + type + " fields.");
						return false;
						break;
					}
				}
			}
		}
	}
}

//Email Check
function fncCommonCheckEmail(frmEmail){
	if (frmEmail.value == ""){
		alert("Please enter a value for the \"Email Address\" field.");
		frmEmail.focus();
		return false;
	}
	
	var checkOK = "|&;()<>\'\"*?\\[]$!#`{}";
	var checkStr = frmEmail.value;
	var allValid = true;
	
	for (var i = 0;  i < checkOK.length;  i++){
		var ch = checkOK.charAt(i);
		if (checkStr.indexOf(ch,0) != -1){
			allValid = false;
			break;
		}
	}
	
	if (!allValid){
		alert("Please enter only valid characters in \"Email Address\" field.");
		frmEmail.focus();
		return false;
	}
	
	if (frmEmail.value.length < 6){
		alert("Please enter at least 6 characters in the \"Email Address\" field.");
		frmEmail.focus();
		return false;
	}
	
	//Contains @
	if (frmEmail.value.indexOf('@',0)==-1){
		alert("Please enter a @ character in the \"Email Address\" field.");
		frmEmail.focus();
		return false;
	}
	
	//@ is not the first character
	if (frmEmail.value.indexOf('@',0)==0){
		alert("Please enter a valid E-Mail Address.");
		frmEmail.focus();
		return false;
	}
	
	// Get length of email address
	var strLength = frmEmail.value.length;
	var strEmail = frmEmail.value;
	var result = strEmail.lastIndexOf(".");
	var atSign = strEmail.lastIndexOf("@");
	
	//there cannot be fewer than 5 characters after the @ sign
	if (strLength - atSign < 5){
		alert("Please enter a valid E-Mail Address.");
		frmEmail.focus(); 	
		return false;
	}
	
	//the period cannot be in the first position
	if (frmEmail.value.indexOf('.',0)==-1){
		alert("Please enter a valid E-Mail Address.");
		frmEmail.focus();
		return false;
	}
	
	// Must have 2 characters after the period
	if (strLength - result < 3){
		alert("Please enter a valid E-Mail Address.");
		frmEmail.focus(); 	
		return false;
	}
	
	//No blanks in the email
	if (frmEmail.value.indexOf(' ',0)!=-1){
		alert("Please don't enter a blank character in the \"EmailAddress\" field.");
		frmEmail.focus();
		return false;
	}
}

//States
var aryStateAbbr = new Array("AL","AK","AZ","AR","CA","CO","CT","DC","DE","FL","GA","HI","ID","IL","IN","IA","KS","KY","LA","ME","MD","MA","MI","MN","MS","MO","MT","NE","NV","NH","NJ","NM","NY","NC","ND","OH","OK","OR","PA","RI","SC","SD","TN","TX","UT","VT","VA","WA","WV","WI","WY");
var aryStateNames = new Array("Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","DC","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Carolina","North Dakota","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming");

function fncStateDropDown(objSelectBox,strType,strFirstValue,strSelected){
	var cnt = 0;
	if(strFirstValue > ""){
		objSelectBox.options[cnt] = new Option(strFirstValue,"");
		cnt = 1;
	}
	
	if(strType == "Full"){
		for(i = 0; i < aryStateAbbr.length; i++){
			objSelectBox.options[i+cnt] = new Option(aryStateNames[i],aryStateAbbr[i]);
		}
	}else{
		for(i = 0; i < aryStateAbbr.length; i++){
			objSelectBox.options[i+cnt] = new Option(aryStateAbbr[i],aryStateAbbr[i]);
		}
	}
	
	if(strSelected > ""){
		for(var j = 0; j < objSelectBox.length; j++){
			if(objSelectBox.options[j].value == strSelected){
				objSelectBox.options[j].selected = true;
			}
		}
	}
}

//State Drop Downs Loaded from Data Base
function fncSetState( strState, objDropDown ){
	for(var i = 0; i < objDropDown.length; i++){
		if(objDropDown[i].text == strState){
			objDropDown[i].selected = true;
		}
	}
}

function fncSetHdnState(objDropDown,objHidden){
	objHidden.value = objDropDown.options[objDropDown.selectedIndex].text;
}

function fncGetState(objHidden,objDropDown){
	if(objHidden.value < " "){
		fncSetState( "CA", objDropDown );
	}else{
		fncSetState( objHidden.value, objDropDown );
	}
}

//disable submit button
function fncDisableButton() {
	document.frm.submit();
	window.setTimeout("fncDisableButton('" + window.event.srcElement.id + "')", 0);
}

function fncDisableButtonForm(frm) {
	frm.submit();
	window.setTimeout("fncDisableButton('" + window.event.srcElement.id + "')", 0);
}

function fncDisableButtonFormBtn(frm,btn) {
	frm.submit();
	window.setTimeout("fncDisableButton('" + btn + "')", 0);
}

function fncDisableButton(buttonID) {
	document.getElementById(buttonID).disabled=true;
}

//Click Paths
var strClickHome = "http://www.ci.fullerton.ca.us/";
var strClickDepartments = "/departments/departments.html";
//Police
var strClickPolice = "/departments/police";

//User Details
//User Name
function fncParseName(PropertyNames, PropertyValues)
{
	//Catherine Carter
	//FirstName:S:0:9:LastName:S:9:6:
	
	var aryNameProperties = new Array();
	aryNameProperties = PropertyNames.split(":");
	
	var strFirstName = PropertyValues.slice(aryNameProperties[2],(aryNameProperties[2] + aryNameProperties[3]));
	var strLastName = PropertyValues.slice(aryNameProperties[6], (aryNameProperties[6] + aryNameProperties[7]));
	
	document.write(strFirstName + " " + strLastName);
}

//scan alert
function fncDisplayScanAlertImage()
{
	var strScanAlert = '<div style="text-align: right;"><!-- START SCANALERT CODE -->';
	strScanAlert += '<a target="_blank" href="https://www.scanalert.com/RatingVerify?ref=www.cityoffullerton.com"><img width="115" height="30" border="0" src="//images.scanalert.com/meter/www.cityoffullerton.com/32.gif" alt="HACKER SAFE certified sites prevent over 99.9% of hacker crime." oncontextmenu="alert(';
	strScanAlert += "'Copying Prohibited by Law - HACKER SAFE is a Trademark of ScanAlert'";
	strScanAlert += '); return false;"></a>';
	strScanAlert += '<!-- END SCANALERT CODE --></div>';
	
	document.write(strScanAlert);
}


function fncShowHideLayer(layerName)
{
	if(document.getElementById(layerName).className == "aHide")
	{
		document.getElementById(layerName).className = "aShow";
	}
	else
	{
		//document.getElementById(layerName).className = "aHide";
	}
}

function fncShowLayer(layerName)
{
	document.getElementById(layerName).className = "aShow";
}

function fncCountScore(txtInput,txtTrackLayer,layerName,CountingLayer)
{
	//alert("txtTrackLayer.value = " + txtTrackLayer.value + "; txtInput.value = " + txtInput.value);
	if(txtTrackLayer.value == 0)
	{
		txtTrackLayer.value = 1;
		txtInput.value = parseFloat(txtInput.value) + parseFloat(1);
		document.getElementById(CountingLayer).innerHTML = txtInput.value;
	}
}

function fncAnswerWrong(obj,layerName,cssClass)
{
	if(obj.value == 0)
	{
		obj.value = 1;
		document.getElementById(layerName).className = cssClass;
	}
}

function fncAnswerTrueFalse(objQuestion,objScore,layerDisplayScore,layerQuestion,cssClassWrong,strQuestionAnswer)
{
	if(objQuestion.value == 0)
	{
		if(strQuestionAnswer == 2)
		{	//false
			objScore.value = parseFloat(objScore.value) + 1;
			document.getElementById(layerDisplayScore).innerHTML = objScore.value;
		}
		else
		{	//true
			document.getElementById(layerQuestion).className = cssClassWrong;
		}
		objQuestion.value = 1;
	}
}

//added for translation in footer
function fncShowHideTranslations()
{
	if(document.getElementById("divMoreLanguages").style.display == "block")
	{
		document.getElementById("divMoreLanguages").style.display = "none";
	}
	else
	{
		document.getElementById("divMoreLanguages").style.display = "block";
	}
}
