$(function(){
	var history = $('<iframe>').hide().appendTo('body');
	var container = $('div#event-list, div#ship-list, div#history-list');
	
	function loadList(list){
		$(container[list]).addClass('loading');
		$.getJSON('module/mod.order.php?action=show&list=' + list, function(data){
			if(data.success){
				var _container = $(container[list]).empty().removeClass('loading');
				var itemPerPage = 5;
				if(list == 2){
					data.data.reverse();
					$('#history-pagination').pagination(data.data.length, {
						items_per_page: itemPerPage,
						prev_text: '\u2190',
						next_text: '\u2192',
						callback: function(index, container){
							_container.empty();
							for(var i = index * itemPerPage, limit = Math.min(data.data.length, (index + 1) * itemPerPage); i < limit; i++){
								_container.append([
									'<p class="orderList enquiry">',
									'<span class="name">', data.data[i].name, '</span>',
									'<span class="id">#', data.data[i].id, '</span>',
									'<span class="date">', data.data[i].date, '</span>',
									'</p>',
									'<p class="orderList comment">', data.data[i].comment, '</p>'
								].join(''));
								
								data.data[i].reply && _container.append('<p class="orderList reply">' + data.data[i].reply + '</p>');
							}
						}
					});
				}else{
					$.each(data.data, function(i, data){
						_container.append([
							'<p class="orderList ', data.comment == '*' ? 'category' : '', '">',
							'<span class="name">', data.name, '</span>',
							'<span class="product">', data.product, '</span>',
							'<span class="note">', data.note , '</span>',
							'<span class="price">', data.price, '</span>',
							'</p>'
						].join(''));
					});
				}
			}
		});
	}
	
	$('div.productGroup').each(function(){
		var itemPerPage = 4;
		var container = $('<div>').appendTo(this);
		var items = $('a', this).detach().each(function(){
			var path = 'images/products/' + $('span.code', this).text() + '.' + ($(this).data('format') || 'jpg');
			$(this).css('background-image', 'url(' + path + ')').append('<img src="' + path + '">');
		});
		$('<div class="paginationWrapper">').prependTo(this).pagination(items.length, {
			prev_text: '\u2190',
			next_text: '\u2192',
			items_per_page: itemPerPage,
			callback: function(index){
				container.empty();
				items.slice(index * itemPerPage, Math.min(items.length, (index + 1) * itemPerPage)).clone().appendTo(container);
			}
		});
	});
	
	$('div.accordion h3 a').click(function(){
		history[0].src = '~book/' + ($(this).children('span.code').length ? $(this).children('span.code').text() : $(this).attr('id'));
	});
	
	$('div.tab:eq(0) ul li a').click(function(){
		history[0].src = '~product/' + $(this).attr('href').substr(1);
	})
	
	$('input#show-prev-book').bind('click change', function(e){
		e.stopPropagation();
		$('div#prev-book-list').nextAll('h3, div:visible')[$(this).attr('checked') ? 'show' : 'hide']();
	});
	$('div#prev-book-list').nextAll('h3, div').hide();
	
	$('div.bookThumb').each(function(){
		var container = this;
		var proc = $(this).attr('rel');
        var name = $(this).parent().prev().find('span.code')[0].nextSibling.nodeValue;
		$.getJSON('module/mod.thumbnail.php?id=' + proc, function(data){
			for(var i in data){
				$(container).append('<a class="nyroModal" rel="ny' + proc + '" href="' + data[i].full + '" title="' + name + '"><img src="' + data[i].thumb + '"></a>');
			}
			$(".nyroModal", container).nyroModal();
		});
	});
	
	$('a[href=#tabs-event]').click(function(){loadList(0)}).click();
	$('a[href=#tabs-ship]').click(function(){loadList(1)});
	$('a[href=#tabs-history]').click(function(){loadList(2)});
	
	$('input[rel=name]').watermark('default', '\u5c0f\u8c93\u4e00\u53ea');
	$('input[rel=email]').watermark('default', 'somecat@somewhere.com');
	$('input[rel=product]').watermark('default', 'D09 x 1, T34 x 1 (\u6c92\u6a19\u793a\u6578\u91cf\u9ed8\u8a8d\u70ba\u4e00\u4ef6)');
	$('input[rel=event]').watermark('default', '\u5982\u53c3\u5c55\u591a\u65bc\u4e00\u5929\u8acb\u6a19\u793a\u54ea\u5929\u53d6\u8ca8 (\u4f8b\u5982 CWHK30 Day2)');
	$('input[rel=region]').watermark('default', '\u53f0\u7063');
	$('input[rel=comment]').watermark('default', '\u6b64\u6b04\u53ea\u4f9b\u984d\u5916\u8981\u6c42\u7528\uff0c\u4e0d\u6703\u4f5c\u51fa\u56de\u8986\uff0c\u9700\u8981\u56de\u8986\u8005\u8acb\u5230\u7559\u8a00\u7a97');
	
	$('form.mod_order :submit').click(function(e){
		return !$(this).hasClass('loading');	
	});
	
	$('form.mod_order').submit(function(e){
		var self = this;
		e.preventDefault();
		$('p.error', this).removeClass('error');
		$('input:submit', this).addClass('loading');
		$.post($(this).attr('action'), $(this).serialize(), function(data){
			data = $.parseJSON(data);
			$('input', self).focus().blur();
			$('input:submit', self).removeClass('loading');
			if(data.error){
				$('input[name=' + data.error + ']', self).parent().addClass('error');
			}else{
				$('a[href=#' + $(self).parents('div:not(.quote):eq(0)').attr('id') + ']').click();
			}
		});
	});
	
	$('input.float').mouseover(function(){$(this).addClass('active')}).mouseout(function(){$(this).removeClass('active')});
	
	$('.tab').tabs();
	$('.accordion').accordion({autoHeight: false});
	
	$('td.leaftop').nextAll().each(function(i){
		var color = [~~(Math.random()*256), ~~(Math.random()*256), ~~(Math.random()*256)].join(',');
		//var color = (function(h){return '#000000'.substr(0,7-h.length)+h})((~~(Math.random()*(1<<24))).toString(16));
		$(this).css('background-color', 'rgb(' + color + ')');
		$('head').append('<style type="text/css">td.content:nth-child('+(i+2)+') ::selection {background: rgba(' + color + ', 0.5)}</style>');
	});
	
	$('#prev-book-list img.bookCover').click(function(){
		if(!$('input#show-prev-book').prop('checked'))
			$('input#show-prev-book').click();
	});
	
	$('img.bookCover').click(function(){
		var target = $(this).attr('alt');
		$('div.accordion h3:visible a').filter(function(){
			return $('span.code', this).text() == target;
		}).click();
	})
	.mouseover(function(){
		var target = $(this).attr('alt');
		$('#prev-book-list tr').removeClass('hover');
		$('#prev-book-list span.proc_code').filter(function(){ return $(this).text() === target }).closest('tr').addClass('hover');
	})
	.mouseout(function(){
		$('#prev-book-list tr').removeClass('hover');
	});
	
	if($(window).height() != $('td.content').height() + 35){
		$(window).resize(function(){
			$("td.content").height($(window).height() - 35);
		}).resize();
		$('div#nav').hide();
	}else{
		$('div#nav a').each(function(i){
			var target = $('table#top > tbody > tr > td:eq(' + i + ')');
			$(this).data('target', target).click(function(){
				$('html,body').stop().animate({scrollLeft: target.offset().left + (target.width() - $(window).width()) / 2}, 200, 'swing');
			});
		});
		$('table#top > tbody > tr > td:gt(0)').each(function(i){
			$(this).mouseover(function(){
				$('div#nav').appendTo($(this).children('div'));
				$('div#nav a').each(function(j){
					var target = $(this).data('target');
					$(this).show().children('span').css('visibility', 'visible');
					if(i+1 > j && target.offset().left < $(window).scrollLeft()) $('span:last', this).css('visibility', 'hidden');
					else if(i+1 < j && target.offset().left + target.width() > $(window).scrollLeft() + $(window).width()) $('span:first', this).css('visibility', 'hidden');
					else $(this).hide();
				})
			})
		});
		$('html,body').mousemove(function(e){
			if(e.clientY > $(window).height() * 2 / 3){
				$('div#nav').stop().show().animate({opacity: 1}, 200);
			}else{
				$('div#nav').stop().animate({opacity: 0}, 100, function(){$(this).hide()});
			}
		});
	}
	
	$.escape=function(s){var a=[];for(var i=0;i<s.length;i++)a.push('\\u'+s.charCodeAt(i).toString(16));return a.join('')}
});

