function init() {
	if (n) {
		for (i = 0; i < document.images.length; i++) {
			if ((document.images[i].src.indexOf("images/big_plus.gif") > 0) || (document.images[i].src.indexOf("images/big_minus.gif") > 0)) {
				document.images[i].src = "../images/big_blank.gif"
			}
		}
	}
	if (n) SetRegenerate()
	if (n) {
		oFormMail = document.emDropBox
	}
	if (ie) {
		emDropBox.style.filter = "revealTrans(Duration=1.5,Transition=23)"
		oFormMail = emDropBox
	}
}

function FormLetter(item){
	if (ie) mailform.msgtext.value = ""
	if (n) oFormMail.document.mailform.msgtext.value = ""
	ShowItCenter(oFormMail, 640, 448)
}

function MakeArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 0
	}
	this.maxlen = n
	this.len = 0
	return this
}

function ItemFly(o, bFollow) {
	this.o = o
	this.follow = bFollow
}

function AddFly(o, bFollow) {
	flyBox.len++
	flyBox[flyBox.len] = new ItemFly(o, bFollow)
}

function MouseHandler(e) {
	giMousePosX = e.pageX
	giMousePosY = e.pageY
}

function Regenerate() {
	window.location.reload()
}

function SetRegenerate() {
	setTimeout("window.onresize=Regenerate",450)
}

function ScrHeight() {
	if (n) i = window.innerHeight
	if (ie) i = document.body.offsetHeight
	return i
}

function ScrWidth() {
	if (n) i = window.innerWidth
	if (ie) i = document.body.offsetWidth
	return i
}

function IsHide(o) {
	b = false
	if (ie) {
		if (o.style.visibility != "visible") b = true
	}
	if (n) {
		if (o.visibility != "show") b = true
	}
	return b
}

function HideIt(o) {
	if (ie) {
		if (o.filters.revealTrans != null) o.filters.revealTrans.stop()
		o.style.visibility = "hidden"
	}
	if (n) {
		o.visibility = "hide"
	}
}

function ShowIt(o, iX, iY) {
	if (ie) {
		if (o.style.visibility != "visible") {
			o.style.xpos = iX
			o.style.left = iX
			o.style.ypos = iY
			o.style.top = iY
			if (o.filters.revealTrans != null) o.filters.revealTrans.apply()
			o.style.visibility = "visible"
			if (o.filters.revealTrans != null) o.filters.revealTrans.play()
		} else {
			HideIt(o)
		}
	}
	if (n) {
		if (o.visibility != "show") {
			o.xpos = iX
			o.left = iX
			o.ypos = iY
			o.top = iY
			o.visibility = "show"
		} else {
			HideIt(o)
		}
	}
}

function ShowItWithStyle(o, iOffsetX, iOffsetY) {
	iScrMaxX = ScrWidth()
	iScrMaxY = ScrHeight()
	if (ie) {
		iDiffX = document.body.scrollLeft
		if ((iDiffX > o.offsetLeft) || (o.offsetLeft > iDiffX + iScrMaxX)) {
			iNewX = iDiffX + iOffsetX
		} else {
			iNewX = o.offsetLeft
		}
		iDiffY = document.body.scrollTop
		if ((iDiffY > o.offsetTop) || (o.offsetTop > iDiffY + iScrMaxY)) {
			iNewY = iDiffY + iOffsetY
		} else {
			iNewY = o.offsetTop
		}
	}
	if (n) {
		iDiffX = self.pageXOffset
		if ((iDiffX > o.left) || (o.left > iDiffX + iScrMaxX)) {
			iNewX = iDiffX + iOffsetX
		} else {
			iNewX = o.left
		}
		iDiffY = self.pageYOffset
		if ((iDiffY > o.top) || (o.top > iDiffY + iScrMaxY)) {
			iNewY = iDiffY + iOffsetY
		} else {
			iNewY = o.top
		}
	}
	ShowIt(o, iNewX, iNewY)
}

function ShowItWithEvent(o, iOffsetX, iOffsetY) {
	if (ie) {
		if (event != null) {
			giMousePosX = event.clientX + document.body.scrollLeft
			giMousePosY = event.clientY + document.body.scrollTop
			iNewX = giMousePosX + iOffsetX
			iNewY = giMousePosY + iOffsetY
		} else {
			ShowItWithStyle(o, iOffsetX, iOffsetY)
			return
		}
	}
	if (n) {
		iNewX = giMousePosX + iOffsetX
		iNewY = giMousePosY + iOffsetY
	}
	ShowIt(o, iNewX, iNewY)
}

