/******************************************************************************
 Copyright (c) 2007 Samsung Electronics. All Rights Reserved.
 Project: Samsung.com Site Renewal(2007.01~07)

 File Name : paramsearch.js
 Description : parametric search JavaScript
 Author : À¯Àç¸í
 Since : 2007.04.05
 
 Modification Information
 Mod Date Modifier Description
 ---------- -------- ---------------------------
 2007.04.05 À¯Àç¸í   ÃÖÃÊ »ý¼º
 2009.06.11 Á¤±ÔÈ¯   search error ¼öÁ¤
******************************************************************************/
var vCtrl_subFamily;
var flag;
var initFlag;

var category_selectBox = new Ui.SelectBox();
for(i=1; i<=vCol_length; i++){
	var vColNum = "col_" + i;	
	category_selectBox.add(vColNum);
}

//*****************************************************************************
// Description : Ajax Basic ÇÔ¼ö Á¤ÀÇ
// Parameter: ¾øÀ½ 
// Return: ¾øÀ½ 
// Usage: ¾øÀ½
//*****************************************************************************
function getXmlHttpObject() {
	var xmlhttp;

	if (window.XMLHttpRequest) {
		xmlhttp = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }

    return xmlhttp;
}

var xhttp = getXmlHttpObject();

/************************************************************
dwr¿¡ ³Ñ¾î°¡´Â °ªÀº ¹è¿­·Î ³Ñ±â´Â °æ¿ì¸¦ À§ÇÑ ÂüÁ¶¿ë ÇÔ¼ö
************************************************************/
function test(fmly_id){
		var zzz = new Array("1","2","3","4","5","6","7","8","9","10");
		ParamSelectBoxDWR.getParamSelectBoxValueList( zzz, aaa );
}

/** ********************************************************** **/

//json selected result
function paramselectNext(site_cd, fmly_id, valueselectobj, selectedPrd_id, selectedId, selectedValue){

	if(valueselectobj.value != "All"){
		var valueselect = valueselectobj.value;
		var isvariousvalue = "n";
		var valueselectname = valueselectobj.name.split("_");
		
		vparamlist[valueselectname[1]-1] = valueselect;
		
		if(valueselect.substring(0,1) == ","){
			isvariousvalue ="y";
			valuselect = valueselect.substr(1);
		}

		var originValues = valueselectobj.value;
		var originIdNum = valueselectobj.id.split("_")[1];

		var originInput = document.getElementById("originValue_" + originIdNum);
		originInput.className = originValues;

		initFlag = 'N'
		prdOptionList(site_cd, fmly_id, valueselect, isvariousvalue, selectedPrd_id);

	} else {

		if ((fmly_id == '223') && (selectedId == 'col_3') && (selectedValue == 'All')){
/*
		initFlag = 'Y'
		flag = 'Y';
		valueselect = "";
		selectedPrd_id.length = 0;

		for (var xFI = 0; xFI < vparamlist.length; xFI++) {
			vparamlist.splice(xFI, 1);
		}

		disableSel(flag);

		ParamSelectBoxDWR.getSelecteoptionList(site_cd, fmly_id, valueselect, isvariousvalue, selectedPrd_id, callbackOptionList);
*/
			location.href = "/global/business/semiconductor/paramSearch.do?fmly_id=223";

		} else {
			var originId = valueselectobj.id.split("_")[1];
			var vCtrlOriginValue = document.getElementById("originValue_"+originId).className;

			for (var xFI = 0; xFI < vparamlist.length; xFI++) {
				optobj = document.getElementById("col_" + (xFI+1) ).options;
				for(var j = 0; j < optobj.length; j++){
					if (vparamlist[xFI] == vCtrlOriginValue) {
						vparamlist.splice(xFI, 1);
					}
				}
			}
		}
	}
}
/*
function prdIdList(site_cd, fmly_id, valueselect, isvariousvalue, selectedPrd_id){

	var url_1 = "/global/business/semiconductor/selecteOptionList.do?site_cd="+site_cd+"&fmly_id="+fmly_id+"&valueselect="+valueselect+"&isvariousvalue="+isvariousvalue+"&selectedPrd_id="+selectedPrd_id+"&level=1";

	xhttp.open("GET", url_1, true);
	xhttp.onreadystatechange = callbackPrdIdList
	xhttp.send(null);

}
*/

