﻿function isNumberCheck(s) {
	s += ''; 
	s = s.replace(/^\s*|\s*$/g, ''); 
	if (s == '' || isNaN(s)) return false;
	return true;
}

var _site_cd = '';
var _enable_disable_action = "Y";

function  getSiteCd()
{
    var site_cd =  '';
    try { 
	  	 var url = location.pathname;
	     site_cd = Ltrim(url,"/").split("/")[0];
	} catch (e)
    {
		site_cd = 'us';
    }
    _site_cd = site_cd;
}  

function chkAjaBrowser()
{
	var a,ua = navigator.userAgent;
	this.bw= { 
	  safari    : ((a=ua.split('AppleWebKit/')[1])?a.split('(')[0]:0)>=124 ,
	  konqueror : ((a=ua.split('Konqueror/')[1])?a.split(';')[0]:0)>=3.3 ,
	  mozes     : ((a=ua.split('Gecko/')[1])?a.split(" ")[0]:0) >= 20011128 ,
	  opera     : (!!window.opera) && ((typeof XMLHttpRequest)=='function') ,
	  msie      : (!!window.ActiveXObject)?(!!createHttpRequest()):false 
	}
	return (this.bw.safari||this.bw.konqueror||this.bw.mozes||this.bw.opera||this.bw.msie)
}

function createHttpRequest()
{
	if(window.ActiveXObject){
		try {
			return new ActiveXObject("Msxml2.XMLHTTP") ;
		} catch (e) {
			try {
				return new ActiveXObject("Microsoft.XMLHTTP") ;
			} catch (e2) {return null;}
 		}
	} else if(window.XMLHttpRequest)
		return new XMLHttpRequest() ;
	else return null ;
}

function uriEncode(data){
	if(data!=""){
		var encdata = '';
		var datas = data.split('&');
		for(i=1;i<datas.length;i++) {
			var dataq = datas[i].split('=');
			encdata += '&' + encodeURIComponent(dataq[0])+'='+encodeURIComponent(dataq[1]);
		}
	} else {
		encdata = "";
	}
	return encdata;
}

function setEncHeader(request){
	var contentTypeUrlenc = 'application/x-www-form-urlencoded; charset=UTF-8';
	if(!window.opera){
		request.setRequestHeader('Content-Type',contentTypeUrlenc);
	} else {
		if((typeof request.setRequestHeader) == 'function')
			request.setRequestHeader('Content-Type',contentTypeUrlenc);
	}
	return request
}

/**
 * @param targetObj
 * @param callback
 * @param url
 * @param data
 * @param method
 * @param async
 * @param doIndicator
 * @return
 */
function callAjaxRequest(target, callback, url, data, method, async, doIndicator) {
	var request = createHttpRequest();
	if( request == null ) return null;
	if(method.toUpperCase() == 'GET')url += "?";
	
	var bwoj = new chkAjaBrowser();
	var opera	  = bwoj.bw.opera;
	var safari	  = bwoj.bw.safari;
	var konqueror = bwoj.bw.konqueror;
	var mozes	  = bwoj.bw.mozes ;

	if(opera || safari || mozes){
		request.onload = function () { callback(request, target, doIndicator); }
	} else {
		request.onreadystatechange =function () {
			if ( request.readyState == 4 ){
				callback(request, target, doIndicator);
			}
		}
	}
//	data = uriEncode(data)
	if(method.toUpperCase() == 'GET') {
		url += data
	}
	/*alert(url);*/
	request.open(method,url,async);
	setEncHeader(request)
	request.send(data);
	return request
}

/**
 * @param data
 * @param doIndicator
 * @return
 */
function ajaxGetForGrid (data, doIndicator) {
	if (_site_cd == '')
		getSiteCd();
	var url = "/" + _site_cd + "/consumer/grid.do";
	var target = "product_grid";
	ajaxGet (url, data, target, doIndicator);
}

/**
 * @param url
 * @param data
 * @param target
 * @param doIndicator
 * @return
 */
function ajaxGet (url, data, target, doIndicator) {
	
	if (doIndicator) {
		document.getElementById('subtype_transparency').style.display='block';
		document.getElementById('subtype_transparency_image').style.display='block';
	}
	document.getElementById("selector_action_params").value = data;
	callAjaxRequest(target, ajaxCallBack, url, data, "GET", true, doIndicator);
}

var historyBack = false;

/**
 * Ajax Call Back method.
 * @param req
 * @param target
 * @param doIndicator
 * @return
 */
function ajaxCallBack (req, target, doIndicator) {
	if (_site_cd == '')
		getSiteCd();
	if (req.readyState != 4) return;
	var tmp;
	if (req.status == 200 || req.status == 0) {
		tmp = req.responseText
		if(tmp == 'error' || tmp == 'undefined') window.top.location = "/" + _site_cd + "/common/notfound.html";
		
		if (!!document.getElementById(target))
			document.getElementById(target).innerHTML = tmp;
		if (!historyBack)
			actionSelectorEnableDisable();
	}
	if (doIndicator) {
		document.getElementById('subtype_transparency').style.display='none';
		document.getElementById('subtype_transparency_image').style.display='none';
	}
	compare_initialize ();
}

/**
 * @param oldStr
 * @param findStr
 * @param repStr
 * @return
 */
