cookieOpt = {expires: 30, path: '/', domain: 'smarter.co.kr'};

$(function(){
	//listview and gridview change
	$('a.gridview').click(function(){
		$.cookie('showGridView', 1, cookieOpt);
		window.location.reload();
	});
	$('a.listview').click(function(){
		$.cookie('showGridView', 0, cookieOpt);
		window.location.reload();
	});
	
	var rv = $.cookie('RecentlyViewed')||''; 
	var wl = $.cookie('WishList')||'';
	var prodListFormat = /(\d+-\d+-\d+x\d+x\d+\*?)+/;
	var prodDetailUrl = '/async/async_prod.php';
	var itemLimit = 18;
	var wishListLimit = 4;
	var recentlyViewedLimit = 4;
	
	$('a.savetowishlist').click(function(){
		var data = $(this).attr('name');
		var type = $(this).attr('type');
		var wl = $.cookie('WishList');
		if (type=='listview') {
			var p = $(this).parents('div.plist');
		} else if (type=='gridview') {
			var p = $(this).parents('div.pgridlist') 
		}
		if (wl==null) {
			wl = '';
		}
		if (wl.indexOf(data)!=-1) {
			return false;
		}
		if (wl.split('*').length >= itemLimit) {
			alert('Wish List is full! Please delete an item to add a new one.');
			return false;
		}
		d = new Date();
		var s = (d.getUTCMonth() + 1) + 'x' + d.getUTCDate() + 'x' + d.getUTCFullYear();
	    data += '-' + s;
	    if(wl!='') {
	    	data = '*' + data;
	    }
	    $.cookie('WishList', wl + data, cookieOpt);
	    var h = $('div.wishlist').outerHeight();
	    $('div.wishlistwrapper .overmylist').height(h).css({'opacity':'0.8'}).show();
	    loadAjaxData('wl');
	    if (type=='listview') {
	    	var o = $('div.addokbox').clone().prependTo(p).fadeIn('fast').children('div').width(p.outerWidth()).height(p.outerHeight());
		} else if (type=='gridview') {
			var o = $('div.addokbox').clone().prependTo(p).fadeIn('fast').children('div').height(p.outerHeight()).width(p.outerWidth());
		}
	    o.find('td').css('background','#666');
	    o.fadeOut(4000);
	    $(this).find('img').attr('src', '/images/saved_but.gif');
		return false;
	});
	
	$('div.wishlist > a.btnup').click(function(){
		var prev = $('div.wishlist li').index($('div.wishlist li:visible:first'))-1;
		var next = prev + wishListLimit;
		if (prev < 0) {
			return false;
		}
		$('div.wishlist li:eq('+prev+')').show('slow');
		$('div.wishlist li:eq('+next+')').hide('slow');
		if ($('div.wishlist li:first').is(':visible') && $('div.wishlist li').length > wishListLimit) {
			$('div.wishlist > a.btnup').hide();
		} 
		$('div.wishlist > a.btndown').show();
		return false;
	});
	$('div.recentlyviewed > a.btnup').click(function(){
		var prev = $('div.recentlyviewed li').index($('div.recentlyviewed li:visible:first'))-1;
		var next = prev + recentlyViewedLimit;
		if (prev < 0) {
			return false;
		}
		$('div.recentlyviewed li:eq('+prev+')').show('slow');
		$('div.recentlyviewed li:eq('+next+')').hide('slow');
		if ($('div.recentlyviewed li:first').is(':visible') && $('div.recentlyviewed li').length > recentlyViewedLimit) {
			$('div.recentlyviewed > a.btnup').hide();
		} 
		$('div.recentlyviewed > a.btndown').show();
		return false;
	});
	$('div.wishlist > a.btndown').click(function(){
		var next = $('div.wishlist li').index($('div.wishlist li:visible:last'))+1;
		var prev = next - wishListLimit;
		if (next >= $('div.wishlist li').length) {
			return false;
		}
		$('div.wishlist li:eq('+prev+')').hide('slow');
		$('div.wishlist li:eq('+next+')').show('slow');
		if ($('div.wishlist li:last').is(':visible') && $('div.wishlist li').length > wishListLimit) {
			$('div.wishlist > a.btndown').hide();
		}
		$('div.wishlist > a.btnup').show();
		return false;
	});
	$('div.recentlyviewed > a.btndown').click(function(){
		var next = $('div.recentlyviewed li').index($('div.recentlyviewed li:visible:last'))+1;
		var prev = next - recentlyViewedLimit;
		if (next >= $('div.recentlyviewed li').length) {
			return false;
		}
		$('div.recentlyviewed li:eq('+prev+')').hide('slow');
		$('div.recentlyviewed li:eq('+next+')').show('slow');
		if ($('div.recentlyviewed li:last').is(':visible') && $('div.recentlyviewed li').length > recentlyViewedLimit) {
			$('div.recentlyviewed > a.btndown').hide();
		} 
		$('div.recentlyviewed > a.btnup').show();
		return false;
	});
	
	deleteItemFromCookie = function(cookieName, data){
		var ck = $.cookie(cookieName);
		var cd = data;
		if(ck.indexOf(cd)!=-1){
	        pos = ck.indexOf(cd);
	        len = cd.length;
	        var next = ck.substr(pos+len,1);
	        if(next!=''){
	        	ck = ck.substr(0,pos)+ck.substr(pos+len+1);
	        } else {
	            if(ck == cd) {
	            	ck = "";
	            } else {
	            	ck = ck.substr(0,pos-1);
	            }
	        }
	        $.cookie(cookieName, ck, cookieOpt);
	        return true;
	    }
	    return false;
	};
	
	loadAjaxData = function(dt){
		if (dt=='all' || dt=='rv') {
			var rv = $.cookie('RecentlyViewed')||'';
			if ($('div.recentlyviewed').attr('data')!=rv && prodListFormat.test(rv)) {				
				var rvHtml = '';
				jQuery.post(prodDetailUrl, {'data':rv}, function(data, textStatus){
					var rvdata = data.prods;
					var lc = rv.split('*').reverse();
					var k = 0;
					for (i in rvdata) {
			            if (rvdata[i].chid<10) {
			            	rvdata[i].chid = '0'+rvdata[i].chid;
			            }			            
			            var nameStr = rvdata[i].chid+'-'+rvdata[i].pid+'-'+rvdata[i].date;
			            if(lc[i] != nameStr){
			                k++;			               
	                        lc.splice(i,1);
			            }
			            rvHtml += '<li><a href="'+rvdata[i].purl+'" target="_blank"><img src="'+rvdata[i].img+'" /></a><a href="#" data="' + nameStr + '" class="disn"><img src="/images/delete.gif" class="delete" /></a></li>';
					}
					$('div.recentlyviewed').attr('data',rv)
					$('div.recentlyviewed > a.btnup').hide();
					$('div.recentlyviewed > a.btndown').hide();
					if (rvdata.length > recentlyViewedLimit) {
						//$('div.recentlyviewed > a.btnup').show();
						$('div.recentlyviewed > a.btndown').show();
					}
					$('div.recentlyviewedwrapper .overmylist').fadeOut('fast');
					$('div.recentlyviewed > ul').html(rvHtml);
					$('div.recentlyviewed li:gt('+(recentlyViewedLimit-1)+')').hide();
					$('div.recentlyviewed > div.topcow > span').html(rvdata.length);
					//when delete link is clicked
					$('div.recentlyviewed > ul > li > a[href!=#]').hover(function(){
						$(this).next('a').show();
					}, function(){
						var alink = $(this).next('a');
						var t = window.setTimeout(function(){
							alink.hide();
						}, 0);
						alink.hover(function(){
							clearTimeout(t);
						}, function(){
							$(this).hide();
						});
					});
					$('div.recentlyviewed > ul > li > a[data]').click(function(){
						var data = $(this).attr('data');
						deleteItemFromCookie('RecentlyViewed',data);
						var h = $('div.recentlyviewed').outerHeight();
					    $('div.recentlyviewedwrapper .overmylist').height(h).css({'opacity':'0.8'}).show();
						loadAjaxData('rv');
						return false;
					});
				}, 'json');
			} else if (rv=='') {
				$('div.recentlyviewedwrapper .overmylist').fadeOut('fast');
				$('div.recentlyviewed > ul').html('상품이없습니다');
				$('div.recentlyviewed > div.topcow > span').html(0);
			}
		} 
		
		if (dt=='all' || dt=='wl') {
			var wl = $.cookie('WishList')||'';
			if (prodListFormat.test(wl)) {
				var wlHtml = '';
				var items = wl.split('*');
				for (x in items) {
					var temp = items[x].split('-');
				    $('a.savetowishlist[name="'+temp[0]+'-'+temp[1]+'"]').find('img').attr('src', '/images/saved_but.gif');
				}
				jQuery.post(prodDetailUrl, {'data':wl}, function(data, textStatus){
					var wldata = data.prods;
					var lc = wl.split('*').reverse();
					var k = 0;
					for (i in wldata) {
			            if (wldata[i].chid<10) {
			            	wldata[i].chid = '0'+wldata[i].chid;
			            }			            
			            var nameStr = wldata[i].chid+'-'+wldata[i].pid+'-'+wldata[i].date;
			            if(lc[i] != nameStr){
			                k++;			               
	                        lc.splice(i,1);
			            }
			            wlHtml += '<li><a href="'+wldata[i].purl+'" target="_blank"><img src="'+wldata[i].img+'" /></a><a href="#" data="' + nameStr + '" class="disn"><img src="/images/delete.gif" class="delete" /></a></li>';
					}
					$('div.wishlistwrapper .overmylist').fadeOut('fast');
					$('div.wishlist > a.btnup').hide();
					$('div.wishlist > a.btndown').hide();
					if (wldata.length > wishListLimit) {
						//$('div.wishlist > a.btnup').show();
						$('div.wishlist > a.btndown').show();
					} 
					$('div.wishlist > ul').html(wlHtml);
					$('div.wishlist li:gt('+(wishListLimit-1)+')').hide();
					$('div.wishlist > div.topcow > span').html(wldata.length);
					//when delete link is clicked
					$('div.wishlist > ul > li > a[href!=#]').hover(function(){
						$(this).next('a').show();
					}, function(){
						var alink = $(this).next('a');
						var t = window.setTimeout(function(){
							alink.hide();
						}, 0);
						alink.hover(function(){
							clearTimeout(t);
						}, function(){
							$(this).hide();
						});
					});
					$('div.wishlist > ul > li > a[data]').click(function(){
						var data = $(this).attr('data');
						deleteItemFromCookie('WishList',data);
						var temp = data.split('-');
						$('a.savetowishlist[name='+temp[0]+'-'+temp[1]+']').find('img').attr('src', '/images/save_but.gif');
						var h = $('div.wishlist').outerHeight();
					    $('div.wishlistwrapper .overmylist').height(h).css({'opacity':'0.8'}).show();
						loadAjaxData('wl');
						return false;
					});
				}, 'json');
			} else if (wl=='') {
				$('div.wishlistwrapper .overmylist').fadeOut('fast');
				$('div.wishlist > ul').html('상품이없습니다');
				$('div.wishlist > div.topcow > span').html(0);
			}
		}
	};
	
	rv_check = function(){
		if (rv != $.cookie('RecentlyViewed')) {
			loadAjaxData('rv');
		}
	};
	
	loadAjaxData('all');
	window.setInterval(function(){
		rv_check();
	}, 2000);

	//slider range
	var staticMax = parseInt($('div.maxprice').text());
	$('div.minprice').css('left', parseInt(($('div.minprice').text()/staticMax)*100) + 'px');
	$('#slider-price').slider({
		animate: true,
		min: 0,
		max: parseInt($('div.maxprice').text()),
		range: true,
		step: 1000,
		values: [
                    parseInt($('div.minprice').text()),
                    parseInt($('div.maxprice').text())
                ],
		slide: function(event, ui) {
			var minprice =  ui.values[0];
			var maxprice =  ui.values[1];
			$('div.minprice').text(minprice);
			$('div.minprice').css('left', parseInt((minprice/staticMax)*100) || 5 + 'px');
			$('div.maxprice').text(maxprice);
			$('div.maxprice').css('left', parseInt((maxprice/staticMax)*100 + 10) + 'px');
			$('#np').val(minprice);
			$('#xp').val(maxprice);
		}
	});

	$('div.slider :button').click(function(){
		$('div.slider').hide();
		$('div.input').show();
	});
	$('div.input :button').click(function(){
		$('div.slider').show();
		$('div.input').hide();
	});
	$('div.sortby').find('a').click(function(){
		$('input[name=sb]').val($(this).attr('data'));
		$('form[name=sortForm]').submit();
	});
	
	//enlarge image
	$('a.[rel^=#overlay]').overlay({
		top: 'center'
	});
	
	$('a.couponlist').hover(function(){
		$(this).next('div.couponwrapper').show();
	}, function(){
		var coupon = $(this).next('div.couponwrapper');
		var t = window.setTimeout(function(){
			coupon.hide()
		}, 0);
		coupon.hover(function(){
			clearTimeout(t);
		}, function(){
			$(this).hide();
		});
	});
	
	var isParaCutPage = $.cookie('isParaCutPage');
	if(isParaCutPage&&isParaCutPage==1){
	    $.cookie('isParaCutPage', 0, cookieOpt);
	}
});