<!--
/**
 *
 * 판매몰에서 사용하는 공용 스크립트
 * 
 * @date 2009-08-07
 * @author 권혁천 (hckwon@simplexi.com)
 */
 
/*
 *  레이어 팝업 뛰우기  
 *
 *	method       : GET, POST, TEXT(텍스트를 그대로 출력 할경우)
 *	url          : GET,POST -> HTTP URL /  TEXT : Layer(레이어) 아이디
 *	parameter    : 파라미터
 *	targetDiv    : 결과을 출력할 Layer
 *	resultScript : 결과를 처리할 스크립트명
 */ 
var ajaxLayer = ''; 
function ajaxLayerPage(method, url, parameter, targetDiv, resultScript) {
	if (resultScript=='') resultScript = 'ajaxPublicResult';
	ajaxLayer = targetDiv;
	
	setShadowDivVisible(true); //배경 layer
	
	if (method=='text') {
    	eval(resultScript+'(document.getElementById(\'' + url + '\').innerHTML);');
    } else {
    	engine = new Engine();
    	engine.execute(method, url, parameter, resultScript);
    }
}
// Default Ajax 결과 출력 Layer 
function ajaxPublicResult(data) {
	if (data) {
	    try {
	    	LodingNone();
	    	document.getElementById(ajaxLayer).innerHTML = data;
	    	document.getElementById(ajaxLayer).style.zIndex = '9999';
	    	document.getElementById(ajaxLayer).style.display = 'block';
	    	
	    	moveToCenter(ajaxLayer);
	    } catch (e) {
	    	ajaxHiddenLayer(ajaxLayer);
	    }
	} else {
		ajaxHiddenLayer(ajaxLayer);
	}
}

// 로그인창 활성후 Focus
function LoginFocus(data) {
   	ajaxPublicResult(data);
	try {
		var obj = document.getElementById('FlashLogin2');
		obj.focus();
		obj.setIDFocus();
   	} catch (e) {
   	}
}

// Layer Hidden
function ajaxHiddenLayer(targetDiv) {
	try {
		if (targetDiv == '')
			var f = document.getElementById(ajaxLayer);
		else
			var f = document.getElementById(targetDiv);
			
		if (f.style.display == 'block') {
			f.style.display = 'none';
			f.innerHTML = '';
			setShadowDivVisible(false); //배경 layer
		}
    } catch (e) {
    }
}

/**
 *  trim 함수 -(좌우공백 제거)
 *
 */ 
String.prototype.trim = function() {
  	return this.replace(/^\s+|\s+$/g, "");
}

/**
 *  Flash생성 스크립트(아이디 지정후 생성)
 *
 */ 
function viewSetIdFlash(src, id, width, height, wmode, focus) {
	//var mode =  (wmode == 0) ? "transparent" : "window";
	var mode = 'window';
	document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" onblur="setFocusReset(\'' + id + '\');" id="' + id + '" width="' + width + '" height="' + height + '">');
	document.write('<param name=movie value="' + src + '">');
	document.write('<param name=quality value=high>');
	document.write('<param name=allowScriptAccess value=always>');
	document.write('<param name="wmode" value="' +mode+ '">');
	document.write('<embed name="'+id+'" src="' + src + '" quality=high pluginspage="https://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" wmode="' + mode + '" allowScriptAccess="always" width="' + width + '" height="' + height + '">');
	document.write('</embed> ');
	document.write('</object>');
	
	// 포커스 지정
	if (focus==true) {
		document.onreadystatechange = function(e) {
	        if (document.readyState == 'complete') {
	            document.getElementById(id).focus();
	        }
    	}
	}
}

/**
 * POPUP창 생성 스크립트
 *
 * StrPage : URL
 * StrName : POPUP창 명
 * w, h	   : Width, Height
 * scrolls : 스크롤바 생성 유무(yes, no)
 */
