jQuery.noConflict();


if(typeof sIFR == "function"){ sIFR(); };

//jQuery
jQuery(function(){

///////////////////////////////////////////////////////////////////////
// LAYOUT FUNCTIONS
///////////////////////////////////////////////////////////////////////

	//PESQUISA
	jQuery("input[ClientID='txtQuery']").focus(function(){
		if(jQuery(this).val()=='Pesquisa') jQuery(this).val('');
	});
	jQuery("input[ClientID='txtQuery']").blur(function(){
		if(!jQuery(this).val()) jQuery(this).val('Pesquisa');
	});



//	//TABS
//	jQuery('ul.tabs li a').click(function(){
//		jQuery('ul.tabs li a').removeClass('on');
//		jQuery(this).toggleClass('on');
//		var url = jQuery(this).attr('href');
//		jQuery('.tabs_contents').fadeOut('fast', function(){
//			jQuery(this).load(url+' .tabs_contents').fadeIn('fast');
//		}); 
//		return false;
//	});

//	function tabToggles(){
//		jQuery('dl.accordeon dd').hide();
//		jQuery('dl.accordeon dd .on').show();
//	}
	
	var tabToggles = function(){
		jQuery("dl.accordeon dd").hide();
		jQuery("dl.accordeon dd .on").show();
	}
	
//	//TABS WIDE
//	jQuery('ul.tabs_wide li a').click(function(){
//		jQuery('ul.tabs_wide li a').removeClass('on');
//		jQuery(this).toggleClass('on');
//		var url = jQuery(this).attr('href');
//		jQuery('.tabs_wide_contents').fadeOut('fast', function(){
//			jQuery(this).load(url+' .tabs_wide_contents', tabsWideToggles).fadeIn('fast');
//		});
//		return true;
//	});
	
//	function tabsWideToggles(){
//		jQuery('ul.table li .content').hide();
//		jQuery('ul.table li .on').show();
//	}
	
	var tabsWideToggles = function(){
		//ACCORDEON
		jQuery("div.accordeon:not('.on') a").addClass("off");
		jQuery("div.content:not('.on')").hide();
		//HIGHLIGHTS
		jQuery(".highlight tr:visible:odd td").addClass("alternate");
		jQuery("table.highlight_basic_odd").highlightBasic("odd");
		jQuery("table.highlight_basic_even").highlightBasic("even");
		//CARTEIRAS
		jQuery(".carteira:not('.on') a, .total:not('.on')").toggleClass("off");
		jQuery(".div_carteira_fundo_movimentos:not('.on')").hide();
		jQuery("th.fundo").toggleClass("off");
	}
	
	//ACCORDEON DEFINITION LIST
	jQuery('dl.accordeon dt a').toggleClass('off');
	jQuery('dl.accordeon dd').hide();
	jQuery('dl.accordeon dd .on').show();
	jQuery('dl.accordeon dt a').livequery('click', function(event){
		jQuery(this).parent().next().slideToggle("fast");
		jQuery(this).toggleClass('off');
		return false;
	});
	
	//ACCORDEON TABLE
	jQuery('ul.table li .accordeon').toggleClass('off');
	jQuery('div.total').toggleClass('off');
	jQuery('ul.table li .content').hide();
	jQuery('ul.table li .on').show().toggleClass('off');
	jQuery('ul.table li .accordeon').livequery('click', function(event){
		jQuery(this).next().slideToggle("fast");
		jQuery(this).toggleClass('off').prev('div.total').toggleClass('off');
		return false;
	});

    //ACCORDEON TABLE (NEW)
	jQuery("div.accordeon:not('.on') a").toggleClass("off");
	jQuery("div.content:not('.on')").hide();
	jQuery("div.accordeon a").livequery("click", function(event){
		event.preventDefault();
		jQuery(this).toggleClass("off").parent("div").next(".content").slideToggle();
	});
	
	//DATEPICKER
	if(typeof jQuery.datepicker == 'object'){
		jQuery('input.picker').livequery(function(){
			jQuery('input.picker').datepicker();
			jQuery('input.picker').click(function() {
				jQuery(this).datepicker({ showOn: 'focus' }).focus();
			});
			jQuery('button.picker').click(function(){
				jQuery(this).prev().datepicker('show');
			});
		});
	}

	//AUTOFILL DATES
	jQuery.fn.dateAutoFill = function(){
		var currentDate = new Date();
		var day = currentDate.getDate()
		var month = currentDate.getMonth()
		var year = currentDate.getFullYear()
		if(day<10) day = '0'+day;
		month = month + 1;
		if(month<10) month = '0'+month;
		jQuery("input[name='start']").livequery(function(){
			if(!jQuery(this).val()) jQuery(this).val(day + '.' + month + '.' + (year-1));
		});
		jQuery("input[name='end']").livequery(function(){
			if(!jQuery(this).val()) jQuery(this).val(day + '.' + month + '.' + year);
		});
	}

	/*
	//SORT
	var last_set_class = 'ascending';
	jQuery(".sort th").livequery('click', function(){
		if(jQuery(this).hasClass('ascending') ){
			jQuery(this).parent().children('th').removeClass('ascending descending');
			jQuery(this).addClass('descending');
			last_set_class = 'descending';
		}
		else if(jQuery(this).hasClass('descending')){
			jQuery(this).parent().children('th').removeClass('ascending descending');
			jQuery(this).addClass('ascending');
			last_set_class = 'ascending';
		}
		else if(!jQuery(this).hasClass('ascending') && !jQuery(this).hasClass('descending')){
			jQuery(this).parent().children('th').removeClass('ascending descending');
			jQuery(this).addClass(last_set_class);
		}
		return false;
	});
*/
	
	//HIGHLIGHT
	jQuery(".highlight tr.coluna:visible:odd td").addClass('alternate');
	jQuery(".highlight tr.coluna td").hover(
		function(){
			table_id = jQuery(this).parents('table').attr('id');
			var i = jQuery(this).parent('tr.coluna').children('td').index(this);
			jQuery(this).parent('tr.coluna').children('td').removeClass('alternate').addClass('highlight_bg');
			jQuery(this).addClass('highlight_this');
			jQuery('#'+table_id+' tr.coluna').each(function(){
				jQuery(this).children().each(function(n){
					if(n==i) jQuery(this).removeClass('alternate').addClass('highlight_bg');
				});
			});
		},
		function(){
			jQuery(this).removeClass('highlight_this');
			jQuery('#'+table_id+' tr.coluna').children().removeClass('highlight_bg');
			jQuery('#'+table_id+' tr.coluna:visible:odd td').addClass('alternate');
		}
	);

    //HIGHLIGHT BASIC
	jQuery.fn.highlightBasic = function(mode){
		jQuery(this).each(function(){
			jQuery(this).find("tr:"+mode+" td").addClass("alternate");
		});
	}
	jQuery("table.highlight_basic_odd").highlightBasic("odd");
	jQuery("table.highlight_basic_even").highlightBasic("even");

	//CHECKBOXES AND RADIOBUTTONS
	jQuery.fn.check = function(mode) {
		var mode = mode || "on"; // if mode is undefined, use 'on' as default
		return this.each(function(){
			switch(mode) {
				case "on":
					this.checked = true;
					break;
				case "off":
					this.checked = false;
					break;
				case "toggle":
					this.checked = !this.checked;
					break;
			}
		});
	}
	
///////////////////////////////////////////////////////////////////////
// LOGIN
///////////////////////////////////////////////////////////////////////

	//LOGIN
	if(jQuery("#header form.login").length){
		//ACTION
		jQuery("a[rel='login']").click(function(){
			jQuery('#keyboard').removeClass('password').addClass('login');
			jQuery("#header form.login h3").html('Login');
			jQuery('div.buttons .user, div.buttons .login').fadeOut();
			jQuery('#header div.text form').hide();
			jQuery('#header div.text').show();
			jQuery('#header form.login').fadeIn();
			return false;
		});
		//SUBMIT
		jQuery("#header form.login").submit(function(){
			//VALIDATION
			jQuery("#header form.login").validate({
				errorPlacement: function(error, element) { error.appendTo( element.prev().prev("label") ); },
				errorElement: "span",
				rules: {
					email: { required: true, email: true },
					password: { required: true, minlength: 6 }
				},
				messages: {
					email: { required: " (obrigat&oacute;rio)", email: " (e-mail inv&aacute;lido)" },
					password: { required: " (obrigat&oacute;rio)", minlength: " (m&iacute;nimo 6 caracteres)" }
				}
			});
			if(jQuery("#header form.login").valid()){
				hide_vkb();
				jQuery('#header form.login').fadeOut(function(){
					jQuery('div.loading').fadeIn(function(){
						//TODO: SUBSTITUIR POR LOGIN VERDADEIRO EM AJAX
						jQuery('div.loading').animate({opacity: 1.0}, 2000).fadeOut(function(){
							if(location.href.indexOf('homepage/index_login_erro.html')>-1){
								jQuery("#header form.login").fadeIn();
								jQuery("#header form.login h3").append('<span class="error">&nbsp;(dados de login inv&aacute;lidos!)</span>');
							}
							else location.href='../homepage/index_login.html';
						});
					});
				});
			}
			return false;
		});
	}

	//PASSWORD_RECOVERY
	if(jQuery("#header form.password").length){
		//ACTION
		jQuery("a[rel='password']").click(function(){
			hide_vkb();
			jQuery('#header form.login').fadeOut('fast', function(){
				jQuery("#header form.password p").html('Indique o e-mail com que se registou.');
				jQuery("#header form.password label").show();
				jQuery("#header form.password input").val('').show();
				jQuery('#keyboard').addClass('password');
				jQuery('#header form.password').fadeIn();
			});
			return false;
		});
	}
	//SUBMIT
	jQuery("#header form.password").submit(function(){
		//VALIDATION
		jQuery("#header form.password").validate({
			errorPlacement: function(error, element) { error.appendTo( element.prev().prev("label") ); },
			errorElement: "span",
			rules: {
				email: { required: true, email: true }
			},
			messages: {
				email: { required: " (obrigat&oacute;rio)", email: " (e-mail inv&aacute;lido)" }
			}
		});
		if(jQuery("#header form.password").valid()){
			hide_vkb();
			jQuery('#header form.password').fadeOut(function(){
				jQuery('div.loading').fadeIn(function(){
					//TODO: SUBSTITUIR POR RECUPERAÇÃO VERDADEIRA EM AJAX
					jQuery('div.loading').animate({opacity: 1.0}, 2000).fadeOut(function(){
						jQuery("#header form.password p").html('Ir&aacute; receber um email com os seus dados de login.');
						jQuery("#header form.password input, #header form.password label").hide();
						jQuery("#header form.password").fadeIn();
						jQuery("div.buttons .login").fadeIn();
					});
				});
			});
		}
		return false;
	});
});

