var Site = {
	_init: function(){
		try{
			this._util();
			//this._menu_navegation();
			//this._addthis_widget();
		}catch(e){
			alert(
				'Arquivo   : ' + e.fileName + ' \n ' +
				'Linha     : ' + e.lineNumber + ' \n ' +
				'Nome      : ' + e.name + ' \n ' +
				'Descrição : ' + e.message + ' \n '
			);
		};
	},
	
	_util: function(){
		/* PLUGIN DE VALIDACAO DOS FORMULARIOS */
		$.tools.validator.localize("pt", {
			'*'  			: 'Preencha corretamente o campo.',
			':email'  		: 'O endereço de e-mail deve ser válido.',
			':number' 		: 'O valor deve ser numérico.',
			':url'	 		: 'O link deve ser válido.',
			'[max]'	 		: 'Número deve ser menor que $1.',
			'[min]'	 		: 'Número deve ser maior que $1.',
			'[required]' 	: 'Campo obrigatório.'
		});
	}
};

/*Alinha elementos na vertical - ie: $('#example p').vAlign();*/
jQuery.fn.vAlign = function() {
	return this.each(function(i){
		var ah = $(this).height();
		var ph = $(this).parent().height();
		var mh = Math.ceil((ph-ah) / 2);
		$(this).css('margin-top', mh);
	});
};

jQuery.fn.slideFadeToggle = function(speed, easing, callback) {
	return this.animate({opacity: 'toggle', height: 'toggle'}, speed, easing, callback);  
};

//Criador de elementos  HTML
jQuery.create = function() {
    if (arguments.length == 0) return [];
    var args = arguments[0] || {}, elem = null, elements = null;
    var siblings = null;

    // In case someone passes in a null object,
    // assume that they want an empty string.
    if (args == null) args = "";
    if (args.constructor == String) {
        if (arguments.length > 1) {
            var attributes = arguments[1];
                if (attributes.constructor == String) {
                            elem = document.createTextNode(args);
                            elements = [];
                            elements.push(elem);
                            siblings = jQuery.create.apply(null, Array.prototype.slice.call(arguments, 1));
                            elements = elements.concat(siblings);
                            return elements;

                    } else {
                            elem = document.createElement(args);

                            // Set element attributes.
                            var attributes = arguments[1];
                            for (var attr in attributes)
                                jQuery(elem).attr(attr, attributes[attr]);

                            // Add children of this element.
                            var children = arguments[2];
							children = jQuery.create.apply(null, children);
							jQuery(elem).append(children);

                            // If there are more siblings, render those too.
                            if (arguments.length > 3) {
                                    siblings = jQuery.create.apply(null, Array.prototype.slice.call(arguments, 3));
                                    return [elem].concat(siblings);
                            }
                            return elem;
                    }
            } else return args; //document.createTextNode(args);
      } else {
              elements = [];
              elements.push(args);
              siblings = jQuery.create.apply(null, (Array.prototype.slice.call(arguments, 1)));
              elements = elements.concat(siblings);
              return elements;
      }
};

function onCufon(){
	/* FuturaLight */
    Cufon.replace('.cufonLight, article h1', { 
		fontFamily: 'FuturaLight', letterSpacing: '-0.1px'
	});
	/*Cufon.replace('header.main nav li a', { 
		fontFamily: 'FuturaLight', color: '#ffffff', letterSpacing: '-0.2px'
	});
	Cufon.replace('header.main nav li.sel a', { 
		fontFamily: 'FuturaLight', color: '#FDDC00', letterSpacing: '-0.2px'
	});*/
    Cufon.replace('.titulo-laranja, .titulo-verde, .titulo-roxo, article h3', { 
		fontFamily: 'FuturaBook', letterSpacing: '-0.5px'
	});

	/* FuturaMedium */
    Cufon.replace('.cufonMedium', { 
		fontFamily: 'FuturaMedium', letterSpacing: '-0.7px'
	});
    Cufon.replace('.btn-laranja, .btn-verde, .btn-roxo, .btn-contato', { 
		fontFamily: 'FuturaMedium', letterSpacing: '-0.2px'
	});
	Cufon.replace('.webdoor_wrap .box-texto span, article h2', { 
		fontFamily: 'FuturaMedium', letterSpacing: '-1px'
	});

	/* FuturaBook */
    Cufon.replace('.cufonBook', { 
		fontFamily: 'FuturaBook', letterSpacing: '-0.1px'
	});
    Cufon.replace('article.midia ul.lista li .data .dia', { 
		fontFamily: 'FuturaBook', letterSpacing: '-1px'
	});
}

/*function onCufonHover(){
	$('header.main nav li:not(.sel) a').hover(function(){
		Cufon.replace($(this), {fontFamily: 'FuturaLight', color: '#fddc00', letterSpacing: '-0.2px'});
		}, function(){
		Cufon.replace($(this), {fontFamily: 'FuturaLight', color: '#ffffff', letterSpacing: '-0.2px'});
	});
}*/

function createPaginacao(p_num, p_selecionado) {
	var li_root = $.create('li', {}, []);
	//pagina
	var a_pagina = $.create('a', {'rel':p_num, 'href':'javascript:;', 'title':'Página '+p_num, 'class':p_selecionado}, []);
	$(li_root).append($(a_pagina));
	
	return li_root;
}

