
function SearchApply(sSearchItem)
{
	document.location="wnSearchEngine.asp?sWhat=" + document.all.strSearch.value + "&Item=" + sSearchItem;
	
	return false;
}

//-------------------------------------------------------------------------------------------------------------

function WebHREF(sURL){
	if(p_Site != "")
		window.location.href = p_Site;
}

//-------------------------------------------------------------------------------------------------------------

function ForceFormsFieldsValues(ActiveForm, bAction, bStyle, bStyleErr, msgHeader)
{
	var forI, forJ, iCalc, iTotal, ValueCach, WellBased, strMessage = "";

	if (bStyleErr)
	{
		for (forI=0; forI<document.styleSheets(0).rules.length; forI++)
			if (document.styleSheets(0).rules.item(forI).selectorText.toLowerCase() == "." + bStyleErr.toLowerCase())
			{
				bStyleErr = document.styleSheets(0).rules.item(forI).style;
				break;
			}
	}

	for (forI=0; forI<ActiveForm.elements.length; forI++)
	{
		ValueCach = ActiveForm.elements[forI];
		if (ValueCach.offsetHeight == 0) continue;
		WellBased = true;

		switch (ValueCach.type.toLowerCase())
		{
		case "text":
		case "password":
		case "textarea":
		case "file":
			if (!ValueCach.validation) continue;
			if (ValueCach.mandatory)
			{
				if (ValueCach.mandatory.toLowerCase() == "false" && ValueCach.value.length == 0) continue;
			}
			else
			{
				continue;
			}
			switch (ValueCach.validation.toLowerCase())
			{
			case "string":
				if (ValueCach.value.length == 0)
				{
					WellBased = false;
				}
				break;
			case "password":
				if (ValueCach.value.length == 0)
				{
					WellBased = false;
				}
				break;
			case "integer":
				if (!/\d+/.test(ValueCach.value))
				{
					WellBased = false;
				}
				break;
			case "email":
				if (!/^[\w\.\-]+@[\w\-]+(\.\w+)+$/.test(ValueCach.value))
				{
					WellBased = false;
				}
				break;
			case "phone":
				if (!PhoneValidation(ValueCach.value))
				{
					WellBased = false;
				}
				break;
			case "short-phone":
				if (!ShortPhoneValidation(ValueCach.value))
				{
					WellBased = false;
				}
				break;
			case "date":
				if (!DateValidation(ValueCach.value))
				{
					alert(ValueCach.value);
					WellBased = false;
				}
				break;
			case "time":
				if (!TimeValidation(ValueCach.value))
				{
					WellBased = false;
				}
				break;
			case "id":
				forJ = ValueCach.value.toString();
				ValueCach.value = forJ.replace(/\D/g, "");
				if (/\d+/.test(ValueCach.value))
				{
					iTotal = 0;
					for (forJ=0; forJ<ValueCach.value.length; forJ++)
					{
						iCalc = (forJ % 2 ? 2 : 1) * parseInt(ValueCach.value.charAt(ValueCach.value.length - forJ - 1));
						iTotal += iCalc > 9 ? Math.floor(iCalc / 10) + iCalc % 10 : iCalc;
					}
					if (iTotal % 10) WellBased = false;
				}
				else
				{
					WellBased = false;
				}
				break;
			case "compare":
				if (ValueCach.compareInput)
					if (ValueCach.value != ActiveForm.elements[ValueCach.compareInput].value)
						WellBased = false;
			}

			if (WellBased == true)
			{
				switch (ValueCach.validation.toLowerCase())
				{
				case "integer":
					if (ValueCach.validmax)
					{
						if (parseInt(ValueCach.value) > parseInt(ValueCach.validmax))
							WellBased = false;
					}
					if (ValueCach.validmin)
					{
						if (parseInt(ValueCach.value) < parseInt(ValueCach.validmin))
							WellBased = false;
					}
					break;
				default:
					if (ValueCach.validmax)
					{
						if (ValueCach.value.length > ValueCach.validmax) WellBased = false;
					}
					if (ValueCach.validmin)
					{
						if (ValueCach.value.length < ValueCach.validmin) WellBased = false;
					}
					break;
				}
			}
			break;
		case "Combo-OneSelection":
			if (ValueCach.mandatory)
			{
				if (ValueCach.selectedIndex == 0) WellBased = false;
			}
			break;
		case "Combo-MultiSelection":
			iTotal = 0;
			for (forJ=0; forJ<ValueCach.options.length; forJ++)
			{
				if (ValueCach.options[forJ].selected) iTotal++;
			}
			if ((!ValueCach.validmax) && (!ValueCach.validmin))
			{
				if (iTotal == 0) WellBased = false;
			}
			else
			{
				if (ValueCach.validmax)
				{
					if (iTotal > ValueCach.validmax) WellBased = false;
				}
				if (ValueCach.validmin)
				{
					if (iTotal < ValueCach.validmin) WellBased = false;
				}
			}
			break;
		case "checkbox":
			if (ValueCach.mandatory)
			{
				if (!ValueCach.checked) WellBased = false;
			}
			break;
		}

		if (!WellBased)
		{
			if (ValueCach.validationError)
			{
				strMessage += ValueCach.validationError + "\n";
			}
			else
			{
				strMessage += "Error in field " + ValueCach.name + "\n";
			}
			if (bStyleErr)
			{
				if (typeof(ValueCach.originalColor) == "undefined") ValueCach.originalColor = ValueCach.style.color;
				if (typeof(ValueCach.originalBackgoundColor) == "undefined") ValueCach.originalBackgoundColor = ValueCach.style.backgroundColor;
				ValueCach.style.color = bStyleErr.color;
				ValueCach.style.backgroundColor = bStyleErr.backgroundColor;
			}
		}
		else
		{
			if (typeof(ValueCach.originalColor) != "undefined") ValueCach.style.color = ValueCach.originalColor;
			if (typeof(ValueCach.originalBackgoundColor) != "undefined") ValueCach.style.backgroundColor = ValueCach.originalBackgoundColor;
		}
	}
	if (strMessage.length)
	{
		alert(msgHeader + "\n" + strMessage);
		return(false);
	}
	else
	{
		if (bAction)
		{
			ActiveForm.submit();
		}
		return(true);
	}
}