function OpenWindow(StrPage, StrName, w, h,scrolls) {
	var win = null;
	var winl = (screen.width-w)/2;
	var wint = (screen.height-h)/3;
	settings = 'width='+w+',';
	settings += 'height='+h+',';
	settings += 'top='+wint+',';
	settings += 'left='+winl+',';
	settings += 'alwaysRaised=yes, status=0, menubar=no, scrollbars='+scrolls;
	win = window.open(StrPage, StrName, settings);
	if (parseInt(navigator.appVersion)>=4) {
		win.window.focus();
	}
}

/**
 *
 * 로그인 체크후 해당 페이지 호출
 *
 * @param type : location , script
 * @param url  : 페이지주소 ,스크립트
 * @param isForward  : 로그인후 url페이지 이동유무(단,location만 가능) 
 * @date 2009-08-07
 * @author 권혁천 (hckwon@simplexi.com)
 */
var _type = '';
var _url = '';
var _isForward = false;
function isLogin (type, url, isForward) {
	_type = type;	
	_url = url;
	_isForward = isForward ? isForward : false;
	
	// url페이지의 bas64_encode값을 얻는다.(isForward==true인경우 sReturnUrl)
	url = url.replace(/\&/g,'%26');
	
	engine = new Engine();
 	engine.execute('POST', '/Main/', 'url=isLogin&encodeUrl=' + url, 'LoginController','');
}
function LoginController (result) {
	var tmp = result.split('|');

	if (tmp[0] == '0000') {
		if (_type=='location') {
 			top.location.href = _url;
 		} else {
 			eval(_url);
 		}
	} else {
		if (_isForward == true)
			ajaxLayerPage('POST', '/Login/', 'url=LoginMallLayer&sReturnUrl='+ tmp[1], 'layerLogin', 'LoginFocus');
		else
			ajaxLayerPage('POST', '/Login/', 'url=LoginMallLayer&sReturnUrl='+ document.getElementById('nowPageInfo').value, 'layerLogin', 'LoginFocus');
	}
}
/**
 *
 * 로그인 폼 체크
 *
 * @date 2009-08-07
 * @author 권혁천 (hckwon@simplexi.com)
 */
 function checkLoginForm (oId, frm) {
 	// HOST NAEM 지정
 	var tmp = top.document.location.href.toString().split('/');
 	var f = document.getElementById(frm);

 	// TEST서버 및 프로토콜 설정
 	var protocol = 'https://';
 	var host = tmp[2];
 	var IS_TEST = '';
 	if (f.IS_DEVSERVER.value) {
 		protocol = 'http://';
 		IS_TEST = 'test';
 	}
 	
 	if (navigator.appVersion.indexOf("MSIE") != -1) {
        var oFlash = document.all[oId];
    } else {
        var oFlash = document[oId];
    }
    
	var aLoginInfo = oFlash.getLoginInfo().split('|');
	f.user_id.value = aLoginInfo[1];
	f.passwd.value = aLoginInfo[0];
	
	if (f.user_id.value.trim() == "") {
		alert("아이디를 입력해 주세요");
		oFlash.setIDFocus();
		oFlash.focus();
		return;
	}
	if (f.passwd.value.trim() == "") {
		alert("비밀번호를 입력해 주세요");
		oFlash.setPWDFocus();
		oFlash.focus();
		return;
	}

	f.action = protocol + host + "/Login/";
	f.submit();
 }
 
 /**
  * 3개월간 비밀번호 미변경시 페이지에서 쓰이는 스크립트(개발팀 제공)
  * FormPwchangeChk / stopEvent / isPwdChk
  *
  * @date 2009-08-07
  * @author 권혁천 (hckwon@simplexi.com)
 */
