var listComputing = new Array();
 
//lv1
listComputing.push({seq : 1, name:'DDR3 SDRAM', value:'' , parent : 0});
listComputing.push({seq : 2, name:'DDR2 SDRAM', value:'' , parent : 0 });
listComputing.push({seq : 3, name:'DDR SDRAM', value:'' , parent : 0});
 

//lv2
listComputing.push({seq : 11, name:'Component', value:'' , parent : 1});
listComputing.push({seq : 12, name:'UBDIMM', value:'' , parent : 1});
listComputing.push({seq : 13, name:'SODIMM', value:'' , parent : 1});
listComputing.push({seq : 14, name:'VLP RDIMM', value:'' , parent : 1});
listComputing.push({seq : 15, name:'RDIMM', value:'' , parent : 1});

//lv3
//Com
listComputing.push({seq : 111, name:'1Gb', value:'/products/computing/computing.jsp?info.ramCategory=computing&info.ramKind=19&info.eol=NOT&den=1Gb&posMap=computingDDR3' , parent : 11});
listComputing.push({seq : 112, name:'2Gb', value:'/products/computing/computing.jsp?info.ramCategory=computing&info.ramKind=19&info.eol=NOT&den=2Gb&posMap=computingDDR3' , parent : 11});
listComputing.push({seq : 113, name:'4Gb', value:'/products/computing/computing.jsp?info.ramCategory=computing&info.ramKind=19&info.eol=NOT&den=4Gb&posMap=computingDDR3' , parent : 11});

//UB
listComputing.push({seq : 121, name:'1GB', value:'/products/computing/computing.jsp?info.ramKind=20&info.storeKind=UD&info.eol=NOT&den=1GB&posMap=computingDDR3' , parent : 12});
listComputing.push({seq : 122, name:'2GB', value:'/products/computing/computing.jsp?info.ramKind=20&info.storeKind=UD&info.eol=NOT&den=2GB&posMap=computingDDR3' , parent : 12});
listComputing.push({seq : 123, name:'4GB', value:'/products/computing/computing.jsp?info.ramKind=20&info.storeKind=UD&info.eol=NOT&den=4GB&posMap=computingDDR3' , parent : 12});

//SO
listComputing.push({seq : 131, name:'1GB', value:'/products/computing/computing.jsp?info.ramKind=20&info.storeKind=SO&info.eol=NOT&den=1GB&posMap=computingDDR3' , parent : 13});
listComputing.push({seq : 132, name:'2GB', value:'/products/computing/computing.jsp?info.ramKind=20&info.storeKind=SO&info.eol=NOT&den=2GB&posMap=computingDDR3' , parent : 13});
listComputing.push({seq : 133, name:'4GB', value:'/products/computing/computing.jsp?info.ramKind=20&info.storeKind=SO&info.eol=NOT&den=4GB&posMap=computingDDR3' , parent : 13});

//VLP
listComputing.push({seq : 141, name:'1GB', value:'/products/computing/computing.jsp?info.ramKind=20&info.storeKind=VR&info.eol=NOT&den=1GB&posMap=computingDDR3' , parent : 14});
listComputing.push({seq : 142, name:'2GB', value:'/products/computing/computing.jsp?info.ramKind=20&info.storeKind=VR&info.eol=NOT&den=2GB&posMap=computingDDR3' , parent : 14});
listComputing.push({seq : 143, name:'4GB', value:'/products/computing/computing.jsp?info.ramKind=20&info.storeKind=VR&info.eol=NOT&den=4GB&posMap=computingDDR3' , parent : 14});
listComputing.push({seq : 144, name:'8GB', value:'/products/computing/computing.jsp?info.ramKind=20&info.storeKind=VR&info.eol=NOT&den=8GB&posMap=computingDDR3' , parent : 14});

