/**
 * Ao carregar o html e ter os elementos disponiveis executa a funcao atribuida
 */
window.onload = function(){

	/**
	 * Armazena o select 1
	 */
	this.select1 = document.getElementById('select1');

	/**
	 * Armazena o select 2
	 */
	this.select2 = document.getElementById('select2');

	/**
	 * Armazena o botao de envio de item para esquerda
	 */
	this.left = document.getElementById('left');

	/**
	 * Armazena o botao de envio de item para direita
	 */
	this.right = document.getElementById('right');

	/**
	 * Armazena o botao de envio de itens para esquerda 
	 */
	this.all2left		= document.getElementById('all2left');

	/**
	 * Armazena o botao de envio de itens para direita 
	 */
	this.all2right		= document.getElementById('all2right');

	/**
	 * Armazena o formulario
	 */
	this.multSelectForm	= document.getElementById('multSelectForm');

	/**
	 * Seta o evento de envio de item(s) para direita
	 * Checa se o select contem item(s)
	 * Percorre os itens enviando-os para o outro select
	 */
	this.all2right.onclick = function(){

		if(window['select1'].options.length > 0)
			for(var i=0, j = window['select1'].options.length; i<j; i++)
				window['select2'].appendChild(window['select1'].options[0]);
	};

	/**
	 * Seta o evento de envio de item para direita
	 * Checa se o select contem item selecionado enviando-o para o outro select
	 */
	this.right.onclick = function(){

		if(window['select1'].selectedIndex != -1)
			window['select2'].appendChild(window['select1'].options[window['select1'].selectedIndex]);
	};

	/**
	 * Seta o evento de envio de item(s) para esquerda
	 * Checa se o select contem item(s)
	 * Percorre os itens enviando-os para o outro select
	 */
	this.all2left.onclick = function(){

		if(window['select2'].options.length > 0)
			for(var i=0, j = window['select2'].options.length; i<j; i++)
				window['select1'].appendChild(window['select2'].options[0]);
	};

	/**
	 * Seta o evento de envio de item para esquerda
	 * Checa se o select contem item selecionado enviando-o para o outro select
	 */
	this.left.onclick = function(){

		if(window['select2'].selectedIndex != -1)
			window['select1'].appendChild(window['select2'].options[window['select2'].selectedIndex]);
	};

	/**
	 * Seta o evento de envio do formulario
	 * Seleciona todas as opcoes dos selects para envio
	 */
	this.multSelectForm.onsubmit = function(){

		for(var i=0, j = window['select1'].options.length; i<j; i++)
			window['select1'].options[i].selected = true;

		for(var k=0, l = window['select2'].options.length; k<l; k++)
			window['select2'].options[i].selected = true;
	};
};