function FormPwchangeChk ( e ) {
	if( !e ) return;
	stopEvent( e );

	var f = e.srcElement||e.target;

	if( !f || !f.nodeType || ( f.tagName.toUpperCase() != 'FORM' ) ) return;

	var pwd = f.nowPwd.value || '';
	var newPwd = f.newPwd.value || '';
	var newRePwd = f.newRePwd.value || '';


	if ( !pwd ) return alert( '현재 비밀번호를 입력해 주세요' );
	if ( !newPwd ) return alert( '새 비밀번호를 입력해 주세요' );
	if ( !newRePwd ) return alert( '새 비밀번호 확인을 입력해 주세요' );

	if ( pwd == newPwd ) return alert( '새 비밀번호와 기존 비밀번호가 동일합니다.' );
	if ( newPwd != newRePwd ) return alert( '새 비밀번호와 새 비밀번호 확인이 일치하지 않습니다. \n\n 다시 확인하시고 입력해 주세요.' );

	if ( !isPwdChk ( newPwd , f.sUserId.value ) ) {
		f.newPwd.value = '';
		f.newRePwd.value = '';
		f.newPwd.focus();
		return false ;
	}

	f.submit( e );

}

function stopEvent( e ) {
	if( typeof e.preventDefault != 'function' ) e.returnValue = false;
	else e.preventDefault();
	if( typeof e.stopPropagation != 'function' ) e.cancelBubble = true;
	else e.stopPropagation();

	return false;
}

function isPwdChk ( pw , id ) {
	if ( !pw || !id ) return;

	//
	var cnt = 0;
	var chkPatten1 = /^[a-z][a-zA-Z0-9]{7,15}$/i;
	var chkPatten2 = /^[\x00-\x1f]|[\x21-\x2f]|[\x3a-\x40]|[\x5b-\x60]|[\x7b-\x7f]$/;
	var chkPatten3 = /\d/;

	//
	var cnt2 = 1;
	var cnt3 = 1;
    var next_pass;
	var tempw1;
	var tempw2;
	var temp_p;

	if ( pw.length < 8 ) {
		alert( '비밀번호는8~16자의 영문/숫자만 사용할 수 있습니다.' );
		return false;
	}
    if ( pw.substr(0,1) <= "9" && pw.substr(0,1) >= "0" ) {
		alert('비밀번호 첫자리는 영문이어야합니다.');
		return false;
	}
	if ( chkPatten2.test(pw) ) {
		alert( "비밀번호는 특수문자사용이 불가능합니다." );
		return false;
	}
	if ( !chkPatten3.test(pw) || !chkPatten1.test(pw) ) {
		alert( "비밀번호는8~16자의 영문/숫자만 사용할 수 있습니다." );
		return false;
	}
	if (pw == id) {
		alert( '비밀번호는 아이디와 동일하게 사용이 불가능 합니다.');
		return false;
	}

	for(i=0;i < pw.length;i++) {
		tempw1		= pw.charAt(i);
		next_pass	= (parseInt(tempw1.charCodeAt(0)))+1;
		temp_p		= pw.charAt(i+1);
		tempw2		= (parseInt(temp_p.charCodeAt(0)));

		if (tempw2 == next_pass) 	cnt2 = cnt2 + 1;
		else cnt2 = 1;

		if (tempw1 == temp_p) cnt3 = cnt3 + 1;
		else cnt3 = 1;

		if (cnt2 > 3) break;
		if (cnt3 > 2) break;
	}

	if (cnt2 > 3) {
		alert( '비밀번호는 4자이상 연속된 문자를 사용할 수 없습니다.');
		return false;
	}
	if (cnt3 > 2) {
		alert( '비밀번호는 동일문자를 3자이상 반복으로 사용할 수 없습니다.');
		return false;
	}

    return true;
}

// PHP의 strpos과 같음 - php.js
function strpos (haystack, needle, offset) {
    var i = (haystack+'').indexOf(needle, (offset ? offset : 0));
    return i === -1 ? false : i;
}

// 패밀리 사이트 창띄우기 관련 스크립트
function OpenFamilySite(obj, value) {
	if (value == '') return;
    obj.options[0].selected = true;
    window.open(value);
}

//-->