function replaceAll(oldStr, findStr, repStr) {
	if (!oldStr) return oldStr;
	var srchNdx = 0;
	var newStr = "";
	while (oldStr.indexOf(findStr, srchNdx) != -1) {
		newStr += oldStr.substring(srchNdx, oldStr.indexOf(findStr, srchNdx));
		newStr += repStr;
		srchNdx = (oldStr.indexOf(findStr, srchNdx) + findStr.length);
	}
	newStr += oldStr.substring(srchNdx, oldStr.length);
	return newStr;
}

/*
 * Product Selector Item List.
 * Array[maptype|controltype|selectorcode]
 * 	= Array[obj id][detail control type]
 */
var g_selector_item_list = new Array();
/*
 * Product Selector Item List Count.
 */
var g_selector_item_count = 0;
/*
 * Product Selector Item Attribute Value List.
 */
var g_selected_value_list = new Array();
var g_pageType = '';
var g_page_url_name_path = '';
var g_last_selector_code = '';
var is_action_flag = false;
var g_slider_item_list = new Array();
var g_slider_count = 0;

/**
 * @param objid
 * @param maptype
 * @param controltype
 * @param detailtype
 * @param selectorcode
 * @return
 */
function asignAttributeObj (objid, maptype, controltype, detailtype, selectorcode) {
	var  key = maptype;
	key += "|" + controltype;
	key += "|" + selectorcode;
	g_selector_item_list[key] = new Array(objid, detailtype);
	g_selector_item_count++;
	if (controltype == 'SL' || controltype == 'PR')
		g_slider_item_list[g_slider_item_list.length] = new Array(key, detailtype);
//	if (controltype == 'CB') {
//		var obj = document.getElementById(objid);
//		initializeAttributeCBType(obj);
//	}
}

function attributeItemChangeAction (obj) {
}

// checked, unchecked, initialize, historyback, action capture
function initializeAttributeCBType (obj) {
	var checkbox_list = obj.getElementsByTagName("input");
	for (var i = 0; i < checkbox_list.length; i++) {
//		checkbox_list[i].onclick = function () {attributeItemChangeAction(this);}
		if (!g_selected_value_list[checkbox_list[i].value])
			g_selected_value_list[checkbox_list[i].value] = new Array("N", "enable");
		
		if (checkbox_list[i].checked) {
			g_selected_value_list[checkbox_list[i].value][0] = "Y";
		}
	}
//	var ischeck = document.getElementById(replaceAll (obj.id, "selectlayer", "ischeck"));
//	onoff_check_img(ischeck, isOn);
}

function initializeProductSelector (pageType, prd_ia_url_name_path) {
	g_pageType = pageType;
	g_page_url_name_path = prd_ia_url_name_path;
	g_slider_count = 0;
	for (key in g_selector_item_list) {
		var arr = key.split("|");
		var obj = document.getElementById(g_selector_item_list[key][0]);
		selectedAttributeCheck(arr[1], obj, false);
	}
	initialize_sliders ();
	var idx = 0;
	for (key in g_selector_item_list) {
		var arr = key.split("|");
		var obj = document.getElementById(g_selector_item_list[key][0]);
		if (idx > 3 && !!obj)
			obj.style.display = 'none';
		idx++;
	}
	historyBack = action_historyback_product_selector ();
	setDefaultCategoryMap ();
	actionSelectorEnableDisable ();
}

function setDefaultCategoryMap () {
	// DEFAULT CATEGORY MAP checked.
	var dValue = document.getElementById('selector_default_category_map').value;
	var values = dValue.split (",");
	for(var idx=0;idx <= values.length;idx++) {
		var value = values[idx];
		if (!value) continue;
		g_selected_value_list[value] = new Array("Y", "enable");
		var _temp = value.split("|");
		var id = _temp[1] + _temp[2];
		var obj = document.getElementById(id);
		if (obj != null && obj.tagName == 'INPUT') {
			obj.disabled = false;
			var type = obj.getAttribute("type");
			var tarr = value.split("|"); // MAP|CODE|ITEMCODE|PERATION
			var tkey = '';
			if (type == 'checkbox') {
				obj.checked = true;
				obj.disabled = true;
				tkey = tarr[0] + "|CB|" + tarr[1];
			}
			else if (type == 'radio') {
				obj.checked = true;
				obj.disabled = true;
				tkey = tarr[0] + "|RD|" + tarr[1];
			}
			g_selected_value_list[value] = new Array("Y", "enable");
			var ischeck = document.getElementById(replaceAll (g_selector_item_list[tkey][0], "selectlayer", "ischeck"));
			onoff_check_img(ischeck, "on");
		}
	}
}

