﻿/*
 * 유효한 회원 아이디인지 확인한다.
 */
function validId(str) { 
	var regExp = /(^[A-Za-z]{1}[A-Za-z0-9]{5,}$)/gi;
	objValue = str.strip();
	
	if (objValue != "") {
		if(!regExp.test(objValue)) return false;
		else return true;
	} else {
		return true;
	}
}
/*
 * 유효한 메일 주소인지 확인한다.
 */
function validEmail(str) {
	var regExp = /[a-z0-9.-_]{2,}@[a-z0-9-_]{1,}\.[a-z0-9]{2,}/i;
	str = str.strip();
	
	if (str != "") {
		if(!regExp.test(str)) return false;
		else return true;
	} else {
		return true;
	}
}

function getDocHeight() {
	var docHeight = 0;
	if (document.compatMode && document.compatMode!= 'BackCompat') { 
		docHeight = document.documentElement.scrollHeight;
	} else if (document.body && typeof document.body.scrollheight!= 'undefined') { 
		docHeight = document.body.scrollheight; 
	}
	return docHeight;
}

/**
 * 팝업 띄우기
 *
 * url - 팝업 내용 url
 * name - 팝업 윈도우 name
 * width - 가로크기
 * height - 세로크기
 * top - 위쪽 위치
 * left - 왼쪽 위치
 * option - 추가 필요 옵션
 */
function openPopup(url, wname, width, height, top, left, option) {
	var str = '';
	
	if (width == '') width='480';
	if (height == '') height='300';
	if (top == '') top = '10';
	if (left == '') left = '10';
	if (option != '') option = ','+option;
	
	str = 'width='+width+',height='+height+',top='+top+',left='+left+option;
	window.open(url, wname, str);
}
/*
function bluring(){
	if(event.srcElement.tagName=="A"||event.srcElement.tagName=="IMG") document.body.focus();
}
document.onfocusin=bluring;
*/


/**
 * 주민등록번호체크 함수
 *
 * ssn - 체크할 주민등록번호
 */
function isSSN(ssn){
	if(ssn == '0000000000000' ) return true;
	if(ssn.length != 13 ) return false;

	var A = ssn.charAt(0);
	var B = ssn.charAt(1);
	var C = ssn.charAt(2);
	var D = ssn.charAt(3);
	var E = ssn.charAt(4);
	var F = ssn.charAt(5);
	var G = ssn.charAt(6);
	var H = ssn.charAt(7);
	var I = ssn.charAt(8);
	var J = ssn.charAt(9);
	var K = ssn.charAt(10);
	var L = ssn.charAt(11);
	var Osub = ssn.charAt(12);

	var SUMM = A*2 + B*3 + C*4 + D*5+ E*6+ F*7+G*8+H*9+I*2+J*3+K*4+L*5;
	var N = SUMM % 11;
	var Modvalue = 11 - N;
	var LapointVal =  Modvalue % 10;

	if ( Osub == LapointVal ) return true;
	else return false;
}

/**
 * 로그인 창에서 엔터키 입력시 처리
 */
function checkEnterLogin() {
	var k;
	if (event.which) k = event.which.keyCode;
	else k = event.keyCode;
	if (k == 13)
		document.getElementById('logForm').submit();
	return false;
}

/*
 * @param 	chkName ( 체크박스 이름 ), chkObj ( 호출한 체크박스 Element )
 * @ex 		onClick="allCheckBox('chkbox',this);"
 */
function allCheckBox(chkName, chkObj) {
	var chkArray = document.getElementsByName(chkName);
	var flag = chkObj.checked ? true : false;

	for (var i = 0, n = chkArray.length; i < n; i++) {	
		chkArray[i].checked = flag;
	}
}

var dhtmlXTree;
var dhxWins;
var prev_id;
var targetNum = "";
window.dhx_globalImgPath="/kobio/asset/images/common/calendar_imgs/";

