var cookie_set = false;
var keep_ids = false;

var mm_control_ids = new Object;
var mmControls = new Object;
var mmPanel = new Object;
mmPanel.ids = [];

var mmImgNormalURL = mm_base_url + '/modules/custom/MassMessaging/images/mm_normal.gif';
var mmImgSelectedURL = mm_base_url + '/modules/custom/MassMessaging/images/mm_selected.gif';
var mmANormalText = "Add to Mass Message";
var mmASelectedText = "Remove from Mass Message";

window.addEvent('domready', function() {
	
	Cookie.set( 'test', 'none' );
	if ( Cookie.get( 'test' ) )
	{
		cookie_set = true;
		Cookie.remove('test');
	}

	//Cookie.set('mm_selected_ids', mmPanel.ids);
	if(cookie_set) {
		if(!keep_ids) Cookie.set('mm_selected_ids', new Array());
		if(!Cookie.get('mm_selected_ids')) {
			Cookie.set('mm_selected_ids', mmPanel.ids);
		} else {
			c = Cookie.get('mm_selected_ids');	
			mmPanel.ids = $A(c.split(','));
		}
	}
	
	mmPanel.div = new Element('div', {
		'class': 'MMPanel',
		'styles': {'position': 'absolute', 'text-align': 'center', 'left': '0px', 'top': '0px', 'display': 'none'}
	});

	//mmPanel.div.innerHTML = mmPanel.div.innerHTML + 'ok';
	mmPanel.sendMessageA = new Element('a', {
																		 'href': mm_base_url+'/mass_message.php',
																		 'class': 'sendMessageA',
																		 'events': {
																				'mouseover': function(){
																						//aaa
																				}
																			}
																		 });
	mmPanel.update = function() {
		if(cookie_set) {
			Cookie.set('mm_selected_ids', this.ids);
			//alert(this.ids);
			this.sendMessageA.innerHTML = 'Send message to '+(mmPanel.ids.length)+' recipients';
		}
	}
	
	mmPanel.addAllOnPage = function() {
		for( i in mm_control_ids) {
			mmControls[i].add();
		}
		this.update();
	}
	mmPanel.removeAllOnPage = function() {
		for( i in mm_control_ids) {
			mmControls[i].remove();
		}
		this.update();
	}
	mmPanel.removeAll = function() {
		this.ids = $A([]);
		for( i in mm_control_ids) {
			mmControls[i].remove();
		}
		this.update();
	}
	
	mmPanel.update();
	
	mmPanel.addAllOnPageA = new Element('a', {'href': 'javascript:mmPanel.addAllOnPage();','class': 'sendMessageA'});
	mmPanel.addAllOnPageA.innerHTML = 'Add All Recipients On Page';
	
	mmPanel.removeAllOnPageA = new Element('a', {'href': 'javascript:mmPanel.removeAllOnPage();','class': 'sendMessageA'});
	mmPanel.removeAllOnPageA.innerHTML = 'Remove All Recipients On Page';
	
	mmPanel.removeAllA = new Element('a', {'href': 'javascript:mmPanel.removeAll();','class': 'sendMessageA'});
	mmPanel.removeAllA.innerHTML = 'Remove All Recipients';

	mmPanel.div.onmouseover = function() { $clear( this.hideTimeOut ); }
	mmPanel.div.onmouseout = function() { this.hideTimeOut = setTimeout("mmPanel.div.smoothHide();", 2000); }
	
	if(cookie_set) {
		mmPanel.sendMessageA.injectInside(mmPanel.div);
		new Element('br').injectInside(mmPanel.div);
		new Element('br').injectInside(mmPanel.div);
		mmPanel.addAllOnPageA.injectInside(mmPanel.div);
		new Element('br').injectInside(mmPanel.div);
		mmPanel.removeAllOnPageA.injectInside(mmPanel.div);
		new Element('br').injectInside(mmPanel.div);
		mmPanel.removeAllA.injectInside(mmPanel.div);
		new Element('br').injectInside(mmPanel.div);
	} else {
		mmPanel.div.innerHTML = '<span class="error">Cookies must be enabled to use this feature.</span><br><br><a href="http://www.google.com/support/bin/answer.py?answer=35851" target="_blank">Enable Cookies</a>';
	}
/*mmPanel.messageAnchor = document.createElement('a');
	
	mmPanel.addAllOnPageAnchor = document.createElement('a');
	mmPanel.removeAllOnPageAnchor = document.createElement('a');
	mmPanel.removeAllRecipientsAnchor = document.createElement('a');
	
	mmPanel.div.appendChild(mmPanel.messageAnchor);
	mmPanel.div.appendChild(mmPanel.addAllOnPageAnchor);
	mmPanel.div.appendChild(mmPanel.removeAllOnPageAnchor);
	mmPanel.div.appendChild(mmPanel.removeAllRecipientsAnchor);*/
	
	mmPanel.div.injectInside(document.body);
	for( i in mm_control_ids) {
		c = new MMControl( i, $(mm_control_ids[i]) );
		c.add();
	}
	
});

MMControl = new Class({
	
	initialize: function( id, divElement ) {
		
		mmControls[id] = this;
		this.id = id;
		
		this.divElement = $(divElement);
		this.imgElement = new Element( 'img', { 'class': 'MMControlImg' } );
		this.aElement = new Element(
			'a', {
				'href': 'javascript: mmControls["'+id+'"].toggle();' 
			}
		);
		this.cbElement = new Element( 'input', { 'type': 'checkbox' } );
		this.cbElement.mmid = this.id;
		this.cbElement.onclick = function() {
			mmControls[this.mmid].toggle();
		}
		
		this.aElement.onmouseover = function() { if(mmPanel.div.style.display == 'none') mmPanel.div.style.display = 'block'; if($defined(mmPanel.div.hideTimeOut)) $clear(mmPanel.div.hideTimeOut);   new Fx.SmoothMove(mmPanel.div, {relativeTo:this, position: 'bottomLeft'}).start(); mmPanel.div.smoothShow(); mmPanel.div.setOpacity(.85);}
		this.aElement.onmouseout = function() { mmPanel.div.hideTimeOut = setTimeout("mmPanel.div.smoothHide();", 2000); }
		
		//this.divElement.appendChild(this.imgElement);
		//this.divElement.appendChild(this.aElement);
		this.divElement.appendChild(this.cbElement);
		this.update();
		
	},
	
	update: function() {
		if(cookie_set) {
			if(mmPanel.ids.contains(this.id)) {
				this.imgElement.src = mmImgSelectedURL;
				this.aElement.innerHTML = mmASelectedText;
				this.cbElement.checked = "checked";
			} else {
				this.imgElement.src = mmImgNormalURL;
				this.aElement.innerHTML = mmANormalText;
				this.cbElement.checked = "";
			}
			mmPanel.update();
		} else {
			this.imgElement.src = mmImgNormalURL;
			this.aElement.innerHTML = mmANormalText;
			this.cbElement.checked = "";
		}
	},
	
	add: function() {
		if(!mmPanel.ids.contains(this.id)) mmPanel.ids.push(this.id);
		this.update();
	},
	
	remove: function() {
		mmPanel.ids.remove(this.id);
		this.update();
	},
	
	toggle: function() {
		if(mmPanel.ids.contains(this.id)) {
			this.remove();
		} else {
			this.add();
		}
	}
	
});
													 