//RDIMM
listComputing.push({seq : 151, name:'1GB', value:'/products/computing/computing.jsp?info.ramKind=20&info.storeKind=RD&info.eol=NOT&den=1GB&posMap=computingDDR3' , parent : 15});
listComputing.push({seq : 152, name:'2GB', value:'/products/computing/computing.jsp?info.ramKind=20&info.storeKind=RD&info.eol=NOT&den=2GB&posMap=computingDDR3' , parent : 15});
listComputing.push({seq : 153, name:'4GB', value:'/products/computing/computing.jsp?info.ramKind=20&info.storeKind=RD&info.eol=NOT&den=4GB&posMap=computingDDR3' , parent : 15});
listComputing.push({seq : 154, name:'8GB', value:'/products/computing/computing.jsp?info.ramKind=20&info.storeKind=RD&info.eol=NOT&den=8GB&posMap=computingDDR3' , parent : 15});


//lv2
listComputing.push({seq : 21, name:'Component', value:'' , parent : 2});
listComputing.push({seq : 22, name:'UBDIMM', value:'' , parent : 2});
listComputing.push({seq : 23, name:'FBDIMM', value:'' , parent : 2});
listComputing.push({seq : 24, name:'VLP RDIMM', value:'' , parent : 2});
listComputing.push({seq : 25, name:'RDIMM', value:'' , parent : 2});
listComputing.push({seq : 26, name:'SODIMM', value:'' , parent : 2});

//lv3
listComputing.push({seq : 211, name:'1Gb', value:'/products/computing/computing.jsp?info.ramCategory=computing&info.ramKind=03&info.eol=NOT&den=1Gb&posMap=computingDDR2' , parent : 21});
listComputing.push({seq : 212, name:'2Gb', value:'/products/computing/computing.jsp?info.ramCategory=computing&info.ramKind=03&info.eol=NOT&den=2Gb&posMap=computingDDR2' , parent : 21});

//UBDIMM
listComputing.push({seq : 221, name:'512MB', value:'/products/computing/computing.jsp?info.ramKind=08&info.storeKind=UD&info.eol=NOT&den=512MB&posMap=computingDDR2' , parent : 22});
listComputing.push({seq : 222, name:'1GB', value:'/products/computing/computing.jsp?info.ramKind=08&info.storeKind=UD&info.eol=NOT&den=1GB&posMap=computingDDR2' , parent : 22});
listComputing.push({seq : 223, name:'2GB', value:'/products/computing/computing.jsp?info.ramKind=08&info.storeKind=UD&info.eol=NOT&den=2GB&posMap=computingDDR2' , parent : 22});
listComputing.push({seq : 224, name:'4GB', value:'/products/computing/computing.jsp?info.ramKind=08&info.storeKind=UD&info.eol=NOT&den=4GB&posMap=computingDDR2' , parent : 22});

listComputing.push({seq : 231, name:'1GB', value:'/products/computing/computing.jsp?info.ramKind=08&info.storeKind=FB&info.eol=NOT&den=1GB&posMap=computingDDR2' , parent : 23});
listComputing.push({seq : 232, name:'2GB', value:'/products/computing/computing.jsp?info.ramKind=08&info.storeKind=FB&info.eol=NOT&den=2GB&posMap=computingDDR2' , parent : 23});
listComputing.push({seq : 233, name:'4GB', value:'/products/computing/computing.jsp?info.ramKind=08&info.storeKind=FB&info.eol=NOT&den=4GB&posMap=computingDDR2' , parent : 23});
 
listComputing.push({seq : 241, name:'1GB', value:'/products/computing/computing.jsp?info.ramKind=08&info.storeKind=VR&info.eol=NOT&den=1GB&posMap=computingDDR2' , parent : 24});
listComputing.push({seq : 242, name:'2GB', value:'/products/computing/computing.jsp?info.ramKind=08&info.storeKind=VR&info.eol=NOT&den=2GB&posMap=computingDDR2' , parent : 24});

listComputing.push({seq : 251, name:'1GB', value:'/products/computing/computing.jsp?info.ramKind=08&info.storeKind=RD&info.eol=NOT&den=1GB&posMap=computingDDR2' , parent : 25});
listComputing.push({seq : 252, name:'2GB', value:'/products/computing/computing.jsp?info.ramKind=08&info.storeKind=RD&info.eol=NOT&den=2GB&posMap=computingDDR2' , parent : 25});
listComputing.push({seq : 253, name:'4GB', value:'/products/computing/computing.jsp?info.ramKind=08&info.storeKind=RD&info.eol=NOT&den=4GB&posMap=computingDDR2' , parent : 25});