function getTreeList(targetId, type, option) {
	
	dhxWins = new dhtmlXWindows();
	dhxWins.enableAutoViewport(true);    
	dhxWins.setImagePath('/kobio/asset/images/common/window_imgs/');
	var w1 = dhxWins.createWindow("w1", 400, 200, 550, 400);
	w1.setText("CategoryTree");
	dhxWins.window("w1").attachHTMLString("- select category&nbsp;<img src='/kobio/asset/images/common/r_add.gif' style='cursor:pointer' id='addImg'><div id='treeboxbox_tree' style='cursor:hand;overflow:auto;height:100%'></div>");
	ajax.Event.addListener("addImg", "click", function(e) {
		if ( targetNum == "") {
			setTreeValues();
			getTreeItemText();
		} else {
			setTreeValues({targetDiv : "select_category"+targetNum});
			getTreeItemText("categoryPath"+targetNum);	
		}
		
		dhxWins.window("w1").hide();
	});

	dhxWins.window("w1").hide();
	
	dhxWins.window("w1").attachEvent("onClose", function(win) {
		dhxWins.window("w1").hide();
	});
	
	dhtmlXTree = new dhtmlXTreeObject(targetId, "100%", "100%", 0);
	dhtmlXTree.setImagePath("/kobio/asset/images/common/tree_imgs/csh_bluebooks/");
	dhtmlXTree.enableCheckBoxes(1);
	dhtmlXTree.enableTreeLines(false);
	
	if ( option && option.singleCheck) {
		dhtmlXTree.setOnCheckHandler(itemClick);					
	}
	
	dhtmlXTree.loadJSArrayFile('/kobio/asset/js/tree/'+type+'_tree_'+option.cdLang+'.js');		
}


function setTreeUrl(type, targetDiv, cdLang) {
	
	if ( dhtmlXTree ) {
		dhtmlXTree.destructor();
	}
	
	_pArray.clear();
	dhtmlXTree = new dhtmlXTreeObject("treeboxbox_tree", "100%", "100%", 0);
	dhtmlXTree.setImagePath("/kobio/asset/images/common/tree_imgs/csh_bluebooks/");
	dhtmlXTree.enableCheckBoxes(1);
	dhtmlXTree.loadJSArrayFile('/kobio/asset/js/tree/'+type+'_tree_'+cdLang+'.js');
	
	ajax.Event.addListener("addImg", "click", function(e) {
		//alert(targetDiv);
		setTreeValues({ fullPath : "y"});
		getTreeItemText(targetDiv || "categoryPath");
		dhxWins.window("w1").hide();
	});
	
}

function alertTreeView(type, divNumber, cdLang) {
	
	if ( dhtmlXTree ) {
		dhtmlXTree.destructor();
	}
	
	targetNum = divNumber;
	_pArray.clear();
	dhtmlXTree = new dhtmlXTreeObject("treeboxbox_tree", "100%", "100%", 0);
	dhtmlXTree.setImagePath("/kobio/asset/images/common/tree_imgs/csh_bluebooks/");
	dhtmlXTree.enableCheckBoxes(1);
	dhtmlXTree.loadJSArrayFile('/kobio/asset/js/tree/'+type+'_tree_'+cdLang+'.js');
	dhxWins.window("w1").show();
}

