 /******************************************************************************
 Copyright (c) 2007 Samsung Electronics. All Rights Reserved.
 Project: Samsung.com Site Renewal(2009.05~09)

 File Name : s3_main_category.js
 Description : landing page의 category 조회 페이지 JS
 
 LAYOUT페이지에서 저장하고 있는 전역변수 공유
 ----------------------------------------------------------------------------------
 var _SITE_CD = '${_site_cd}';
 var _SITE_CONTEXT = '/${_site_cd}/';
----------------------------------------------------------------------------------

 Author : deuksoo.bang
 Since : 2009.08.04
 
 Modification Information
 Mod Date        Modifier         Description
 ----------      --------         ---------------------------
 2009.08.04      deuksoo.bang     create
 2009.09.23      deuksoo.bang     post->get방식 전환, ajax cache처리
******************************************************************************/

/**
 * 카테고리 조회에 필요한 상수값
 */
var m_category = {
		url:_SITE_CONTEXT+'support/main/supportSearchCategory.do',
		popup:'#category_popup',
		popup_arrow:'#category_popup_arrow',
		type:'#type',
		type_loading:'#type_loading',
		subtype:'#subtype',
		subtype_loading:'#subtype_loading',
		model:'#model',
		model_loading:'#model_loading',
		model_img:'#model_image',
		model_disp_nm:'#model_disp_nm',
		model_no_image_src:_SITE_CONTEXT+'p2images/common/img_noimg.gif',
		flag:true,
		delay:700
};

/**
 * 카테고리 조회시 Group를 통해 Type정보를 가져온다.
 * 
 * @param groupPrdIaCd
 * @return
 */
function openTypeByGroupClick(a_Id,groupPrdIaCd) {
	var pos = $(a_Id).position();
	var arrow_css = {'display':'block','left':(pos.left+20)+'px'};
	
	// show layer and arrow img
	$(m_category.popup_arrow).css(arrow_css);
	S3Util.showLayer(m_category.popup);
	S3Util.showLayer(m_category.popup_arrow);

	$(m_category.type_loading).block();
	$.ajax({
			url: m_category.url,
			type:'GET',
			cache: true,
			global:false,
			data: {level:2, upper_prd_ia_cd:groupPrdIaCd},
			dataType:'json',
			success: function(data){
  				try {
	  				// initialize selectbox
					$(m_category.type+' option').remove();
					$(m_category.subtype+' option').remove();
					$(m_category.model+' optgroup').remove();
					$(m_category.model+' option').remove();
					$(m_category.model_img).attr({ src:m_category.model_no_image_src,alt:''});
					$(m_category.model_disp_nm).text('');
					
					//create new option
					$.each(data, function(){
						var str='';
						
						str += "<option value='"
							+  this.prd_ia_cd
							+  "'>"
							+  this.prd_ia_name 
							+  "</option>";

						$(m_category.type).append(str);
					});
  				} catch(err){}
			},
			complete:function() {
				$(m_category.type_loading).unblock();			
			}
	});
	
}

/**
 * 서버 Request를 줄이기 위해 특정 millisecond동안 delay처리
 * 
 * @param level
 * @return
 */
function openCategory(level) {
	if(m_category.flag) {
		m_category.flag=false;
		
		switch(level) {
			case 3://subtype
				setTimeout(function(){m_category.flag=true; openSubTypeByTypeClick();}, m_category.delay);
				break;
			case 4://model(subsubtype포함)
				setTimeout(function(){m_category.flag=true; openModelBySubTypeClick();}, m_category.delay);
				break;
			case 5://model image
				setTimeout(function(){m_category.flag=true; openImageByModelClick();}, m_category.delay);
				break;
		}
	} 
}


/**
 * 카테고리 조회시 Type를 통해 SubType(or SubSubType)정보를 가져온다.
 * @return
 */