function actionSelectorEnableDisable () {
	if (_enable_disable_action == 'N') return;
	var selector_valid_list = new Array();
	var dValue = document.getElementsByName ('selector_valid_list');
	var selector_valid_list_for_slider = new Array();
	for (var i = 0; i < dValue.length; i++) {
		var tmp = dValue[i].value;
		var arr = tmp.split('|');
		var item_key = arr[0] + '|' + arr[4] + '|' + arr[1];
		var value_key = arr[0] + '|' + arr[1] + '|' + arr[2] + '|' + arr[3];
		selector_valid_list[value_key] = 'enable';
		
    	var order = arr[5].replace(/^\s*|\s*$/g, '') * 1;
    	
		if (arr[4] == 'SL') {
			if (!selector_valid_list_for_slider[item_key]) {
				selector_valid_list_for_slider[item_key] = new Array(order, tmp, order, tmp);
			} else {
				if (selector_valid_list_for_slider[item_key][0] > order) {
					selector_valid_list_for_slider[item_key][0] = order;
					selector_valid_list_for_slider[item_key][1] = tmp;
				}
				if (selector_valid_list_for_slider[item_key][2] < order) {
					selector_valid_list_for_slider[item_key][2] = order;
					selector_valid_list_for_slider[item_key][3] = tmp;
				}
			}
		}
	}

	for (var idx = 0; idx < g_slider_item_list.length; idx++) {
		if (!!selector_valid_list_for_slider[g_slider_item_list[idx][0]]) {
			var min = selector_valid_list_for_slider[g_slider_item_list[idx][0]][1];
			var max = selector_valid_list_for_slider[g_slider_item_list[idx][0]][3];
			var type = 'N';
			if (g_slider_item_list[idx][1] == 'LVL')
				type = 'L';
			
			var item_key = g_selector_item_list[g_slider_item_list[idx][0]][0];
			var _num =  replaceAll(item_key, "selectlayer", "");
			var arrmin = min.split('|');
			var minvalue_key = _num + "_" + arrmin[0] + '|' +arrmin[1] + '|' +arrmin[2] + '|' + arrmin[3];
			var arrmax = max.split('|');
			var maxvalue_key = _num + "_" + arrmax[0] + '|' +arrmax[1] + '|' +arrmax[2] + '|' + arrmax[3];
			setSliderValue(type, idx, minvalue_key, maxvalue_key);
		}
	}

	for (key in g_selected_value_list) {
		var keyarr = key.split("|");
		var _objid = keyarr[1] + keyarr[2];
		if (keyarr[1] == 'SL' || keyarr[1] == 'PR') continue;
		
		if (keyarr[0] == 'MDL-MAP' || keyarr[0] == 'SNV-MAP') {
			var obj = document.getElementById(_objid);
			if (!obj) continue;
			
			if (keyarr[3] != 'OR' || keyarr[1] != g_last_selector_code) {
					
				if (!selector_valid_list[key]) {
						if (obj.checked) {
							obj.checked = false;
							is_action_flag = true;
						}
						g_selected_value_list[key][0] = 'N';
						g_selected_value_list[key][1] = "disable";
						obj.disabled = true;
				} else {
					g_selected_value_list[key][1] = "enable";
					obj.disabled = false;
				}
			}
		}
	}
	
	if (is_action_flag)
	{
		is_action_flag = false;
		ajaxCallProductSelector ();
	}
	
	/** 
	 **/
	for (key in g_selector_item_list) {
		var arr = key.split("|");
		var obj = document.getElementById(g_selector_item_list[key][0]);
		selectedAttributeCheck(arr[1], obj, true);
	}
}

function onoff_check_img(obj, onoff) {
	if (_site_cd == '')
		getSiteCd();
	if (obj == null) return;
	if(onoff=="on") {
		obj.innerHTML='<img src="/' + _site_cd + '/p2images/common/icon_selector_check.gif" alt="" />';
	} else {
		obj.innerHTML='';
	}
}

function selectedAttributeCheck (controlType, parentObj, isHide) {
	if (parentObj == null || !parentObj) return ;
	if (controlType == 'CB') checkCBType(parentObj, isHide);
	else if (controlType == 'RD') checkRDType(parentObj, isHide);
	else if (controlType == 'DD') checkDDType(parentObj, isHide);
	else if (controlType == 'PT') checkPTType(parentObj, isHide);
	else if (controlType == 'SL') checkSLType(parentObj, isHide);
	else if (controlType == 'PR') checkPRType(parentObj, isHide);
}

function checkCBType (obj, isHide) {
	var retval = false;
	var checkbox_list = obj.getElementsByTagName("input");
	var isOn = 'off';
	for (var i = 0; i < checkbox_list.length; i++) {
		if (!g_selected_value_list[checkbox_list[i].value])
			g_selected_value_list[checkbox_list[i].value] = new Array("N", "enable");
		
		if (checkbox_list[i].checked) {
			g_selected_value_list[checkbox_list[i].value][0] = "Y";
			isOn = 'on';
		}
		
		if (g_selected_value_list[checkbox_list[i].value][1] == 'enable') {
			retval = true;
		}
	}
	var ischeck = document.getElementById(replaceAll (obj.id, "selectlayer", "ischeck"));
	onoff_check_img(ischeck, isOn);
	
	var item = document.getElementById(replaceAll (obj.id, "selectlayer", "selector_item_"));
	if (!!item && isHide) {
		if (!retval) {
			item.style.display = 'none';
		} else {
			item.style.display = 'block';
		}
	}
}

function checkRDType (obj, isHide) {
	var retval = false;
	var radio_list = obj.getElementsByTagName("input");
	var isOn = 'off';
	for (var i = 0; i < radio_list.length; i++) {
		if (!g_selected_value_list[radio_list[i].value])
			g_selected_value_list[radio_list[i].value] = new Array("N", "enable");
		
		if (radio_list[i].checked) {
			g_selected_value_list[radio_list[i].value][0] = "Y";
			isOn = 'on';
		}
		else if(!radio_list[i].checked){
			g_selected_value_list[radio_list[i].value][0] = "N";
		}
	}
	var ischeck = document.getElementById(replaceAll (obj.id, "selectlayer", "ischeck"));
	onoff_check_img(ischeck, isOn);
}