listComputing.push({seq : 261, name:'512MB', value:'/products/computing/computing.jsp?info.ramKind=08&info.storeKind=SO&info.eol=NOT&den=512MB&posMap=computingDDR2' , parent : 26});
listComputing.push({seq : 262, name:'1GB', value:'/products/computing/computing.jsp?info.ramKind=08&info.storeKind=SO&info.eol=NOT&den=1GB&posMap=computingDDR2' , parent : 26});
listComputing.push({seq : 263, name:'2GB', value:'/products/computing/computing.jsp?info.ramKind=08&info.storeKind=SO&info.eol=NOT&den=2GB&posMap=computingDDR2' , parent : 26});
listComputing.push({seq : 264, name:'4GB', value:'/products/computing/computing.jsp?info.ramKind=08&info.storeKind=SO&info.eol=NOT&den=4GB&posMap=computingDDR2' , parent : 26});


//lv2
listComputing.push({seq : 31, name:'Component', value:'' , parent : 3});
listComputing.push({seq : 32, name:'UBDIMM', value:'' , parent : 3});
listComputing.push({seq : 33, name:'RDIMM', value:'' , parent : 3});
listComputing.push({seq : 34, name:'SODIMM', value:'' , parent : 3});

//lv3
listComputing.push({seq : 311, name:'128Mb', value:'/products/computing/computing.jsp?info.ramCategory=computing&info.ramKind=02&info.eol=EOL&den=128Mb&posMap=computingDDRSDRAM' , parent : 31});
listComputing.push({seq : 312, name:'256Mb', value:'/products/computing/computing.jsp?info.ramCategory=computing&info.ramKind=02&info.eol=EOL&den=256Mb&posMap=computingDDRSDRAM' , parent : 31});
listComputing.push({seq : 313, name:'512Mb', value:'/products/computing/computing.jsp?info.ramCategory=computing&info.ramKind=02&info.eol=EOL&den=512Mb&posMap=computingDDRSDRAM' , parent : 31});
 
listComputing.push({seq : 321, name:'128MB', value:'/products/computing/computing.jsp?info.ramKind=07&info.storeKind=UD&info.eol=EOL&den=128MB&posMap=computingDDRSDRAM' , parent : 32});
listComputing.push({seq : 322, name:'256MB', value:'/products/computing/computing.jsp?info.ramKind=07&info.storeKind=UD&info.eol=EOL&den=256MB&posMap=computingDDRSDRAM' , parent : 32});
listComputing.push({seq : 323, name:'512MB', value:'/products/computing/computing.jsp?info.ramKind=07&info.storeKind=UD&info.eol=EOL&den=512MB&posMap=computingDDRSDRAM' , parent : 32});
listComputing.push({seq : 324, name:'1GB', value:'/products/computing/computing.jsp?info.ramKind=07&info.storeKind=UD&info.eol=EOL&den=1GB&posMap=computingDDRSDRAM' , parent : 32});

listComputing.push({seq : 331, name:'128MB', value:'/products/computing/computing.jsp?info.ramKind=07&info.storeKind=RD&info.eol=EOL&den=128MB&posMap=computingDDRSDRAM' , parent : 33});
listComputing.push({seq : 332, name:'256MB', value:'/products/computing/computing.jsp?info.ramKind=07&info.storeKind=RD&info.eol=EOL&den=256MB&posMap=computingDDRSDRAM' , parent : 33});
listComputing.push({seq : 333, name:'512MB', value:'/products/computing/computing.jsp?info.ramKind=07&info.storeKind=RD&info.eol=EOL&den=512MB&posMap=computingDDRSDRAM' , parent : 33});
listComputing.push({seq : 334, name:'1GB', value:'/products/computing/computing.jsp?info.ramKind=07&info.storeKind=RD&info.eol=EOL&den=1GB&posMap=computingDDRSDRAM' , parent : 33});
listComputing.push({seq : 335, name:'2GB', value:'/products/computing/computing.jsp?info.ramKind=07&info.storeKind=RD&info.eol=EOL&den=2GB&posMap=computingDDRSDRAM' , parent : 33});

