///////////////////////////////////////////////////////////////////////////////
//Flash Detect Skripta V 1.0
//Autor:Initium Futuri
//
//Primjer koristenja 1
//window.addEvent('domready', function() {
//			var D = new FlashDetect({
//				errorHTML:'<h1>NEMA FLASHA MOJA PORUKA</h1>',
//				okHTML:'<h1>IMA FLASHA MOJA PORUKA</h1>',
//				update:$('errorDIV')
//			 });
//});
//
//Primjer koristenja 2
//window.addEvent('domready', function() {
//			var D = new FlashDetect({
//				errorPage:'error.php',
//				okPage:'./flash/showflash.php',
//				update:$('errorDIV')
//			 });
//});

var FlashDetect = new Class({
	options:{
		errorPage:null,
		errorHTML:'<h3>Nemate Flash Player</h3>',
		errorText:'Nemate Flash Player',
		okPage:null,
		okHTML:'<h3>Imate Flash Player</h3>',
		okText:'Imate Flash Player',
		update:null
	},
	
	initialize:function(options){
		this.setOptions(options);
		this.detect();
	},
	
	
	detect:function(){
		if (window.ie){
			var V = this.getVersionIE();
			this.stdOUT(V);	
		}
		else if (window.opera){
			var V = this.getVersionOpera();
			this.stdOUT(V);	
		}
		else
		{
			var V = this.getVersionOthers();
			this.stdOUT(V);
		}
		
	},
	
	stdOUT:function(version){

			if (version == 0){//verzija flasha je nula tj nema flasha
				if ($defined(this.options.update) && $defined(this.options.errorPage)){
					var myAjax = new Ajax(this.options.errorPage,
					 {method: 'get',
					 	onComplete:function(data){
					 		this.options.update.innerHTML = data;
					 	}
					 	}).request();
				}
				else if (this.options.errorPage == null && $defined(this.options.update)){
					this.options.update.innerHTML = this.options.errorHTML;
				}
				else if (this.options.errorPage == null && this.options.update == null){
					alert(this.options.errorText);
				}
				
			}
			else //VErzija nije jednaka nula
			{
				if ($defined(this.options.update) && $defined(this.options.okPage)){
					var myAjax = new Ajax(this.options.okPage,
					 {method: 'get',
					 	onComplete:function(data){
					 		this.options.update.innerHTML = data;
					 	}
					 	}).request();
				}
				else if (this.options.okPage == null && $defined(this.options.update)){
					this.options.update.innerHTML = this.options.okHTML;
				}
				else if (this.options.okPage == null && this.options.update == null){
					alert(this.options.okText+":" + version);
				}
				
			}
   },
	
	getVersionIE:function(){
		var flashVersion = 0;
		try{
			var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			for(var i=3;axo!=null;i++){
				axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i);
				flashVersion = i;
			}
		}
		catch(e){
				
		}	
		return flashVersion;
	},
	
	getVersionOthers:function(){
		var flashinstalled = 0;
		var flashversion = 0;

		if (navigator.plugins && navigator.plugins.length)
		{
			x = navigator.plugins["Shockwave Flash"];
			if (x)
			{
				flashinstalled = 2;
				if (x.description)
				{
					y = x.description;
					flashversion = y.charAt(y.indexOf('.')-1);
				}
			}
			else
				flashinstalled = 0;
			if (navigator.plugins["Shockwave Flash 2.0"])
			{
				flashinstalled = 2;
				flashversion = 2;
			}
		}
		
		if (flashversion != 0)return flashversion;
		if (flashinstalled == 2)return 2;
		return 0;
},

	getVersionOpera:function(){
		flashinstalled = 0;
		if (navigator.mimeTypes && navigator.mimeTypes.length)
		{
			x = navigator.mimeTypes['application/x-shockwave-flash'];
			if (x && x.enabledPlugin)
				flashinstalled = 1;
			else
				flashinstalled = 0;
		}
		return flashinstalled;
	}
	
});
FlashDetect.implement(new Options);
