/**
 * TikiCMS
 * Copyright (C) 2009, Tiki Web Inteligente Ltda.
 * @requires jQuery 1.3.2 or latter
 *
 * $Id: application.js 336 2010-03-15 18:42:55Z leandro $
 */

// define o namespace da aplicação
Application = {
    Controller: {}
};

/**
 * Retorna uma URL completa dado um caminho relativo.
 *
 * É importante que esta função seja definida antes
 * da definição das biliotecas "thickbox" e "sIFR",
 * pois alterei o código-fonte delas para que caminhos
 * relativos sejam convertidos em caminhos absolutos utilizando
 * esta função.
 *
 * @param  string url Um pedaço de URL (caminho relativo dentro do servidor)
 * @return string     Uma URL completa
 */
Application.build_url = function(url) {

    if (!Application.BASE_URL || !Application.BASE_URL.match(/^http/)) {
        Application.BASE_URL = $('meta[name=base_url]').attr('content');
    }

    return Application.BASE_URL + url; 
}

jQuery(document).ready(function($) {

    // invoca o controlador e o método solicitados
    var controller = $('meta[name=camelized_controller]').attr('content');
    var method = $('meta[name=method]').attr('content');

    Application.Controller[controller] &&
    Application.Controller[controller][method] &&
    Application.Controller[controller][method].call();

    // indica se o menu com a listagem de tipos de produtos está sendo exibido (true) ou está escondido (false)
    var menuProdutosAtivo = false;

    // aplica o comportamento do menu do site
    $('ul#nav>li').hover(function() {
        if($(this).hasClass('.produtos')) {
			menuProdutosAtivo = true;										   
        	$('ul#nav li.produtos .sub').addClass('subCurrent');
        	$('ul#nav li.produtos a.link').addClass('linkCurrent');
		}
		else {
			menuProdutosAtivo = false;
			$('ul#nav li.produtos .sub').removeClass('subCurrent');
			$('ul#nav li.produtos a.link').removeClass('linkCurrent');
			$('ul#nav li.produtos div.linhasProduto').removeClass('linhasProdutoCurrent');
			$('ul#nav li.produtos ul.esteira li.current').removeClass('current');			
		}
    },function() {
		if($(this).hasClass('.produtos')) {
			menuProdutosAtivo = false;		
			setTimeout(function() {
				if (menuProdutosAtivo) return;							
				$('ul#nav li.produtos .sub').removeClass('subCurrent');
				$('ul#nav li.produtos a.link').removeClass('linkCurrent');
				$('ul#nav li.produtos div.linhasProduto').removeClass('linhasProdutoCurrent');
				$('ul#nav li.produtos ul.esteira li.current').removeClass('current');
			}, 1000)
		}
    });
	/*
	,function() {
		 setTimeout(function() {  }, 1000)
        $('ul#nav li.produtos .sub').removeClass('subCurrent');
        $('ul#nav li.produtos a.link').removeClass('linkCurrent');
        $('ul#nav li.produtos div.linhasProduto').removeClass('linhasProdutoCurrent');
        $('ul#nav li.produtos ul.esteira li.current').removeClass('current');
    });*/

    $('ul#nav li.produtos ul.esteira li.produtoComLinhas a').click(function() {
        $('ul#nav li.produtos ul.esteira li.produtoComLinhas').removeClass('current');
        $('ul#nav li.produtos div.linhasProduto').removeClass('linhasProdutoCurrent');
        var tipoProduto = $(this).find('span.tipoProduto').text();
        $(this).parent().addClass('current');
        $('ul#nav li.produtos div.linhasProduto.'+tipoProduto).addClass('linhasProdutoCurrent');
    });

    if (!($.browser.msie && $.browser.version=="6.0")) {
		$(".sub ul.esteira a").blend({speed:200});
	}

    // o comportamento de mudar a notícia exibida no rodapé do site
    $("#newsBar .lista").jCarouselLite({
        btnNext: "#newsBar a.news_prev",
        btnPrev: "#newsBar a.news_next",
        visible: 1,
        speed: 400,
        auto: 4000
    });
	
	// overlay (lighbox) que exibe a especificação técnica do produto
	$('p.especificacao a').click(function(){
		speed = 500;
		$('body, html').scrollTo( 0, 800, {queue:true} );		
		$('#overlayWindow').remove().prependTo('body').fadeIn(speed);
		$('#overlayWindow a.close').click(function(){
			$('#overlayWindow').fadeOut(speed);
		});
	});
    
    // Fecha a overlayWindow quando clica no body
    $('body').mouseup(function(e){
        var $target = $(e.target);
		// se o target é filho da div que envolve o form MAS não é a input submit então ignora este evento
		if ($target.parents('.overlayWindow_especificacoes').length == 1) return false;
        $('#overlayWindow').fadeOut(500);
	});
    
    $('.dados table td:last-child:not(:first-child)').addClass('resultado');
    
});
