/**
 *	define o cominho da aplicacao;
 */
 var	ROOT_DIR = 'http://desertificacao.locaweb.com.br/';

/**
 *	abre o url numa janel pop-up
 *	@name	winModal
 *	@access	public
 *	param	bool	define se o navegador suporta modal
 */
function winModal (  strUrl, winName, width, height ){
	var winName		=	winName;
	var dialogWidth	=	width;
	var dialogHeight =	height;
	var center			=	true;
	var resizeable	=	false;
	var status			=	false;
	var help				=	false;
	var scroll			=	false;
	var edge			=	'sunken';
		
	if( window.showModalDialog )
	{
		//	abre modal
		window.showModalDialog( strUrl, winName, "dialogWidth:" + dialogWidth + "px; dialogHeight: " + dialogHeight +"px; center: " + center + "; resizeable: " + resizeable + "; status: " + status + "; help: " + help + "; scroll: " + scroll );
	} else {
		//	abre popup noral	
		window.open (  strUrl + '?suporteModal=no', winName, 'menubar=no,toolbar=no,location=no,status=no,directories=no,resizable=no,scrollbars=no,width=' + width + ',height=' +height )
	}
}

 /**
 *	trim para javascript
 *	@name	trim
 *	@access	public
 *	@param	string
 *	@return	string
 */
String.prototype.trim = function() { return this.replace(/^\s+/, "").replace(/\s+$/, ""); }

/**
 *	removendo os espacos desnecessarios
 *	@name	removeExtraSpaces
 *	@access	public
 *	@param	void
 *	@return	string
 */
String.prototype.removeExtraSpaces = function() { return this.trim().replace(/\s+/, " "); }

/**
  *	Retorna o número em forma de string com 
  *	zeros à esquerda ou à direita.
  *	@name	zeroFormat 
  *	@access	public
  *	@param	integer	quantidade de zeros a ser adicionada
  *	@pararm	bool		se "true", serão adicionados zeros ao número até que 
  *							se obtenha no mínimo "n" digitos, caso contrário será 
  *							sempre adicionado a quantidade especificada de zeros
  *	@param	bool		se "true" os zeros serão concatenados à direita, caso 
  *							contrário, à esquerda  
 */
Number.prototype.zeroFormat = function(n, f, r){ return n = new Array( (++n, f ? ( f = ( this + "" ).length) < n ? n - f : 0 : n ) ).join(0), r ? this + n : n + this; };

/**
 *	trim para javascript
 *	@name	trim
 *	@access	public
 *	@param	string
 *	@return	string
 */
 function trim(s){ return String(s).replace(/^\s+/,'').replace(/\s+$/,''); }

/**
 *	Função de highlight do menu
 *	@name	hoverMenu
 *	@access	public
 *	@param	HTMLElement
 *	@param	bool
 *	@return	void
 */
function hoverMenu( obj , param )
{
	if( param )
		obj.className = 'menuDUOn';
	else
		obj.className = 'menuDUOff';
}

