var ff = new Object()


		//1.2
		ff.version = parseFloat(navigator.appVersion)
		ff.opera = (navigator.appName=="Opera" || navigator.userAgent.indexOf("Opera")>-1) ? 1:0
		ff.ie = ff.da = (document.all && !ff.opera) ? 1:0
		ff.ns4 = ff.dl = (navigator.appName=="Netscape" && ff.version<5) ? 1:0
		ff.w3c = (document.getElementById && !ff.da) ? 1:0
		ff.win = (navigator.userAgent.toLowerCase().indexOf("win") > 0) ? 1:0
		ff.mac = (navigator.userAgent.toLowerCase().indexOf("mac") > 0) ? 1:0
		if(ff.ie) ff.realVersion = parseFloat(navigator.appVersion.match(/MSIE\s(\d+\.\d+)/)[1])
		else if(ff.w3c) ff.realVersion = parseFloat(navigator.userAgent.match(/[\d\.]+$/)[0])
		else if(ff.ns4) ff.realVersion = ff.version
		
		//1.1
		ff.all = new Array()
		ff.makeAllObj = function(objParent) {
			if(!objParent){ff.all = new Array();objParent=window}
			var arrCol = [objParent.document.layers, objParent.document.images, objParent.document.forms]
			for (var z=0; z<arrCol.length; z++) {
				for (var t=0; t<arrCol[z].length; t++) {
					var strCurId = arrCol[z][t].name
					if (strCurId!="" && !ff.all[strCurId]){
						if(strCurId.indexOf("_js_layer") > -1) for(var k in objParent.document.layers) if(objParent.document.layers[k].name==strCurId){strCurId = k;break}
						ff.all[strCurId] = arrCol[z][t]
						if(z == 0) ff.makeAllObj(arrCol[z][t])
						else ff.all[strCurId].parentLayer = objParent
					}
				}
			}
		}
		
		ff.getObj = function(strObj) {
			if(typeof(strObj)=="object") return strObj
			else{
				var obj
				if (ff.ie) obj = document.all[strObj]
				else if (ff.w3c) {
					obj = document.getElementById(strObj)
					if (!obj) obj = document.getElementsByName(strObj)[0]
				} 
				else if(ff.ns4) {
					if (!ff.all[strObj]) ff.makeAllObj()
					obj = ff.all[strObj]
				}
				return obj
			}
		}
		
		//1.1
		ff.preload = function(strName, strSrc, blnDoNotPreload) {
			if(blnDoNotPreload) eval(strName + " = new Object()")
			else eval(strName + " = new Image()")
			eval(strName+".src = '"+strSrc+"'")
		}
		
		//1.6
		ff.swapImage = function(strTarget, strNewPic, urlNewPic){
			var objImage=ff.getObj(strTarget)
			if(objImage){
				if(strNewPic && eval("typeof(" + strNewPic +  ")") == "object")
					objImage.src=eval(strNewPic+".src")
				else if (urlNewPic)
					objImage.src = urlNewPic
			}
		}