/**
 *	시험시작 (FX)
 *
 *	@param 	formname
 */
function fnFXTestStart(obj){

	var form = obj;
    var iswin = false;
    try{ if(win && !win.closed) iswin = true; }catch(e){}
    if(iswin){
        alert('시험이 진행중입니다.');
        win.focus();
        return;
	}
	
	var aw = screen.width
	var ah = screen.height-50
	var x = (screen.width - aw) / 2 - 4;
	var y = (screen.height - ah) / 2 - 16;
    var url = '/ebs/sys/jsp/bqz/blank.jsp';
    win = window.open(url, 'TeamsTest','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,fullscreen=yes,width='+aw+',height='+ah+',left='+x+',top='+y);

    nKind = form.setkind.value;
    nStep= form.step.value;    
    nGrp 	= form.grpkind.value;    
    
//말하기 문항 테스트 
//    nStep = '4'
//    form.step.value = '4';  
	if(nGrp == "A1" || nGrp == "A2"){
		if(nStep == "4"){
	    	//분석표
	    	form.action = "/ebs/bqz.BjrTestResultAnalysisA.laf" ;
	    }else{
	    	//다음단계
	    	form.action = "/ebs/bqz.BjfTestStyle_"+ nKind +".laf" ;
	    }	
	}else{
		if(nStep == "5"){
	    	//분석표
	    	//form.action = "/ebs/bqz.BjrTestResultAnalysisB.laf" ;
	    	top.self.close();
	    }else if(nStep == "1"){
		    //설치체크
		    form.next_url.value = "/ebs/bqz.BjfTestStyle_"+ nKind +".laf" ;
	    }else{
	    	//다음단계
	    	form.action = "/ebs/bqz.BjfTestStyle_"+ nKind +".laf" ;
	    }
	}
	
    form.target = "TeamsTest";
    form.submit();

    if( !win.closed ){
        win.focus();
    }
    document.attachEvent("onmousedown", TestWindowCheck);
    window.attachEvent("onfocus", TestWindowCheck);
}

/**
 *	채점지(FX)
 *
 *	@param 	formname
 */
function fnTestResultFX(obj){
	var form = obj;
    var iswin = false;
    try{ if(win && !win.closed) iswin = true; }catch(e){}
    if(iswin){
        win.focus();
        return;
    }
	
	var aw = screen.width
	var ah = screen.height-50
	var x = (screen.width - aw) / 2 - 4;
	var y = (screen.height - ah) / 2 - 16;
	
    var url = '/ebs/sys/jsp/bqz/blank.jsp';
    win = window.open(url, 'TeamsTest','left=0, top=0,toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=no,resizable=no,fullscreen=yes,width='+aw+',height='+ah+',left='+x+',top='+y);

	var setkind = randomData();
	form.setkind.value = setkind;
    form.action = "/ebs/bqz.BjfResult_"+ setkind +".laf" ;	
    form.target = "TeamsTest";
    form.submit();

    if( !win.closed ){
        win.focus();
    }
    document.attachEvent("onmousedown", TestWindowCheck);
    window.attachEvent("onfocus", TestWindowCheck);
}


/**
 * 시험지 응시창 랜덤추출
 *
 */
Array.prototype.shuffle = function(){ 
  return this.concat().sort( 
    function(){return Math.random() - Math.random();} 
  ); 
} 
	
function randomData(){
	// data 
	var data = new Array(); 
	data = ['01', '02', '03', '04']
//	data = ['04']
	
	var arr = data.shuffle(); 
	return arr[0];
}

/**
 *	라디오버튼값 구하기
 *
 *	@param 	objName
 */
function GetRadioButtonValue(objName){
    var obj = document.getElementsByName(objName);
    var result = "";
    if(obj!=null && obj.length>0){
        for(var i=0; i<obj.length; i++){
            if(obj[i].checked){
                result = obj[i].value;
                break;
            }
        }
    }
    return result;
}

/**
 * 	화면의 가운데로 새창을 열어줍니다.
 *	@param	String url
 *	@param	String window_name
 *	@param	int width
 *	@param	int height
 *	@param	String scroll 'yes':'no'
 *	@return window
 */
function popWindow(url,name,width,height,scroll) {
	var x = (screen.width - width) / 2 - 4;
	var y = (screen.height - height) / 2 - 16;
	var win = window.open(url,name,"left="+x+",top="+y+",width="+width+",height="+height+",scrollbars="+scroll);
	if (win) {
		win.focus();
		return win;
	}
}


/**
 * 	플래시 Object 출력
 *	@param	String v_id
 *
 *	@return window
 */
 // IE 설계변경처리방식	--> 정상적인 편법기술사용
 function jfIEChangeObject(v_id){
     document.write(document.getElementById(v_id).value)
 }
 
