/**
 * Flash Image Generator
 * 
 * @autor eslider@gmail.com
 */
function addEvent(obj, evType, fn){ 
 if (obj.addEventListener){ 
   obj.addEventListener(evType, fn, false); 
   return true; 
 } else if (obj.attachEvent){ 
   var r = obj.attachEvent("on"+evType, fn); 
   return r; 
 } else { 
   return false; 
 } 
}

function removeEvent( obj, type, fn ) {
  if ( obj.detachEvent ) {
    obj.detachEvent( 'on'+type, obj[type+fn] );
    obj[type+fn] = null;
  } else
    obj.removeEventListener( type, fn, false );
}
var flashImageGenerator = {
	imagePrefix :"img",
	flashLoaded	:false,
	flashReady	:false,
	lastHash	:null,
	hashes		:[],
	setAttribute:function(id,key,value){
		document.getElementById(id)[key] = value;
		return false;
	},
	onFlashImageUploaded:function(hash)
	{	
		var img = document.getElementById(this.imagePrefix+hash);
		var newSrc = img.src;
		//img.src = "about:blank";
		img.src = newSrc+"?v=1";
		this.flashReady = true;
		this.renderNext();
		return false;	
	},
	setAttribute:function(id,key,value){
		document.getElementById(id)[key] = value;
		return false;
	},
	onImageError:function(img){
		var hash = img.id.substr(3,32);
		this.hashes.push(hash);
		this.renderNext();
	},
	renderNext:function (){
		if(!this.flashReady ||  !this.flashLoaded || this.hashes.length < 1 )
			return;

		this.flashReady = false;
		var hashe = this.hashes.pop();//slice(0,this.hashes.length-1);
		
		if(hashe == "" || hashe == undefined)
			return;

		/*if(hashe == undefined)
		{
			window.setTimeout(1000,this.renderNext);
			return;
		}*/
		var flash = document.getElementById("imageGeneratorEmb");
		flash.setFlashImageHash(hashe);
	},
	onFlashLoad:function(loaded){
		this.flashLoaded = true;
		this.flashReady = true;

		this.renderNext();
		
	}
}