//-------------------------------------------------------------------------------
// settings
//-------------------------------------------------------------------------------
	var fancyDefaults = {
		overlayOpacity: 0.3,
		overlayColor: '#5e2b84',
		showCloseButton: false,
		centerOnScroll: true
	};
//-------------------------------------------------------------------------------
// functions
//-------------------------------------------------------------------------------
	function preloadImages(imgs){
		var picArr = [];
		for (i = 0; i<imgs.length; i++){
			picArr[i]= new Image(100,100); 
			picArr[i].src=imgs[i]; 
		}
	}
//-------------------------------------------------------------------------------
	function fancySuccess(content, options){
		$.fancybox(
			"<div style='white-space:nowrap'><img style='vertical-align:middle;margin-right:20px;' src='/images/content/tick.png' /><b>" + content + "</b></div>",
			$.extend({}, fancyDefaults, options, {
				modal: true,
				onComplete: function(){
					window.setTimeout('$.fancybox.close()', 1000);
				}
			})
		);
	}
//-------------------------------------------------------------------------------
	function fancyAlert(content, options){
		$.fancybox(
			"<div style='padding:20px 20px 5px'><p><b>" + content + "</b></p></div><div style='background-color:#e2ddec;padding:10px 15px'><div class='small button' style='float:left'><a href='#' onclick='$.fancybox.close();return false;'>Rendben</a><div class='left'></div><div class='right'></div></div><div style='clear:both'></div></div>",
			$.extend({padding:0}, fancyDefaults, options)
		);
	}
//-------------------------------------------------------------------------------
	function fancyDialog(content, options){
		$.fancybox(
			"<div style='padding:20px 20px 5px'><p><b>" + content + "</b></p></div><div style='background-color:#e2ddec;padding:10px 15px'><div class='small button' style='float:left'><a name='continue'>Igen</a><div class='left'></div><div class='right'></div></div><div class='small button' style='float:left'><a onclick='$.fancybox.close();return false;'>Mégsem</a><div class='left'></div><div class='right'></div></div><div style='clear:both'></div></div>",
			$.extend({padding:0}, fancyDefaults, options)
		);
	}
//-------------------------------------------------------------------------------
	function fancyRateDialog(options){
		$.fancybox(
			"<div style='padding:20px 20px 5px'><h2>Termék értékelése</h2><div class='rate'><div class='star'><div></div>1</div><div class='star'><div></div>2</div><div class='star'><div></div>3</div><div class='star'><div></div>4</div><div class='star'><div></div>5</div><div style='clear:both'></div></div></div><div style='background-color:#e2ddec;padding:10px 15px'><div class='small button' style='float:left'><a onclick='$.fancybox.close();return false;'>Mégsem</a><div class='left'></div><div class='right'></div></div><div style='clear:both'></div></div>",
			$.extend({padding:0, width:240, height:150, autoDimensions:false}, fancyDefaults, options)
		);
	}