function getLeftTreeList(type, type_contents, current_category, cdLang) {

	var productUrl = "/kobio/productSellList.bio?seq_category=";
	var techUrl = "";
	var productOfferUrl = "";
	var techOfferUrl = "";
	var tradeUrl = "";
	var loadXMLUrl = "/kobio/categoryXmlList.bio?type="+type;	
	var treeHeight = ( type_contents == 30 ) ? "500" : "300";
	  
	dhtmlXTree = new dhtmlXTreeObject("treeboxbox_tree", "100%", treeHeight, 0);
	dhtmlXTree.enableTreeLines(false);
	dhtmlXTree.setImagePath("/kobio/asset/images/common/tree_imgs/csh_bluebooks/");	
	dhtmlXTree.loadJSArrayFile('/kobio/asset/js/tree/'+type+'_tree_'+cdLang+'.js');
	
	var productSellUrl = "/kobio/productSellList.bio?current_category=";
	var techSellUrl = "/kobio/techHoldList.bio?current_category=";
	var productOfferUrl = "/kobio/marketplace/product/productOfferList.bio?current_category=";
	var techOfferUrl = "/kobio/marketplace/technology/techOfferList.bio?current_category=";
	var tradeUrl = "/kobio/AdminTrdInfoList.bio?current_category=";
	var exhibitUrl = "/kobio/AdminExhibitInfoList.bio?current_category=";
	var companyUrl = "/kobio/companyList.bio?current_category=";
	var tradeSelectUrl = "/kobio/AdminTradeSaveForm.bio?current_category=";
	var exhibitSelectUrl = "/kobio/AdminExhibitSaveForm.bio?current_category=";
	
	dhtmlXTree.setOnClickHandler(function(id){
		if (type_contents == 25) {
			location.href = companyUrl+id+"&current_category_name="+encodeURIComponent(dhtmlXTree.getItemText(id));
		} else if (type_contents == 26) {
			location.href = productSellUrl+id+"&current_category_name="+encodeURIComponent(dhtmlXTree.getItemText(id));	
		} else if (type_contents == 27) {
			location.href = techSellUrl+id+"&current_category_name="+encodeURIComponent(dhtmlXTree.getItemText(id));
		} else if (type_contents == 28) {
			location.href = productOfferUrl+id+"&current_category_name="+encodeURIComponent(dhtmlXTree.getItemText(id));
		} else if (type_contents == 29) {
			location.href = techOfferUrl+id+"&current_category_name="+encodeURIComponent(dhtmlXTree.getItemText(id));
		} else if (type_contents == 30) {
			if(id.substring(0,2) == "C1"){
				if(id.length == 2){
					return false;
				}else if(id.length == 3){
					location.href = exhibitUrl+id+"&sSource="+id.substring(0,2)+"&section="+id;
				}else if(id.length == 4){
					location.href = exhibitUrl+id+"&sSource="+id.substring(0,2)+"&section="+id.substring(0,3)+"&seed="+id;
				}
			}else{
				if(id.length == 2){
					return false;
				}else if(id.length == 3){
					location.href = tradeUrl+id+"&sSource="+id.substring(0,2)+"&section="+id;
				}else if(id.length == 4){
					location.href = tradeUrl+id+"&sSource="+id.substring(0,2)+"&section="+id.substring(0,3)+"&seed="+id;
				}
			}
		} else if (type_contents == 31) {
			if(id.substring(0,2) == "C1"){
				if(id.length == 2){
					return false;
				}else if(id.length == 3){
					opener.location.href = exhibitSelectUrl+id+"&sSource="+id.substring(0,2)+"&section="+id;
					self.close();
				}else if(id.length == 4){
					opener.location.href = exhibitSelectUrl+id+"&sSource="+id.substring(0,2)+"&section="+id.substring(0,3)+"&seed="+id;
					self.close();
				}
			}else{
				if(id.length == 2){
					return false;
				}else if(id.length == 3){
					opener.location.href = tradeSelectUrl+id+"&sSource="+id.substring(0,2)+"&section="+id;
					self.close();
				}else if(id.length == 4){
					opener.location.href = tradeSelectUrl+id+"&sSource="+id.substring(0,2)+"&section="+id.substring(0,3)+"&seed="+id;
					self.close();
				}
			}
		}	
	});
}

function autoselectNode() {
	dhtmlXTree.selectItem(node,true);
	dhtmlXTree.openItem(node);
}

function getTreeItemValues() {
	return dhtmlXTree.getAllChecked();
}

function getFullPath() {
	var catIds = dhtmlXTree.getAllChecked().split(",");
	var fullPath = "";
	
	for ( var i = 0, n = catIds.length; i < n; i++) {		
		fullPath += ( i != 0 ) ? ","+_pArray[dhtmlXTree.getIndexById(catIds[i])] : _pArray[dhtmlXTree.getIndexById(catIds[i])];   
	}
	
	return fullPath;
}

function getTreeItemText(targetDiv) {
	if (getTreeItemValues().length == 0) return;
	var sItemTexts = "";
	var itemsArray = getTreeItemValues().split(",");
	for ( var i = 0, n = itemsArray.length; i < n; i++) {
		sItemTexts += "<li>"+dhtmlXTree.getItemText(itemsArray[i])+"</li>";
	} 
	
	if ( targetDiv ) {
		document.getElementById(targetDiv).innerHTML = sItemTexts;
	} else {
		document.getElementById("categoryPath").innerHTML = sItemTexts;	
	}
}

function setTreeValues(option) {
	
	if ( option && option.targetDiv) {
		document.getElementById(option.targetDiv).value = getTreeItemValues();//;getFullPath();					
	} else if ( option && option.fullPath ) {
		document.getElementById("select_category").value = getFullPath();
	} else {
		document.getElementById("select_category").value = getTreeItemValues();
	}
}

function dhtmlXWindow_hide() {
	dhxWins.window("w1").hide();
}

function dhtmlXWindow_show() {
	dhxWins.window("w1").show();
}

function itemClick(id, state) {
	 
	dhtmlXTree.setCheck(prev_id, false);
	dhtmlXTree.setCheck(id, true);
	prev_id = id;
}

	/**
	 *	AJAX Request:첨부파일삭제
	 */	