function checkDDType (obj, isHide) {
	var dropdown = obj.getElementsByTagName("select");
	var isOn = 'off';
	for (var idx = 0; idx < dropdown.length; idx++) {
		for(var count=0; count < dropdown.item(idx).options.length; count++) {  
			if (dropdown.item(idx).options[count].selected && dropdown.item(idx).options[count].value != '') {
				if (!g_selected_value_list[dropdown.item(idx).options[count].value] )
					g_selected_value_list[dropdown.item(idx).options[count].value] = new Array("Y", "enable");
				g_selected_value_list[dropdown.item(idx).options[count].value] [0] = "Y";
				isOn = 'on';
			} else {
				if (!g_selected_value_list[dropdown.item(idx).options[count].value] )
					g_selected_value_list[dropdown.item(idx).options[count].value] = new Array("N", "enable");
				g_selected_value_list[dropdown.item(idx).options[count].value] [0] = "N";
			}
		}
	}
	var ischeck = document.getElementById(replaceAll (obj.id, "selectlayer", "ischeck"));
	onoff_check_img(ischeck, isOn);
}

function checkPTType (obj, isHide) {
	var hidden_list = obj.getElementsByTagName("input");
	var isOn = 'off';
	for (var i = 0; i < hidden_list.length; i++) {
		if (hidden_list[i].value != '') {
			g_selected_value_list[hidden_list[i].value] = new Array("Y", "enable");
			isOn = 'on';
		} else {
			g_selected_value_list[hidden_list[i].value] = new Array("N", "enable");
		}
	}
	var ischeck = document.getElementById(replaceAll (obj.id, "selectlayer", "ischeck"));
	onoff_check_img(ischeck, isOn);
}

function checkSLType (obj, isHide) {
	var slide = obj.getElementsByTagName("select");
	var isOn = 'off';
	for (var idx = 0; idx < slide.length; idx++) {
		var slider_num = '';
		for(var count=0; count < slide.item(idx).options.length; count++) {
			var value = slide.item(idx).options[count].value;
			var arr = value.split('_');
			var key = arr[1];
			if (slider_num == '')
				slider_num = arr[0];
			if (!g_selected_value_list[key])
				g_selected_value_list[key] = new Array("N", "enable");
		}	
		if (slider_num != '') {
			var minid = "hidden_selector" + slider_num + "_minval";
			var maxid = "hidden_selector" + slider_num + "_maxval";
			var minhidden = document.getElementById(minid);
			var maxhidden = document.getElementById(maxid);
			if (minhidden.value == '' && maxhidden.value == '') {
				isOn = "off";
			} else {
				isOn = 'on';
			}
			var ischeck = document.getElementById(replaceAll (obj.id, "selectlayer", "ischeck"));
			onoff_check_img(ischeck, isOn);
		}
	}
}

function checkPRType (obj, isHide) {
	var slide = obj.getElementsByTagName("select");
	var isOn = 'off';
	for (var idx = 0; idx < slide.length; idx++) {
		var slider_num = '';
		for(var count=0; count < slide.item(idx).options.length; count++) {  
			var value = slide.item(idx).options[count].value;
			var arr = value.split('_');
			var key = arr[1];
			if (slider_num == '')
				slider_num = arr[0];
			if (!g_selected_value_list[key])
				g_selected_value_list[key] = new Array("N", "enable");
		}
		if (slider_num != '') {
			var minid = "hidden_selector" + slider_num + "_minval";
			var maxid = "hidden_selector" + slider_num + "_maxval";
			var minhidden = document.getElementById(minid);
			var maxhidden = document.getElementById(maxid);
			if (minhidden.value == '' && maxhidden.value == '') {
				isOn = "off";
			} else {
				isOn = 'on';
			}
			var ischeck = document.getElementById(replaceAll (obj.id, "selectlayer", "ischeck"));
			onoff_check_img(ischeck, isOn);
		}
	}
}

function initialize_sliders () {
	try {
		$("div.slider").remove();
	} catch (e) {}
	try {
		$('div.sliderbody3 select').slider3();
	} catch (e) {}
	try {
		$("div.slider2").remove();
	} catch (e) {}
	try {
		$('div.sliderbody2 select').slider2();
	} catch (e) {}
}

function initialize_slider_info (obj) {
	var slide = obj.getElementsByTagName("select");
	var isOn = 'off';
	for (var idx = 0; idx < slide.length; idx++) {
		for(var count=0; count < slide.item(idx).options.length; count++) {
			var value = slide.item(idx).options[count].value;
			var arr = value.split('_');
			var key = arr[1];
			if (!g_selected_value_list[key])
				g_selected_value_list[key] = new Array("N", "enable");
			else 
				g_selected_value_list[key][0] = "N";
		}
	}
	var ischeck = document.getElementById(replaceAll (obj.id, "selectlayer", "ischeck"));
	onoff_check_img(ischeck, isOn);
}

/**
 * product selector omniture tagging.
 */
