var $j = jQuery.noConflict();
var tempEl = null;

var shop = new Shop();
var basketLoginHtml = '';

var specialOfferInterval = null;

$j(document).ready(function() {
	
	shop.basketElement = $j('.pregled');
	
	shop.initialze();
	
	/*
	*	Kategorije i podkategorije
	*/
	$j('#side-nav>li.sub>a').click(function() {
		if ($j(this).parent().children('ul').length > 0) {
			if ($j(this).parent().children('ul:visible').length > 0) {
				$j(this).parent().children('ul').slideUp();
			} else {
				$j(this).parent().children('ul').slideDown();
			}
		} else {
			return true;
		}
		return false;
	});
	
	$j('#side-nav>li.sub>ul>li>a').click(function() {
		if ($j(this).parent().children('ul').length > 0) {
			if ($j(this).parent().children('ul:visible').length > 0) {
				$j(this).parent().children('ul').slideUp();
			} else {
				$j(this).parent().children('ul').slideDown();
			}
		} else {
			return true;
		}
		return false;
	});
	
	// trenutna kategorija
	
	var url = document.URL;
	var url = url.split('?');
	if (url.length>1) {
		url = url[1].split('/');
		if (url.length > 0) {
			$j('#side-nav>li.sub.' + url[0] + '>a').addClass('active');
			$j('#side-nav>li.sub.' + url[0] + '>a').click();
		}
		if (url.length > 1) {
			$j('#side-nav>li.sub.' + url[0] + ' li.' + url[1] + ' a').addClass('active');
		}
		if (url.length > 3) {
			$j('#side-nav>li.sub.' + url[0] + ' li.' + url[1] + ' a').removeClass('active');
			$j('#side-nav>li.sub.' + url[0] + ' li.' + url[1] + ' a').click();
			$j('#side-nav>li.sub.' + url[0] + ' li.' + url[1] + ' ul li.' + url[2] + ' a').addClass('active');
		}
	}
	
	$j('#product-search').focusin(function() {
		if ($j(this).val() == 'Unesite pojam za pretragu') {
			$j(this).val('');
		}
	});
	
	$j('#product-search').focusout(function() {
		if ($j(this).val() == '') {
			$j(this).val('Unesite pojam za pretragu');
		}
	});
	
	//	košarica
	
	$j('.basket-add').click(function() {
		shop.addToBasket($j(this).attr('item_id'), $j(this).parent());
		return false;
	});
	
	$j('#actions .basket').click(function() {
		window.location = base_path + '/kosarica';
		return false;
	});
	
	if ($j('.pregled').length > 0) {
		shop.renderBasket();
	}
	
	$j('.cart h3').click(function() {
		
		var index = $j('.cart h3').index($j(this));
		if (index == 1) {
			shop.user.basketLogin();
		}
		if (index == 2) {
			if (!shop.user.logged) return false;
			var html = '\
			' + shop.user.firstName + ' ' + shop.user.lastName + '<br>\
			' + '<strong>' + shop.user.address + '</strong><br>\
			' + '<strong>' + shop.user.town + '</strong><br>\
			' + 'Mail adresa: ' + shop.user.email + '\
			';
			$j('.address p').html(html);
		}
		
		if ($j(this).hasClass('minimize')) {
			$j(this).next().slideUp();
			$j(this).removeClass('minimize');
		} else {
			$j(this).next().slideDown();
			$j(this).addClass('minimize');
		}
		return false;
	});
	
	$j('.cart .step-1').click(function() {
		$j('.cart h3:eq(0)').addClass('minimize');
		$j('.cart h3:eq(0)').click();
		
		$j('.cart h3:eq(1)').removeClass('minimize');
		$j('.cart h3:eq(1)').click();
	});
	
	$j('.cart .step-2').click(function() {
		$j('.cart h3:eq(1)').addClass('minimize');
		$j('.cart h3:eq(1)').click();
		
		$j('.cart h3:eq(2)').removeClass('minimize');
		$j('.cart h3:eq(2)').click();
	});
	
	$j('.cart .finish').click(function() {
		$j('#shipping-form').ajaxForm();
		$j('#shipping-form').ajaxSubmit({
			dataType:  'json', 
		    success: function(data) {
				// button.removeClass('loading');
				if (data.success == 1) {
					switch (data.type) {
						case 2:
							html = '\
							<h3>Narudžba poslana</h3>\
							<p>Za nekoliko trenutaka bit ćete preusmjereni na T-Com PayWay sustav za naplatu.</p>\
							\
							';
							$j('#main-content .inner').html(html);
							$j('#main-content .inner').append(data.html);
							setTimeout(function() {
								$j('#webshop_data').submit();
							}, 3000);
							break;
						default:
							html = '\
							<h3>Narudžba poslana</h3>\
							<p>Vaša narudžba je uspješno poslana i bit ćete kontaktirani u najkraćem mogućem roku. Zahvaljujemo na kupovini!</p>\
							<p>Kliknite <a href="#">ovdje</a> za povratak na početnu stranicu.</p>\
							\
							';
							$j('#main-content .inner').html(html);
							break;
					}
					shop.refreshBasket();
				} else {
					$j('.message p').html(data.message);
					$j('.message').fadeIn();
				}
		    }
		});
	});
	
	$j('.payment').change(function() {
		$j.ajax({
			url: base_path + "/shop/index.php/basket/payment",
			data: 'type=' + $j(this).val(),
			type: "POST",
			dataType: 'json',
			success: function(data){
				try {
					shop.renderBasket();
				} catch (ex) {
					console.error(ex);
				}
			}
		});
	});
	
	//	login/out
	
	$j('#actions .logout a').click(function() {
		if (shop.user.logged) {
			$j.ajax({
				url: base_path + "/shop/index.php/user/logout",
				type: "POST",
				dataType: 'json',
				success: function(data){
					try {
						window.location = base_path + '/prijava';
					} catch (ex) {
						console.error(ex);
					}
				}
			});
		} else {
			window.location = base_path + '/prijava';
		}
		return false;
	});
	
	$j('#actions .account a').click(function() {
		window.location = base_path + '/moj-racun';
		return false;		
	});
	
	//	set filed focus
	
	$j('.email').focus();
	
	//	login
	
	shop.user.login();
	
	//	register
	
	shop.user.register();
	
	//	lost password
	
	shop.user.lostPass();
	
	//	change password
	
	shop.user.changePass();
	
	//	load user details
	
	shop.user.detailsLoad();
	
	//	user details
	
	shop.user.details();
	
	//	search button
	
	$j('#search-button').click(function() {
		if (($j('#product-search').val() != 'Unesite pojam za pretragu') && ($j('#product-search').val() != '')) {
			$j(this).closest('form').submit();
		}
	});
	
	//	highlight
	
	$j('#highlight .prev').click(function() {
		var index = $j('#highlight .inner li').index($j('#highlight .inner li:visible'));
		index--;
		if (index < 0) index = $j('#highlight .inner li').length - 1;
		$j('#highlight .inner li:visible').fadeOut();
		$j('#highlight .inner li:eq(' + index + ')').fadeIn();
		return false;
	});
	
	$j('#highlight .next').click(function() {
		var index = $j('#highlight .inner li').index($j('#highlight .inner li:visible'));
		index++;
		if (index >= $j('#highlight .inner li').length) index = 0;
		$j('#highlight .inner li:visible').fadeOut();
		$j('#highlight .inner li:eq(' + index + ')').fadeIn();
		return false;
	});
	
	//	results sort
	
	$j.ajax({
		url: base_path + "/shop/index.php/sort/get",
		type: "POST",
		dataType: 'json',
		success: function(data){
			if (data.success == 1) {
				$j('#sort-type').val(data.type);
				if (data.type == 1) {
					$j('#sort-option-1').val(data.option);
					$j('#sort-option-1').show();
					$j('#sort-option-2').hide();
				}
				if (data.type == 2) {
					$j('#sort-option-2').val(data.option);
					$j('#sort-option-1').hide();
					$j('#sort-option-2').show();
				}
			}
		}
	});
	
	$j('#sort-type').change(function() {
		changeSort();
	});
	
	$j('#sort-option-1').change(function() {
		changeSort();
	});
	
	$j('#sort-option-2').change(function() {
		changeSort();
	});
	
	//	kontakt
	
	$j('#contact-form').ajaxForm();
	$j('#contact-form .input-button').click(function() {
		var button = $j(this);
		if (button.hasClass('loading')) return false;
		button.addClass('loading');
		$j('#contact-form').ajaxSubmit({
			url: base_path + "/shop/index.php/user/contact",
			dataType:  'json', 
		    success: function(data) {
				button.removeClass('loading');
				if (data.success == 1) {
					$j('.success').html(data.message);
					$j('.success').fadeIn();
					button.removeClass('loading');
				} else {
					$j('.message').html(data.message);
					$j('.message').fadeIn();
					button.removeClass('loading');
				}
		    }
		});
	});
	
	// trenutna kategorija
	
	var url = document.URL;
	if (url.indexOf('kontakt-trogir') > 0) {
		$j('#poslovnice a').removeClass('active');
		$j('#poslovnice a:eq(2)').addClass('active');
	}
	if (url.indexOf('kontakt-gunduliceva') > 0) {
		$j('#poslovnice a').removeClass('active');
		$j('#poslovnice a:eq(1)').addClass('active');
	}
	
	//	special offer
	
	specialOfferInterval = setTimeout(function() { specialOffer(); }, 10000);
	
	$j(window).focus(function() {
        specialOfferInterval = setTimeout(function() { specialOffer(); }, 10000);
    });

    $j(window).blur(function() {
        clearInterval(specialOfferInterval);
    });
	
});

function changeSort() {
	
	if ($j('#sort-type').val() == 1) {
		$j('#sort-option-1').show();
		$j('#sort-option-2').hide();
		shop.changeSortType($j('#sort-type').val(), $j('#sort-option-1').val());
	}
	if ($j('#sort-type').val() == 2) {
		$j('#sort-option-1').hide();
		$j('#sort-option-2').show();
		shop.changeSortType($j('#sort-type').val(), $j('#sort-option-2').val());
	}
	
}

function specialOffer() {
	var index = $j('#highlight .inner li').index($j('#highlight .inner li:visible'));
	index++;
	if (index == $j('#highlight .inner li').length) index = 0;
	$j('#highlight .inner li:visible').fadeOut();
	$j('#highlight .inner li:eq(' + index + ')').fadeIn();
	specialOfferInterval = setTimeout(function() { specialOffer(); }, 10000);
}