function deleteFileRequest(optionValue, flag) {
	var url, parms;
	var arr = optionValue.split("|");
	
	if(flag == "F") {	//첨부파일
		url = "/kobio/fileupload/delUploadProc.bio";
		parms = "fnum="+arr[0]+"&seq="+arr[1];
	} else {	//첨부이미지
		url = "/kobio/fileupload/delUploadedImage.bio";
		parms = "inum="+arr[0]+"&seq="+arr[1];
	}
	
	var myAjax = new Ajax.Request(
		url, 
		{
			method: "get", 
			parameters: parms, 
			onComplete: deleteFileResponse
		});
}
	
	/**
	 *	AJAX Response:첨부파일삭제
	 *	Opener에서 delOption() 구현해야함.
	 */	
	 
function deleteFileResponse(xmlHttp) {
	var txt = xmlHttp.responseText;     //Text 파일 데이터
//	var xml = xmlHttp.responseXML;     //XML 파일 데이터

	txt = txt.trim();
	
	if(txt == "fail") {
		alert(txt);
	} else {
		delOption(txt);
	}
}
	
function memberInfoLayer(seq_user) {
	var htmlStr = "";
	
	htmlStr += "<table bgcolor='#FFFFFF' style='border-style: solid; border-width: 1px;'> \n";
	htmlStr += "	<tr> \n";
	htmlStr += "		<td> &gt; 쪽지 보내기 </td> \n";
	htmlStr += " 	</tr> \n";
	htmlStr += "	<tr> \n";
	htmlStr += "		<td> &gt; <a onClick='viewMember(\"" + seq_user + "\");'>연락처 보기</a> </td> \n";
	htmlStr += " 	</tr> \n";
	//htmlStr += "	<tr> \n";
	//htmlStr += "		<td> &gt; 즐겨찾기에 추가 </td> \n";
	//htmlStr += " 	</tr> \n";
	htmlStr += "	<tr> \n";
	htmlStr += "		<td> &gt; 신고 하기 </td> \n";
	htmlStr += " 	</tr> \n";
	htmlStr += "	<tr> \n";
	htmlStr += "		<td> &gt; 차단 하기 </td> \n";
	htmlStr += " 	</tr> \n";
	htmlStr += "</table> \n";
	
	
	document.getElementById("mumberMenu").style.display = "block";
	document.getElementById("mumberMenu").innerHTML = htmlStr;
}

function viewMember(seq_user) {
	openPopup("userContactAddress.bio?seq_user=" + seq_user, "companyWin", 380, 260, 0, 0, "scrollbars=no resizable=no");
	document.getElementById("mumberMenu").style.display = "none";
}

//####################################################################
function defaultRadio(obj, rvalue) {
	if (null != obj.length) {
		for (var k = 0; k < obj.length; k++) {
			if (obj[k].value == rvalue) {
				obj[k].checked = true;
			}
		}
	} else {
		if (obj.value == rvalue) {
			obj.checked = true;
		}
	}
}

//####################################################################
function defaultSelect(obj, rvalue) {
	for (var k = 0; k < obj.length; k++) {
		if (obj[k].value == rvalue) {
			obj[k].selected = true;
		}
	}
}

var ajax = {}
ajax.Event = {};
ajax.Event.addListener = function(elementId, name, observer, useCapture) {
    useCapture = useCapture || false;
    var element = document.getElementById(elementId);
	if (element.addEventListener) {
		element.addEventListener(name, observer, useCapture);
	} else if (element.attachEvent) {
		element.attachEvent('on' + name, observer);
	}
}

ajax.Event.removeListener = function(elementId, name, observer, useCapture) {
	useCapture = useCapture || false;
	var element = document.getElementById(elementId);
	if (element.removeEventListener) {
		element.removeEventListener(name, observer, useCapture);
	} else if (element.detachEvent) {
		element.detachEvent('on' + name, observer);
	}
}

/**
 * 입력값에 스페이스 이외의 의미있는 값이 있는지 체크
 */
function isEmpty(input) {
    if (input.value == null || input.value.replace(/ /gi,"") == "") {
        return true;
    }
    return false;
}

//체크박스에 체크된 값 알아오기 콤마로구분
function getCheckboxCheckedValue(obj) {
    var checkedValue = "";
    
    try {
   		if(obj.length == undefined) {
   			 if ( obj.checked == true ) {
   			 	checkedValue = obj.value;
   			 }

   		} else {
		    for ( i=0; i<obj.length; i++ )  {
		        if ( obj[i].checked == true )  {
					if (checkedValue.length>0){
						checkedValue = checkedValue+","+obj[i].value;
					}else{
						checkedValue = obj[i].value;
					}
		
		        }
		    }
		}
	} catch(err) {
		checkedValue = "";
	}
	 
    return checkedValue;
}