//-------------------------------------------------------------------------------------------------------------

function DateValidation(sDate) 
{
	var dDate = new String(sDate);
	var dArr = new Array();
	
	dArr = dDate.split("/");
	
	if (dArr.length != 3)
		return false;
	
	if (/\d+/.test(dArr[2]))
		{
			if (dArr[2] < 1900 || dArr[2] > 2030)
				return false;
		} 
	else 
		{
			return false;
		}
	
	if (/\d+/.test(dArr[1])) 
		{
			if (dArr[1] < 1 || dArr[1] > 12)
				return false;
		} 
	else 
		{
			return false;
		}
	
	if (/\d+/.test(dArr[0])) 
		{
			if (dArr[0] < 1 || dArr[0] > 31)
				return false;
		} 
	else 
		{
			return false;
		}
	
	return true;
}

//-------------------------------------------------------------------------------------------------------------

function TimeValidation(sTime) 
{
	var tTime = new String(sTime);
	var tArr = new Array();
	tArr = tTime.split(":");
	if (tArr.length != 2)
		return false;
	if (/\tTime+/.test(tArr[0])) {
		if (tArr[0] < 0 || tArr[2] > 23)
			return false;
	} else {
		return false;
	}
	if (/\tTime+/.test(tArr[1])) {
		if (tArr[1] < 0 || tArr[1] > 59)
			return false;
	} else {
		return false;
	}
	return true;
}

//-------------------------------------------------------------------------------------------------------------

function PhoneValidation(sPhone)
{
	if (sPhone!=""){
		if(sPhone.length > 11 || sPhone.length < 9){
			return false;
		}
		for(i=0;i<sPhone.length;i++){
			if((sPhone.charAt(i)<"0")||(sPhone.charAt(i)>"9")){ 
				if(sPhone.charAt(i)!="-"){
					return false;
				} 
			}
		}
		return true;
	}
}

//-------------------------------------------------------------------------------------------------------------

function ShortPhoneValidation(sPhone)
{
	if (sPhone!=""){
		if(sPhone.length > 7 || sPhone.length < 7){
			return false;
		}
		for(i=0;i<sPhone.length;i++){
			if((sPhone.charAt(i)<"0")||(sPhone.charAt(i)>"9")){ 
				if(sPhone.charAt(i)!="-"){
					return false;
				} 
			}
		}
		return true;
	}
}

//-------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------

var iNav, iActiveNav;

