/************************
Standlibs
Developed by Framfab
************************/
var ff = new Object()


//1,2.0
ff.version = parseFloat(navigator.appVersion)
ff.opera = (navigator.appName=="Opera" || navigator.userAgent.indexOf("Opera")>-1) ? 1:0
ff.khtml = navigator.userAgent.indexOf("KHTML")>-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.opera) ff.realVersion = parseFloat(navigator.userAgent.match(/Opera[\/\s](\d+\.\d+)/)[1])
else if(ff.khtml) ff.realVersion = 1 /*fix to handle Konqueror and Safari*/
else if(ff.w3c) ff.realVersion = parseFloat(navigator.userAgent.match(/ [^Gecko][a-z]+\/([\d\.]+)/i)[1])
else ff.realVersion = ff.version

//1,1.0
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.0
ff.show = function(strLayer) {
	var objLayer=ff.getObj(strLayer)
	if(objLayer){
		if (ff.ie||ff.w3c||ff.opera) objLayer.style.visibility = "visible";
		else if (ff.ns4) objLayer.visibility = "show";
	}
}

//1.0
ff.hide = function(strLayer) {
	var objLayer=ff.getObj(strLayer)
	if(objLayer){
		if (ff.ie||ff.w3c||ff.opera) objLayer.style.visibility = "hidden";
		else if (ff.ns4) objLayer.visibility = "hide";
	}
}

//1.0
ff.moveTo = function(strLayer, x, y) {
	var objLayer=ff.getObj(strLayer)
	if(objLayer){
		if (ff.ie||ff.opera) {
			if (x || x==0) objLayer.style.pixelLeft = x
			if (y || y==0) objLayer.style.pixelTop = y
		} 
		else if (ff.ns4) {
			if (x || x==0) objLayer.left = x
			if (y || y==0) objLayer.top = y
		} 
		else if (ff.w3c) {
			if (x || x==0) objLayer.style.left = x + "px";
			if (y || y==0) objLayer.style.top = y + "px";
		}		
	}
}

ff.getX = function(strLayer) {
	var objLayer=ff.getObj(strLayer)
	if(objLayer){
		if(ff.ie||ff.w3c||ff.opera) return objLayer.offsetLeft;
		else if (ff.ns4) return objLayer.left;
	}
}

ff.preload = function(strName, strSrc, blnDoNotPreload) {
	if(blnDoNotPreload) eval(strName + " = new Object()")
	else eval(strName + " = new Image()")
	eval(strName+".src = '"+strSrc+"'")
}


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
	}
}

ff.getQS = function(strWhich){
	var re = new RegExp( "[&\?]"+strWhich+"=([^&]*)&?", "i" );
	re.exec(window.location.href);
	return RegExp.$1;
}

if(ff.ie && !ff.mac){
	document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n');
	document.write('Function VBflashCheck(reqVersion)\n'); 	
	document.write('on error resume next \n');
	document.write('reqInstalled = false \n');
	document.write('for i=reqVersion to 8 \n');
	document.write('isInstalled=IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash."&i)) \n');
	document.write('if isInstalled then \n');
	document.write('reqInstalled=true \n');
	document.write('end if \n');
	document.write('next \n');
	document.write('VBflashCheck=reqInstalled \n');
	document.write('End function\n');
	document.write('</SCR' + 'IPT\> \n');
}

ff.flashCheck = function(intReqVersion){
	if (navigator.plugins){	
		if (navigator.plugins["Shockwave Flash"]){
			var flashDescription = navigator.plugins["Shockwave Flash"].description;
			var flashVersion = parseInt(flashDescription.charAt(flashDescription.indexOf(".") - 1));
			return (flashVersion>=intReqVersion) ? true:false
		}
		else if(ff.ie && !ff.mac) return VBflashCheck(intReqVersion)
		else return false
	}
	else return false
}

ff.popUp = function(strURL,w,h,blnCentered,strOptions){
	var name="popup"+parseInt(Math.random()*100)
	if(strOptions) strOptions+=","
	else var strOptions=""
	if(blnCentered){
		var x = (screen.width - w) / 2
		x = (x<0) ? 0 : x
		var y = (screen.height - h) / 2
		y = (y<0) ? 0 : y
		strOptions+="left=" + x + ",top=" + y+ ","
	}
	if(w) strOptions+="width="+w + ","
	if(h) strOptions+="height="+h + ","
	if(strOptions.substr(strOptions.length-1)==",") strOptions = strOptions.substr(0,strOptions.length-1)
	var win=window.open(strURL,name,strOptions);
	if(strURL.indexOf("http://")==-1 || strURL.indexOf(document.location.hostname)>-1) win.focus();
	return win
}


/* extra functions */

function swapBullet(iBullet){
	if (bulletActive) ff.swapImage("perfectBullet" + bulletActive, 'bulletTrans')
	if (bulletActive != iBullet) ff.swapImage("perfectBullet" + iBullet, 'bulletRed')
	bulletActive = iBullet
}

disableImg = function() {
	document.getElementById("perfectSmallImg").oncontextmenu = function(){return false}
}