listComputing.push({seq : 341, name:'128MB', value:'/products/computing/computing.jsp?info.ramKind=07&info.storeKind=SO&info.eol=EOL&den=128MB&posMap=computingDDRSDRAM' , parent : 34});
listComputing.push({seq : 342, name:'256MB', value:'/products/computing/computing.jsp?info.ramKind=07&info.storeKind=SO&info.eol=EOL&den=256MB&posMap=computingDDRSDRAM' , parent : 34});
listComputing.push({seq : 343, name:'512MB', value:'/products/computing/computing.jsp?info.ramKind=07&info.storeKind=SO&info.eol=EOL&den=512MB&posMap=computingDDRSDRAM' , parent : 34});
listComputing.push({seq : 344, name:'1GB', value:'/products/computing/computing.jsp?info.ramKind=07&info.storeKind=SO&info.eol=EOL&den=1GB&posMap=computingDDRSDRAM' , parent : 34});


var listConsumer = new Array();

listConsumer.push({seq : 1, name:'DDR3 SDRAM', value:'' , parent : 0});
listConsumer.push({seq : 2, name:'DDR2 SDRAM', value:'' , parent : 0 });
listConsumer.push({seq : 3, name:'DDR SDRAM', value:'' , parent : 0});
listConsumer.push({seq : 3, name:'SDR SDRAM', value:'' , parent : 0});

listConsumer.push({seq : 11, name:'1Gb', value:'/products/consumer/consumer.jsp?info.ramCategory=consumer&info.ramKind=19&info.eol=NOT&den=1Gb&posMap=consumerDDR3' , parent : 1});
listConsumer.push({seq : 12, name:'2Gb', value:'/products/consumer/consumer.jsp?info.ramCategory=consumer&info.ramKind=19&info.eol=NOT&den=2Gb&posMap=consumerDDR3' , parent : 1});

listConsumer.push({seq : 21, name:'256Mb', value:'/products/consumer/consumer.jsp?info.ramCategory=consumer&info.ramKind=03&info.eol=NOT&den=256Mb&posMap=consumerDDR2' , parent : 2});
listConsumer.push({seq : 22, name:'512Mb', value:'/products/consumer/consumer.jsp?info.ramCategory=consumer&info.ramKind=03&info.eol=NOT&den=512Mb&posMap=consumerDDR2' , parent : 2});
listConsumer.push({seq : 23, name:'1Gb', value:'/products/consumer/consumer.jsp?info.ramCategory=consumer&info.ramKind=03&info.eol=NOT&den=1Gb&posMap=consumerDDR2' , parent : 2});

listConsumer.push({seq : 31, name:'128Mb', value:'/products/consumer/consumer.jsp?info.ramCategory=&info.ramKind=02&info.eol=NOT&den=128Mb&posMap=consumerDDRSDRAM' , parent : 3});
listConsumer.push({seq : 32, name:'256Mb', value:'/products/consumer/consumer.jsp?info.ramCategory=&info.ramKind=02&info.eol=NOT&den=256Mb&posMap=consumerDDRSDRAM' , parent : 3});
listConsumer.push({seq : 33, name:'512Mb', value:'/products/consumer/consumer.jsp?info.ramCategory=&info.ramKind=02&info.eol=NOT&den=512Mb&posMap=consumerDDRSDRAM' , parent : 3});

listConsumer.push({seq : 41, name:'128Mb', value:'/products/consumer/consumer.jsp?info.ramCategory=&info.ramKind=01&info.eol=NOT&den=128Mb&posMap=consumerSDRSDRAM' , parent : 4});
listConsumer.push({seq : 42, name:'256Mb', value:'/products/consumer/consumer.jsp?info.ramCategory=&info.ramKind=01&info.eol=NOT&den=256Mb&posMap=consumerSDRSDRAM' , parent : 4});


