/**
 * @author marcelo.ramos
 */

var alturaConteudo;
var larguraConteudo;

var atualPage;
var idAtual = 'home';

// IPAD event listeners

$(document).ready(function(){
	
	$('div.content').fadeIn('fast');
	
	$(this).modal({
		url:'dica.html',
		backgroundColor:'#917b4c',
		autoOpen:true,
		closeClickOut:true
	});
	$('div.view_modal').click(function(){
		$('div.bg_modal').click();
	});
	
	// Navegação por Keyboard
	
	$(this).keydown(function(event) {
		if (!$('div.innerContent').is(':animated')) {
			var press = event.which;
			if(press == 40){
				changeCase('next');
			}else if(press == 37){
				atualPage--;
				changePage(atualPage, 2000);
			}else if(press == 39){
				atualPage++;
				changePage(atualPage, 2000);
			}else if(press == 38){
				changeCase('prev');
			}
		}
	});	

	/* ##########
	* ########## Define altura das paginas e suas posições iniciais 
	* */
	alturaConteudo = $(window).height();
	if(alturaConteudo>750){
		$('div.interna').height(alturaConteudo);
	}else{
		$('div.interna').height(750);
	}
	
	larguraConteudo = $(document).width();
	$('div.innerContent').height(alturaConteudo);
	//$('div.interna').width(larguraConteudo-1);
	$('div.content div.interna').width(larguraConteudo);
	$('div.innerContent').css('top',alturaConteudo);
	$('div.old').css('top','0');
	$('div.content').each(function(){
		$(this).width($('div.interna',this).width()*$('div.interna',this).length);
	});
	/* ##########
	* ########## Define altura das paginas e suas posições NO RESIZE 
	* */
	$(window).resize(function() {
		alturaConteudo = $(window).height();
		if(alturaConteudo>750){
			$('div.interna').height(alturaConteudo);
		}else{
			$('div.interna').height(750);
		}
		
		larguraConteudo = $(document).width();
		$('div.innerContent').height(alturaConteudo);
		//$('div.interna').width(larguraConteudo-1);
		$('div.content div.interna').width(larguraConteudo);
		$('div.innerContent').css('top',alturaConteudo);
		$('div.old').css('top','0');
		$('div.content').each(function(){
			$(this).width($('div.interna',this).width()*$('div.interna',this).length);
		});
		changePage(atualPage, 0);
	});
	
	/* ##########
	* ########## Define largura das paginas internas 
	* */
	
	$('div.btUp a').hide();
	
	$('div.selectCaseBox a').mouseover(function(){
		$('div.selectCaseBox ul').show();
	});
	$('div.selectCaseBox a').mouseout(function(){
		$('div.selectCaseBox ul').hide();
	});
	
	$('div.selectCaseBox ul li a').click(function(){
		jumpCase($(this).attr('name'));
		void(0);
		return false;
	});
	
	$('div.adressBox').mouseover(function(){
		$('p',this).show();
	});
	$('div.adressBox').mouseout(function(){
		$('p',this).hide();
	});
	
	/*
	 * INICIA FUNCTIONS
	 */
	comboCase();
	checkVersion();
});

function getInternetExplorerVersion() {
	var rv = -1; // Return value assumes failure.
	if (navigator.appName == 'Microsoft Internet Explorer') {
		var ua = navigator.userAgent;
		var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
		if (re.exec(ua) != null)
			rv = parseFloat(RegExp.$1);
	}
	else{
		document.addEventListener("touchstart", touchStart, false);
		document.addEventListener("touchmove", touchMove, false);
		document.addEventListener("touchend", touchEnd, false);
		document.addEventListener("pageshow", pageShow, false);
	}
	return rv;

}
function checkVersion() {
	var msg = "You're not using Windows Internet Explorer.";
	var ver = getInternetExplorerVersion();
	if (ver > -1) {
		if (ver > 8.0){
			document.addEventListener("touchstart", touchStart, false);
			document.addEventListener("touchmove", touchMove, false);
			document.addEventListener("touchend", touchEnd, false);
			document.addEventListener("pageshow", pageShow, false);
			//msg = "ok";
		}
	}
	//alert(msg);
}

			/*document.addEventListener("touchstart", touchStart, false);
			document.addEventListener("touchmove", touchMove, false);
			document.addEventListener("touchend", touchEnd, false);
			document.addEventListener("pageshow", pageShow, false);*/
// FUNCTION DE FUNCIONALIDADE

function makePagination(){
	$('div.contadorPag a').remove();
	var quant = $('div.old div.interna').length;
	if(quant!=1){
		var numb = 1;
		do{
			$('div.contadorPag').append('<a href="javascript:changePage('+numb+', 2000);" title="'+numb+'">'+numb+'</a>');
			numb++;
		}
		while (numb <= quant);
		$('div.contadorPag a:first').addClass('active');
	}
	comboCase();
}
function changePage(nun, sec){
	if (!$('div.innerContent').is(':animated')) {
		atualPage = nun;
		
		if(atualPage<1){atualPage = 1; return false;}
		else if(atualPage>$('div.contadorPag a').length){ atualPage = $('div.contadorPag a').length; return false;}
		
		var muda = (atualPage-1);
		
		$('div.contadorPag a.active').removeClass('active');
		$('div.contadorPag a[title="'+atualPage+'"]').addClass('active');
		
		var walk = parseInt((larguraConteudo * muda));
		//var walk = parseInt((1580 * muda));
		$('div.old').animate({
			left: -walk
		}, sec);
	}
}