function jfIEFlashObject(vObjName, vFileName, vWidth, vHeight, vBackColor){
	var fnResult = ""
    var vBackColor_Pri1 = "", vBackColor_Pri2 = ""
    if(vBackColor!=null && vBackColor.length > 0){
         vBackColor_Pri1 = "	<param name=\"BGCOLOR\" value=\"" + vBackColor + "\">";
         vBackColor_Pri2 = " bgcolor=\"" + vBackColor + "\" ";
    }
    fnResult += "<object id=\"" + vObjName + "\" name=\"" + vObjName + "\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10.0.32.18\" width=\"" + vWidth + "\" height=\"" + vHeight + "\">";
    fnResult += "	<param name=\"movie\" value=\"" + vFileName + "\" />";
    fnResult += "	<param name=\"wmode\" value=\"transparent\">";
    fnResult += "	<param name=\"quality\" value=\"high\" />";
    fnResult += "	<param name=\"menu\" value=\"false\">";
    fnResult += vBackColor_Pri1;
    fnResult += "	<embed src=\"" + vFileName + "\" quality=\"high\" menu=\"false\" " + vBackColor_Pri2 + " pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" width=\"" + vWidth + "\" height=\"" + vHeight + "\"></embed>";
    fnResult += "</object>";
    document.write(fnResult);
}


/**
 * 팝업창 컨트롤
 */
var win;
function TestWindowCheck()
{
    var iswin = false;
    try{ if(win && !win.closed) iswin = true; }catch(e){}
    if(iswin)
    {
        win.focus();
    }
    else
    {
        document.detachEvent("onmousedown", TestWindowCheck);//이벤트해지
        window.detachEvent("onfocus", TestWindowCheck);
    }
}

/**
 * 체크박스 선택여부
 */
 function chkCheckBox(obj){
 	var cnt = 0;
 	for(var i = 0; i < obj.length; i++){
 		if(obj[i].checked){
 			cnt ++
 		}
 	}
 	
 	return cnt > 0
 }
 
 /**
 * Object 의 개수를 리턴
 */
function objlength(obj){
    if(obj ==  "undefined" || obj != "[object]"){
        return 0;
    }else if(toString(obj.length) == "[object]" && obj.length > 1){
        return obj.length;
    }else{
        return 1;
    }
}

 /**
 * 숫자체크
 */
function onlyNumber(){
    if((event.keyCode < 48 || event.keyCode > 57) && event.keyCode !=46){
        event.returnValue = false;
    }
}

 /**
 * 데이터페이지호출
 */
function CallServer(pageName, paramStr){
    var objXmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    objXmlHttp.Open("POST", pageName, false); //(false:동기)
    objXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    objXmlHttp.Send(paramStr);
    var txtStr = objXmlHttp.responseText;
    return txtStr.replace(/(^\s*)|(\s*$)/g, "");    // 공백취환
}

// 페이지의 모든 파라미터를 String 으로 리턴 한다.
function Object2Parameter(){
    var tags = new Array(2);
    tags[0] = "INPUT";
    tags[1] = "SELECT";

    var param = "";
    for(k=0;k<tags.length; k++){
        var coll = document.all.tags(tags[k]);
        if (coll!=null)
        {
            for (i=0; i<coll.length; i++) {
                if(coll[i].name != '' && coll[i].name != 'method'){
                    if(coll[i].type == 'checkbox' && !coll[i].checked){
                        continue;
                    }
                    param += coll[i].name + "=" + (coll[i].value) + "&";
                }
            }
        }
    }
    return param;
}

 /**
 * [LEEDAN]	객체변수
 * 참조 : http://prototype.conio.net		// JavaScript Framework
 */
// 객체변수(자체변경)
function $() {
    var elements = new Array();
    for (var i = 0; i < arguments.length; i++) {
        var element = arguments[i];
        if (typeof element == 'string'){
            //element = document.getElementById(element);
            element = document.getElementsByName(element);	// String 값일 때도 배열 가능하도록 함. (LEEDAN)
            if(element.length==1){
                element = element[0];
            }
        }

        if (arguments.length == 1)
        return element;

        elements.push(element);
    }

    return elements;
}

// 태그선택추가
function $tags(){
    return document.getElementsByTagName(arguments[0]);
}

// 2007.09.19 / LEEDAN
$arr = $ids = function(){
    return document.getElementsByName(arguments[0]);
}

 /**
 * 객체로 변환
 */
    function String2Object(str){
        if(str.indexOf("{")==-1 && str.indexOf("}")==-1) str = "{" + str + "}";
		return eval("returnString2Object=" + str)
    }

 /**
 * 아스키코드에 대한 값표시 (유니코드값 포함임)
 */
Char = Chr = chr = function (){
      return String.fromCharCode(arguments[0]);
}
eval("char = " + Char);		// Eclipse 버그로 인해서 -_-;
    
 /**
 * 전체선택
 * @param chknm : 체크박스 이름
 */
