var Mootube = new Class({

		Implements: Options,
		
		options: { 
			which: 'mootube',
			removeLink: true,
			details: true
		},
		
    	initialize: function(options){
    		this.setOptions(options);    		
    		if(this.options.details===true) { this.getData(); }
    		else { this.renderEmbed(); }
    		
    	},
    	
    	getData: function() {
    		var links=$$('a[rel='+this.options.which+']'); 
    		var ids='';
    		var that=this;
			for(var i=0;i<links.length;i++){
				
				if(links[i].getProperty('href').contains('watch?v=')) { var id=links[i].getProperty('href').split('watch?v='); }
				else if(links[i].getProperty('href').contains('v/')) { var id=links[i].getProperty('href').split('v/'); }
			
			ids+=id[1]+'|';	
			
			}
			
			var myRequest = new Request({
				url: 'controller.php', 
				method: 'get', 
				onSuccess: function(responseText) { that.ajax_renderEmbed(JSON.decode(responseText)); }
			}).send('ids='+ids);
			    	
    	},
    	
    	ajax_renderEmbed: function(object) {
    	    		
    		var links=$$('a[rel='+this.options.which+']');
    		
    		for(var i=0;i<links.length;i++){
			
				var el  = new Element('div');
				var description  = new Element('div', {id: 'mootube_description'});
				var rel=$(document.body).getElement('a[href='+links[i].getProperty('href')+']');
				
				el.set('html',object[i].html);
				el.inject(rel,'after');
				description.inject(el,'after');
				
				var descrip=
				object[i].title
				+ ' on YouTube by '
				+ object[i].author_name
				description.set('text',descrip);  
							
				if(this.options.removeLink===true) { rel.destroy(); }
			
    		}
    	},
    	
    	renderEmbed: function() {
    		var links=$$('a[rel='+this.options.which+']');
    		
    		for(var i=0;i<links.length;i++) {
    		
    			if(links[i].getProperty('href').contains('watch?v=')) { var href = links[i].getProperty('href').replace("watch?v=", 'v/'); }
    			else { var href = links[i].getProperty('href');}
    			
    			var html=
    			'<object width="425" height="344">'
    			+ '<param name="movie" value="'
    			+ href
    			+ '&hl=en&fs=1&"></param>'
    			+ '<param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param>'
    			+ '<embed src="'
    			+ href
    			+ '&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed>'
    			+ '</object>';

    			var el  = new Element('div');
    			var rel=$(document.body).getElement('a[href='+links[i].getProperty('href')+']');
    			
    			el.set('html',html)
    			el.inject(rel,'after');
    			
    		}
    		
    		if(this.options.removeLink===true) { $$('a[rel='+this.options.which+']').destroy(); }
    	
 		}
        	
    	
	});
	