function changeCase(stat){
	if (!$('div.innerContent').is(':animated')) {
		
		
		atualPage = 1; // reset para navegar para o primeiro
		
		var altura = $('div.old div.interna').height();
		var total = $('div.innerContent').length-1;
		
		
		$('div.old').prevAll().css('top',-altura); // reseta layers atenriores para cima
		
		$('div.btUp a').show();
		$('div.btDown a').show();
		
		
		if(stat == 'prev' && idAtual != 'home'){
			$('div.old').animate({
				top: altura
			}, 2000, function(){
				$(this).removeClass('old');
			});
			
			$('div.old').prev('div').animate({
				top: 0
			}, 2100, function(){
				idAtual = $(this).attr('id');
				$(this).addClass('old');
				if(idAtual == 'home'){
					$('div.btUp a').hide();
				}
				
				makePagination();
				$('div.content').css('left',0);
			});
		}
		
		if(stat == 'next' && !$('div.innerContent').last().hasClass('old')){
			$('div.old').animate({
				top: -altura
			}, 2000, function(){
				$(this).removeClass('old');
			});
			
			$('div.old').next('div').css('top',altura);
			
			$('div.old').next('div').animate({
				top: 0
			}, 2100, function(){
				idAtual = $(this).attr('id');
				$(this).addClass('old');
				if($('div.innerContent').last().hasClass('old')){
					$('div.btDown a').hide();
				}
				
				makePagination();
				$('div.content').css('left',0);
			});
		}
	}
}

function jumpCase(numb){
	if (!$('div.innerContent').is(':animated') && $('div.old').attr('id') != numb) {
		var altura = $('div.old div.interna').height();
		var total = $('div.innerContent').length-1;
		$('div#'+numb+'').css('top',altura); // reseta layer para baixo
		
		$('div.old').animate({
			top: -altura
		}, 2000, function(){
			$('div.content').css('top',altura);
			$(this).removeClass('old');
		});
		
		$('div#'+numb+'').animate({
			top: 0
		}, 2100, function(){
			$(this).addClass('old');
			idAtual = $(this).attr('id');
			if(idAtual == 'home'){
				$('div.btUp a').hide();
				$('div.btDown a').show();
			}else if($('div.innerContent').last().hasClass('old')){
				$('div.btDown a').hide();
				$('div.btUp a').show();
			}else{
				$('div.btDown a').show();
				$('div.btUp a').show();
			}
			makePagination();
			$('div.content').css('left',0);
		});
		
	}
	
}

function comboCase(){
	var currentName = $('div.old').attr('id');
	$('div.selectCaseBox ul li a').show().removeClass('act');
	$('div.selectCaseBox ul li a[name="'+currentName+'"]').hide().addClass('act');
		
	$('div.selectCaseBox a.titCombo').html($('div.selectCaseBox ul li a.act').html());
	
	if($('div.selectCaseBox a.titCombo').html() == $('div.selectCaseBox ul li:first a').html()){
		$('div.selectCaseBox a.titCombo').html('Home');
	}
}

var initPositionX;
var endPositionX;

var initPositionY;
var endPositionY;

// IPAD EVENTS
function pageShow(event) {
	$('.load, .bg_modal, .view_modal, .modal').remove();
}
function touchStart(event) {
	//var msg = "Começa";
	//msg += event.targetTouches[0].pageX + ", " + event.targetTouches[0].pageY;
	initPositionX = event.targetTouches[0].pageX;
	initPositionY = event.targetTouches[0].pageY;
	//$("#contentBox div.mouse").html(initPositionY);
}
function touchMove(event) {
	//var msg = "Handler for .mousemove() called at ";
	//msg += event.targetTouches[0].pageX + ", " + event.targetTouches[0].pageY;
	endPositionX = event.targetTouches[0].pageX;
	endPositionY = event.targetTouches[0].pageY;
	//$("#contentBox div.mouse").html(endPositionY);
	event.preventDefault();
}
function touchEnd(event) {
	var diminuiX = (initPositionX - endPositionX);
	var diminuiY = (initPositionY - endPositionY);
	
	// arranca neg
	var VDX = Math.abs(diminuiX);
	var VDY = Math.abs(diminuiY);
	
	
	
	
	if(VDX>=VDY){
		// MUDA PAG
		if(initPositionX>endPositionX){
			atualPage++;
			changePage(atualPage, 2000);
		}
		if(initPositionX<endPositionX){
			atualPage--;
			changePage(atualPage, 2000);
		}
	}else{
		// MUDA CASE
		if(initPositionY>endPositionY){
			changeCase('next');
		}
		if(initPositionY<endPositionY){
			changeCase('prev');
		}
	}
	
	
	event.preventDefault();
}