/**
 *	recupera determinado paramentro da url;
 *	@name	getUrlParam
 *	@access	public
 *	@param	string nome do paramentro que desejs selecionar
 *	@return	string
 *	@exemple	getUrlParam( 'nomeVariavel' );
 */
 function getUrlParam( strParam ){
 	var	url 		= window.location.toString();
	var	arrUrl 	= url.split( '?' );
	
	//	verifica se algum paramentro foi passo pela url;
	if( arrUrl.length != 2 ) return false;
	
	//	checa qnt param foram enviados;
	var param		= arrUrl[1].split( '&' );
	
	if( param.length > 1 )
	{
		var tam		= param.length;
		for( var o = 0; o < tam;o++ ){ var tmp = param[o].toString( ).split( '=' ); var tamTmp	= tmp.length;
			for( var p = 0; p < tamTmp; p++) if( tmp[p] == strParam ) return tmp[p+1];
		}
	}else{
		var z 	= param.toString( ).split( '=' ); var tam	= z.length;
		for( var i = 0; i < tam; i++ ) if( z[i] == strParam )return z[i+1];
	}
 }
 
 
 	/**
	 *	reseta o valor do campo no formulário
	 *	- recebe um campo, não importa o tipo, e 
	 *		- verifica o tipo deste e seta o valor 
	 *		informado no segundo paramentro.
	 *	- para os tipos: checkbox, radiobutton o segundo param
	 *	deverah ser: true ou false.
	 *
	 *	@name	resetValorCampo
	 *	@access	public
	 *	@param	HTML FORMElement
	 *	@param	string	define o valor padrão do elemento
	 *	@return	void
	 */
	function resetValorCampo( obj, valorPadrao ){
	
		//	recupera o tipo do objeto;
		var tipoObjeto = false;
		try{
			tipoObjeto = obj.type.toString( );
		}catch(eee){
			tipoObjeto = 'div';
		}
	
		switch( tipoObjeto ){
			//	acao para os tipos: text, textarea, password, hidden;
			case 'text':
			case 'textarea':
			case 'password':
			case	'hidden':
				obj.value = valorPadrao;
			break;
			
			//	acao para os tipos: checkbox, radiobutton
			case	'checkbox':
			case	'radiobutton':
				if( valorPadrao == 's' )		valorPadrao = true;
				else if( valorPadrao == 'n' )	valorPadrao = false;
				else									valorPadrao = valorPadrao;
				obj.checked = valorPadrao;
			break;
			
			//	acao oara os tipos: select
			case	'select':
				alert( 'Definição de valor para o tipo ' + obj.type.toString( ) + ' ainda não definido' );
			break;
			
			//	define o valor de um div, que de certa forma
			//	não deixa de ser um vampo;
			case 'div': 
				obj.innerHTML = valorPadrao;
			break
		}	//	end of switch;
	}


	/**
	 *	recupera os valores da grade para os campos;
	 *	@name	grade2campo
	 *	@access	public
	 *	@param	array	relacao de campos, deverah ser informados apenas o nome, nao o obj;
	 *	@param	array	relacao de valores para os campos informado no primeiro param;
	 *	@param	string	nome do div que deseja exibir o conteudo;
	 *	@param	void
	 */	
	 function grade2campo( arrCampo, arrValor, nomeFuncao )
	 {
	 	//	recuepra o tamanho do array
	 	var	tamArr 	= arrCampo.length;
		var	imgConf	= document.getElementById( 'btn_confirma' );
		var divBtnConfirma	= document.getElementById( 'btn_confirma' );
		
		//	remove a imagem de confirmar;
		resetValorCampo( divBtnConfirma,	''	);
		
	 	for( var i = 0; i < tamArr; i++ )
		{
			//	recuperano o objeto
			var obj = document.getElementById( arrCampo[i] ) ;
			
			//	definindo o valor de cada objeto;
			resetValorCampo( obj, arrValor[i] );
		}
		//alert( 'habilitando imagem' );
	 	// var myColumns = [ "Nº" , "Nome Tipo Evento" , "Descrição" , "Data Cad.", "Status"];
		//nomeFuncao( );

		//var meuTexto = "3 + 5" undefined
		if( '' + nomeFuncao != 'undefined' ){
			eval( nomeFuncao+"( 'btn_confirma', '/imagem/icones/ico_confirmar.gif',true, 'confirmaOperacao' )" );
			//eval("document.write(" + meuTexto +")")
		}
	 }

	/**
	 *	submit formpesquisa
	 */
	 function vSubmiteFormPesquisa( ){
	 	var query  = document.getElementById( 'query' );
		if( query.value.trim( ) == '' ) query.focus( );
		else	return true;

		return false;		
	 }
	 
	/**
	 *	visualiza os a imgem antes da mesma ser submetida
	 *	@name	previewUploadImg
	 *	@access	public
	 *	@param	string	identificador do campo imagem
	 *	@param	string	identificador do DIV que exibirah a img
	 */
	 function previewUploadImg( imagem, dest ){
		var imgDest		= document.getElementById( dest );
		try{ imgDest.src	= "file:///" + imagem.value.toString( );
		}catch( e ){ alert( e ); }
	 }