var check_type=true;
function CheckAll(chknm){
    var chks = $ids(chknm);
    for(var i=0;i<chks.length;i++){
        if(!chks[i].disabled)
            chks[i].checked = check_type;
    }

    check_type = check_type ? false : true;
}

// 공백문자열제거
String.prototype.trim = function () {
   // Use a regular expression to replace leading and trailing
   // spaces with the empty string
   return this.replace(/(^\s*)|(\s*$)/g, "");
}

/**************************************************************************
*[LEEDAN]	Script Logger
*			출처 : http://cafe.naver.com/q69.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=10375
*			수정 : leedan // 2006.07.04
**************************************************************************/
    var LoggerTF = true;		// Log 를 사용할지에 대한 True, False
    var oLogWin, oLogger;
    function makeLogger(oLogWin, sID) {
        var oLogDoc = oLogWin.document;
        var oTextArea = oLogDoc.getElementById(sID);
        if (!oTextArea) {
            oTextArea = oLogDoc.createElement("TEXTAREA");
            oCount = oLogDoc.createElement("INPUT");
            //oLogDoc.body.insertBefore(oTextArea,null);
            oLogDoc.getElementById('log_parent').insertBefore(oTextArea,null);
            oLogDoc.getElementById('log_parent').insertBefore(oCount,null);

            with(oCount){
                id = "LogCount";
                //type = "hidden";
                value = "0";
            }

            oTextArea.id = sID;
            //oTextArea.style.height = oLogDoc.body.clientHeight - 20;
            //oTextArea.style.width =  oLogDoc.body.clientWidth;

            with(oTextArea.style){
                width = "100%";
                height = "100%";
                color = "#efefef";
                font = "10px verdana";
                backgroundColor = "#555555";
                border = "2px solid #000000";
            }
        }
        return oTextArea;
    }

    function log() {
        var args = arguments;
        var str = "";
        // 로그 출력 여부
        if(!LoggerTF){
            return;
        }
        if(args.length>0){
            for(var i=0; i<args.length; i++){
                str += "[Line_" + (i+1) + "] " + args[i] + "\n";
            }
        }
        if (!oLogWin || oLogWin.closed) {
            try{
                oLogWin = window.open("","LogWin","top=5,left=5,width=850,height=650,top=0,left=0,resizable");
                oLogDoc = oLogWin.document;
            }catch(e){ alert("Script Logger 팝업이 차단되었습니다. "); return; }
            var sScript = "<style>body,td,input,textarea{font:10px verdana;}</style>"
            + "<script>document.onkeydown = function (){ try{ if(event.keyCode!=17 && event.keyCode!=67){ event.keyCode=505; return false; } }catch(e){ } }</script>"
            + "<body oncontextmenu='return false;'>"
            + "<table width=100% height=100% cellpadding=0 cellspacing=0 border=0 align=center style='font-size:9pt'>"
            //+ "<tr bgcolor='#FEEEBC'>"
            + "<tr bgcolor='#000000'>"
            + "<td height='25' align=left style='padding-left:5;font-weight:bold;font-size:11px;color:#FF6600;'>SCRIPT LOGGER</td>"
            + "<td align=right style='padding-right:5'>"
            + "<span style='cursor:hand;color:#dcdcdc;font-size:9px;width:40;height:12px;line-height:12px;padding:0,3,0,3;text-align:center;border:1 solid #dcdcdc;background-color:#555555'"
            + " onclick='document.getElementById(\"LogArea\").value=\"\"'>CLEAR</span>"
            + "</td></tr><tr><td id='log_parent' colspan='3'></td></tr></table>";
            oLogDoc.write(sScript);
            oLogDoc.body.style.margin = "0,0,0,0";

            oLogger = makeLogger(oLogWin, "LogArea");
        }

        var countObj = oLogWin.document.getElementById("LogCount")
        countObj.value = Number(countObj.value) + 1;

        var ntime = new Date();
        ntime = ntime.getHours() + ":" + ntime.getMinutes() + ":" + ntime.getSeconds() + ":" + ntime.getMilliseconds();

        oLogger.value += "\n─■ LOG " + oLogWin.document.getElementById("LogCount").value		// LEEDAN - LogCount 추가
        +  " ■ TIME : " + ntime // new Date().toGMTString()
        + " ■──────────────────\n"
        + str + "\n";
        oLogger.scrollTop = oLogger.scrollHeight - oLogger.clientHeight;
        // alert(oLogDoc.documentElement.innerHTML)

        // 2006.07.06 Focus
        //try{ oLogWin.focus(); oLogWin.moveTo(0,0) }catch(e){  }
    }
 /**
 * DREAMWEAVER BASIC
 */
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}
