try {
	jQuery.noConflict();
	$j = jQuery;
}catch(e) {
	alert("jQuery n�o est� dispon�vel");
}


function getNewRndNumber(){
	return Math.round(Math.random()*99999999999);
}



var FLEXIGRID_OPTIONS = {
	dataType: 'json',
	usepager: true,
	useRp: true,
	rp: 15,
	showTableToggleBtn: true,
	height: 'auto',
	resizable: false,
	width:'auto'
}

var MULTICOMBO_OPTIONS = {
	filterText: 'Filtro',
	selectAllText: 'Selecionar todos',
	removeSelectedText: 'Remover sele��o',
	addSelectedText: 'Adicionar sele��o',
	addedText: '# registro(s) adicionado(s)',
	availableText: '# registro(s) dispon�vel(is)',
	limitText: 'M�ximo: # registro(s)'
}

var MULTIFILE_OPTIONS = {
			 striped: true,
			 strings: {
			 	errors: {
					extension: 'Esta extens�o ([ext]) n�o � v�lida.\nPor favor tente novamente...',
					duplicated:'Este arquivo ([filename]) j� foi selecionado.\nPor favor selecione outro...',
					connection:'O controle n�o conseguiu se conectar � url informada ([addURL])',
					response: 'O servidor retornou uma sequ�ncia de c�digo inv�lida.',
					transaction: 'O servidor n�o p�de processar o arquivo que voc� est� tentando subir ([filename]).\n Veja mais: ',
					generic: 'Desculpe, houve um erro ao processar sua solicita��o',
					attribute: 'Na resposta do servidor o atributo [attribute] (obrigat�rio) est� ausente.\nPor favor verifique o c�digo...'
				},
			 	remove: 'Remover [filename]',
				removeConfirm: 'Voc� tem certeza que deseja remover o arquivo [filename]?',
				removeSelectedConfirm: 'Por favor confirme a remo��o destes [total] arquivos...\n(clique em Cancelar caso n�o tenha certza disso!)',
				removeAll: 'Remover sele��o',
				detail: 'Ver detalhes de [filename]',
				selectAll: 'Selecionar todos',
				added: '[total] arquivo(s) adicionado(s)',
				processing: 'Processando sua solicita��o, por favor aguarde...',
				subtitle: 'Legenda',
				text: 'Texto',
				file: 'Arquivo'
			 }
		  };
	
	

var InitMain = function() {
	//Content_Show();
	
	try{
		DynamicCombo_Start();
	}catch(e){}
	
	try{
		Pop();	
	}catch(e){}
	
	
	try{
		FormClasses_Set();
	}catch(e){}
	
	try{
		BlankLink_Rewrite();	
	}catch(e) {}
	
	try{
		InitDomain();
	}catch(e){}
	
	try{
		FlashStart();
	}catch(e){}
	
	try{
		alertBody();
	}catch(e){}
	
	try {
		Lightbox_Start();
	}catch(e){}
	
	$j("ul.subMenu li:last").addClass("last");
	
}



var Lightbox_Start = function(){
	
	settings = {
			imageLoading:			'IMAGES/jquery/lightbox-ico-loading.gif',
			imageBtnPrev:			'IMAGES/jquery/lightbox-btn-prev.gif',
			imageBtnNext:			'IMAGES/jquery/lightbox-btn-next.gif',
			imageBtnClose:			'IMAGES/jquery/lightbox-btn-close.gif',
			imageBlank:				'IMAGES/jquery/lightbox-blank.gif',
			fixedNavigation:		true
		};
		
	$j('a.lightbox').lightBox(settings);
}


var RedirectURL = function(){
	var url = "index.do?_rnd=" + getNewRndNumber();
	document.location.replace(url);
}

var FlashStart = function(){
	//
	
	
	$j('div.flash-home').flash({
	    src: bannerHomeSrc,
	    width: 1003,
	    height: 334,
		quality: "high",
		scale: "noscale",
		salign: "lt",
		wmode: "transparent",
		allowScriptAccess: "always"
		
	});
	
	
} 




var BlankLink_Rewrite = function () {
	
	$j("a._blank").each(function(){
		var self = $j(this);
		var prevTitle = self.attr("title")
		var blankTitle = (prevTitle.length >0)?" (nova janela)":"Este link abre em uma nova janela";
		self.attr("title", prevTitle + blankTitle);
	});
	
	$j("a._blank").bind("click", function(){
		var self = $j(this);
		var url = self.attr("href");
		window.open(url);
		return false;		
	});
}



var DynamicComboLoading = false; 

var DynamicCombo_Fill = function(e){
	
	var self = $j(this);
	if(!self[0].disabled && !DynamicComboLoading) {
		self.attr("disabled",true);
		DynamicComboLoading = true;
		
		var defs = self.metadata();
		var control = $j(defs.control);
			control.attr("disabled",true);
			control.parent().find("label").remove();
			
		var loading = control.parent().find("span:first");
			loading.show();
			
		var value = Number(self.find("option:selected").val());
		
		
		$j.ajax({
			url: defs.URL + "&_rnd=" + getNewRndNumber(),
			type: "POST",
			dataType: "json",
			data: "&" + defs.param + "=" + value,
			success: function(data,status){
					control.attr("disabled", true);
					control.find("option:gt(0)").remove();

				for(i = 0; i<data.length; i++){
					var option = document.createElement("option");
					eval("option.value = data[i]." + defs.vAttr);  
					eval("option.innerHTML = data[i]." + defs.tAttr);
					
					control.append(option);
				}
				
				
				
				if(data.length>0){
					control.animate({opacity: 1},150);
					control.parent().animate({opacity: 1});
				} else {
					control.parent().animate({opacity: 0.4});
				}
				
				loading.hide();
				control.attr("disabled",false);
				self.attr("disabled",false);
				DynamicComboLoading = false;
			},
			error: function(r,s,e){
				alert("Erro:" + e);
			}
		});	
	}
}

var DynamicCombo_Start = function(){
	$j("select.dynamic")
		.bind("change",DynamicCombo_Fill)
		.each(function(){
			var defs = $j(this).metadata();
			var control = $j(defs.control);
			var wrapper = document.createElement("div");
				$j(wrapper).addClass("dynamic-wrapper");
						
			var loading = document.createElement("span");
				$j(loading).addClass("loading");
				$j(loading).hide();
				
			control.wrap(wrapper);
			control.parent().append(loading);
			
			if(control.find("option").length > 0)
				control.animate({opacity: 1});
			
		});
		
	
}

var FormClasses_Set = function(){
	try{
	// instantiating validation
	$j("form.validateme").validate();
	
	// adding masks, hints e datepicker
	$j("input.data")
		.mask("99/99/9999")
		.datepicker({ yearRange: '1910:2010' })
		.attr("autocomplete","off");
		
	$j("input.hora")
		.mask("99:99")
		.attr("autocomplete","off");
	
	$j("input.ddd").mask("99");
			
	$j("input.telefone").mask("9999-9999");
			
	$j("input.cep").mask("99999-999");
	
	$j("input.cpf").mask("999.999.999-99");
	$j("input.ddd-telefone").mask("(99) 9999-9999");
	$j("input.cpf-number").mask("99999999999");
	$j("input.cnpj").mask("99.999.999/9999-99");

	$j("input.ip").mask("999.999.999.999");
	}catch(e) {
		
	}
}


$j(document).ready(function(){
	InitMain();
})

