﻿/* Copyright (c) 2010 Hanmac co., Ltd.  All rights reserved.  HANMACSOFT */

/*************************************************************************************
* 로그인 중복 체크 처리 스크립트 - HANMAC
* /common/inc/member/login_check_tender.php 페이지에서 추출된 로그인 정보를 토대로
* 중복 로그인인지를 판단하게된다.
* 매초마다 로그인정보 페이지를 호출하여 세션DB의 값을 가져오게된다.
*************************************************************************************/

var stateCnt = 0;
var logoutCnt = 0;

if ( window.addEventListener ) {
	window.addEventListener( "load", startTimeout_loginCheck_update, false )
} else {
	window.attachEvent( "onload", startTimeout_loginCheck_update )
}

function startTimeout_loginCheck_update () {
	chkTimeout_loginCheck_update ( self );
}

function chkTimeout_loginCheck_update ( self ) {
	LoginCheckTender();	
	self.t1 = setTimeout(function(){ chkTimeout_loginCheck_update ( self ); }, 1000); // 1초마다 데이터 참조
}

function LoginCheckTender() {
	new ajax.xhr.Request("/common/inc/member/login_check_tender.php", "sessid="+$("sessid").value, CheckLoginTender, 'GET');
	stateCnt++;
}

function CheckLoginTender( xmlDoc ) {
	var code = getNodeValue( xmlDoc.getElementsByTagName( 'code' ) );
	
	if (code == 'success') {
		var loaddata = eval( "(" + getNodeValue( xmlDoc.getElementsByTagName ( 'data' ) ) + ")" );	
		
		if ( loaddata.length > 0) {
			for(var i = loaddata.length-1; i >= 0; i--) {	
				makeLoginCheck(loaddata[i], i);	
			}
		}
	} else {
		var loaddata = eval( "(" + getNodeValue( xmlDoc.getElementsByTagName ( 'data' ) ) + ")" );	
		
		if ( loaddata.length > 0) {
			for(var i = loaddata.length-1; i >= 0; i--) {	
				makeLoginFailed(loaddata[i], i);	
			}
		}
	}
}

function makeLoginCheck(data, i) {
	if ( $("txtsesskey2") != null ) $("txtsesskey2").innerHTML = data.sK;
	if ( $("txtState") != null ) $("txtState").innerHTML = data.sC;
	if ( $("txtCnt") != null ) $("txtCnt").innerHTML = stateCnt;
}

function makeLoginFailed(data, i) {
	if ( $("sessid").value != "" && data.sC == "failed" ) {
		//경고창
		alert(" 외부에서의 로그인이 이루어졌습니다.\n 로그아웃을 합니다.");
		//실행
		Logout_Session("outlogin");
	}
}

function Logout_Session(mode) {
	window.top.location.href = "/member/logout.php?mode="+mode;
//	$("mode").value = mode;
//	$("regLoginCheck").target = "_top";
//	$("regLoginCheck").action = "/member/logout.php";
//	$("regLoginCheck").method = "post";
//	$("regLoginCheck").submit();
}