function prdOptionList(site_cd, fmly_id, valueselect, isvariousvalue, selectedPrd_id){

	var url = "/global/business/semiconductor/paramSelecteOptionList.do?site_cd="+site_cd+"&fmly_id="+fmly_id+"&valueselect="+valueselect+"&isvariousvalue="+isvariousvalue+"&selectedPrd_id="+selectedPrd_id;

	xhttp.open("GET", url, true);
	xhttp.onreadystatechange = callbackOptionList
	xhttp.send(null);		
}

/*
function disableSel(flag) {
  var arraySelect = document.body.getElementsByTagName("select");
  for(var xFI=0; xFI < arraySelect.length; xFI++) {
    if (flag == 'Y') {
      arraySelect[xFI].disabled = 'disabled';
      arraySelect[xFI].style.backgroundColor = "#e5e5e5";
    } else {
      arraySelect[xFI].disabled = '';
      arraySelect[xFI].style.backgroundColor = "fff";
    }
  }
}
*/

//*****************************************************************************
// Description : callbackOptionList Ã³¸®    
// Parameter: ¾øÀ½ 
// Return: ¾øÀ½ 
// Usage: ¾øÀ½ 
//*****************************************************************************
function callbackOptionList() {

	if (xhttp.readyState == 4) {

		if (xhttp.status == 200) {

			try {
				var jsonData = eval('(' + xhttp.responseText + ')');
			} catch(exception) {}

			if (jsonData != null) {
				selectedPrd_id = "";
				var check_value = "";

				if (jsonData.parameter_new_list.length != 0) {

					var to = jsonData.parameter_new_list[0];
					var j = 1;
					var out_name = to.spec_out_name;
					document.getElementById("col_" + (1)).length = 0;

					try {
						var newOption = document.createElement('option');
						newOption.value = 'All'; 
						newOption.text = 'All'; 
						document.getElementById("col_" + (1)).add(newOption,null);
					} catch (e) {
						var newOption = document.createElement('option'); 
						newOption.value = 'All'; 
						newOption.text = 'All'; 
						document.getElementById("col_" + (1)).add(newOption);
					}

					for (var i = 0; i < jsonData.parameter_new_list.length; i++) {
						var to = jsonData.parameter_new_list[i];
						if(to.spec_id == "0" && to.spec_out_name == "0"){
							if(selectedPrd_id == ""){
								selectedPrd_id = selectedPrd_id + to.prd_id;
							} else {
								selectedPrd_id = selectedPrd_id + "," + to.prd_id;
							}
						} else {
							if(out_name != to.spec_out_name){
								out_name = to.spec_out_name;
								j++;
								if (out_name != document.getElementById("col2_"+ (j)).innerHTML){
									var allRow = document.getElementById("col_" + (j));
									allRow.length = 1;
									allRow.disabled = 'disabled';
									allRow.style.backgroundColor = "#e5e5e5";

									while(1){
										if (to.spec_out_name != document.getElementById("col2_"+ (j)).innerHTML){
											var allRow = document.getElementById("col_" + (j));
											allRow.length = 1;
											allRow.disabled = 'disabled';
											allRow.style.backgroundColor = "#e5e5e5";
											j++;
										} else {
											break;
										}
									}
								}
								document.getElementById("col_" + (j)).length = 0;

								try {
									var newOption = document.createElement('option');
									newOption.value = 'All';
									newOption.text = 'All';
									document.getElementById("col_" + (j)).add(newOption,null);
								} catch (e) {
									var newOption = document.createElement('option'); 
									newOption.value = 'All'; 
									newOption.text = 'All';
									document.getElementById("col_" + (j)).add(newOption);
								}
							}
							try {
								if(to.prd_spec_val.substring(0,1) == ","){
									document.getElementById("col_" + (j)).add(new Option(to.prd_spec_val.substr(1),to.prd_spec_val),null);
									check_value = to.prd_spec_val.substr(1);
								} else {
									if(check_value != to.prd_spec_val){
										document.getElementById("col_" + (j)).add(new Option(to.prd_spec_val,to.prd_spec_val),null);
									}
									check_value = to.prd_spec_val;
								}
							} catch (e) {
								if(to.prd_spec_val.substring(0,1) == ","){
									document.getElementById("col_" + (j)).add(new Option(to.prd_spec_val.substr(1),to.prd_spec_val),null);
									check_value = to.prd_spec_val.substr(1);
								} else {
									if(check_value != to.prd_spec_val){
										document.getElementById("col_" + (j)).add(new Option(to.prd_spec_val,to.prd_spec_val),null);
									}
									check_value = to.prd_spec_val;
								}
							}
						}
					}
					selecedvaluedisplay(vparamlist);
				}
			}
		}
	}
}
/*
function selecedvaluedisplay(vparamlist){
	for(var i = 0; i < vparamlist.length ; i++){
		optobj = document.getElementById("col_" + (i+1) ).options;
		for(var j = 0; j < optobj.length; j++){
			if(optobj[j].value == vparamlist[i]){
				optobj[j].selected = true;
			} else if(','+optobj[j].value == vparamlist[i]) {
 				optobj[j].selected = true;
			}
		}
	}
}
*/
 function selecedvaluedisplay(vparamlist){
	var vCount = 0;
	for(var i = 0; i < vparamlist.length ; i++){
		var optobj = document.getElementById("col_" + (i+1) ).options;
		vCount = optobj.length;
		for(var j = 0; j < optobj.length; j++){
			if(optobj[j].value == vparamlist[i]){
				optobj[j].selected = true;
				vCount = vCount - 1;
			} else if(','+optobj[j].value == vparamlist[i]) {
 				optobj[j].selected = true;
				vCount = vCount - 1;
			}
		}
		if (vCount == optobj.length){
			vparamlist[i] = null;
		}
	}
}