//-------------------------------------------------------------------------------
// exec
//-------------------------------------------------------------------------------
	preloadImages([
		'/images/loading.gif',
		'/images/content/tick.png'
	]);
	$.ajaxSetup({timeout: 10000});
	$(document).ready(function(){
	//loader
		$('body').prepend("<div id='layer-loading' style='display:none;width:100%;height:100%;z-index:9999;position:fixed;background-color:#5e2b84;opacity:0.3;filter:alpha(opacity=30);'><div style='width:100%;height:100%;background:url(/images/loading.gif) center center no-repeat;cursor:wait;'><img src='/images/spacer.gif' width='100%' height='100%' style='float:left;border:0 none;' /></div></div>");
	//fontfix
		$('h1, div.price').ieffembedfix();
	//fancybox
		$('a[rel], div.font.content a.viewfont, div.cart.content div.photo a, div.favourites.content div.photo a').fancybox({overlayOpacity: 0.3, overlayColor: '#5e2b84', titleShow: false, centerOnScroll: true});
	//search
		if($('input', '#col-left div.search').val() == '') $('div.search input').val('Keresés…').one('click', function(){$(this).val('');});
	//check order
		$('a', '#site-right div.checkorder').click(function(event){
			event.preventDefault();
			var id = $('input', '#site-right div.checkorder');
			if(!id.val()){
				id.addClass('error');
				return;
			}
			window.location.href = $(event.currentTarget).prop('href') + '?id=' + id.val();
		});
	//favourites
		$('a.bookmark', '#site-content').live('click', function(){
			if($(this).hasClass('active')){
				$.post('http://' + location.host + '/include/favourites.communication.php', {
					action: 	'del',
					id: 			$(this).closest('div.content').children('a[name]').attr('name')
				}, $.proxy(function(response){
					if(response.error){
						fancyAlert(response.error);
						return;
					}
					$('div.favourites div.mid', '#site-right').html(response.html);
					$(this).removeClass('active');
					fancySuccess('A terméket a Kedvencek közül eltávolítodtad', {onClosed: function(){
						$(document).trigger('deleted.bookmark');
					}});
				}, this), 'json');
			}else{
				$.post('http://' + location.host + '/include/favourites.communication.php', {
					action: 	'add',
					id: 			$(this).closest('div.content').children('a[name]').attr('name')
				}, $.proxy(function(response){
					if(response.error){
						fancyAlert(response.error);
						return;
					}
					$('div.favourites div.mid', '#site-right').html(response.html);
					$(this).addClass('active');
					fancySuccess('A terméket a Kedvencek közé tetted');
				}, this), 'json');
			}
			return false;
		});
	//login
		$('input', 'div.login').keyup(function(event){
			if(event.keyCode == 13)
				$('form[name=login]', 'div.login').submit();
		});
		$('a[name=login]', 'div.login').click(function(event){
			event.preventDefault();
			$('form[name=login]', 'div.login').submit();
		});
		$('form[name=login]', 'div.login').submit(function(event){
			$.post('http://' + location.host + '/include/user.communication.php', {
				action: 	'login',
				email: 		$('input[name=email]', 'div.login').val(),
				password: $('input[name=password]', 'div.login').val()
			}, $.proxy(function(response){
				if(response == 'validationError'){
					fancyAlert('Nem megfelelő e-mail cím/jelszó.<br/>Kérlek próbáld újra!');
					return false;
				}
				window.location.reload();			
			}, this));
		});
	//logout
		$('a[name=logout]', 'div.logout').click(function(event){
			event.preventDefault();
			$.post('http://' + location.host + '/include/user.communication.php', {action: 'logout'}, $.proxy(function(){
				window.location.reload();
			}, this));
		});
	//rate
		$('a', 'div.product div.rate').click(function(event){
			event.preventDefault();
			var target = $(event.currentTarget);
			fancyRateDialog({onComplete: function(){
				$('div.star', '#fancybox-content').hover(function(){
					$(this).prevAll('div.star').andSelf().addClass('rated');
				}, function(){
					$('div.star.rated', '#fancybox-content').removeClass('rated');
				});
				$('div.star', '#fancybox-content').click(function(event){
					$.post('http://' + location.host + '/include/rate.communication.php', {action: 'rate', id: target.closest('div.content').children('a[name]').attr('name'), rate: $(event.currentTarget).index() + 1}, function(response){
						if(response.error){
							fancyAlert(response.error);
							return;
						}
						fancySuccess('Köszönjük, hogy értékelted a terméket');
						target.next('div.stars').html(response.html);
					}, 'json');
				});
			}});
		});
	//cart
		$('a', 'div.product div.cart').click(function(event){
			event.preventDefault();
			$.post('http://' + location.host + '/include/basket.communication.php', {
				action: 	'add',
				id: 			$(this).closest('div.content').children('a[name]').attr('name')
			}, $.proxy(function(response){
				if(response.error){
					fancyAlert('Nem sikerült…<br/>' + response.error);
					return;
				}
				$('div.cart div.mid', '#site-right').html(response.html);
				fancySuccess('Ez a termék a kosaradba került');
			}, this), 'json');
		});
	//content tabs
		$('a', 'div.content > div.tabs').live('click', function(event){
			event.preventDefault();
			$(this).parent().addClass('active').siblings().removeClass('active');
			var row = $(this).closest('div.tabs').children().index($(this).parent());
			$(this).closest('div.content').find('div.tab').hide().eq(row).show();
			$(this).closest('div.content').trigger('tabSwitch');
		});
		$('a', 'div.content > div.tabs > div:eq(0)').click();
		
	}).ajaxStart(function(){
		$('#layer-loading').css('display', 'block');
	}).ajaxComplete(function(){
		$('#layer-loading').css('display', 'none');
	}).ajaxError(function(event, xhr){
		alert('A műveletet nem sikerült végrehajtani…\nPróbálja meg mégyegyszer!');
	});