var listGraphics = new Array();
listGraphics.push({seq : 1, name:'DDR3 SDRAM', value:'' , parent : 0});
listGraphics.push({seq : 2, name:'GDDR3 SDRAM', value:'' , parent : 0 });
listGraphics.push({seq : 3, name:'GDDR5 SDRAM', value:'' , parent : 0});
//lv2
listGraphics.push({seq : 11, name:'1Gb', value:'/products/graphics/graphics.jsp?info.ramCategory=&info.ramKind=27&info.eol=NOT&den=1Gb&posMap=graphicsDDR3' , parent : 1});
listGraphics.push({seq : 12, name:'2Gb', value:'/products/graphics/graphics.jsp?info.ramCategory=&info.ramKind=27&info.eol=NOT&den=2Gb&posMap=graphicsDDR3' , parent : 1});

listGraphics.push({seq : 21, name:'512Mb', value:'/products/graphics/graphics.jsp?info.ramCategory=&info.ramKind=14&info.eol=NOT&den=512Mb&posMap=graphicsGDDR3' , parent : 2});

listGraphics.push({seq : 31, name:'1Gb', value:'/products/graphics/graphics.jsp?info.ramCategory=&info.ramKind=26&info.eol=NOT&den=1Gb&posMap=graphicsGDDR5' , parent : 3});
listGraphics.push({seq : 32, name:'2Gb', value:'/products/graphics/graphics.jsp?info.ramCategory=&info.ramKind=26&info.eol=NOT&den=2Gb&posMap=graphicsGDDR5' , parent : 3});

var listMobile = new Array();
listMobile.push({seq : 1, name:'Mobile SDR', value:'' , parent : 0});
listMobile.push({seq : 2, name:'Mobile DDR', value:'' , parent : 0 });
listMobile.push({seq : 3, name:'Mobile DDR2', value:'' , parent : 0});
listMobile.push({seq : 4, name:'PSRAM', value:'' , parent : 0});


listMobile.push({seq : 11, name:'256Mb', value:'/products/mobile/mobile.jsp?info.ramCategory=&info.ramKind=15&info.eol=NOT&den=256Mb&posMap=MobileSDR' , parent : 1});
listMobile.push({seq : 12, name:'512Mb', value:'/products/mobile/mobile.jsp?info.ramCategory=&info.ramKind=15&info.eol=NOT&den=512Mb&posMap=MobileSDR' , parent : 1});
listMobile.push({seq : 13, name:'1Gb', value:'/products/mobile/mobile.jsp?info.ramCategory=&info.ramKind=15&info.eol=NOT&den=1Gb&posMap=MobileSDR' , parent : 1});
listMobile.push({seq : 14, name:'2Gb', value:'/products/mobile/mobile.jsp?info.ramCategory=&info.ramKind=15&info.eol=NOT&den=2Gb&posMap=MobileSDR' , parent : 1});

listMobile.push({seq : 21, name:'256Mb', value:'/products/mobile/mobile.jsp?info.ramCategory=&info.ramKind=17&info.eol=NOT&den=256Mb&posMap=MobileDDR' , parent : 2});
listMobile.push({seq : 22, name:'512Mb', value:'/products/mobile/mobile.jsp?info.ramCategory=&info.ramKind=17&info.eol=NOT&den=512Mb&posMap=MobileDDR' , parent : 2});
listMobile.push({seq : 23, name:'1Gb', value:'/products/mobile/mobile.jsp?info.ramCategory=&info.ramKind=17&info.eol=NOT&den=1Gb&posMap=MobileDDR' , parent : 2});
listMobile.push({seq : 24, name:'2Gb', value:'/products/mobile/mobile.jsp?info.ramCategory=&info.ramKind=17&info.eol=NOT&den=2Gb&posMap=MobileDDR' , parent : 2});