// 1st select
function selectclass(site_cd, fmly_id, level){
		if(fmly_id ==""){

			init_comboBox("classifiactionselect");
			init_comboBox("parameterselect");
			init_comboBox("valueselect");

		}else{
			var url = "/global/business/semiconductor/paramClassificationValueList.do?site_cd="+site_cd+"&fmly_id="+fmly_id+"&level="+level;

			xhttp.open("GET", url, true);
			xhttp.onreadystatechange = callbackParamfirstSelectbox
			xhttp.send(null);

		}
}

//*****************************************************************************
// Description : callbackParamfirstSelectbox Ã³¸®    
// Parameter: ¾øÀ½ 
// Return: ¾øÀ½ 
// Usage: ¾øÀ½ 
//*****************************************************************************
function callbackParamfirstSelectbox() {

	if (xhttp.readyState == 4) {
		if (xhttp.status == 200) {
			

			init_comboBox("classifiactionselect");
			init_comboBox("parameterselect");
			init_comboBox("valueselect");

			try {
				var jsonData = eval('(' + xhttp.responseText + ')');
			} catch(exception) {}

			if (jsonData != null) {

				if (jsonData.classfication_List.length == 1) {
					var to = jsonData.classfication_List[0];
					if(to.fmly_name == ""){
						objOption = document.createElement("option");
						objOption.innerHTML = to.upper_fmly_name;
						objOption.value = to.fmly_id; 
						document.getElementById("classifiactionselect").appendChild(objOption);
					}else{
						objOption=document.createElement("option");
						objOption.innerHTML = to.fmly_name;
						objOption.value = to.fmly_id;
						
						document.getElementById("classifiactionselect").appendChild(objOption);
					}
				}else{
					for (var i = 0; i < jsonData.classfication_List.length; i++) {
						var to = jsonData.classfication_List[i];
						objOption=document.createElement("option");
						objOption.innerHTML = to.fmly_name;
						objOption.value = to.fmly_id;

						document.getElementById("classifiactionselect").appendChild(objOption);

					}
				}
			}
		}
	}
	document.getElementById("classifiactionselect").focus();
}


// 2nd select

function selectparameter(site_cd, fmly_id, level){

	var url = "/global/business/semiconductor/paramClassificationValueList.do?site_cd="+site_cd+"&fmly_id="+fmly_id+"&level="+level;
	xhttp.open("GET", url, true);
	xhttp.onreadystatechange = callbackParamsecondSelectbox
	xhttp.send(null);
}

//*****************************************************************************
// Description : callbackParamsecondSelectbox Ã³¸®    
// Parameter: ¾øÀ½ 
// Return: ¾øÀ½ 
// Usage: ¾øÀ½ 
//*****************************************************************************
function callbackParamsecondSelectbox() {

	if (xhttp.readyState == 4) {

		if (xhttp.status == 200) {

			init_comboBox("parameterselect");
			init_comboBox("valueselect");

			try {
				var jsonData = eval('(' + xhttp.responseText + ')');
			} catch(exception) {}

			if (jsonData != null) {

				if (jsonData.classfication_List.length != 0) {

					for (var i = 0; i < jsonData.classfication_List.length; i++) {
						var to = jsonData.classfication_List[i];
						objOption=document.createElement("option");
						objOption.innerHTML = to.spec_out_name;
						objOption.value = to.spec_id;
						document.getElementById("parameterselect").appendChild(objOption);

					}
				}
			}
		}
	}
	document.getElementById("parameterselect").focus();
}