function createListaLojas(l_local, l_endereco, l_lojas) {
	var li_root = $.create('li', {}, []);
	//titulo
	var div_titulo = $.create('div', {'class':'titulo'}, [l_local]);
	$(li_root).append($(div_titulo));
	//endereco
	var div_endereco = $.create('div', {'class':'endereco'}, [l_endereco]);
	$(li_root).append($(div_endereco));

	//descricao de cada marca
	var ul_lista_logo_marcas = $.create('ul', {'class':'lista-logo-marcas'}, []);
	var marca_ant = '';
	$.each(l_lojas, function(index, val) {
		var marca_atu = val.marca;
		
		if ( val.info != '' ) {
			 var info_txt = val.info+'<br>';
		} else {
			 var info_txt = '';
	    }
		
		var div_descricao = $.create('div', {'class':'descricao'}, ['<span>'+val.marca+'</span>'+info_txt+'Telefone: '+val.telefone+'<br>Horário de Funcionamento: '+val.horario]);
		$(li_root).append($(div_descricao));

		//TOOLTIP DAS MARCAS
		if(marca_atu != marca_ant || marca_ant == '') {
			var li_lista_logo_marcas = $.create('li', {'class':val.slug}, ['<a></a>']);
			var div_tooltip = $.create('div', {'class':'tooltip'}, []);
	
			//logo da marca Viena
			var div_logo = $.create('div', {'class':'logo'}, ['<img src="/img/marca-logo-'+val.slug+'.png" alt="'+val.marca+'" title="'+val.marca+'">']);
			$(div_tooltip).append($(div_logo));
			
			var texto_marca = '';
			if(val.slug == 'viena-deli' || val.slug == 'viena-gourmet')
				texto_marca = 'Em ambiente com decoração contemporânea e atendimento eficiente, oferece um cardápio variado e de qualidade. Requisitos que tornaram o Viena referência no segmento full food. Farto buffet de saladas e receitas caseiras, rodízio de pizzas, além dos famosos salgados e sanduíches.';
			else if(val.slug == 'viena-express')
				texto_marca = 'Versão fast food do Viena Delicatessen. Adaptado para praças de alimentação, tem foco em pontos de tráfego intenso. Alia rapidez, praticidade e variedade de pratos cobrados por peso. Conta ainda com Ilha de pratos à la carte com opções de massas, grelhados, calzones e pizzas.';
			else if(val.slug == 'viena-cafe')
				texto_marca = 'Conceito montado em quiosques posicionados em locais estratégicos nos corredores de shoppings ou entrada de algumas lojas Viena Delicatessen. Ideais para um café rápido, possuem atendimento no balcão e exposição de doces e salgados tradicionais do Grupo.';
			else if(val.slug == 'viena-snacks')
				texto_marca = 'Localizados nos aeroportos, esse é um conceito de lanchonete para lanches rápidos com um mix baseado em salgados, lanches, doces, pratos rápidos e a mesma qualidade já conhecida pelo público do Viena. Um ambiente moderno e agradável, podendo ser auto serviço ou atendimento em mesa';
			else if(val.slug == 'v-cafe')
				texto_marca = 'Versão refinada do Viena Café, localizado na sua maioria nas Livrarias Culturas. Em ambiente moderno e sofisticado, oferece um cardápio clássico com itens preparados na hora. O sistema de atendimento é selfservice.';
			var div_dsc = $.create('div', {'class':'dsc'}, ['<span>'+val.marca+'</span><p>'+texto_marca+'</p>']);
			$(div_tooltip).append($(div_dsc));
	
			$(li_lista_logo_marcas).append($(div_tooltip));
			
			$(ul_lista_logo_marcas).append($(li_lista_logo_marcas));
		}
		marca_ant = val.marca;
	});
	$(li_root).append($(ul_lista_logo_marcas));
	
	return li_root;
}

function createListaRefeicao(r_chef, r_nome_receita, r_descricao, r_preparo, r_arquivo) {
	var li_root = $.create('li', {}, []);
	var span = $.create('span', {}, []);
	$(li_root).append($(span));
	//imagem
	var img_arquivo = $.create('img', {'src':'/images/receitas/thumb/'+r_arquivo}, []);
	$(li_root).append($(img_arquivo));

	//descricao
	var div_dsc = $.create('div', {'class':'dsc'}, []);
	//titulo
	var h2_titulo = $.create('h2', {}, [r_nome_receita+'<a>por '+r_chef+'</a>']);
	$(div_dsc).append($(h2_titulo));
	//resumo
	$(div_dsc).append($(r_descricao));
	//detalhe
	var div_detalhe = $.create('div', {'class':'detalhe-receita'}, [r_preparo]);
	$(div_dsc).append($(div_detalhe));
	
	//ver detalhe
	var a_ver_detalhe = $.create('a', {'class':'ver-detalhe-receita', 'href':'javascript:;'}, []);
	$(div_dsc).append($(a_ver_detalhe));

	$(li_root).append($(div_dsc));

	return li_root;
}

$(document).ready(function() {
	Site._init();
	onCufon();
	//onCufonHover();
});