function NavRelatedFill(nNav, htmDir)
{
	var NavSingle, NavTop;
	
	NavTop = SetObjNav(nNav);
	NavSingle = document.all[nNav.id + "Single"];
	
	if (iActiveNav)
	{
		Nav_OnMouseOut(iActiveNav);
		
	}

	
	if (NavSingle != null)
	{
	    
	    
	    if(NavSingle.style.display == "block")
			return;
	    
	    
		NavSingle.style.display = "block";
		var NavPositionTop = SetTopPos(NavTop) + NavTop.offsetHeight - 2;
		NavSingle.style.top = NavPositionTop;
		NavSingle.style.width = NavTop.offsetWidth;
		NavSingle.firstChild.style.width = "100%";
		NavSingle.NavTop = NavTop;
		NavTop.NavItem = NavSingle;
		iActiveNav = NavTop;
		
		
		if (htmDir == 'RTL'){
			if(NavSingle.clientWidth > NavTop.clientWidth){
				var NavPosition = SetLeftPos(NavTop) - (NavSingle.clientWidth - NavTop.clientWidth);
			}else{
				var NavPosition = SetLeftPos(NavTop);
			}
			if(NavPosition < 0){
				NavSingle.style.left = 0;
			}else{
				NavSingle.style.left = NavPosition;
			}
			
		}else{
			NavSingle.style.left = SetLeftPos(NavTop);
			var winW = document.body.clientWidth;
			var divW = NavSingle.clientWidth;
			var NavPositionLeft = SetLeftPos(NavTop)
			if(winW  < divW + NavPositionLeft){
				NavSingle.style.left = winW - divW;
			}
		}
		
		NavSingle.style.height = 0;
		
		var divH = NavSingle.clientHeight + 2;
		
		var winH = document.body.clientHeight;
		var PosTop = document.body.scrollTop;
		
		if(winH < (NavPositionTop + divH) - PosTop)
			NavSingle.style.top  = NavPositionTop - ((NavPositionTop + divH - PosTop) - winH);

		NavSingle.style.overflowY = 'hidden';
		NavSingle.style.height = 0;
		
		var iNav = "";
		CreateNav(NavSingle);
		DrowNav(0, divH);
		
		
	}
}

//-------------------------------------------------------------------------------------------------------------

function NavItemRelatedFill(nNav)
{
	var NavSingle, NavTop;
	NavTop = SetObjNav(nNav);
	NavSingle = document.all[nNav.id + "Single"];
	NavSingle.style.display = "block";
	
	var NavPositionTop =  nNav.offsetTop + NavTop.offsetTop;
	NavSingle.style.top = NavPositionTop;
	
	var divH = NavSingle.clientHeight;
	if (NavTop.offsetLeft - NavSingle.offsetWidth + 1 < 0)
		NavSingle.style.left = NavTop.offsetLeft + NavTop.offsetWidth - 7;
	else
		NavSingle.style.left = NavTop.offsetLeft - NavSingle.offsetWidth + 7;
	NavSingle.NavTop = NavTop;
	NavTop.NavItem = NavSingle;
	
	var winH = document.body.clientHeight;
	var PosTop = document.body.scrollTop;

	if(winH < (NavPositionTop + divH) - PosTop)
		NavSingle.style.top  = NavPositionTop - ((NavPositionTop + divH - PosTop) - winH);
}

//-------------------------------------------------------------------------------------------------------------

function NavBarElement_Click(iElement, Item)
{
	Item = parseInt(Item.substr(1));
	switch (iElement.TypeRef)
	{
	case "1":
		break;
	case "2":
		switch (iElement.TargetRef)
		{
			case "1":
				window.open(iElement.Link);
				break;
			case "2":
				window.location = iElement.Link;
				break;
			case "3":
				parent.location = iElement.Link;
				break;
		}
		break;
	case "3":
		window.location = "wnDispPage.asp?Item=" + Item;
		break;
	case "5":
		window.location = "wnGallery.asp?Item=" + Item;
		break;
	case "6":
		window.location = "wnActiveTree.asp?Item=" + Item;
		break;
		
	case "8":
		window.location = "wnTop.asp?Item=" + Item;
		break;
	}
}

//-------------------------------------------------------------------------------------------------------------

function Nav_OnMouseOver(nNav)
{
	var NavTop, NavItem, i;
	
	NavTop = SetObjNav(nNav);

	for (i=0; i < nNav.childNodes.length; i++)
	{
		nNav.childNodes(i).className = nNav.wnItemTextOnMouseOver;
	}

	if (NavTop.NavItem != null && NavTop != NavTop.NavItem)
	{
		NavItem = NavTop.NavItem;

		while (NavItem != null)
		{
			NavItem.style.display = "none";
			NavItem = NavItem.NavItem;
		}
	}
}

//-------------------------------------------------------------------------------------------------------------

function NavOver(obj)
{
        var objTdRight = document.getElementById(obj).getElementsByTagName("tr")[0].getElementsByTagName("td")[0];
        var objTdMiddle = document.getElementById(obj).getElementsByTagName("tr")[0].getElementsByTagName("td")[1];
        var objTdLeft = document.getElementById(obj).getElementsByTagName("tr")[0].getElementsByTagName("td")[2];
        
        objTdRight.className = "wn-NavBarTDRight-ro";
        objTdMiddle.className = "wn-NavBarTDMiddle-ro";
        objTdLeft.className = "wn-NavBarTDLeft-ro";
}