// 3rd select
function selectvalue(site_cd, prd_spec_id, level){
	var fmly_id = document.getElementById("classifiactionselect").value;
	
	var url = "/global/business/semiconductor/paramClassificationValueList.do?site_cd="+site_cd+"&fmly_id="+fmly_id+"&prd_spec_id="+prd_spec_id+"&level="+level;

	xhttp.open("GET", url, true);
	xhttp.onreadystatechange = callbackParamthirdSelectbox
	xhttp.send(null);
}

//*****************************************************************************
// Description : callbackParamthirdSelectbox Ã³¸®    
// Parameter: ¾øÀ½ 
// Return: ¾øÀ½ 
// Usage: ¾øÀ½ 
//*****************************************************************************
function callbackParamthirdSelectbox() {

	if (xhttp.readyState == 4) {
		if (xhttp.status == 200) {

			init_comboBox("valueselect");

			try {
				var jsonData = eval('(' + xhttp.responseText + ')');
			} catch(exception) {}

			if (jsonData != null) {

				if (jsonData.classfication_List.length != 0) {

					for (var i = 0; i < jsonData.classfication_List.length; i++) {
						var to = jsonData.classfication_List[i];
						if(to.prd_spec_val.substring(0,1) == ","){
							objOption=document.createElement("option");
							objOption.innerHTML = to.prd_spec_val.substr(1);
							objOption.value = to.prd_spec_val;

							document.getElementById("valueselect").appendChild(objOption);
						}else{
							objOption=document.createElement("option");
							objOption.innerHTML = to.prd_spec_val;
							objOption.value = to.prd_spec_val;

							document.getElementById("valueselect").appendChild(objOption);
						}
					}				
				}
			}   
		}
	}
	document.getElementById("valueselect").focus();
}
/*
function clearselectbox(objid){
	for(i = document.getElementById(objid).childNodes.length-1; i >=0; i--){	
		document.getElementById(objid).removeChild(document.getElementById(objid).childNodes[i]);
	}
}
*/
function selectedcomplite(){
	document.mainparamsearch.submit();
}



function replaceAll(str, searchStr, replaceStr){
	while(str.indexOf(searchStr) != -1){
		str = str.replace(searchStr, replaceStr);
	}

	return str;
}

function refresh(fmly_id,productselect,parameterselect,valueselect){
	var form = document.Form1;
	form.action = "/global/business/semiconductor/paramSearch.do?productselect="+ productselect + "&fmly_id=" + fmly_id + "&parameterselect=" + parameterselect + "&valueselect=" + valueselect;
	form.submit();
}

//*****************************************************************************
// DWR Test
//
//
//*****************************************************************************

function dwrtest(fmly_id){
	
	ParamSelectBoxDWR.getParamSelectBoxValueList(fmly_id);
}

//*****************************************************************************
// Description : ¼±ÅÃÇÑ Source Parametric Search ÀÇ µ¿Àû SelectBox List Á¶È¸   
// Parameter: ¾øÀ½ 
// Return: ¾øÀ½ 
// Usage: onclick="javascript:paramNextSelectbox();"
//*****************************************************************************
function paramNextSelectbox(vFmlyId, vColNum, vNum) {
	var vNextColNum 	= "col_"+vNum;
	var vSpecId 		= "to_"+vNum;
	var vCtrl_srcFamily = document.getElementById(vColNum);
	var vSpecIdValue 	= document.getElementById(vSpecId);
	var vSelectedValue 	= vCtrl_srcFamily.value;
	var vNextSpecId		= vSpecIdValue.value;
		
	vCtrl_subFamily 	= document.getElementById(vNextColNum);
	
    // ÇöÀçselectBox¼³Á¤ & ÇÏÀ§ selectBox ÃÊ±âÈ­
    category_selectBox.setCurrnet(vCtrl_srcFamily.id);
    category_selectBox.clearBoxLowThis(vCtrl_srcFamily.id, "");	
		

	ParamSelectBoxDWR.getParamSelectBoxList(vFmlyId, vSelectedValue, vNextSpecId, vSite_cd, callbackParamNextSelectbox);

}

 
//*****************************************************************************
// Description : callbackParamNextSelectbox Ã³¸®    
// Parameter: ¾øÀ½ 
// Return: ¾øÀ½ 
// Usage: ¾øÀ½ 
//*****************************************************************************
function callbackParamNextSelectbox(data) {
	vCtrl_subFamily; 
	var vTempOption;
	vCtrl_subFamily.length = 0;

	if(data.length == 0) {
		vTempOption = new Option("All", "All");
		try {
			vCtrl_subFamily.add(vTempOption, null);	
		} catch (e) {
			vCtrl_subFamily.add(vTempOption);
		}
	} else {
		vTempOption = new Option("All", "All");
		try {
			vCtrl_subFamily.add(vTempOption, null);	
		} catch (e) {
			vCtrl_subFamily.add(vTempOption);
		}
		for(var xFI = 0; xFI < data.length; xFI++) {
			vTempOption = new Option(data[xFI].prd_spec_val, data[xFI].prd_spec_val);
			try {
				vCtrl_subFamily.add(vTempOption, null);	
			} catch (e) {
				vCtrl_subFamily.add(vTempOption);
			}
		}		
	}
	vCtrl_subFamily;
}


