$('#mainMenu').slidingNav();

var sitemap = {
	'#/': 'index',
	'#/digital-signage': 'digital-signage',
    '#/digital-signage-lehetosegek': 'digital-signage-lehetosegek',
	'#/videro': 'videro',
	'#/videro-alapelemek': 'videro-alapelemek',
	'#/videro-kiemelkedo-kepessegek': 'videro-kiemelkedo-kepessegek',
	'#/videro-referenciak': 'videro-referenciak',
	'#/fejleszteseink': 'fejleszteseink',
	'#/gps-alapu-multimedia': 'gps-alapu-multimedia',
	'#/gps-alapu-multimedia-alegysegek': 'gps-alapu-multimedia-alegysegek'
},
$blob = $('#mainMenu li#blob'),
level = 0;

(function($) {
  
  function showPage(p) {
  	$el = $('#mainPages li#' + p);
	var $y = $el.children('.mainPage').height();
	
	if (level > 0) {
		var $mainP = $('#mainPages li.activeP').children('div.mainPage');
		var $subP = $('#mainPages li.activeP').children('div.subPage');
		$mainP.animate({
			marginTop: 0
		}, 1500, 'swing', function() { $subP.slideUp(1000); })
		level = 0;
	}

	var $x = $el.position().left;

	$('#mainPages').animate({
		marginLeft: -$x + 'px'
	}, 600, 'swing');
	$('#main').animate({
		'height': $y + 80 + 'px'
	}, 1000, 'swing');
	$('li.activeP').removeClass('activeP');
	$el.addClass('activeP');
	
  	$('#mainMenu li.selected').removeClass('selected')
	var $selected = $('#mainMenu li.' + p).addClass('selected');
	$blob.css({
        width: $selected.first('img').width() + 6,
        left: $selected.position().left - 3
	});
  }
  
  function showSubPage(p, anchor) {
  	var $el = $('#' + p);
    var $activeSubP = $('#mainPages div.activeSubP');
    
    if ($activeSubP.length) {
        if ($el.parent().attr('id') != $('.activeSubP').parent().attr('id')) {
            showPage($el.parent().attr('id'));
        }
        $activeSubP.removeClass('activeSubP');
    }
    level = 1;
	
	var $y1, $y2, yp = 0; // = $el.height(), $y2 = $el.siblings('.mainPage').height();
	(($y1 = $el.height()) > ($y2 = $el.siblings('.mainPage').height())) ? ($y = parseInt($y1)) : ($y = parseInt($y2), yp = 80);

    $('#main').animate({
		'height': ($y + 80) + 'px'
	}, 1000, 'swing');
	
	$el.siblings('.mainPage').animate({
		marginTop: '-' + ($y + 80) + 'px'
	}, 2000, 'swing');
	$el.siblings('.subPage').slideUp(500);
	$el.slideDown(1000, function() {
		if (anchor) {
			$('html,body').animate({
				scrollTop: $('#' + anchor).position().top + 'px'
			}, 800);
		}
	}).addClass('activeSubP');

  }
  
  function splitURL(url) {
  	var spl = {},
	url = url.split('/');
	spl.page = '#/' + url[1];
	spl.param = url[2];
  	return spl;
  }
  
  var app = $.sammy(function() {
  	this.helper('title', function(newTitle) {
  		document.title = newTitle;
	});
	
	
    this.get('#/', function(context) {
		showPage(sitemap[context.path]);
		this.title('Cégünkről - Signity Networks');
	});
    this.get('#/digital-signage', function(context) {
		showPage(sitemap[context.path]);	
    	this.title('Mi is az a Digital Signage? - Signity Networks');
	});
    this.get('#/digital-signage-lehetosegek/:anchor', function(context) {
		var spl = splitURL(context.path);
		showSubPage(sitemap[spl.page], spl.param);
		this.title('Digital Signage lehetőségek - Signity Networks');
    });
    this.get('#/videro', function(context) {
		showPage(sitemap[context.path]);
		this.title('A VIDERO(R) megoldás alapkoncepciója - Signity Networks');
	});
    this.get('#/videro-alapelemek/:anchor', function(context) {
		var spl = splitURL(context.path);
		showSubPage(sitemap[spl.page], spl.param);
    	this.title('A VIDERO(R) rendszer alapelemei - Signity Networks');
	});
    this.get('#/videro-kiemelkedo-kepessegek/:anchor', function(context) {
		var spl = splitURL(context.path);
		showSubPage(sitemap[spl.page], spl.param);
    	this.title('A VIDERO(R) DS rendszer kiemelkedő képességei - Signity Networks');
	});
    this.get('#/videro-referenciak', function(context) {
    	showSubPage(sitemap[context.path]);
		this.title('A VIDERO(R) rendszer gyártójáról - Signity Networks');
    });
    this.get('#/fejleszteseink', function(context) {
    	showPage(sitemap[context.path]);
    	this.title('Fejlesztéseink - Signity Networks');
	});
    this.get('#/gps-alapu-multimedia', function(context) {
    	showSubPage(sitemap[context.path]);
		this.title('GPS alapú járműreklám és utastájékoztató rendszer - Signity Networks');
    });
    this.get('#/gps-alapu-multimedia-alegysegek', function(context) {
		showSubPage(sitemap[context.path]);
		this.title('A járműben telepített rendszer alegységei - Signity Networks'); });
  });
  
  $(function() {
    app.run('#/');
  });
  
	var $carousel = $('#refCarousel ul'),
	liCount = $('#refCarousel ul li').length,
	viewLi = 4,
	actLi = 4;
	
	$('#prev').click(function(e) {
		if (actLi > viewLi) {
			$carousel.animate({
				marginLeft: parseInt($carousel.css('margin-left')) + 253 + 'px'
			}, 400, 'swing', function(){
				actLi--;
			});
		}
		e.preventDefault();
	})
	
	$('#next').click(function(e) {
		if (actLi < liCount) {
			actLi++
			$carousel.animate({
				marginLeft: -((actLi - viewLi) * 253) + 'px'
			}, 400, 'swing');
		}
		e.preventDefault();
	})
  
})(jQuery);