function call_omniture (sGroup, sItemValue, obj) {
	sGroup = sGroup.replace(/,/g, '');
	sItemValue = sItemValue.replace(/,/g, '');
	var urls = g_page_url_name_path.split("|");

	var isTagging = false;
	var args1 = 'events,eVar20';
	var args2 = 'event42';
	var args3 = 'event42,' + urls[1];
	var args4 = 'o';
	var args5 = 'Product selector:' + urls[1];

	if (obj != null && obj.getAttribute('type') == 'checkbox') {
		if (obj.checked) {
			if (g_pageType == 'T') {
				args3 += ':view all:' + sGroup + '(' + sItemValue + ')';
			}
			else if (g_pageType == 'S' || g_pageType == 'AS') {
				args3 += ':' + urls[2] + ':' + sGroup + '(' + sItemValue + ')';
				args5 += ':' + urls[2];
			}
			isTagging = true;
		}
	} else if (obj != null && obj.getAttribute("type") == 'select') {
		var tValue = obj.options[obj.selectedIndex].value;
		if (g_pageType == 'T') {
			args3 += ':view all:' + sGroup + '(' + tValue + ')';
		}
		else if (g_pageType == 'S' || g_pageType == 'AS') {
			args3 += ':' + urls[2] + ':' + sGroup + '(' + tValue + ')';
		}
		isTagging = true;
	}
	
	// slider type omniture.
	if (!obj) {
		if (g_pageType == 'T') {
			args3 += ':view all:' + sGroup + '(' + sItemValue + ')';
		}
		else if (g_pageType == 'S') {
			args3 += ':' + urls[2] + ':' + sGroup + '(' + sItemValue + ')';
		}
	}
	
	/*
	try {
		s_control_click(args1, args2, args3, args4, args5);
	} catch (e) {}
	
	try {
		s_control_click('prop5,eVar5', '', 'sub-type page(product selector),sub-type page(product selector)', 'o', 'product finding method');
	} catch (e) {}
	 */
	
	try {
		args1 = 'prop5,eVar5';
		args2 = '';
		args3 = 'sub-type page(product selector),sub-type page(product selector)';
		args5 = 'Product selector';
		if (isTagging)
			s_control_click(args1, args2, args3, args4, args5);
	} catch (e) {}
}

function getDefaultParameter () {
	var data = '';
	var urls = g_page_url_name_path.split("|");
	data += "&group=" + urls[0];
	data += "&type=" + urls[1];
	if (g_pageType == 'S' || g_pageType == 'AS') {
		data += "&subtype=" + urls[2];
	}
	data += "&pageType=" + g_pageType;
	return data;
}

function ajaxCallProductSelector () {
	var data = getDefaultParameter ();
	data += getSelectedAttibuteParameter();
	if (g_current_display_num != '')
		data += "&page_size=" + g_current_display_num;
	if (g_current_sort != '')
		data += "&page_sort=" + g_current_sort;
		
	clear_compare_item();
	ajaxGetForGrid(data, true);
}

function getSelectedAttibuteParameter () {
	var data = '';
	g_slider_count = 0;
	for (key in g_selector_item_list) {
		var arr = key.split("|");
		var obj = document.getElementById(g_selector_item_list[key][0]);
		selectedAttributeCheck(arr[1], obj, false);
	}
	
	for (key in g_selected_value_list) {
		if (key != 'undefined' && key != '') {
			if (g_selected_value_list[key][0] == "Y") {
				if (g_pageType == 'AS')
					data += "&subsubtype=" + key;
				else
					data += "&sv=" + key;
			}
		}
	}
	return data;
}

function expandAll() {
	for(key in g_selector_item_list) {
		var selectorId = g_selector_item_list[key][0];
		
		var obj = document.getElementById(selectorId);
		var obj2 = document.getElementById(replaceAll(selectorId, "selectlayer", "selector_title_item"));
		
		if (obj != null)
			obj.style.display="block";
		
		if (obj2 != null) 
			obj2.className="title_item_open";
			
	}
}

function actionSelectedAttrubute (obj, controlType, sGroup, sEngGroup, sItemValue, sEngItemValue) {
	var tkey = '';
	if (controlType == 'SUBTYPE') {
		if (obj.checked == true) {
			g_selected_value_list[obj.value] = new Array("Y", "enable");
		} else {
			g_selected_value_list[obj.value] = new Array("N", "enable");
		}
	} else if (controlType == 'PT') {
		var tarr = obj.value.split("|"); // MAP|CODE|ITEMCODE|OPERATION
		tkey = tarr[0] + "|" + controlType + "|" + tarr[1];
		g_selected_value_list[obj.value][0] = "Y";
	} else {
		if (obj.tagName == 'INPUT') {
			var tarr = obj.value.split("|"); // MAP|CODE|ITEMCODE|PERATION
			tkey = tarr[0] + "|" + controlType + "|" + tarr[1];
			if (tarr[0] == 'MDL-MAP' || tarr[0] == 'SNV-MAP') {
				if (obj.checked) {
					g_last_selector_code = tarr[1];
//				} else {
//					g_last_selector_code = '';
				}
			} else {
				g_last_selector_code = '';
			}
			
			if (obj.checked) {
				g_selected_value_list[obj.value][0] = "Y";
			} else {
				g_selected_value_list[obj.value][0] = "N";
			}
		}
	}
	
	ajaxCallProductSelector();
	call_omniture (sEngGroup, sEngItemValue, obj);
}

function change_toggle_pattern (hiddenid, patternid) {
	var obj = document.getElementById(hiddenid);
	obj.value=hiddenid;
	togglePattern(patternid,'toggle');
	obj.onchange();
}

function togglePattern(va,onoff) {
	var obj = document.getElementById(va);
	if (obj == null) return;
	if(onoff=="toggle") {
		if(obj.style.border=="#bbbbbb 1px solid") {
			obj.style.border="#088eff 1px solid";
		} else {
			obj.style.border="#bbbbbb 1px solid";
		}
	} else {
		if(onoff=="on") {
			obj.style.border="#088eff 1px solid";
		} else {
			obj.style.border="#bbbbbb 1px solid";
		}
	}
}