//-------------------------------------------------------------------------------------------------------------

function NavOut(obj)
{
        var objTdRight = document.getElementById(obj).getElementsByTagName("tr")[0].getElementsByTagName("td")[0];
        var objTdMiddle = document.getElementById(obj).getElementsByTagName("tr")[0].getElementsByTagName("td")[1];
        var objTdLeft = document.getElementById(obj).getElementsByTagName("tr")[0].getElementsByTagName("td")[2];
        
        objTdRight.className = "wn-NavBarTDRight";
        objTdMiddle.className = "wn-NavBarTDMiddle";
        objTdLeft.className = "wn-NavBarTDLeft";

}

//-------------------------------------------------------------------------------------------------------------

function Nav_OnMouseOut(ActiveR)
{
	var NavTop, NavItem, i;

	NavTop = SetObjNav(ActiveR);
	if (NavTop != ActiveR)
	{
		for (i=0; i < ActiveR.childNodes.length; i++)
		{
			ActiveR.childNodes(i).className = ActiveR.wnItemText;
			
		}
	}

	var Base = SetObjNav(event.toElement);
	var bHidden = true;
	if (Base == null)
	{
		if (NavTop.NavItem) NavTop = NavTop.NavItem;
		while (NavTop.NavTop != null)
		{
			NavTop.style.display = "none";
			NavTop = NavTop.NavTop;
		}
	}
	else
	{
		while (Base)
		{
			if (Base == NavTop)
			{
				bHidden = false;
				window.event.cancelBubble = true;
				break;
			}
			Base = Base.NavTop;
		}
		if (bHidden)
		{
			NavItem = NavTop.NavItem;
			while (NavItem != null)
			{
				NavItem.style.display = "none";
				NavItem = NavItem.NavItem;
			}
		}
	}
}

//-------------------------------------------------------------------------------------------------------------

function SetObjNav(objNav)
{
	if (objNav)
	{
		while (!objNav.NavBase)
		{
			if (objNav.parentElement)
			{
				objNav = objNav.parentElement;
			}
			else
			{
				objNav = null;
				break;
			}
		}
	}
	return(objNav);
}

//-------------------------------------------------------------------------------------------------------------

function SetTopPos(nNav)
{
	var top = 0;

	for (; nNav; nNav=nNav.offsetParent)
	{
		top = top + nNav.offsetTop;
	}
	return(top);
}

//-------------------------------------------------------------------------------------------------------------

function SetLeftPos(nNav)
{
	var left = 0;
	
	for (; nNav; nNav=nNav.offsetParent)
	{
		if (nNav.tagName == "BODY") break;
		left = left + nNav.offsetLeft;
	}
	return(left);
}

//-------------------------------------------------------------------------------------------------------------

var tClear = "";
function CreateNav(nNavElm)
{
	iNav = nNavElm;
	clearTimeout(tClear);
}

//-------------------------------------------------------------------------------------------------------------

function DrowNav(iHeight, iHeightTop)
{
	var nNav = iNav;
	if (iHeight < iHeightTop)
		{
			nNav.style.height = iHeight + 10;
			tClear = setTimeout('DrowNav(' +  parseInt(iHeight + 10) + ',' + iHeightTop + ');', 30);	
		}
	else
		{
			clearTimeout(tClear);
		}
}

//-------------------------------------------------------------------------------------------------------------

function OpenWindow(URL, Name, Param)
{
	window.open(URL, Name, Param);	
}

//-------------------------------------------------------------------------------------------------------------

function InstallAsHomePage (sPageUrl) {
	if (sPageUrl == null || sPageUrl == '') sPageUrl = top.location.href;
	document.all[0].style.behavior='Url(#default#homepage)';
	document.all[0].setHomePage(sPageUrl);
}

//-------------------------------------------------------------------------------------------------------------

function AddToFavorites (sPageUrl, sPageLable) {
	if (sPageUrl == null || sPageUrl == '') 	sPageUrl 	= top.location.href;
	if (sPageLable == null || sPageLable == '') 	sPageLable 	= document.title;
	window.external.AddFavorite(sPageUrl,sPageLable);
}

//-------------------------------------------------------------------------------------------------------------

function NavToItem(Item)
{
	window.location = "wnDispPage.asp?Item=" + Item;
}

//-------------------------------------------------------------------------------------------------------------

function RenderFileItem(itmId){
		window.open ("wnBuildFilePath.asp?Id=" + itmId,"");
	}
	
function RenderItem(Item)
{
	window.location = "wnDispPage.asp?Item=" + Item;
}

//-------------------------------------------------------------------------------------------------------------
