﻿(function($) {
	$.SsdcCookie = {
		initialize :  function (siteCode) {
			var siteKey = "dotcomSiteCode";
			
			// 하위 호환을 위한 코드 삽입.
			var oldSiteKey = "dock_site";
			var _siteCode = $.cookie(oldSiteKey);
			if (_siteCode) {
				this.deleteOldCookie();
			}

			_siteCode = $.cookie(siteKey);
			if (_siteCode && _siteCode != siteCode) {
				$.clearCompareItems();
			    this.deleteKey('recentlyItems');
			}
			$.setCookieData(siteKey, siteCode);
		},
		deleteOldCookie : function () {
			this.deleteKey("dock_site");
	    	
			this.deleteKey("bandwith");
			this.deleteKey("rv_pro_cnt");
			this.deleteKey("dk_rv_pro_site");
			this.deleteKey("dk_rv_pro_path");
			this.deleteKey("dk_rv_pro_cd");
	    	
			this.deleteKey("c_pro_cnt");
			this.deleteKey("dk_c_pro_site");
			this.deleteKey("dk_c_pro_path");
			this.deleteKey("dk_c_pro_cd");
	    	
			this.deleteKey("clist_pro_cnt");
			this.deleteKey("dk_clist_time");
			this.deleteKey("dk_clist_title");
			this.deleteKey("dk_clist_url");
		},
	    deleteAll : function () {
	        cookies = document.cookie.split('; ');
	        for (var i = 0, c; (c = (cookies)[i]) && (c = c.split('=')[0]); i++) {
	        	if (c)
	        		this.deleteKey(c);
	        }
		},
	    deleteKey : function (key) {
        	$.cookie(key, null, this.options);
		},
		options : {
			raw		: true,
			expires	:365,
			domain	:'.samsung.com',
			path		:'/',
			secure	:0
		}
	};

	var recentlyMax = 4;
	var compareMax = 4;
	
	/**
	 * parameters : Array
	 * {linkUrl,imagePath,displayName,modelCode}
	 */
	$.setRecentlyItem = function (parameters) {
		var reserved = $.cookie('recentlyItems'), value = parameters.join("^"), _temp;
		if (reserved) {
			_temp = reserved.split('||');
			for (var index in _temp) {
				var _itemArr = _temp[index];
				var _items = _itemArr.split('^');
				if (_items.length == 4) {
					if (_items[3] == parameters[3]) {
						// 중복 정보를 넣지 않도록 한다.
						return;
					}
				}
			}
		}
		else {
			_temp = new Array(0);
		}
		_temp.push(value);
		if (_temp.length > recentlyMax) {
			_temp = _temp.slice(_temp.length - recentlyMax, _temp.length);
		}
	    $.cookie('recentlyItems', encodeURIComponent(_temp.join("||")), $.SsdcCookie.options);
	};
	
	$.getRecentlyItems = function () {
		var reserved = $.cookie('recentlyItems'), items;
		var tagUL = $('<ul />');
		if (reserved){
			items = reserved.split("||");
			for (var index = 0; index < 4; index++) {
				var tagLI = $('<li />');
				var tagA = $('<a />');
				var tagIMG = $('<img />');
				var tagSPAN = $('<span />');
				if (index < items.length) {
					var data = items[index].split("^");
					var linkUrl = data[0];
					/* 2011.12.05 Omniture request: Remove '&gnb=y' in Recently viewed's Link URL
					if (linkUrl.indexOf("?") > -1) {
						linkUrl += "&gnb=y";
					} else {
						linkUrl += "?gnb=y";
					}
					*/
					tagA.attr('href', linkUrl);
					tagIMG.attr('src', data[1]).attr('alt', data[3]);
					tagSPAN.html(data[2].replace(/&quot;/gi, '"'));
				} else {
					tagA.attr('href', '#none');
					tagIMG.attr('src', 'http://www.samsung.com/common/img/img_noimg.gif').attr('alt', '');
					tagSPAN.html(EMPTY_RECENTLY_VIEW);
				}
				tagLI.append(tagA.append(tagIMG).append(tagSPAN));
				tagUL.append(tagLI);
			}
		} else {
			for (var index = 0; index < 4; index++) {
				var item = $('<li />').append($('<a />').attr('href', '#none')
						.append($('<img />').attr('src', 'http://www.samsung.com/common/img/img_noimg.gif'))
						.append($('<span />').html(EMPTY_RECENTLY_VIEW)));
				tagUL.append(item);
			}
		}
		$('#recentlyViewed div').html(tagUL);
		$('#recentlyViewed div').find('a').click(function () {
			try {
				s_control_click('events,eVar44', 'event46', 'event46,gnb:recently viewed', 'o', 'additional user interaction');
				var url = $(this).attr('href');
				document.location.href = url;
			} catch (e) {}
		});
		return ;
	};
	
	/**
	 * parameters : Array
	 * {iaUrlNamePath,modelCode}
	 * iaUrlNamePath is Type Level Only
	 * if iaUrlNamePath change, model code clear.
	 */
	$.setCompareItem = function (parameters) {
		var reserved = $.cookie('compareItems'), reservedIaPath = $.cookie('compareIaPath'), _temp;
		var iaUrlNamePath = parameters[0];
		var modelCode = parameters[1];
		if (!reservedIaPath || reservedIaPath != iaUrlNamePath) {
			$.cookie('compareIaPath', iaUrlNamePath, $.SsdcCookie.options);
			$.cookie('compareItems', modelCode, $.SsdcCookie.options);
		} else {
			if (reserved && reserved != "") {
				_temp = reserved.split('||');
			} else {
				_temp = new Array(0);
			}
			_temp.push(modelCode);
//			if (_temp.length > compareMax) {
//				_temp = _temp.slice(_temp.length - compareMax, _temp.length);
//			}
			$.cookie('compareItems', encodeURIComponent(_temp.join("||")), $.SsdcCookie.options);
		} 
//		alert("setCompareItem : " + $.cookie('compareItems'));
	};
	
	/**
	 * 모든 Compare Items를 Array로 얻어온다.
	 */
	$.getCompareItems = function () {
		var reserved = $.cookie('compareItems'), _temp;
		if (reserved)
			_temp = reserved.split('||');
		else
			_temp = new Array(0);
		return _temp;
	};
	
	$.checkCompareCookie = function (iaUrlNamePath) {
		var reservedIaPath = $.cookie('compareIaPath');
		if (reservedIaPath && reservedIaPath != iaUrlNamePath) {
			$.clearCompareItems();
		}
	};
	
	/**
	 * 모든 Compare Items 정보를 삭제한다.
	 */
	$.clearCompareItems = function () {
	    $.SsdcCookie.deleteKey('compareIaPath');
	    $.SsdcCookie.deleteKey('compareItems');
//		alert("clearCompareItems : " + $.cookie('compareItems'));
	};
	
	/**
	 * Compare Item을 제거한다.
	 * parameters : Array
	 * {iaUrlNamePath,modelCode}
	 */
	$.deleteCompareItem = function (parameters) {
		var reserved = $.cookie('compareItems'), _temp = new Array(0);
		var iaUrlNamePath = parameters[0];
		var modelCode = parameters[1];
		if (reserved) {
			var items = reserved.split('||');
			for (var index in items) {
				if (modelCode != items[index])
					_temp.push(items[index]);
			}
		}
		if (_temp.length == 0) {
			$.cookie('compareItems', "", $.SsdcCookie.options);
		} else {
			$.cookie('compareItems', encodeURIComponent(_temp.join("||")), $.SsdcCookie.options);
		}
	};
	

	/**
	 * parameters : Array
	 * {modelCode,prefix}
	 * iaUrlNamePath is Type Level Only
	 * if iaUrlNamePath change, model code clear.
	 */
	$.setCompareItemToDetail = function (parameters) {
		var modelCode = parameters[0];
		var prefix = parameters[1];
		var reserved = $.cookie(prefix + 'compareItems'), _temp;
		if (!prefix) {
			prefix = "related";
		}
			
		if (reserved && reserved != "") {
			_temp = reserved.split('||');
		} else {
			_temp = new Array(0);
		}
		_temp.push(modelCode);
		$.cookie(prefix + 'compareItems', encodeURIComponent(_temp.join("||")), $.SsdcCookie.options);
	};
	
	/**
	 * 모든 Compare Items를 Array로 얻어온다.
	 */
	$.getCompareItemsToDetail = function (prefix) {
		if (!prefix) {
			prefix = "related";
		}
		var reserved = $.cookie(prefix + 'compareItems'), _temp;
		if (reserved)
			_temp = reserved.split('||');
		else
			_temp = new Array(0);
		return _temp;
	};
	
	/**
	 * 모든 Compare Items 정보를 삭제한다.
	 */
	$.clearCompareItemsToDetail = function (prefix) {
		if (!prefix) {
			prefix = "related";
		}
	    $.SsdcCookie.deleteKey(prefix + 'compareItems');
	};
	
	/**
	 * Compare Item을 제거한다.
	 * parameters : Array
	 * {modelCode, prefix}
	 */
	$.deleteCompareItemToDetail = function (parameters) {
		var modelCode = parameters[0];
		var prefix = parameters[1];
		if (!prefix) {
			prefix = "related";
		}
		var reserved = $.cookie(prefix + 'compareItems'), _temp = new Array(0);
		if (reserved) {
			var items = reserved.split('||');
			for (var index in items) {
				if (modelCode != items[index])
					_temp.push(items[index]);
			}
		}
		if (_temp.length == 0) {
			$.cookie(prefix + 'compareItems', "", $.SsdcCookie.options);
		} else {
			$.cookie(prefix + 'compareItems', encodeURIComponent(_temp.join("||")), $.SsdcCookie.options);
		}
	};
	
	$.setCookieData = function (key, value) {
	    $.cookie(key, value, $.SsdcCookie.options);
	};
	
	$.getCookieData = function (key) {
		return $.cookie(key);
	};
	
})(jQuery);

$(document).ready(function () {
    $.getRecentlyItems();
});
/*
사용법 : $.cookie(키, 값, 옵션);
옵션은 {expires:'',domain:'', path:'', secure:''}
 예 : $.cookie('key', 'ok', {expires:7,domain:'.myhost.com', path:'/', secure:0});
 expires는 日단위..
뽑아오기 : alert($.cookie('happy_new_expire'));
*/


//  팝업 호출 스크립트 추가
// cubitsoft 운영팅
(function($) {
	$.locator = {
		popup : function(pageTarget,pageName,pageWidth,pageHeight){
			var objPageTarget = $.trim(pageTarget);
			var objPageName = $.trim(pageName);
			var objPageWidth = $.trim(pageWidth);
			var objPageHeight = $.trim(pageHeight);
			option = 'width=' + objPageWidth + ',height=' + objPageHeight;
			option +=',scrollbars=no,resizable=yes, toolbar=no,directories=no,location=no,menubar=no,status=no';
			window.open(objPageTarget,objPageName, option);
		}
	};
})(jQuery);