function resetFilter() {
	document.getElementById("selectorform").reset();
	for (key in g_selected_value_list) {
		g_selected_value_list[key][0] = 'N';
		g_selected_value_list[key][1] = 'enable';
	}

	var closeSlider = new Array();
	for (key in g_selector_item_list) {
		var arr = key.split("|");
		var obj = document.getElementById(g_selector_item_list[key][0]);
		var ischeck = document.getElementById(replaceAll (g_selector_item_list[key][0], "selectlayer", "ischeck"));
		onoff_check_img(ischeck, "off");
		if (arr[1] == 'SL' || arr[1] == 'PR') {
			if (obj.style.display == 'none') {
				closeSlider[closeSlider.length] = key;
				obj.style.display == 'block';
			}
		}
	}
	
	try
	{
		$("div.slider").trigger('slider:reset');
		$("div.slider2").trigger('slider:reset');
	}
	catch (e) {}

	setDefaultCategoryMap ();
	ajaxCallProductSelector();
}

function action_historyback_product_selector () {
	if (document.getElementById("selector_action_yn") == null 
		|| document.getElementById("selector_action_yn").value == 'N') return false;
	/*alert('action_historyback_product_selector() call');*/
	historyBack = true;
	// add process product selector.
	var data = document.getElementById("selector_action_params").value;
	if (data != '') {
		ajaxGetForGrid(data, true);
	}
	
	g_current_display_num = get_selectbox_singlevalue(document.getElementById("grid_display"));
	g_current_sort = get_selectbox_singlevalue(document.getElementById("grid_sort"));
	
//	if (g_current_display_num != '')
//		data += "&page_size=" + g_current_display_num;
//	if (g_current_sort != '')
//		data += "&page_sort=" + g_current_sort;

	action_historyback_slideritem ();
	document.getElementById("selector_action_yn").value == 'N';
	return true;
}

function action_historyback_slideritem () {
	// history back slider
	var l_seq = 0;
	var g_seq = 0;
	var slider_num_list = document.getElementsByName ("selector_slider");
	for (var i = 0; i < slider_num_list.length; i++) {
		var value = slider_num_list[i].value;
		var arr = value.split("|");
		var selector_num = arr[0];
		var type = arr[1];
		var detailType = arr[2];
		
		var minid = "hidden_selector" + selector_num + "_minval";
		var maxid = "hidden_selector" + selector_num + "_maxval";
		var nameid = "selector_item_name_" + selector_num;
		var minhidden = document.getElementById(minid);
		var maxhidden = document.getElementById(maxid);
		var nameobj = document.getElementById(nameid);
		
		if (detailType == 'GER') {
			if (minhidden.value != '' && maxhidden.value != '') {
				setNSliderValue(g_seq, selector_num + "_" + minhidden.value, selector_num + "_" + maxhidden.value);
				onoff_check_img(document.getElementById("ischeck" + selector_num), "on");
				find_slider_value((i+1));
			}
			g_seq++;
		}
		else if (detailType == 'LVL') {
			if (minhidden.value != '' && maxhidden.value != '') {
				setLSliderValue(l_seq, selector_num + "_" + minhidden.value, selector_num + "_" + maxhidden.value);
				onoff_check_img(document.getElementById("ischeck" + selector_num), "on");
				find_slider_value((i+1));
			}
			l_seq++;
		}
	}
}

function action_addtocart (cart_url, model_cd) {
	var url = location.href;
	var openUrl = cart_url  + model_cd;
	openUrl += "&returnurl=" + url;
	document.location.href=openUrl;
}

var g_current_page = '';
var g_current_tab = 'all';
var g_current_sort = '';
var g_current_display_num = '';

function goto_page_action (page, page_type) {
	g_current_page = page;
	execute_action(page_type, 'page');
}

function goto_page_action (page, page_type, subtype) {
	g_current_page = page;
	execute_action(page_type, 'page', subtype);
}

////////////////////////////////////////// 2010.02.08 : 17592 / [vn] VN - TV landing page
var IS_LOAD = false;
/*
$(document).ready(function() {
	IS_LOAD = true;
});
*/

function goto_tab_action (tab_cd, page_type) {
	if (IS_LOAD) {
		g_current_tab = tab_cd;
		execute_action(page_type, 'tab');
		try {
			s_control_click('prop5,eVar5', '', 'sub-type page(tab),sub-type page(tab)', 'o', 'product finding method');
		} catch (e) {}
	}
 }
////////////////////////////////////////// 2010.02.08 : 17592 / [vn] VN - TV landing page

function goto_sort_action (sort_cd, page_type, subtype) {
	g_current_sort = sort_cd;
	execute_action(page_type, 'sort', subtype);
}

function goto_display_action (display_num, page_type, subtype) {
	g_current_display_num = display_num;
	execute_action(page_type, 'display', subtype);
}

function get_selectbox_singlevalue (obj) {
	if (obj == null) return '';
	for(var count=0; count < obj.options.length; count++) {  
		if (obj.options[count].selected && obj.options[count].value != '') {
			return obj.options[count].value;
		}
	}
	return ''
}