function openSubTypeByTypeClick() {
	var typePrdIaCd = $(m_category.type+' option:selected').val();
	
	$(m_category.subtype_loading).block();
	$.ajax({
			url: m_category.url,
			type:'GET',
			cache: true,
			global:false,
			data: {level:3, upper_prd_ia_cd:typePrdIaCd},
			dataType:'json',
			success: function(data){
				try {
					
					// initialize selectbox
					$(m_category.subtype+' option').remove();
					$(m_category.model+' option').remove();
					$(m_category.model+' optgroup').remove();
					$(m_category.model_img).attr({ src:m_category.model_no_image_src,alt:''});
					//$(m_category.model_disp_nm).text('');
					
					//create new option
					$.each(data, function(){
						var str='';
						
						str += "<option value='"
							+  this.prd_ia_cd
							+  "'>"
							+  (this.prd_ia_typ_cd == '04' ? ' - ' : '')
							+  this.prd_ia_name 
							+  "</option>";
						
						$(m_category.subtype).append(str);
					});
				} catch(err){}
			},
			complete:function() {
				$(m_category.subtype_loading).unblock();					
			}
 	});

}

/**
 * 카테고리 조회시 SubType(or SubSubType)를 통해 Model(or SubSubType+model)정보를
 * 가져온다.
 * @return
 */
function openModelBySubTypeClick() {
	var subTypePrdIaCd = $(m_category.subtype+' option:selected').val();

	$(m_category.model_loading).block();
	$.ajax({
			url: m_category.url,
			type:'GET',
			cache: true,
			global:false,
			data: {level:4, upper_prd_ia_cd:subTypePrdIaCd},
			dataType:'json',
			success: function(data){
				try {				
					//delete old option
					$(m_category.model+' option').remove();
					$(m_category.model+' optgroup').remove();
					$(m_category.model_img).attr({ src:m_category.model_no_image_src,alt:''});
					$(m_category.model_disp_nm).text('');
					
					$.each(data, function(){
						var str='';
						if(this.display_prd_mdl_name == '0') {
							str += "<optGroup label='"
								+  this.prd_ia_name
								+  "'/>";
						} else {
							str += "<option value='"
								+  this.prd_ia_cd + "|" 
								+ (this.prd_mdl_cd?this.prd_mdl_cd:"") + "|"
								+  this.prd_mdl_name + "|"
								+  this.prd_ia_sub_class_cd
								+  "'>"
								+  this.display_prd_mdl_name
								+  "</option>";
						}
						
						$(m_category.model).append(str);
						
					});
				} catch(err){}
			},
			complete:function() {
				$(m_category.model_loading).unblock();
			}
 		});

}

/**
 * 카테고리 조회시 Model를 통해 Model image를 가져온다.
 * @return
 */
function openImageByModelClick() {
	var modelObj = $(m_category.model+' option:selected').val().split('|');
	
	$.ajax({
			url: m_category.url,
			type:'GET',
			cache: true,
			global:false,
			data: {	level:5, 
					upper_prd_ia_cd:modelObj[0], 
					prd_mdl_cd:modelObj[1],
					prd_mdl_name:modelObj[2], 
					prd_ia_sub_class_cd:modelObj[3]},
			dataType:'json',
			success: function(data){

				//display image
				if(!data.imagePath) {
					$(m_category.model_img).attr({ src:m_category.model_no_image_src,alt:''});
					$(m_category.model_img).unbind('click', categoryDetailBtnClick);
					$(m_category.model_img).css({cursor:''});
				} else {
					var imagePath = data.imagePath.split('|');
					$(m_category.model_img).attr({ src:'http://www.samsung.com'+imagePath[0],alt:imagePath[1]});
					$(m_category.model_img).bind('click', categoryDetailBtnClick);
					$(m_category.model_img).css({cursor:'pointer'});
				}
				
				//display name
      			$(m_category.model_disp_nm).html($(m_category.model+' option:selected').text());
			}
 	});

}

/**
 * categroy조회 후 detail버튼 클릭 시 상세화면으로 이동
 * @return
 */
function categoryDetailBtnClick() {

	//no item
	if($(m_category.model+' option').length < 1)
		return;
	
	var modelObj = $(m_category.model+' option:selected').val().split('|');
	//alert(modelObj[0]+":"+modelObj[1]+":"+modelObj[2]+":"+modelObj[3]);
	
	//omniture taging
	s_control_click('events,eVar8,eVar34', 'event1', 'event1,product category,'+_SITE_CD+':'+modelObj[2], 'o', 'support search');
	
	$('#categoryFrm input[name="prd_ia_cd"]').val(modelObj[0]);
	$('#categoryFrm input[name="prd_mdl_cd"]').val(modelObj[1]);
	$('#categoryFrm input[name="prd_mdl_name"]').val(modelObj[2]);
	$('#categoryFrm input[name="prd_ia_sub_class_cd"]').val(modelObj[3]);
	$('#categoryFrm').submit();
}