function ShowItWithEventCenter(o, iWidth, iOffsetY) {
	iLeft = Math.round((ScrWidth() - iWidth) / 2)
	if (iLeft < 0) iLeft = 0
	if (ie) {
		if (event != null) {
			giMousePosX = event.clientX + document.body.scrollLeft
			giMousePosY = event.clientY + document.body.scrollTop
			iNewX = iLeft
			iNewY = giMousePosY + iOffsetY
		} else {
			ShowItWithStyle(o, iLeft, iOffsetY)
			return
		}
	}
	if (n) {
		iNewX = iLeft
		iNewY = giMousePosY + iOffsetY
	}
	ShowIt(o, iNewX, iNewY)
}

function ShowItCenter(o, iWidth, iHeight) {
	iLeft = Math.round((ScrWidth() - iWidth) / 2)
	iTop = Math.round((ScrHeight() - iHeight) / 2)
	if (iLeft < 0) iLeft = 0
	if (iTop < 0) iTop = 0
	if (ie) {
		iDiffX = document.body.scrollLeft
		iDiffY = document.body.scrollTop
	}
	if (n) {
		iDiffX = self.pageXOffset
		iDiffY = self.pageYOffset
	}
	if (iDiffX > 0) iLeft += iDiffX
	if (iDiffY > 0) iTop += iDiffY
	ShowIt(o, iLeft, iTop)
}

function MoveIt(e) {
	if (n) {
		giMousePosX = e.pageX
		giMousePosY = e.pageY
	}
	if (oWhichIt == null) { return true }
	bBorder = false
	if (ie) {
		if (event.clientX <= 0 || event.clientX > document.body.offsetWidth - 22 || event.clientY <= 0 || event.clientY > document.body.offsetHeight - 22) {
			bBorder = true
		} else {
			iNewX = (event.clientX + document.body.scrollLeft)
			iNewY = (event.clientY + document.body.scrollTop)
			iDistanceX = (iNewX - iCurrentX)
			iDistanceY = (iNewY - iCurrentY)
			iCurrentX = iNewX
			iCurrentY = iNewY
			oWhichIt.style.pixelLeft += iDistanceX
			oWhichIt.style.pixelTop += iDistanceY
		}
		event.returnValue = false
	} else { 
		oWhichIt.moveTo(e.pageX - iFloatTouchedX, e.pageY - iFloatTouchedY)
		if (oWhichIt.left < 0 + self.pageXOffset) {
			oWhichIt.left = 0 + self.pageXOffset
			bBorder = true
		}
		if (oWhichIt.top < 0 + self.pageYOffset) {
			oWhichIt.top = 0 + self.pageYOffset
			bBorder = true
		}
		if ((oWhichIt.left + oWhichIt.clip.width) >= (window.innerWidth + self.pageXOffset) - 20) {
			oWhichIt.left = ((window.innerWidth + self.pageXOffset) - oWhichIt.clip.width) - 20
			bBorder = true
		}
		if ((oWhichIt.top + oWhichIt.clip.height) >= (window.innerHeight + self.pageYOffset)) {
			oWhichIt.top = ((window.innerHeight + self.pageYOffset) - oWhichIt.clip.height)
			bBorder = true
		}
	}
	if (bBorder) DropIt()
	return false
}

function GrabIt(o) {
	oWhichIt = o
	if (n) {
		iFloatTouchedX = giMousePosX - o.pageX
		iFloatTouchedY = giMousePosY - o.pageY
		window.onmousemove = MoveIt
	}
	if (ie) {
		if (event != null) {
			iCurrentX = (event.clientX + document.body.scrollLeft)
			iCurrentY = (event.clientY + document.body.scrollTop)
		} else {
			iCurrentX = 0
			iCurrentY = 0
		}
		document.onmousemove = MoveIt
	}
}

function DropIt() {
	oWhichIt = null
	if (n) {
		window.onmousemove = MouseHandler
	}
	if (ie) {
		document.onmousemove = null
	}
}