function execute_action (page_type, action_name, subtype) {
	var data = '';
	
	data += getDefaultParameter ();
	data += getSelectedAttibuteParameter();
	
	if (action_name != 'display') {
		var size = get_selectbox_singlevalue(document.getElementById("grid_display"));
		if (size != null && size != '')
			g_current_display_num = size;
	}
	if (action_name != 'sort') {
		var val = get_selectbox_singlevalue(document.getElementById("grid_sort"));
		if (val != null && val != '')
			g_current_sort = val;
	}
	
	if (action_name == 'display') {
		g_current_page = '';
		clear_compare_item();
	}
	else if (action_name == 'page') {
	}
	else if (action_name == 'sort') {
		g_current_page = '';
		clear_compare_item();
	}
	else if (action_name == 'tab') {
		g_current_page = '';
		g_current_sort = '';
		g_current_display_num = '';
	}
	
	if (g_current_sort != '')
		data += "&page_sort=" + g_current_sort;
	if (g_current_display_num != '')
		data += "&page_size=" + g_current_display_num;
	if (g_current_page != '')
		data += "&page=" + g_current_page;
	
	if (page_type == 'S_SS' && g_current_tab != '' && g_current_tab != 'all') {
		data += "&subsubtype=" + g_current_tab;
	}
	// Series Subtype
	else if (page_type == 'S_SR' && g_current_tab != 'all') {
		data += "&tab_cd=" + g_current_tab;
	}
	// Printer Accessory
	else if (page_type == 'AS_P') {
		data += get_print_model_params();
	}
	// General Type (View All)
	else if (page_type == 'T') {
	}
	// General Subtype
	else if (page_type == 'S') {
	}
	
	ajaxGetForGrid(data, true);
}

//////////////////////////////////////////////////////////////////////////////////////
////Product Selector Slider START !!!
//////////////////////////////////////////////////////////////////////////////////////
function controlSliderAttribute (s_attribute_num, callType, values) {
	var g_seq = 0;
	var l_seq = 0;
	var slider_num_list = document.getElementsByName ("selector_slider");
	for (var num = 0; num < slider_num_list.length; num++) {
		var infostr = slider_num_list[num].value;
		var arr_info = infostr.split("|"); // NUM|CONTROL_TYPE|SLIDER_TYPE|MAP_TYPE|SLCT_CODE
		var attribute_num = arr_info[0];
		var control_type = arr_info[1];
		var detail_type = arr_info[2];
		var map_type = arr_info[3];
		var selector_code = arr_info[4];
		
		var minvalue = document.getElementById("hidden_selector" + attribute_num + "_minval");
		var maxvalue = document.getElementById("hidden_selector" + attribute_num + "_maxval");
		var attributename = document.getElementById("selector_item_name_" + attribute_num);
		if (!minvalue || !maxvalue || !attributename) {
			if (minhidden.value != '' && maxhidden.value != '') {
				if (detail_type == 'GER') {
					setSliderValue('N', g_seq, attribute_num + "_" + minhidden.value, attribute_num + "_" + maxhidden.value);
					g_seq++;
				} else {
					setSliderValue('L', l_seq, attribute_num + "_" + minhidden.value, attribute_num + "_" + maxhidden.value);
				}
				onoff_check_img(document.getElementById("ischeck" + attribute_num), "on");
				find_slider_value(num);
			}
		}
	}
}

function find_slider_value(num) {
	var rtnMSG = "";
	var rtnMSGVal = "";
	var lv, rv, _min, _max, lidx, ridx;
	var E = $("select.slider").eq(num);
	var values = new Array();
	var titles = new Array();
	var obj_id = '';
	var index = 0;
	try {
		_min = parseInt($("input.LIDX").eq(num).val());
		_max = parseInt($("input.RIDX").eq(num).val());
		for (var x = _min; x < _max+1 ; x++) {
			if (x != _min) {
				rtnMSG += ", ";
				rtnMSGVal += ", ";
			}
			rtnMSG += E.find("option")[x].text;
			rtnMSGVal +=  E.find("option")[x].value;
			
			value = E.find("option")[x].value
			var arr = value.split('_');
			titles[index] = E.find("option")[x].text;
			if (arr.length == 2){
				obj_id = arr[0];
				values[index++] = arr[1];
			}
		}
		return values;
	} catch (e) {}
}

function initSliderItemParam (id) {
	var tobj = document.getElementById(id);
	var slide = tobj.getElementsByTagName("select");
	for (var idx = 0; idx < slide.length; idx++) {
		for(var count=0; count < slide.item(idx).options.length; count++) {
			var value = slide.item(idx).options[count].value;
			var arr = value.split('_');
			g_selected_value_list[arr[1]] = new Array("N", "enable");
		}
	}
}

