//Requires include default.js
try { var _test_swf = __include_default; } 
catch(e) { alert("swf.js : Include '_system/js/default.js' is required"); }


var SWF = {
	add: function swf(src, w, h, vars, mode, bg, id, not_ffv) {
		var html = '';
		var params = [];
		
		if (!bg) { bg = '';	}
		
		if (src.indexOf("?") > 0) {
			var arr = src.split("?");
			
			src = arr[0];
			vars = arr[1];
		}
		
		if (!(!(!not_ffv))) { vars = String(vars).formatVars(); }
		
		if ((id != "undefined") && (id != "") && (id != null)) { id = String(id); }
		else { id = 'swf' }
			
		params["movie"] = src;
		params["src"] = src;
		params["flashvars"] = vars;
		params["wmode"] = (mode != "undefined") ? mode : "opaque";
		params["bgcolor"] = bg;
		params["play"] = "-1";
		params["loop"] = "-1";
		params["quality"] = "high";
		params["menu"] = "-1";
		params["fullscreen"] = "true";
		params["allowfullscreen"] = "true";
		params["allowscriptaccess"] = "always";
		params["scale"] = "showall";
		params["devicefont"] = "0";
		params["embedmovie"] = "0";
		params["seamlesstabbing"] = "false";
		params["allownetworking"] = "true";
		
		html += '<OBJECT codeBase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" height="'+ h +'" width="'+ w +'" align="middle" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" id="swf_' +id + '">';
		
		for (var item in params) {
			html += '<param name="' + item + '" value="' + params[item] + '">\n';
			
			if (item == "allownetworking") { break; }
		}
		
		html +='<embed width="'+ w +'" height="'+ h +'" name="swf_'+ id +'" align="middle" type="application/x-shockwave-flash" \n';
		html +=' pluginspage="http://www.macromedia.com/go/getflashplayer" id="swf_' + id + '" ';
		
		for (var item in params) {
			var v = params[item];
			
			if (item == "bgcolor") { v = "#" + v; }
			
			html += item + '="' + v + '" ';
			
			if (item == "allownetworking") { break; }
		}
		
		html += '/></OBJECT>';
		
		if ((id.length > 3) && (id)) {
			document.getElementById(id).innerHTML = html;
		} else {
			document.write(html);	
		}
	},
	minVersion: function (tmp_version) {
		if (parseInt(SWF.getVersion()) < parseInt(tmp_version)) {
			if (confirm("Click 'OK' to download the flash player.")) {
				document.location = "http://www.macromedia.com/go/getflashplayer";
			}
		}
	},
	getVersion: function () {
		var version, finded;	
		
		if (navigator.plugins && navigator.mimeTypes.length) {
			var x = navigator.plugins["Shockwave Flash"];
			if (x && x.description) {
				version = x.description.replace(/([a-z]|[A-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split(".");
				version = version[0];
			}
		} else {
			try	{
				try {
					var finded = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
				} catch (e) { }
				
				for (var i = 3; finded != null; i++) {
					finded = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + i);
					version = i;
				}
			} catch (e) { }
			
			try {
				version = axo.GetVariable("$version").split(" ")[1].split(",").split(",");
				version = versao[0];
			} catch (e) { }
		}
		
		return version;
	},
	/* auto full */
	_autofull_id: "",
	_autofull_min_w: 0,
	_autofull_min_h: 0,
	autoFull: function (tmp_id_div, tmp_min_w, tmp_min_h) {
		this._autofull_id = tmp_id_div;
		this._autofull_min_w = tmp_min_w;
		this._autofull_min_h = tmp_min_h;
		
		var func = this._onResize.bind(this);
		Event.add(window, Event.RESIZE, func);
		Event.add(document, Event.READY, func);
		func();
	},
	setAutoFullMinW: function (tmp_min_w) {
		this._autofull_min_w = tmp_min_w;
		
		this._onResize(null);
	},
	setAutoFullMinH: function (tmp_min_h) {
		this._autofull_min_h = tmp_min_h;
		
		this._onResize(null);
	},
	_onResize: function (e, tmp_stop) {
		var wp = new WindowPosition();
		var w = wp.w;
		var h = wp.h;
		
		if (this._autofull_min_w > 0) {
			if (w < this._autofull_min_w) {
				w = this._autofull_min_w + "px";
			} else {
				w = w + "px";
			}
		} else {
			w = w + "px";
		}
		
		if (this._autofull_min_h > 0) {
			if (h < this._autofull_min_h) {
				h = this._autofull_min_h + "px";
			} else {
				h = h + "px";
			}
		} else {
			h = h + "px";
		}
		
		var el = $(this._autofull_id);
		el.style.width = w;
		el.style.height = h;
		
		if (tmp_stop != true) {
			setTimeout(this._onResize.bind(this, true), 130);
		}
	}
}

var SWFAddress = {
	_interval: 400,
	_value: "",
	get: function () {
		var arr = String(document.location).split("#");
		var r = "";
		
		if (arr.length > 1) {
			r = arr[1];
		}
		
		return r;
	},
	set: function (tmp_value) {
		var a = tmp_value.split(".");
		
		SWFAddress._value = a[0];
		setTimeout('SWFAddress._onSetTimer()', SWFAddress._interval);
	},
	_onSetTimer: function () {
		var arr = String(document.location).split("#");
		
		if (Browse.isMoz) {
			document.location.hash = SWFAddress._value;
		} else {
			document.location = arr[0] + "#" + SWFAddress._value;
		}
	}
}

if (OS.isMac) {
	var MacScroll = {
		_objs: [],
		_initialized: false,
		registerObject: function (tmp_id) {
			if (!_initialized) { this._init(); }
			
			this._objs[this._objs.length] = tmp_id;
		},
		_init: function () {
			if (window.addEventListener) window.addEventListener('DOMMouseScroll', this._deltaEvent.bind(this), true);
			window.onmousewheel = document.onmousewheel = this._deltaEvent.bind(this);
		},
		_deltaFilter: function (event) {
			var delta = 0;
			
			if (event.wheelDelta) {
				delta = event.wheelDelta / 120;
				if (window.opera) { delta = -delta; }
			} else if (event.detail) {
				delta = -event.detail;
			}
			
			if (event.preventDefault) { event.preventDefault(); }
			
			return delta;
		},
		_deltaEvent: function (event) {
			var delta = this._deltaFilter(event);
			var obj;
			for (var i = 0; i < this._objs.length; i++) {
				obj = document[this._objs[i]];
				if (typeof(obj.externalMouseEvent) == 'function') { obj.externalMouseEvent(delta); }
			}
		}
	}
}
