
var Browser = {
	ua: navigator.userAgent,
	isSafari: function() {return (navigator.appVersion.indexOf("Safari") != -1) ? true : false},
	isIE: function() {return (navigator.appVersion.indexOf("MSIE") != -1) ? true : false},
	isWin: function() {return (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false},
	isWinIE: function() {return (this.isIE() && this.isWin()) ? true : false},
	isMacSafari: function() {return (this.isSafari() && this.isWin()) ? true : false}
}

var Flash = {
	flashVersion: 9,
	
	_hasFlashPlagin: function(reqflashVersion) {
		var chkResult;
		var flashPlagin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]) ? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0;
		
		if (flashPlagin) {
			chkResult = parseInt(flashPlagin.description.match(/\d+/g)[0]) >= reqflashVersion;
		} else if (Browser.isWinIE()) {
			try {
				flashPlagin = Math.floor(new ActiveXObject("ShockwaveFlash.ShockwaveFlash").FlashVersion() / 0x10000);
				chkResult = parseInt(flashPlagin) >= reqflashVersion;
			} catch (e) {
				chkResult = false;
			}
		}
		
		return chkResult;
	},
	
	embedSwf: function(path, width, height, id, data, fver, imgDir, linkUri, rollover) {
		var swfHtml ="";
		var fvs = data;
		var reqflashVersion = (fver) ? fver : this.flashVersion;
		var chkResult = this._hasFlashPlagin(reqflashVersion);
		
		if (fvs) fvs += "&isMacSafari=" + Browser.isMacSafari();
		else fvs = "isMacSafari=" + Browser.isMacSafari();
		
		if (chkResult) {
			swfHtml += "<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000'";
			swfHtml += " codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab'";
			swfHtml += " id='" + id +"'";
			swfHtml += " width='" + width +"'";
			swfHtml += " height='" + height +"'>";
			swfHtml += "<param name='allowScriptAccess' value='sameDomain'>";
			swfHtml += "<param name='movie' value='" + path +"'>";
			swfHtml += "<param name='quality' value='high'>";
			swfHtml += "<param name='wmode' value='opaque' / >";
			if(fvs) swfHtml += "<param name='FlashVars' value='" + fvs +"'>";
			swfHtml += "<embed src='" + path +"'";
			swfHtml += " allowscriptaccess='sameDomain'";
			swfHtml += " name='" + id +"'";
			swfHtml += " quality='high'";
			swfHtml += " width='" + width +"'";
			swfHtml += " height='" + height +"'";
			swfHtml += " wmode='opaque'";
			swfHtml += " type='application/x-shockwave-flash'";
			if(fvs) swfHtml += " FlashVars='" + fvs +"'";
			swfHtml += " pluginspage='http://www.macromedia.com/go/getflashplayer'>";
			swfHtml += "</embed>";
			swfHtml += "</object>";
		} else {
			if (imgDir) {
				var type = this._extensionCheck(imgDir);
				
				if (type == "img") {
					if (linkUri) {
						if (linkUri.substr(0, 4) == "http") {
							swfHtml += "<a href='" + linkUri + "' target='_blank'>";
						} else {
							swfHtml += "<a href='" + linkUri + "'>";
						}
					}
					
					if (rollover) {
						swfHtml += "<img src='" + imgDir + "' class='imgover' />";
					} else {
						swfHtml += "<img src='" + imgDir + "' />";
					}
					
					if (linkUri) swfHtml += "</a>";
				} else {
					swfHtml += "<div class='nonFlash'>";
					swfHtml += "</div>";
				}
			}
		}
		
		document.write(swfHtml);
	},
	
	_extensionCheck: function(path) {
		var extension = path.split(".");
		extension = extension[extension.length - 1];
		
		var type;
		
		switch (extension) {
			case ("jpg") : {
				type = "img";
			}
			break;
			
			case ("png") : {
				type = "img";
			}
			break;
			
			case ("gif") : {
				type = "img";
			}
			break;
			
			default : {
				type = "dir";
			}
		}
		return type;
	}
};