function changeSlider(obj, lobj, robj) {
	var _omin = 0, _omax = 0;
	var _min, _max;
	_omax = (obj.find("option").length-1);
	_min = parseInt(lobj.val());
	_max = parseInt(robj.val());

	var values = new Array();
	var titles = new Array();
	var attribute_num = '';
	var index = 0;
	var selector_code = '';
	
	for (var x = _min; x < _max+1 ; x++) {
		value = obj.find("option")[x].value
		var arr = value.split('_');
		
		titles[index] = obj.find("option")[x].text;
		if (arr.length == 2){
			attribute_num = arr[0];
			values[index++] = arr[1];
		}
		var tval = arr[1].split("|");
		if (!!tval[1] && selector_code == '')
			selector_code = tval[1];
	}
	
	for (key in g_selector_item_list) {
		var info_arr = key.split("|");
		if (info_arr[2] == selector_code)
		{
			initSliderItemParam(g_selector_item_list[key][0]);
			break;
		}
	}
	minid = "hidden_selector" + attribute_num + "_minval";
	maxid = "hidden_selector" + attribute_num + "_maxval";
	nameid = "selector_item_name_" + attribute_num;
	
	minhidden = document.getElementById(minid);
	maxhidden = document.getElementById(maxid);
	nameobj = document.getElementById(nameid);
	controlObj = document.getElementById("selectlayer" + attribute_num);
//	initialize_slider_info(controlObj);
	
	for (var i = 0; i < values.length; i++) {
		if (!g_selected_value_list[values[i]])
			g_selected_value_list[values[i]] = new Array("Y", "enable");
		else 
			g_selected_value_list[values[i]][0] = "Y";
	}
	
	if (parseInt(_omin) == parseInt(_min)) {
		if (parseInt(_omax) == parseInt(_max)){
			minhidden.value = "";
			maxhidden.value = "";
			mintitle = "";
			maxtitle = "";
			for (var i = 0; i < values.length; i++) {
				if (!g_selected_value_list[values[i]])
					g_selected_value_list[values[i]] = new Array("N", "enable");
				else
					g_selected_value_list[values[i]][0] = "N";
			}
		 }
	}

	ajaxCallProductSelector();

	try {
		var mintitle = '';
		var maxtitle = '';
		if (minhidden != null && maxhidden != null) {
			minhidden.value = values[0];
			maxhidden.value = values[values.length-1];
			mintitle = titles[0];
			maxtitle = titles[values.length-1];
			if (minhidden.value != '' && maxhidden.value != '') {
				call_omniture(nameobj.innerText, mintitle + "-" + maxtitle);
			}
		}
	} catch (e) {}
}

function setSliderValue(type, seq, lValue, rValue) {
	if (type == "N") {
		$("div.slider").eq(seq).trigger("slider:setValue", [lValue + "‡" + rValue]);
	} else {
		$("div.slider2").eq(seq).trigger("slider:setValue", [lValue + "‡" + rValue]);
	}
}

function setNSliderValue(seq, lValue, rValue) {
	$("div.slider").eq(seq).trigger("slider:setValue", [lValue + "‡" + rValue]);
}

function setLSliderValue(seq, lValue, rValue) {
	$("div.slider2").eq(seq).trigger("slider:setValue", [lValue + "‡" + rValue]);
}


////////////////////////////////////////////////////////////////////////////////////
// Script Functions For Printer Accessory Subtype.    /////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
function get_print_model_params(){
	
	var data = "";
	var selector = document.getElementById("printer_model_grid");
	var nodes = selector.getElementsByTagName("input");
	for (idx = 0; idx < nodes.length; idx++) {
		var item = nodes.item(idx);
		if (item.getAttribute('type') == 'checkbox' && item.checked && item.value != '') {
			data += "&prd_mdl_cd=" + item.value;
		}
	}
	return data;
}

function reset_print_model_grid(){
	document.getElementById('printer_model_grid_form').reset();
	var count = document.getElementById('priter_grid_item_count').value;
	for (var i = 0; i < count; i++) {
		var obj = document.getElementById("printer_model_" + i);
		if (!!obj)
			obj.className = "";
	}

	get_printer_acc_list(this, '');
}

function get_printer_acc_list_param () {
	var data = getDefaultParameter ();
	
	data += get_print_model_params();
	if(g_current_display_num != '')
		data += "&page_size=" + g_current_display_num;
	if(g_current_sort != '')
		data += "&page_sort=" + g_current_sort;
	
	return data;
}

function get_printer_acc_list (cb_obj, li_tag_id) {
	if (_site_cd == '')
		getSiteCd();
	var url = "/" + _site_cd + "/consumer/grid.do";
	var id = "product_grid";
	if (li_tag_id != '') {
		var obj = document.getElementById(li_tag_id);
		if (cb_obj.checked) {
			if (!!obj)
				obj.className = "on";
		} else {
			if (!!obj)
				obj.className = "";
		}
	}
	ajaxGetForGrid (get_printer_acc_list_param(), false);
}

/////////////////////////////////////////////////////////////////////////////////////
//Script Functions For Grid Quick Viewer.                 /////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
function get_quickview_request (req) {
	if (req.readyState != 4)
		return;
	if (req.status == 200 || req.status == 0) {
		tmp = req.responseText
	}
	quick_view_layer.innerHTML = tmp;
}

function viewQuickviewLayer(num, maxNum){
	var item = new Array;
	var quickviewLayer = new Array;
	
	item = document.getElementsByName("item");
	quickviewLayer = document.getElementsByName("quickviewLayer");
	
	for (var i=0; i<item.length;i++) {
		if (!!item[i])
			item[i].style.zIndex = 1;
		if (!!quickviewLayer[i])
			quickviewLayer[i].style.display = 'none';
	}
	var selectItem = document.getElementById ("item" + num);
	var selectQuickviewLayer = document.getElementById ("quickviewLayer" + num);
	if (!!selectItem) 
		selectItem.style.zIndex = 10;
	if (!!selectQuickviewLayer)
		selectQuickviewLayer.style.display = 'block';
	
//	for (var i=0;i<maxNum;i++){
//		item[i] = document.getElementById("item"+(i+1));
//		quickviewLayer[i] = document.getElementById("quickviewLayer"+(i+1));
//		if (!!item[i])
//			item[i].style.zIndex = 1;
//		if (!!quickviewLayer[i])
//			quickviewLayer[i].style.display = 'none';
//	}
//	item[num-1].style.zIndex = 10;
//	quickviewLayer[num-1].style.display = 'block';

	return false;
}

function hideQuickviewLayer(num){
	document.getElementById("item"+num).style.zIndex = 1;
	document.getElementById("quickviewLayer"+num).style.display = 'none';
	return false;
}