function FlyAll() {
	bStopFly = true
	if (ie) {
		iDiffY = document.body.scrollTop
		iDiffX = document.body.scrollLeft
	}
	if (n) {
		iDiffY = self.pageYOffset
		iDiffX = self.pageXOffset
	}
	if (iDiffY != iLastScrollY) {
		percent = .1 * (iDiffY - iLastScrollY)
		if (percent > 0) percent = Math.ceil(percent)
		else percent = Math.floor(percent)
		for (i = 1; i <= flyBox.len; i++) {
			if (flyBox[i].follow) {
				oSlide = flyBox[i].o
				if (ie) oSlide.style.pixelTop += percent
				if (n) oSlide.top += percent
				bStopFly = false
			}
		}
		iLastScrollY = iLastScrollY + percent
		if (bStopFly) StopFly()		
	}
	if (iDiffX != iLastScrollX) {
		percent = .1 * (iDiffX - iLastScrollX)
		if (percent > 0) percent = Math.ceil(percent)
		else percent = Math.floor(percent)
		for (i = 1; i <= flyBox.len; i++) {
			if (flyBox[i].follow) {
				oSlide = flyBox[i].o
				if (ie) oSlide.style.pixelLeft += percent
				if (n) oSlide.left += percent
				bStopFly = false
			}
		}
		iLastScrollX = iLastScrollX + percent
		if (bStopFly) StopFly()		
	}
}

function InitFly() {
	oSlide = null
	if (ie) {
		iLastScrollY = document.body.scrollTop
		iLastScrollX = document.body.scrollLeft
	}
	if (n) {
		iLastScrollY = self.pageYOffset
		iLastScrollX = self.pageXOffset
	}
	if (n || ie) action = window.setInterval("FlyAll()",1)
	bFlyActive = true
}

function StopFly() {
	oSlide = null
	if (n || ie) action = window.clearInterval(action)
	bFlyActive = false
}

function ToggleFly(o) {
	iFlyCount = 0
	for (i = 1; i <= flyBox.len; i++) {
		if (flyBox[i].o == o) {
			flyBox[i].follow = !flyBox[i].follow
		}
		if (flyBox[i].follow) iFlyCount++
	}
	if (iFlyCount > 0) {
		if (!bFlyActive) InitFly()
	} else {
		StopFly()
	}
}

function IsFly(o) {
	for (i = 1; i <= flyBox.len; i++) {
		if (flyBox[i].o == o) {
			return flyBox[i].follow
		}
	}
	return false
}

function getControlTag(src) {
	TRok = false
	while ("HTML" != src.tagName) {
		if ("IMG" == src.tagName || "FONT" == src.tagName || "A" == src.tagName) TRok = true
		if ("LI" == src.tagName) return src
		if ("DT" == src.tagName) return src
		if ("DD" == src.tagName) return src
		if ("TR" == src.tagName) {
			if (TRok) return src
			return null
		}
		src = src.parentElement
	}
	return null
}

function dynOutlineEnabled(src) {
	while ("HTML" != src.tagName) {
		if ("DL" == src.tagName || "OL" == src.tagName || "UL" == src.tagName || "TABLE" == src.tagName)
			if (null != src.getAttribute("dynoutline",false)) return true
		src = src.parentElement
	}
	return false
}

function containedIn(src,dest) {
	while ("HTML" != src.tagName) {
		if (src == dest) return true
		src = src.parentElement
	}
	return false
}

function dynamicOutline(img) {
	var ms = navigator.appVersion.indexOf("MSIE")
	ie4 = (ms > 0) && (parseInt(navigator.appVersion.substring(ms + 5, ms + 6)) >= 4)
	if (!ie4) return
	var src = img
	src = getControlTag(src)
	if (null == src) return
	if (!dynOutlineEnabled(src)) return
	var idx = src.sourceIndex + 1
	var bDone = false
	while (idx < document.all.length && containedIn(document.all[idx].parentElement,src)) {
		srcTmp = document.all[idx]
		tag = srcTmp.tagName
		if (!bDone) {
		if ("DL" == tag || "UL" == tag || "OL" == tag || "TABLE" == tag) {
			srcTmp.style.display = srcTmp.style.display == "none" ? "" : "none"
			bDone = true
		}
		}
		idx++
	}
	img.src = img.src == imgShow.src ? imgHide.src : imgShow.src
}

function OutlineShowAll() {
	if (ie) {
		for (i = 0; i < document.images.length; i++) {
			if (document.images[i].src.indexOf("images/big_plus.gif") > 0) {
				dynamicOutline(document.images[i])
			}
		}
	}
}

function OutlineHideAll() {
	if (ie) {
		for (i = 0; i < document.images.length; i++) {
			if (document.images[i].src.indexOf("images/big_minus.gif") > 0) {
				dynamicOutline(document.images[i])
			}
		}
	}
}