///////////////////////////////////////////////////////////////////////
// VIRTUAL KEYBOARD
///////////////////////////////////////////////////////////////////////
function show_vkb(){
    jQuery(function(jQuery) {
	
//	    jQuery("#divHtmlBottomButtons:visible").fadeOut('fast');
//	
//		if(jQuery("#header form.login").length || jQuery("#header form.password").length) jQuery(".buttons:visible").fadeOut('fast');
//		jQuery(".keyboard_spacer:hidden").slideToggle(function(){
//			jQuery('#keyboard:hidden').fadeIn('fast');
//		});
//	});
    //remoção do slide do botão de login devido ao teclado virtual ter sido movido de localização
	//RPinto - 2010-04-12    
	    if (jQuery("#header form.login").length || jQuery("#header form.password").length) jQuery(".buttons:visible").fadeOut('fast');
	    jQuery('#keyboard:hidden').fadeIn('fast');	    
    }); 
}
function hide_vkb(){
	jQuery(function(jQuery){

//	    jQuery("#divHtmlBottomButtons:hidden").fadeIn('fast');

//		jQuery('#keyboard:visible').fadeOut('fast', function(){
//			jQuery('.keyboard_spacer:visible').slideToggle(function(){
//				if(jQuery("#header form.login").length || jQuery("#header form.password").length) jQuery(".buttons:hidden").fadeIn('fast');
//			});
//		});
//	});
	//remoção do slide do botão de login devido ao teclado virtual ter sido movido de localização
	//RPinto - 2010-04-12
	    jQuery('#keyboard:visible').fadeOut('fast', function() {
	        if (jQuery("#header form.login").length || jQuery("#header form.password").length) jQuery(".buttons:hidden").fadeIn('fast');
        });
    });
}