listMobile.push({seq : 31, name:'1Gb', value:'/products/mobile/mobile.jsp?info.ramCategory=&info.ramKind=28&info.eol=NOT&den=1Gb&posMap=MobileDDR2' , parent : 3});
listMobile.push({seq : 32, name:'2Gb', value:'/products/mobile/mobile.jsp?info.ramCategory=&info.ramKind=28&info.eol=NOT&den=2Gb&posMap=MobileDDR2' , parent : 3});


listMobile.push({seq : 41, name:'16Mb', value:'/products/mobile/mobile.jsp?info.ramCategory=&info.ramKind=16&info.eol=EOL&den=16Mb&posMap=MobilePSRAM' , parent : 4});
listMobile.push({seq : 42, name:'32Mb', value:'/products/mobile/mobile.jsp?info.ramCategory=&info.ramKind=16&info.eol=EOL&den=32Mb&posMap=MobilePSRAM' , parent : 4});
listMobile.push({seq : 42, name:'64Mb', value:'/products/mobile/mobile.jsp?info.ramCategory=&info.ramKind=16&info.eol=EOL&den=64Mb&posMap=MobilePSRAM' , parent : 4});


function getChild(p, obj){
	 
	var result = new Array();
	for(var i = 0; i <obj.length; i++){
		if (obj[i].parent == p )
			result.push(obj[i]);
		
	}
	return result;
}


function findList(val, obj){

	var returnList = '';
	$(obj).each(function(){
	 
	 	 
		if (val == this.seq){
			returnList = this;
		}
	});
	return returnList;
}


function selectUI(objId,  parent, obj){
	$("#"+objId).selectbox("detach");
	
	if (parent != undefined && obj != undefined){
		setOptions(objId,  parent, obj);
	}
	
	$("#"+objId).selectbox({
		onChange: function (val, inst) {
			
			changeCategory(val, inst.id);
		
		}
	});
	fixSelectMultiUI();
}

function fixSelectMultiUI(){
	
	if( $(".sbHolder").size() > 0 ){
		$(".sbHolder").each( function(index, elem){
			$(elem).css('z-index', + (100-index));
		});
	}
}

function setOptions(objId,  parent, obj){
	var list = getChild(parent, obj);
	$("#"+objId+" option").remove();
	for(var i = 0; i <list.length; i++){
		$("<option value=\""+list[i].seq+"\" ref=\""+list[i].value+"\">"+list[i].name+"</option>").appendTo("#"+objId);	
	}
	
}

 
var currentList = listComputing;
function changeCategory(val, objId){
	
	var currentId = objId.substring(objId.length-1);
	
 
	
	if (currentId == '1'){
		//lv 1
		$('#ramKindWrap').hide();
		
		switch(val) {
			case 'computing':
				$('#ramKindWrap').show();
				selectUI('ramCategory2', 0, listComputing);
				selectUI('ramCategory3', 1, listComputing);
				selectUI('ramCategory4', 11, listComputing);
				currentList = listComputing;
				break;
			case 'consumer':
				selectUI('ramCategory2', 0, listConsumer);
				selectUI('ramCategory4', 1, listConsumer);
				currentList = listConsumer;
				break;
			case 'graphics':
				selectUI('ramCategory2', 0, listGraphics);
				selectUI('ramCategory4', 1, listGraphics);
				currentList = listGraphics;
				break;
			case 'mobile':
				selectUI('ramCategory2', 0, listMobile);
				selectUI('ramCategory4', 1, listMobile);
				currentList = listMobile;
				break;
		
		}
	
	}
	
	if (currentId == '2'){
		//computing 일경우만 
		if ($('#ramCategory1').val() == "computing"){
			selectUI('ramCategory3', val, currentList);
			selectUI('ramCategory4', parseInt(val+'1',10), currentList);
		}else{
			
			selectUI('ramCategory4', val, currentList);
		}
		
	}
	
	
	if (currentId == '3'){
		
		selectUI('ramCategory4', val, currentList);
		
		
	}
	
	 
}

function productSearch(){
	location.href= $('#ramCategory4 option:selected').attr('ref');	
}

$(function(){
	selectUI('ramCategory1');
	changeCategory($('#ramCategory1').val(), 'ramCategory1');
	$('ul.menu5').show();
});

 
