var selected = {print_id:0};
var current = {print_id:0};
var request_id = 0;
var msie55 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 5.5") != -1);
var msie6 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 6.0") != -1);
var reload_page = false;
var delay_timer = null;
var loading_selected = false;
var goods_front_loaded = false;
var goods_back_loaded = false;

function do_search(text){
	url = '/' + encodeURIComponent(text);
	window.location = url;
}

function change_goods(option, value){
	popup_wait();
	$.get('/set/'+option+'/'+value, function(response){
		if(response=='redirect'){
			location.reload();
			return false;
		}
		popup_wait_done();
	});
}

function scroll_to(top, bottom) {
	bottom = typeof(bottom) != 'undefined' ? bottom : top;
    var targetOffset = $(top).offset().top;
	var frame = ($.browser.safari) ? $('body') : $('html'); // Dirty fix,i know
    if (targetOffset > 0 && (targetOffset < frame.scrollTop() || $(bottom).offset().top+$(bottom).height() > frame.scrollTop()+frame.height())) {
        frame.animate({scrollTop:targetOffset},400);
    }
}

function cart_add(print_id){
	var doShow = function(hash){
		$.get('/cart/get/incart', function(response){
			var cnt = '('+response+')';
			$('.counter').text(cnt);
		}, 'text');
	};
	var doOverlay = (msie55 || msie6) ? 0 : 50;
	$('.modalbox').jqm({
		ajax:'/cart/add/'+print_id,
		trigger:'.cart-add',
		overlay:doOverlay,
		ajaxText:'<div class="loading" style="height:16px; background-position:top left; padding-left:20px;">Пожалуйста, подождите...</div>',
		onLoad:doShow
		}).jqmShow();
}

function set_cart(print_id) {
	var doShow = function(hash){
		$.get('/cart/get/incart', function(response){
			var cnt = '('+response+')';
			$('.counter').text(cnt);
		}, 'text');
	};
	var doClose=function(hash) {
		if(reload_page){
			location.reload();
		}
		hash.w.hide();
		hash.o.remove();
	};
	var doOverlay = (msie55 || msie6) ? 0 : 50;
	$('.modalbox').jqm({
		ajax:'/cart/add/'+print_id,
		trigger:'.cart-add',
		overlay:doOverlay,
		ajaxText:'<div class="loading" style="height:16px; background-position:top left; padding-left:20px;">Пожалуйста, подождите...</div>',
		onLoad:doShow
		});
	$('.cartbox').jqm({
		ajax:'/cart/last',
		trigger:'.cart-last',
		overlay:doOverlay,
		ajaxText:'<div class="loading" style="height:16px; background-position:top left; padding-left:20px;">Пожалуйста, подождите...</div>',
		onHide:doClose
		});
}

function checkout() {
	var fname = $('#name').val();
	var fphone = $('#phone').val();
	var finfo = $('#addinfo').val();
	var femail = $('#email').val();
	$('.cartbox').addClass('loading').html('');
	$.get('/cart/checkout/', {name:fname, phone:fphone, info:finfo, email:femail}, function(response){
		reload_page = true;
		$('.cartbox').removeClass('loading');
		$('.cartbox').html(response);
		$('.cartbox').jqmAddClose('.jqmClose');
	});
}

function show_image(print_id, select, do_delay) {
	do_delay = typeof(do_delay) != 'undefined' ? do_delay : true;
	if (delay_timer) clearTimeout(delay_timer);
	if (do_delay) {
		do_delay = 350;
	} else {
		do_delay = 0;
	}
	delay_timer = setTimeout(function(){
		if (delay_timer) clearTimeout(delay_timer);
		var current_request = new Date().getTime();
		current_request = current_request + Math.random();
		request_id = current_request;
		loading_selected = false;
		if (print_id == -1) {
			print_id = selected.print_id;
		}
		if (print_id == current.print_id) {
			if (select) {
				selected = current;
				$.cookies.set('print_id', selected.print_id);
			}
		}
		if (print_id == 0) {
			current = {print_id:0};
			$('.preview-image').css('background-image','none');
			$('.preview').removeClass('loading');
			if (select) {
				selected = {print_id:0};
				$.cookies.set('print_id', selected.print_id);
			}
			return false;
		}
		if (print_id == selected.print_id && selected.image_path) {
			current = selected;
			$('.preview-image').css('background-image','none');
			if (selected.print_id) {
				$('.preview').removeClass('loading');
				$('.preview-image').css('background-image','url(/images/'+selected.image_path+')');
				$('.preview-image').css('background-position',selected.valign+' '+selected.halign);
				if ($.browser.msie) {
					$('.preview-image').show();
					if (msie55 || msie6) {
						DD_belatedPNG.fix('.preview-image');
					}
				} else {
					$('.preview-image').fadeIn();
				}
			}
			return false;
		}
		loading_selected = select;
		if (select) {
			selected = {print_id:0};
			selected.print_id = print_id;
		}
		$('.preview-image').css('background-image','none');
		$('.preview').addClass('loading');
		$.getJSON('/print/'+print_id+'/'+current_request, function(data){
			loading_selected = false;
			if (selected.print_id == data.print_id) {
				selected = data;
			}
			if (data.request_id == request_id) {
				current = data;
				if (select) {
					selected = data;
					$.cookies.set('print_id', selected.print_id);
				}
				if (current.print_id) {
					var img = new Image();
					$(img).load(function () {
						if (request_id == current_request) {
							$('.preview-image').hide();
							$('.preview').removeClass('loading');
							$('.preview-image').css('background-image','url(/images/'+current.image_path+')');
							$('.preview-image').css('background-position',current.valign+' '+current.halign);
							if ($.browser.msie) {
								$('.preview-image').show();
								if (msie55 || msie6) {
									DD_belatedPNG.fix('.preview-image');
								}
							} else {
								$('.preview-image').fadeIn();
							}
						}
					}).error(function () {
						$('.preview').removeClass('loading');
					}).attr('src', '/images/'+current.image_path);
				}
			}
		});
	},do_delay);
}

