/**
 * Biblioteca JavaScript
 * - Parse Query String -
 *
 *
 * @example
 *			URL: exemplo.html?nome=usuario&senha=1547
 *			<script ... >
 *				var exemp = new queryString(true);
 *				exemp.get('senha');
 *				// O retorno da chamado do Metodo eh o valor q foi 1547
 *				exemp.get('nome');
 *				// O retorno da chamado do Metodo eh o valor q foi usuario
 *				t = exemp.getAll();
 *				// O retorno da chamado do Metodo eh um array JS:
 *				t{ array(
 *				 	['nome'] =usuario
 *					['senha']=1547)
 *				}
 *			</script>
 *
 * @author Iuri Andreazza
 * @copyright 2005 -  Gvdasa
 * @v 1.5
 */

/**
 * Construtor do Objeto
 *
 * @param boolean
 *  Caso o Paramentro seja True ele automaticamente carrega a URL, 
 *	em caso contrario, o usuario terá que chamar o metodo parse($strURL);
 */
function QueryString(autoParse){
	this._REQUEST = new Object();	
	this.url;
	
	if (autoParse) this.parse();
}

/**
 * Carrega na Memoria as Variaveis da URL
 * 
 *
 * @param string (URL) opcional
 * @return array
 */
QueryString.prototype.parse = function (qs){
	
	if (qs==null){ 
		qs = window.location.href; 
	}	
	// Retira os + e coloca underlines no lugar.
	qs = qs.replace(/\+/g, '_');	
	qs = qs.replace(/\?/g, '&');	
	// preparar a URL para o DUMP
	this.url = qs;
	_TMP = qs.split('&');	
	for (var i=0;i<_TMP.length;i++) {		
		var _AUX  = _TMP[i].split('=');
		if (_AUX.length == 2){
			this._REQUEST[unescape(_AUX[0])] = unescape(_AUX[1]);
		}
	}
}

/**
 * Metodo para Retirar dados da var _REQUEST
 *
 * @param string
 */
QueryString.prototype.get = function (nome){
	return this._REQUEST[nome];
}

QueryString.prototype.getAll = function (){
	return this._REQUEST;	
}

/**
 * Funcao para Depuração da URL, serve para ver se o JS esta recebendo os valores corretamente.
 * 
 */
QueryString.prototype.dump = function (){
	alert(this.url);
}