function isEmpty(expression)
{
	if(expression.length <= 0) return true;
	
	for(var i = 0; i < expression.length; i++)
	{
		if(expression.charAt(i) != " ") return false;
	}
	
	return true;
}

function toggleValidationMessage(objSpan, bDisplay, strMessage)
{
	var objElement = null;
	
	if(typeof(objSpan) == "object")
	{
		objElement = objSpan;
	}
	else if(typeof(objSpan) == "string")
	{
		objElement = document.getElementById(objSpan);
	}
	
	if(objElement == null) return;

	if(bDisplay)
	{
		objElement.innerText = strMessage;
		objElement.innerHTML = strMessage;
		objElement.style.display = "inline";
		objElement.style.visibility = "visible";
	}
	else
	{
		objElement.innerText = "";
		objElement.innerHTML = "";
		
		objElement.style.display = "none";
		objElement.style.visibility = "hidden";
	}
}

function SetTab(ContainerName, TabName, Mode, hRef, InnerText)
{
	var elem;
	
	elem = document.getElementById(ContainerName + "_" + TabName + "L");
	if(elem != null) elem.className = (Mode.toLowerCase() == "on") ? "tabLeftOn" : "tabLeftOff";
	
	elem = document.getElementById(ContainerName + "_" + TabName + "M");
	if(elem != null) elem.className = (Mode.toLowerCase() == "on") ? "tabMiddleOn" : "tabMiddleOff";
	
	elem = document.getElementById(ContainerName + "_" + TabName + "R");
	if(elem != null) elem.className = (Mode.toLowerCase() == "on") ? "tabRightOn" : "tabrightOff";
	
	elem = document.getElementById(ContainerName + "_lnk" + TabName);
	if(elem != null)
	{
		switch(Mode.toLowerCase())
		{
		case "on":
			elem.href = hRef;
			elem.onclick = "";
			elem.className = "tabTextOn";
			break;
		case "off":
			elem.href = hRef;
			elem.onclick = "";
			elem.className = "tabTextOff";
			break;
		case "disabled":
			elem.href = "#";
			elem.onclick = "return false;";
			elem.className = "tabTextDisabled";
			break;
		}
		
		if(!isEmpty(InnerText))
		{
			elem.innerText = InnerText;
			elem.innerHTML = InnerText;
		}
	}
}

function SetTab_Home(PageMode)
{
	switch(PageMode)
	{
	case "On":
		NavHeader_logInOutL.className = "tabLeftOn";
		NavHeader_logInOutM.className = "tabMiddleOn";
		NavHeader_logInOutR.className = "tabRightOn";
		
		NavHeader_lnkSubSites.className = "tabTextOff";
		NavHeader_lnkFeedback.className = "tabTextOff";
		NavHeader_lnkLogInOut.className = "tabTextOn";
		
		NavHeader_lnkLogInOut.innerText = "Log out";
		
		NavHeader_lnkSubSites.href = "SubSiteAdmin/BrowseSubSites.aspx";
		NavHeader_lnkFeedback.href = "Feedback/BrowseFBTemplates.aspx";
		NavHeader_lnkLogInOut.href = "LogInOut.aspx";

		break;
	case "Off":
		NavHeader_logInOutL.className = "tabLeftOn";
		NavHeader_logInOutM.className = "tabMiddleOn";
		NavHeader_logInOutR.className = "tabRightOn";
		
		NavHeader_lnkSubSites.className = "tabTextDisabled";
		NavHeader_lnkFeedback.className = "tabTextDisabled";
		NavHeader_lnkLogInOut.className = "tabTextDisabled";
		
		NavHeader_lnkSubSites.href = "#";
		NavHeader_lnkFeedback.href = "#";
		NavHeader_lnkLogInOut.href = "#";
		
		NavHeader_lnkSubSites.onclick = "return false;";
		NavHeader_lnkFeedback.onclick = "return false;";
		NavHeader_lnkLogInOut.onclick = "return false;";
	}
}

function SetTab_SubSiteAdmin(PageMode)
{
	switch(PageMode)
	{
	case "Add":
		NavHeader_addL.className = "tabLeftOn";
		NavHeader_addM.className = "tabMiddleOn";
		NavHeader_addR.className = "tabRightOn";
		
		NavHeader_lnkAdd.className = "tabTextOn";
		break;
	case "Browse":
		NavHeader_browseL.className = "tabLeftOn";
		NavHeader_browseM.className = "tabMiddleOn";
		NavHeader_browseR.className = "tabRightOn";
		
		NavHeader_lnkBrowse.className = "tabTextOn";
		break;
	}
}

function SetTab_Feedback(PageMode)
{
	switch(PageMode)
	{
	case "Add":
		NavHeader_addL.className = "tabLeftOn";
		NavHeader_addM.className = "tabMiddleOn";
		NavHeader_addR.className = "tabRightOn";
		
		NavHeader_lnkAdd.className = "tabTextOn";
		break;
	case "Browse":
		NavHeader_browseL.className = "tabLeftOn";
		NavHeader_browseM.className = "tabMiddleOn";
		NavHeader_browseR.className = "tabRightOn";
		
		NavHeader_lnkBrowse.className = "tabTextOn";
		break;
	}
}

function showCalender(textBoxName, strDate)
{
	var myWin;
	var url;
	
	url = "../Common/Calendar.aspx?textBoxName=" + escape(textBoxName) + "&value=" + escape(strDate);
	
	myWin = window.open(url, "myWin", "left=400px,top=350px,width=210px,height=170px,location=no,menubar=no,status=no,resize=no");
}

function isEmail(expression)
{	
	var objRegExp1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)");
	var objRegExp2 = new RegExp("^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$");
	
	return (!objRegExp1.test(expression) && objRegExp2.test(expression));
}

function getInnerText(elementArray)
{
	var i, s, regexp;
	
	for(i = 0; i < elementArray.length; i++)
	{
		if(elementArray[i].innerHTML != null)
		{
			s = elementArray[i].innerHTML;
			
			regexp = /&nbsp;/gi;
			s = s.replace(regexp, "");
			
			regexp = /<!--.-->/gi;
			s = s.replace(regexp, "");
			
			return s;
		}
	}
	
	return "";
}

function scrollTreeIntoView(objDiv, fontColor)
{
	//This function is only for non-IE browsers
	if(objDiv != null)
	{
		var objTable = objDiv.childNodes[1];
		var i;
		
		for(i = 0; i < objTable.rows.length; i++)
		{
			if(objTable.rows[i].cells[0].getElementsByTagName("font")[0].color == fontColor)
			{
				objTable.rows[i].cells[0].innerHTML = "<span id='_spnScrollView'>" + objTable.rows[i].cells[0].innerHTML + "</span>";
				break;
			}
		}
		
		var objSpan = document.getElementById("_spnScrollView");
		
		if(objSpan != null) objSpan.scrollIntoView();
		
		window.parent.scrollTo(0, 0);
	}
}