function hide_image() {
	if (delay_timer) clearTimeout(delay_timer);
  	if(!loading_selected){
    	show_image(-1, false, false);
	}
}

function select_image(print_id) {
	set_cart(print_id);
	scroll_to('.yesdiv', '.preview-image');
	show_image(print_id, true, false);
	$('.data-0-href').attr('href','/view/'+print_id);
}

function clear_image() {
    scroll_to('.print-id-'+$.cookies.get('print_id'));
	set_cart(0);
    show_image(0, true);
	hide_hidden(0);
}

function cart_change(row, option, value, element, text) {
	popup_wait();
	$.getJSON('/cart/update/'+row+'/'+option+'/'+value, function(data){
		if (data.reload == 'reload') {
			location.reload();
			return false;
		}
		if (element != false) {
			$(element).text(text);
		}
		if (data.price != 'false') {
			$('.price-'+row+'-rubli').text(data.price.substring(0, data.price.length-3));
			$('.price-'+row+'-kop').text(data.price.substring(data.price.length-3));
		}
		if (data.sum != 'false') {
			$('.sum-rubli').text(data.sum.substring(0, data.sum.length-3));
			$('.sum-kop').text(data.sum.substring(data.sum.length-3));
		}
		if(data.image != false){
			var img = new Image();
			$('.row-'+row+'-img').hide();
			$('.row-'+row+'-image').addClass('loading');
			$(img).load(function () {
				$('.row-'+row+'-image').removeClass('loading');
				$('.row-'+row+'-img').attr('src','/images/'+data.image).show();
			}).error(function () {
				$('.row-'+row+'-image').removeClass('loading');
			}).attr('src', '/images/'+data.image);
		}
		popup_wait_done();
		return false;
	});
}

function color_change(color_id) {
	popup_wait();
	$.getJSON('/set/printcolor/'+color_id, function(data){
		if (data.done == true) {
			$('.print-color-name').text(data.color_name);
			selected = {print_id:0};
			current = {print_id:0};
			show_image($.cookies.get('print_id'),true);
		}
		popup_wait_done();
		return false;
	});
}

function popup_wait() {
	$('.popup-content').hide();
}

function popup_wait_done() {
	$('.popup-content').show();
}

function show_hidden(print_id){
  if (selected.print_id) {
  	$('.hidden-'+print_id+'-data').show();
  }
}

function hide_hidden(print_id){
	$('.hidden-'+print_id+'-data').hide();
}

function goods_image_loaded(kind){
	if (kind == 'front') {
		goods_front_loaded = true;
	}
	if (kind == 'back') {
		goods_back_loaded = true;
	}
	if (goods_front_loaded == true && goods_back_loaded == true) {
		$('.humandiv').css('background-position','0 0');
		$('.humandiv').css('background-image','url('+$('.goods-bg-loading').attr('src')+')');
		$('.shirtdiv').css('background-image','url('+$('.goods-fg-loading').attr('src')+')');
		if (msie55 || msie6) {
			//DD_belatedPNG.fix('.humandiv, .shirtdiv');
			$('.humandiv').pngFix({ blankgif:'/images/blank.gif' });
			$('.shirtdiv').pngFix({ blankgif:'/images/blank.gif' });
		}
		$('.goods-fg-loading').remove();
		$('.goods-bg-loading').remove();
	}
}

function hide_info_bar(){
    $.cookies.set('hide_info_bar', 1/*,{expiresAt: new Date( 2100, 1, 1 )}*/);
    $('.bannerdiv').hide();
}

$().ready(function() {
	set_cart(0);
	if ($.cookies.get('print_id')) {
		select_image($.cookies.get('print_id'));
	}
	$('.popup').hide();

	if (msie55 || msie6) {
		$('.bannerdiv').append('<div><br/>Internet Explorer 6 <span class="activeplace">не способен</span> корректно отображать все возможности данного сайта!<br/>Настоятельно Вам рекомендуем <a href="/ie6" class="menuhref">выбрать и установить</a> любой из современных браузеров. Это бесплатно и займет всего несколько минут.</div>');
	}
    
    if ($.cookies.get('hide_info_bar')) {
		$('.bannerdiv').hide();
	}else{
	   $('.hide_info_bar').click(function(){hide_info_bar();});
	}
});