//*****************************************************************************
// Description : parameteric List
// Parameter: 
// Return: ¾øÀ½
// Usage: onClick="javascript:param_searchList();"
//*****************************************************************************
function param_searchList(vFmly_id) {

	var frmObj = document.Form1;	
	var sheetYn = frmObj.sheet_yn.value;
	var replaceValue = "";
	frmObj.action = "/global/business/semiconductor/paramSearchList.do?fmly_id="+ vFmly_id + "&sheet_yn="+ sheetYn;
	
	for(xFI=1; xFI <= frmObj.dummys.length; xFI++){ 
	  var encodeValues = encodeURI(eval("frmObj.col_"+xFI+".value"));
	  replaceValue = encodeValues.replace(/%/g,"`");
      document.getElementById('selected_'+xFI).value = replaceValue;
	}

	frmObj.submit();
}



//*****************************************************************************
// Description : flex»ç¿ëÆÁ ÆäÀÌÁö open
// Parameter: ¾øÀ½
// Return: ¾øÀ½
// È£ÃâÆäÀÌÁö : productlist.jsp
//*****************************************************************************
function flextip_open() {
	var vUrl = "http://www.samsung.com/global/business/semiconductor/productsearch/ProductListTable_Tip.html";
	openWindow(765,	635, vUrl, 1); 
}


function close_layer() {
	var cvr = document.getElementById("semi_layer_transparency");
	var dlg = document.getElementById("semi_pro_flex_layer");

	cvr.style.display = "none";
	dlg.style.display = "none";
}

function pop_layer() {

	var cvr = document.getElementById("semi_layer_transparency");
	var dlg = document.getElementById("semi_pro_flex_layer");
	var support = document.getElementById("business");
	var contents = document.getElementById("semi_pro_layer_content");
	var bgimg1 = document.getElementById("bgimg1");
	var bgimg2 = document.getElementById("bgimg2");
	var addHeight = getFooterHeight(document.getElementById("footer"));

//	cvr.style.top = 0+'px';
//	cvr.style.left = 0+'px';
	if (cvr != null){
		cvr.style.width = document.body.offsetWidth+'px';
		cvr.style.height = '2000px';
		support.appendChild(cvr);
		cvr.style.display = "block";
	
	/*
	var height = document.body.offsetHeight+addHeight;
	if(height < screen.availHeight){
		height = screen.availHeight;
	}
	*/
//	cvr.style.width = '2000px';
	


	support.appendChild(dlg);
	dlg.style.display = "block";

	bgimg1.style.display = "block";
	contents.style.display = "block";
	bgimg2.style.display = "block";
	}
}

function getFooterHeight(footer){
	var footerChilds = footer.childNodes;
	var foot_height = 0;
	for(i=0;i<footerChilds.length;i++){
		if(footerChilds[i].className == 'foot_logo'){
			foot_height = footerChilds[i].offsetHeight;
			break;
		}
	}
	return foot_height;
}

// [20100816]
function hidePnumSort(){
	$("#nonFlexTb #sortData").click();
}

function goToInfo(fmly_id,partnumber,xFmly_id){
	location.href = "/global/business/semiconductor/productInfo.do?fmly_id="+fmly_id+"&partnum="+partnumber + "&xFmly_id=" + xFmly_id;
}

//*****************************************************************************
// Description : init_comboBox ( comboBox ÃÊ±âÈ­)
// Parameter: ¾øÀ½
// Return: ¾øÀ½
// È£ÃâÆäÀÌÁö : 
//*****************************************************************************

function init_comboBox(str){
	var tmp = document.getElementById(str);
	if (tmp == null) {
		return;
	} else if (tmp != null){		
		tmp.options.length = 1;
	} 	
}
