﻿/**********************************************************************
** CL에서 추가 [기능성 스크립트]
**********************************************************************/


// IsNullOrEmpty 함수 추가
String.IsNullOrEmpty = function(s) {
	if (s == null || s == undefined || s == "")
		return true;
	else if (s.trim() == "") {
		return true;
	}
	else {
		return false;
	}
}

String.prototype.trim = function() {
	return this.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}
 
// 마우스 오른쪽 버튼 막기
document.onmousedown = function() 
{
    if (event.button == 2) 
    {
        alert('마우스 오른쪽 버튼은 사용할 수 없습니다.') 
    }
}

//체크박스 전체체크 및해제 fnAllCheckisCheckBox(폼,전체체크박스,그리드명)
function fnAllCheckisCheckBox(Dform,ncheckbox,checkIdName)
{
    for (var idx = 0; idx < Dform.length; idx++) 
    {
        var obj = Dform[idx];
        if (ncheckbox.checked) 
        {
            switch (obj.type) 
            {
                case "checkbox":
                    if (obj.id.indexOf(checkIdName) > -1) 
                    {
                        obj.checked = true;
                    }
                    
            }
        }
        else
        {
            switch (obj.type) {
                case "checkbox":
                    if (obj.id.indexOf(checkIdName) > -1) 
                    {
                        obj.checked = false;
                    }
                    
            }
        }
    }
}

// 체크박스 모두 Uncheck 하기(2009.09.02)
function fnAllUncheck(Dform, checkIdName)
{
    if (!confirm("삭제 하시겠습니까?"))
    {
		for (var idx = 0; idx < Dform.length; idx++) 
		{
			var obj = Dform[idx];
	        
			if (obj.type == "checkbox" && obj.id.indexOf(checkIdName) > -1)
			{
				obj.checked = false;
			}
		}
		return false;
    }
    return true;
}

// 일시정지 (밀리초 : 1초 -> 1000)
function fnPause(millis)
{
    var now = new Date();
    var exitTime = now.getTime() + millis;
    
    while(true)
    {
        now = new Date();
        if(now.getTime() > exitTime)
            return;
    }
}

// 윈도우 사이즈 변경
// <body onload="fnWinResizeBy(828, 398);">
function fnWinResizeBy(width, height)
{
    var clientWidth;
    var clientHeight;

    switch(Sys.Browser.agent) 
    {
        case Sys.Browser.InternetExplorer:
            clientWidth  = document.documentElement.clientWidth;
            clientHeight = document.documentElement.clientHeight - 2;
            break;
        case Sys.Browser.Safari:
            clientWidth  = window.innerWidth;
            clientHeight = window.innerHeight;
            break;
        case Sys.Browser.Opera:
            clientWidth  = Math.min(window.innerWidth, document.body.clientWidth);
            clientHeight = Math.min(window.innerHeight, document.body.clientHeight);
            break;
        default: // Sys.Browser.Firefox, etc.
            clientWidth  = Math.min(window.innerWidth, document.documentElement.clientWidth);
            clientHeight = Math.min(window.innerHeight, document.documentElement.clientHeight);
            break;
    }
    
    window.resizeBy(width - clientWidth, height - clientHeight)
}

// String 프로토타입정의
String.prototype.trim = function() 
{
  return this.replace(/(^\s*)|(\s*$)|($\s*)/g, "");
}

String.prototype.isKorEngNum = function() 
{
  if (this.search(/[^A-Za-z0-9ㄱ-힇]/) == -1)
	 return true;
  else
	 return false;
}

// 한글만 입력 가능
String.prototype.isKor = function() 
{
  if (this.search(/[^ㄱ-힇]/) == -1)
	 return true;
  else
	 return false;
}


String.prototype.isKorEng = function() 
{
  if (this.search(/[^ㄱ-힇A-Za-z]/) == -1)
	 return true;
  else
	 return false;
}
String.prototype.isEngNum = function() 
{
  if (this.search(/[^A-Za-z0-9]/) == -1)
	 return true;
  else
	 return false;
}
String.prototype.isalpha = function() 
{
  if (this.search(/[^A-Za-z]/) == -1)
	 return true;
  else
	 return false;
}
String.prototype.isnumber = function() 
{
  if (this.search(/[^0-9]/) == -1)
	 return true;
  else
	 return false;
}

String.prototype.isemail = function() {
  var flag, md, pd, i;
  var str;

  if ( (md = this.indexOf("@")) < 0 )
  return false;
  else if ( md == 0 )
  return false;
  else if (this.substring(0, md).search(/[^.A-Za-z0-9_-]/) != -1)
  return false;
  else if ( (pd = this.indexOf(".")) < 0 )
  return false;
  else if ( (pd + 1 )== this.length || (pd - 1) == md )
  return false;
  else if (this.substring(md+1, this.length).search(/[^.A-Za-z0-9_-]/) != -1)
  return false;
  else
  return true;
}

String.prototype.replaceAll = function(oldValue, newValue) {

	var retValue = this;

	while (retValue.indexOf(oldValue) >= 0)
	{
		retValue = retValue.replace(oldValue, newValue);
	}

	return retValue;
}

// 컨트롤의 위쪽 위치를 가져온다
function GetRealOffsetTop(o)
{
    if(checkRelative(o))
        return 0;
            
    return o ? o.offsetTop + GetRealOffsetTop(o.offsetParent) : 0;
}

// 컨트롤의 왼쪽 위치를 가져온다
function GetRealOffsetLeft(o)
{
    if(checkRelative(o))
        return 0;
        
    return o ? o.offsetLeft + GetRealOffsetLeft(o.offsetParent) : 0;
}

function checkRelative(o)
{
    if(o.className == 'cont')
        return true;
    else if(o.className == 'dataType1')
        return true;
    else if(o.id == 'container')
        return true;
    
    return false;
}


// 입력값에 숫자만 허용
// 사용예 : <input onkeypress="fnInputNumCheck()" />
function fnInputNumCheck()
{
    if (event.keyCode < 48 || event.keyCode > 57) event.returnValue = false;
}

// 입력값에 한글만 허용
// 사용예 : <input onkeypress="fnInputKorCheck()" />
function fnInputKorCheck() {
    if ((event.keyCode < 12592) || (event.keyCode > 12687))
    {
        event.returnValue = false;
    }
}
 
 // 입력값에 한글영문만 허용           
function fnInputKorEngCheck()
{
     var lkeycode = window.event.keyCode;
    var sOrg = String.fromCharCode(lkeycode);
    noChar = /[\[\]`@\;\:+&\\=!#$%\-\_~*, .\{\}|/?)(><\'\"1234567890^]/;

    if (sOrg.match(noChar)) {
        event.returnValue = false;
    }
}




// 입력값에 영문만 허용
// 사용예 : <input onkeypress="fnInputEngCheck()" />
function fnInputEngCheck() {

}
// 특수문자 막기
// 사용예 : <input onkeypress="fnEscapeChek()" />
function fnEscapeChek() {
    var lkeycode = window.event.keyCode;
    var sOrg = String.fromCharCode(lkeycode);
    noChar = /[\[\]`@\;\:+&\\=!#$%\-\_~*, .\{\}|/?)(><\'\"^]/;

    if (sOrg.match(noChar)) {
        event.returnValue = false;
    }
}
function fnEscapeChek2() {
    var lkeycode = window.event.keyCode;
    var sOrg = String.fromCharCode(lkeycode);
    noChar = /[\[\]`@\;\:+&\\=!#$%\-\_~*,.\{\}|/?)(><\'\"^]/;

    if (sOrg.match(noChar)) {
        event.returnValue = false;
    }
}


// 이메일특수문자 막기
// 사용예 : <input onkeypress="fnMailEscapeChek()" />
function fnMailEscapeChek() {
    var lkeycode = window.event.keyCode;
    var sOrg = String.fromCharCode(lkeycode);
    noChar = /[\[\]`@\;\:+&\\=!#$%\\~*, \{\}|/?)(><\'\"^]/;

    if (sOrg.match(noChar)) {
        event.returnValue = false;
    }
}

// 이메일 유효성 체크
function fnCheckEmail(strEmail)
{
    var check1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/;  

    var check2 = /^[a-zA-Z0-9\-\.\_]+\@[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4})$/; 
     
    if ( !strMail.match(check1) && strMail.match(check2) ) 
    { 
        return true; 
    }
     else 
    { 
        return false; 
    } 

}

// 영어 소문자와 대문자만 입력 할수 있게 처리
// 사용예 : <input onblur="fnCheckId(this, 4)" />
function fnCheckId(obj,len) {
    var text = obj.value;
    if(text.length == 0)
    {
        alert('아이디를 입력해 주세요!');
        obj.focus();
        return false;
    }
   else
   {
       for (i = 0; i < text.length; i++) 
       {
        
            var str = text.charAt(i)
           if ((str < '0' || str > '9') && (str < 'a' || str > 'z')) {
                alert('아이디는 영문소문자와 숫자만 입력 가능합니다.')
                obj.focus();
                return false;
            }

            else if (text.length < len) {
                alert('아이디는' + len + '자 이상 입력하셔야 합니다.');
                obj.focus();
                return false;
            }
        }
    }

    return true;

}

// 영어 소문자와 숫자만 입력 할수 있게 처리
// 사용예 : <input onblur="fnCheckPw(this, 6)" />
function fnCheckPw(obj, len, type) {
    var text = obj.value;
    var msg;
    if (text.length == 0) {
        msg = type == 0 ? '비밀번호를 입력해주세요.' : '비밀번호 확인을 입력해주세요.';
        alert(msg);
        obj.focus();
        return false;
    }
    else {
        for (i = 0; i < text.length; i++) {

            var str = text.charAt(i)
            if ((str < '0' || str > '9') && (str < 'a' || str > 'z')) {
                msg = type == 0 ? '비밀번호는 영문소문자와 숫자만 입력 가능합니다.' : '비밀번호 확인은 영문소문자와 숫자만 입력 가능합니다.';
                alert(msg)
                obj.focus();
                return false;
            }

            else if (text.length < len) {
            msg = type == 0 ? '비밀번호는' + len + '자 이상 입력하셔야 합니다.' : '비밀번호 확인은' + len + '자 이상 입력하셔야 합니다.';
                alert(msg);
                obj.focus();
                return false;
            }
        }
    }

    return true;

}

// textarea 글자수 제한 (단순 길이로 계산)
// 예제 : <textarea onkeyup="fnMaxLength(this, 10);"></textarea>
function fnMaxLength(obj, maxlen)
{
	if(obj.value.length > maxlen)
	{
		alert(maxlen + '자까지 입력이 가능합니다.');
		obj.value = obj.value.substr(0, maxlen);
	}

	obj.focus();
	
	return obj.value.length;
}

// textarea 글자수 제한 (byte로 계산)
// 예제 : <textarea onkeyup="fnMaxLengthBytes(this, 10);"></textarea>
function fnMaxLengthBytes(obj, maxlen)
{
	var li_byte = 0;

	for(var i=0; i < obj.value.length; i++)
	{
		if(escape(obj.value.charAt(i)).length > 4)
		{
			li_byte += 2;
		}
		else
		{
			li_byte++;
		}
	}

	if(li_byte > maxlen)
	{
		alert(maxlen + 'bytes까지 입력이 가능합니다.');
		obj.value = fnMsgCut(obj.value, maxlen);
		li_byte = maxlen;
	}

	obj.focus();
	return li_byte;
}


// byte 단위로 문자열 자르기
function fnMsgCut(msg, maxlen)
{
	var li_byte = 0;
	var retMsg = '';

	for(var i=0; i < msg.length; i++)
	{
		var ch = msg.charAt(i);
		if(escape(ch).length > 4)
		{
			li_byte += 2;
		}
		else
		{
			li_byte++;
		}

		if(li_byte > maxlen) { break; }

		retMsg += ch;
	}

	return retMsg;
}

// 글자수 제한
function fnMaxLengthByte(text)
{
	var li_byte = 0;

	for(var i=0; i < text.length; i++)
	{
		if(escape(text.charAt(i)).length > 4)
		{
			li_byte += 2;
		}
		else
		{
			li_byte++;
		}
	}

	return li_byte;
}


/**********************************************************************
** CL에서 추가 [팝업(페이지이동) 스크립트]
**********************************************************************/

// 우편번호 검색
/*
** 사용방법 ******************************
- 우편번호 검색 팝업 띄우기
  예1) <span onclick="popZipcode('idname');" style="cursor:pointer;">우편번호</span>
  예2) <a href="javascript:popZipcode('idname');">우편번호</a>
  설명) idname은 구분자로 검색완료 후 값을 설정할 때 필요합니다.
  
- 검색완료 후 값 설정
  부모 페이지에 아래와 같은 자바스크립트를 생성합니다.
  function fnZipcodeSet(pid, zid, zip, addr){}
  예)
    // 우편번호 검색 완료
    function fnZipcodeSet(pid, zid, zip, addr)
    {
        if(pid == 'idname')
        {
            var zipcode = zip.split('-');
            
            document.getElementById('<%=txtZip1.ClientID%>').value = zipcode[0];
            document.getElementById('<%=txtZip2.ClientID%>').value = zipcode[1];
            document.getElementById('<%=txtAddr.ClientID%>').value = addr;
            document.getElementById('<%=txtSubAddr.ClientID%>').value = '';
            document.getElementById('<%=hfZipID.ClientID%>').value = zid;
        }
    }

- 사용중인 페이지 : /es/member/memberdetail.aspx
*/
function popZipcode(id)
{
    pop('/es/common/popZipcode.aspx?id=' + id, 'zipcode', 410, 270);
}

// 회원정보 팝업
function popMemberInfo(memberCode)
{
     pops('/es/common/popMemberInfo.aspx?mc=' + memberCode, 'memberInfo', 730,550);
}

// 교재이력 팝업
function popInstructionList(memberCode)
{
    pops('/es/common/popInstructionList.aspx?mc=' + memberCode, 'book', 730, 550);
}

// 교재이력 팝업2
function popProductList(memberCode)
{
    pops('/es/common/popProductList.aspx?mc='+ memberCode, 'popProductList', 730, 550);
}

// 학습성취도 팝업(print) 
function popmemberStatistics(date)
{
    pops('/es/common/popmemberStatistics.aspx?dt='+ date, 'popmemberStatistics', 730, 550);
}

// 전체 회원 출력 팝업
function popAllMemberprint() 
{
    pops('/es/common/popAllMemberPrint.aspx','list', 750, 425);
}

// 신규 탈학회원 리스트
function popNewAndWithdrawMemberListPrint(date, sk) {
    pops('/es/common/popNewAndWithdrawMemberListPrint.aspx?dt=' + date +  '&sk='+ sk, 'list', 900, 40);
}

// 전화걸기
function fnCallPhone(tel)
{
    alert("서비스 준비중입니다");
}

// 전화 끈기
function fnCallPhoneExit()
{
    alert("서비스 준비중입니다");
}

// 취소
function fnCallPhoneCancel()
{
    alert("서비스 준비중입니다");
}

//위젯만 띄우기
function fnSimpleOpen(userid)
{
    var isSetup = false;
    try
    {
        var obj = new ActiveXObject("DelphiZzangElevator.DelphiZzangXElevator");
        if(obj) isSetup = true;
    }
    catch (e){ }

    if(!isSetup)
    {
        return;
    }

    var UniWidget;  // UniWidget ActiveX Object를 받을 변수;
    var UniWidget_CLASS = '{D724138C-207A-41DC-9191-0D5E18386C79}';
    var UniWidget_IID   = '{D14BB86E-37FD-44DF-AB58-090FFEB8B321}';
    var XElevator       = document.getElementById('XElevator');

    // 위젯 객체 생성
    UniWidget = XElevator.ElevateCOM(UniWidget_CLASS,UniWidget_IID);
    
    // 위젯 설치 여부 확인
    var setupYN = UniWidget.DFMessage('WidgetDecision', '','','','');  
    if (setupYN != 'yes')
    {
        return;
    }
    
    UniWidget.DFMessage('SimplePopup', '', userid, 0, 0);
}

// 위젯 팝업
function fnWidgetOpen(url, userid, width, height)
{
    var isSetup = false;
    try
    {
        var obj = new ActiveXObject("DelphiZzangElevator.DelphiZzangXElevator");
        if(obj) isSetup = true;
    }
    catch (e){ }

    if(!isSetup)
    {
        location.href = '/util/mini.aspx';
        return;
    }

    var UniWidget;  // UniWidget ActiveX Object를 받을 변수;
    var UniWidget_CLASS = '{D724138C-207A-41DC-9191-0D5E18386C79}';
    var UniWidget_IID   = '{D14BB86E-37FD-44DF-AB58-090FFEB8B321}';
    var XElevator       = document.getElementById('XElevator');

    // 위젯 객체 생성
    UniWidget = XElevator.ElevateCOM(UniWidget_CLASS,UniWidget_IID);
    
    var winver =  navigator.appVersion;

    // windows 7 외에 신뢰할수 있는 사이트 확인/등록  
    if (winver.indexOf("Windows NT 6.1") < 0) {
            
         UniWidget.DFMessage('DomainZonesReg', '', '', '', '');
           
    }
   
        
    
    // 위젯 설치 여부 확인
    var setupYN = UniWidget.DFMessage('WidgetDecision', '','','','');  
    if (setupYN != 'yes')
    {
        location.href = '/util/mini.aspx';
        return;
    }
    
    // 풀경로 설정
    url = 'http://' + location.host + url;
        
    // 위젯 팝업 팝업 띄우기
	UniWidget.DFMessage('Popup', url, userid, width, height);
}

// 위젯 일반 팝업
function fnWidgetPop(url, width, height)
{
    var id = document.getElementById('memberid').value;

    pop('/agent/pop.aspx?id=' + id + '&url=' + url, 'WidgetPop', width, height);
}

// 학습 플래시 팝업
function fnStudyPopOpen(igc, mc, userid)
{
    // 경로
    var url = '/ttc/main.asp?ItemGroupCode=' + igc + '&mcode=' + mc + '&ExtensionCode=';
    
    // 토크플러스 녹음 팝업 띄우기
    if((userid == '') || (userid == null))
    {
	    pop(url, 'dailystudy', 1000, 680);
	}
	else
	{
        fnWidgetOpen(url, userid, 1000, 680);
    }
}

// 일일학습결과 리포트보기
    function fnDailyReport(mc, id, igc)
    {
        pop('/ttc/_public/asp/DailyStudyReportView.asp?MemberCode=' + mc + '&ItemGroupCode=' + igc + '&ResultID=' + id, 'dailyreport',808, 493);
    }

// 학습 플래시체험하기 팝업
function fnStudyPopOpenEx(igc, mc, userid)
{
    // 경로
    var url = '/ttc/experience.asp?ItemGroupCode=' + igc + '&mcode=' + mc + '&ExtensionCode=';
    
    // 토크플러스 녹음 팝업 띄우기
    if((userid == '') || (userid == null))
    {
	    pop(url, 'dailystudy', 1000, 680);
	}
	else
	{
        fnWidgetOpen(url, userid, 1000, 680);
    }
}

       
 // 음성인식 학습1  
 function fnVoiceStudy(v1, v2, v3,v4, v5,v6,v7, v8)
 {
       
	if (v5.trim()  =='' ||   v5 == null)
	 {
		alert("사용자 로그인 정보가 부족합니다. 다시 로그인해 주세요.");
		return ;
	 }

//fla_ItemGroupCode	WUP0-S01-2A01	과정(북,데이 등) 정보 CODE char(13)
//fla_PassMemberID	1000	유저 정보 CODE
//fla_AgencyCode	1000	?
//fla_UserName	튼튼	유저 이름
//fla_UserID	test01	유저 아이디
//fla_Result	0	웹페이지에서 결과 바로보기로 들어오는지 여부( 0, 1)
//fla_SoundURL	http://wave.good05.com/wsbuf/	"음성인식 엔진 서버세팅 업로드주소 절대경로//(Web.config 파일내에 StockVirtualDir값)"
//fla_UploadFolder	2010/201008/	"음성인식 파일 업로드 폴더 경로(년/년월 로 예를 들었는데 정책에 맞춰 넘겨주심 됩니다.)"
           
     var url = '/VoiceStudy/tuntuni_whatsup/loader.asp?fla_ItemGroupCode=' +v1+'&fla_PassMemberID=' + v2 + '&fla_AgencyCode=' +v3 + '&fla_UserName=' + v4+ '&fla_UserID=' + v5+ '&fla_Result=' + v6+ '&fla_SoundURL=' + v7+ '&fla_UploadFolder=' + v8 ;
            
     window.open(url, 'VoiceStudy', 'width='+screen.availWidth+',height='+screen.availHeight+',scrollbars=0,location=0,top=0,left=0,fullscreen=yes');

 }


  // 이프라이머리 학습 - 개편 작업으로 추가 (2011-09-01)  
 function fnEPrimaryStudy(v1, v2, v3,v4, v5,v6,v7, v8, v9, v10)
 {
       
	if (v5.trim()  =='' ||   v5 == null)

	 {
		alert("사용자 로그인 정보가 부족합니다. 다시 로그인해 주세요.");
		return ;
	 }

//fla_ItemGroupCode	WUP0-S01-2A01	과정(북,데이 등) 정보 CODE char(13)
//fla_PassMemberID	1000	유저 정보 CODE
//fla_AgencyCode	1000	?
//fla_UserName	튼튼	유저 이름
//fla_UserID	test01	유저 아이디
//fla_Result	0	웹페이지에서 결과 바로보기로 들어오는지 여부( 0, 1)
//fla_SoundURL	http://wave.good05.com/wsbuf/	"음성인식 엔진 서버세팅 업로드주소 절대경로//(Web.config 파일내에 StockVirtualDir값)"
//fla_UploadFolder	2010/201008/	"음성인식 파일 업로드 폴더 경로(년/년월 로 예를 들었는데 정책에 맞춰 넘겨주심 됩니다.)"
           
     var url = '/VoiceStudy/tuntun_ePrimary/loader.asp?fla_ItemGroupCode=' +v1+'&fla_PassMemberID=' + v2 + '&fla_AgencyCode=' +v3 + '&fla_UserName=' + v4+ '&fla_UserID=' + v5+ '&fla_Result=' + v6+ '&fla_SoundURL=' + v7+ '&fla_UploadFolder=' + v8 +'&book=' + v9 +'&day=' + v10;
            
     window.open(url, 'VoiceStudy', 'width='+screen.availWidth+',height='+screen.availHeight+',scrollbars=0,location=0,top=0,left=0,fullscreen=yes');

 }

 
  // EGR 교재 학습( - 개편 작업으로 추가 (2011-09-01)   
 function fnEGRStudy(v1, v2)
 {
       
	if (v1 =='' || v1 == null)
	 {
		alert("학습 정보가 부족합니다.");
		return ;
	 }
          

     var url = '/EG/Book/Loader.aspx?itemgroupcode=' + v1 + '&Result=' + v2;
            
     window.open(url, 'EasyGrammar', 'width='+screen.availWidth+',height='+screen.availHeight+',scrollbars=0,location=0,top=0,left=0,fullscreen=yes,screenY=1,alwaysRaised=1');

 }


// 토크플러스 녹음 팝업
function fnTalkPlusRecOpen(kind, date, igc, userid)
{
    // 경로
    var url = '/ms/istudy/talkplus/popRercoding.aspx?kind=' + kind + '&type=t&date=' + date + '&igc=' + igc;
    
    // 토크플러스 녹음 팝업 띄우기
    fnWidgetOpen(url, userid, 610, 782);
}

// 권별 듣기 평가 팝업
function fnListenExamOpen(ppc, es)
{
    if(parseInt(ppc) == 0)
    {
        alert('평가 항목이 없습니다.');
        return;    
    }
    
    var estext = '';
    if(es)
    {
        estext = '&es=1';
    }
    
    pop('/ms/istudy/dailystudy/popListenExam.aspx?ppc=' + ppc + estext, 'listenexam', 752, 620);
}

// 단계별 연상력 평가 팝업
function fnStudyStepOpen(step)
{
    if(parseInt(step) == 0)
    {
        alert('평가 항목이 없습니다.');
        return;    
    }
    
    var qs = step.split('|');
    pop('/ms/istudy/dailystudy/stepeval/step' + qs[0] + '/StartTest.aspx?stepid=' + qs[1], 'step', 650, 609);
}

// 에듀서포터 쪽지 보내기 팝업 띄우기
function fnEsMemoSend(id)
{
    var url = '/es/mypage/memo/popSend.aspx';
    
    if(!(id == undefined || id == ''))
    {
        url = url + '?id=' + id;
    }
    
    pop(url, 'esmemosend', 470, 329);//329//395
}

// 튼튼아이(학생) 쪽지 보내기 이동
function fnMsMemoSend(id)
{
    var url = '/ms/mypage/memo/send.aspx';
    
    if(!(id == undefined || id == ''))
    {
        url = url + '?id=' + id;
    }
    
    location.href = url;
}

// 튼튼마미 쪽지 보내기 이동
function fnMmMemoSend(id)
{
    var url = '/mm/mypage/memo/send.aspx';
    
    if(!(id == undefined || id == ''))
    {
        url = url + '?id=' + id;
    }
    
    location.href = url;
}

// 에듀서포터 문자 보내기
function fnSendSms(hp, membername)
{
    var url = '/es/common/SMS.aspx?HP=' + hp +'&membername='+ membername;
    pop(url , 'SMS', 835, 603);
}

//이메일 보내기
function fnSendEmail(email)
{
    //alert(email);
    // 클립보드에 복사하기
    window.clipboardData.setData('text', email);
    var url ="/es/mypage/mail.aspx?to=" + email;

        
        
    //pops(url, '파란메일발송', 800, 600);
    window.open(url, 'mail', 'width=800,height=600,resizable=yes');
}

//배송지 정보창 띠우기(개별주문)
function fnDirectAddr(ead, pd, mc, ac, tc, pc, emd)
{
    var url = "/es/common/popOrderDirectAddr.aspx?ead=" +ead + "&pd=" + pd + "&mc=" + mc + "&ac="  + ac + "&tc=" 
                +tc + "&pc=" + pc + "&emd=" + emd;;
                
            
    pop(url,'배송지확인',410,562);
}

//배송지 정보창 띠우기(일괄주문)
function fnDirectAddr(ead, pd, mc, ac, tc, pc,ow,sp,eop,emd)
{
    // 다음 교재 코드가 없는 경우 체크
    if(pc == '')
    {
        alert('주문예정교재가 없습니다. 교재변경 버튼을 클릭하여, 주문예정교재를 선택해 주세요.');
    }
    else
    {
        var url = "/es/common/popOrderDirectAddr.aspx?ead=" +ead + "&pd=" + pd + "&mc=" + mc + "&ac="  + ac + "&tc=" 
                    +tc + "&pc=" + pc + "&ow=" + ow + "&sp=" + sp + "&eop="+ eop + "&emd=" + emd;
                    
                
        pop(url,'배송지확인',410,562);
    }
}

//배송지 정보창 띠우기(장바구니)
function fnDirectAddr(ead, pd, mc, ac, tc, pc,ow, emd)
{
    var url = "/es/common/popOrderDirectAddr.aspx?ead=" +ead + "&pd=" + pd + "&mc=" + mc + "&ac="  + ac + "&tc=" 
                +tc + "&pc=" + pc + "&ow=" + ow+ "&emd=" + emd;
                
            
    pop(url,'배송지확인',410,562);
}

//주문 메모창
//emd:메모아이디
//mc:회원코드
//pc:교재코드 
//ow:장바구니아이디
//ref:부모 페이지 스크립트 호출여부(0:비호출,1:호출)
function fnOrderMemo(emd, mc,pc,ow,ref)
{
    
    var url = "/es/common/popOrderMemo.aspx?emd=" + emd + "&mc=" +mc + "&pc=" + pc + "&ow=" + ow + "&ref=" + ref;
    pop(url,'memo', 365,262);
}



// 주니어 비디오 리스트 팝업
function fnJuniorVideoList()
{
    pops("/ms/istudy/esponge/popJuniorVideoList.aspx",'VideoList',683,696);
} 

// 주니어 동영상(저화질 보기)
function RedirectToLow(LevelFromCode, SetFromCode, pc)
{
    location.href="/ms/istudy/esponge/popJuniorVideoView.aspx?streaming=jr_"+ LevelFromCode + "_" + SetFromCode + "_low" + "&pc=" + pc; 
	
}

// 주니어 동영상(고화질 보기)
function RedirectTohigh(LevelFromCode, SetFromCode, pc)
{
    location.href="/ms/istudy/esponge/popJuniorVideoView.aspx?streaming=jr_" + LevelFromCode + "_" + SetFromCode +"_high" + "&pc=" + pc;
}

// 사운드 파일 재생
function fnSoundPlay(file)
{
    pop("/common/SoundPlay.aspx?file=" + file,'VideoList', 320, 20);
}

//e-Sponge 자유활동 페이지 띠우기
function fnFreeActive(url,userid)
{

    if((userid == '') || (userid == null))
    {
        alert('회원용 학습창에서만 저장과 녹음이 가능합니다.');
        // 플래쉬 asp 페이지에서 플래쉬가 안딛히는 문제 해결을 위해 체험여부 파라미터 추가(1:체험:0:위젯)
        url = url + '&Ep=1';
        pops(url ,'FreeActive', 910, 688);
        //window.open(url, 'FreeActive', 'width='+screen.availWidth+',height='+screen.availHeight+',scrollbars=no,location=no,top=0,left=0,fullscreen=yes')
    }
    else
    {
        url = url + '&Ep=0';
        // 팝업 띄우기
        fnWidgetOpen(url, userid, 910, 688);
    }
}

//e-Sponge 권별 학습 플래쉬
function fnStudyActive(url,userid)
{
    if((userid == '') || (userid == null))
    {
        alert('회원용 학습창에서만 저장과 녹음이 가능합니다.');
        // 플래쉬 asp 페이지에서 플래쉬가 안딛히는 문제 해결을 위해 체험여부 파라미터 추가(1:체험:0:위젯)
        url = url + '&Ep=1';
        //pops(url ,'StudyActive', 1012, 678);
        window.open(url, 'StudyActive', 'width='+screen.availWidth+',height='+screen.availHeight+',scrollbars=no,location=no,top=0,left=0,fullscreen=yes')
    }
    else
    {
        url = url + '&Ep=0';
        //fnWidgetOpen(url, userid, 1012, 678);
        fnWidgetOpen(url, userid, 0, 0);
    }
}

// 토크 플러스 페이지로 이동
function fnGoTalkPulsPage()
{
    location.href = "/ms/istudy/talkplus/default.aspx";
}

// eSponge 결과보기주별 팝업 호출
function fnStudyWeekResult()
{
    pops("/ms/istudy/esponge/popJuniorWeekResult.aspx", 'StudyResult', 811, 676);
}

// eSponge 결과보기 권별  팝업 호출
function fnStudyBookResult()
{
    pops("/ms/istudy/esponge/popJuniorBookResult.aspx", 'StudyResult', 811, 676);
}

// 학생 메인 리로드
function fnMsMainReload() 
{
    location.href = "/ms/";
}



//이스폰지 메인 리로드
function fnESpongeReload()
{
    location.href = "/ms/istudy/esponge/default.aspx";
}

// 주별결과 리로드
function fnfnStudyWeekReload(dt)
{
    location.href = "/ms/istudy/esponge/popJuniorWeekResult.aspx?dt=" + dt;
}

// 권별결과 리로드
function fnStudyBookReload(step,code)
{
    location.href = "/ms/istudy/esponge/popJuniorBookResult.aspx?step=" +step + "&code=" + code ;
}

// 4~6 단계 권별학습 평가 호출 unimation 페이지
function fnUniBookStudyEx(url) {
    pop(url, 'StudyActiveEx', 440,370);
 }
 
 // 메시지 이후 패이지 이동
function fnMagAndPageMove()
{
    alert("서버에 일시적인 장애로  회원가입을 진행 하실 수 없습니다.");
    location.href = "/";
}


//단순 메시지
function fnShowMsg(msg)
{
    alert(msg);
}

// 컨펌창이후 페이지 이동
function fnConfrimAndPageMove(msg, url)
{
    if(fnConrirmMsg(msg))
    {
        fnPageMove(url);
    }
}

// 확인창
function fnConrirmMsg(msg)
{
    return confirm(msg);
}

//페이지 이동
function fnPageMove(url)
{
    location.href= url;
}

// 스케줄생성 페이지로 이동
function fnCreateSchedule(mc)
{
    location.href = "/es/study/schedule/scheduleMemingList.aspx?sk=" + mc; 
}

// 스케줄 확인
// isJunior : 유아교재여부
// isStandardYN: 표준여부
function fnScheduleView(page, spi,pc,mc, isJunior, isStandardYN)
{
//    alert("isJunior:" + isJunior);
    //    alert("isStandardYN:" + isStandardYN);
    // 주니어 여부, 표준/비표준 여부에 따라 페이지 세팅
    
 //   var page = isJunior == 'True' ? "scheduleSmallChild.aspx" : isStandardYN == 'True' ? "scheduleST.aspx" : "scheduleEM.aspx";
    
   // var page =  "scheduleMemEndList.aspx";

//    alert(page);
    location.href = "/es/study/schedule/" + page + "?SPI=" + spi + "&PCode=" +pc + "&MCode=" + mc;
}


//이미지 보기 팝업
function fnShowImg(filePath,width, height)
{
    
    var url = "/common/popup/popImageView.aspx?file=" + filePath;
//    alert(url);
    pop(url, 'ImageView', width,height); 
}


// eBook 플래쉬 팝업호츨(교재용)
function fnWebBookView(CODE, TOT_NUM, MODE, BASE_URL)
{
    var url = "/es/common/popEBookView.aspx?CODE=" + CODE + "&TOT_NUM=" + TOT_NUM + "&MODE=" + MODE + "&BASE_URL=" + BASE_URL;
    //var url = "/content/ebook/popEBookView.aspx?CODE=" + CODE + "&TOT_NUM=" + TOT_NUM + "&MODE=" + MODE + "&BASE_URL=" + BASE_URL;
    uf_NewWinTop(url, 'eBookView', 1034, 726); 
}


// eBook 플래쉬 팝업호츨(지도서용)
function fnWebBookView2(CODE, TOT_NUM, MODE, BASE_URL)
{
    var url = "/es/common/popEBookView.aspx?CODE=" + CODE + "&TOT_NUM=" + TOT_NUM + "&MODE=" + MODE + "&BASE_URL=" + BASE_URL;
    //var url = "/content/ebook/popEBookView.aspx?CODE=" + CODE + "&TOT_NUM=" + TOT_NUM + "&MODE=" + MODE + "&BASE_URL=" + BASE_URL;
    uf_NewWinTop(url, 'eBookViewGuide', 1034, 726); 
}
//공통 로그인 팝업
function fnCommonLogIn(url)
{
 //   var dns = document.location.toString();

 //   if (dns.indexOf("tuntuni.net") > -1) {
	
//	url = "https://www.tuntuni.net/common/popup/popLogIn.aspx?url=" + escape(url);
    
//	}
//	else
//	{
		url = "/common/popup/popLogIn.aspx?url=" + escape(url);
//	}

	pop(url, 'login', 402, 230); 

}

// 아이디 패스워드 찾기
// type = 0: 일반회원
// type = 1: 학부모회원
// type = 2: 교사회원
function fnIdPwFind()
{
    location.href = "/member/lostidpw.aspx";
}

// 회원가입
// type = 0: 일반회원
// type = 1: 학부모회원
// type = 2: 교사회원
function fnMemberJoin(type)
{
    location.href = "/member/join.aspx?step=1&kind=" + type;
}


// 상담 교사 전용 페이지 띠우기
function fnpopConsult(url)
{
     pops(url, 'login', 1024,780); 
}

//회원 탈퇴요청 팝업
function fnReqMemberWithdrawal(mc, name)
{
    var url = "/es/common/popReqMemberWithdrawal.aspx?mc=" + mc + "&name=" +escape(name);
    //alert(url);
    pop(url, 'withdrawal', 310,257); 
}

// 학생메인에서 자유 활동 버튼 클릭 시 호출
function fn_TodayStudyFree() 
{
    location.href = "/ms/istudy/esponge/";
}

// 학생메인에서 e스펀지 타이틀 클릭 시 호출
function fn_TodayESponge()
{
    location.href = "/ms/istudy/esponge/";
}

// 유아의 학습 결과 답안정보를 본다
function fnJrStudyExzmResult(jrBooklogId)
{
    alert(jrBooklogId)
}

/**********************************************************************
** Crea.m
**********************************************************************/

try{
	document.execCommand("BackgroundImageCache", false, true);
}catch(e){}

// 브라우저 체크
var Browser = {
    IE:     !!(window.attachEvent && !window.opera),
    IE6:     ((navigator.userAgent.toLowerCase().indexOf("msie 6")!=-1) && (navigator.userAgent.toLowerCase().indexOf("msie 7")==-1)),
    IE7:     (navigator.userAgent.toLowerCase().indexOf("msie 7")!=-1),
    Opera:  !!window.opera,
    WebKit: navigator.userAgent.indexOf("AppleWebKit/") > -1,
    Gecko:  navigator.userAgent.indexOf("Gecko") > -1 && navigator.userAgent.indexOf("KHTML") == -1,
    MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)
}

/*--------------------------------
          이벤트 등록기
---------------------------------*/
function AddEvent(obj, type, fn) {
	if(obj.addEventListener) {
		obj.addEventListener(type, fn, false);
	} else if(obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent("on"+type, obj[type+fn]);
    } else {
		obj["on"+type] = obj["e"+type+fn];
	}
}


/*--------------------------------
         IF IE 플래시 출력
---------------------------------*/
function ActiveX(commentid, objectid){
	var obj = $(commentid);
	if(navigator.appName == "Microsoft Internet Explorer"){
		document.write(obj.text);
		obj.id = "";
	}
	if(objectid != undefined) window[objectid] = document.getElementById(objectid);
}

function $(element) {
	if (arguments.length > 1) {
		for (var i = 0, elements = [], length = arguments.length; i < length; i++) elements.push($(arguments[i]));
		return elements;
	}
	if (typeof(element) == "string") element = document.getElementById(element);
	return element;
}

function winSize(type) {
	var typeSize;
	switch(type){
		case "docWidth" : typeSize = document.documentElement.clientWidth || document.body.clientWidth; break;
		case "docHeight" : typeSize = document.documentElement.clientHeight || document.body.clientHeight; break;
		case "scTop" : typeSize = document.documentElement.scrollTop || document.body.scrollTop; break;
		case "scHeight" : typeSize = document.documentElement.scrollHeight || document.body.scrollHeight; break;
		case "scWidth" : typeSize = document.documentElement.scrollWidth || document.body.scrollWidth; break;
	}
	return typeSize;
}

// 이벤트 등록
if(!Browser.IE6||Browser.IE7) AddEvent(window, "load", function(){ quickPos.level("first") });
AddEvent(window, "load", function(){ quickPos.msg() });
AddEvent(window, "load", tableStyle);
AddEvent(window, "load", function(){ setTimeout("layoutResize()",500) }); //컨텐츠 영역 작을경우 height조절
AddEvent(window, "resize", layoutResize);
AddEvent(window, "scroll", layoutResize);

var quickPos = {
	msg: function(){
		quickPos.move("bottom",515,55,"characterMsg");
		AddEvent(window, "scroll", function(){ quickPos.move("bottom",515,55,"characterMsg") });
		AddEvent(window, "resize", function(){ quickPos.move("bottom",515,55,"characterMsg") });
	},
	level: function(first){
		var hPos,boxSize = 150;
		var name = "levelArea";
		var boxCss = ["base","half","hidden"];
		if(!($(name))) return;
		
		if(first){
			hPos = $(name).className;
		}else{
			if($(name).className) hPos = ($(name).className=="half") ? "base" : ($(name).className=="hidden") ? "hidden" : "half" ;
			else hPos = "half";
		}
		
		switch(hPos){
			case "hidden" :
				boxSize = 55; //55
				$(name).className = boxCss[2]; break;
			case "half" :
				boxSize = 113; //116
				$(name).className = boxCss[1]; 
				Set_Cookie("Footer", "1", "", "/", "", "");
				break;
			default:
				boxSize = 150; //152
				$(name).className = boxCss[0]; 
				Set_Cookie("Footer", "0", "", "/", "", "");
				break;
		}
		hPos = 56;
		quickPos.move("bottom",boxSize,hPos,name);
		AddEvent(window, "scroll", function(){ quickPos.move("bottom",boxSize,hPos,name) });
		AddEvent(window, "resize", function(){ quickPos.move("bottom",boxSize,hPos,name) });
	},
	move: function(pos,objHeight,footerHeight,name){
		if(Browser.Gecko || (Browser.IE7 && document.compatMode=="CSS1Compat")){
			if(!($(name))) return;
			var rvi = $(name);
			posYtop = (winSize("scTop") >= (winSize("scHeight")-winSize("docHeight")-footerHeight)) ? (winSize("scTop")-(winSize("scHeight")-winSize("docHeight")-footerHeight))-footerHeight : -(footerHeight);
			rvi.getElementsByTagName("div")[0].style.bottom = posYtop+"px";
		}
	},
	moveCss: function(name){
		if(name=="character"){
			var pos = "bottom";
			var objHeight = 515;
			var footerHeight = 55;
		}else if(name=="level"){
			var pos = "bottom";
			var footerHeight = 56;

			switch($("levelArea").className){
				case "hidden" :
					objHeight = 55; break; //55
				case "half" :
					objHeight = 113; break; //116
				default:
					objHeight = 150; break; //152
			}
		}
		posYtop = (pos=="top") ? winSize("scTop") : (winSize("scTop") >= (winSize("scHeight")-winSize("docHeight")-footerHeight)) ? ( winSize("docHeight") + winSize("scTop") ) - ((footerHeight-(winSize("scHeight")-winSize("scTop")-winSize("docHeight"))) + (objHeight-footerHeight)) : ( winSize("docHeight") + winSize("scTop") ) - (objHeight-footerHeight);
		return (posYtop-1) + "px";
	}
}

//2009-02-02 Top버튼 추가
AddEvent(window, "load", function(){scTop.init()});
var scTop = {
	obj : null,
	init : function(){
		if(!($('scTop'))) return;
		scTop.obj=$('scTop').getElementsByTagName("img")[0];
		scTop.obj.onclick=function(){scTop.goTop()};
		scTop.obj.style.top=0;
		scTop.move();
		AddEvent(window, 'scroll',function(){scTop.move()});
	},
	move : function(){
		clearTimeout(scTop.obj.stop);
		var scElement=(Browser.WebKit)? document.body : document.documentElement;
		var baseTop=285;
		var scT=scElement.scrollTop;
		var scH=scElement.scrollHeight;
		var playValue = (scT > baseTop) ? scT-baseTop : 0 ; //(scTop.obj.style.top)
		var play=function(){
			var posTop=parseInt(scTop.obj.style.top);
			if(posTop!=playValue){
				var movePos = Math.ceil(posTop+((scT-baseTop)-posTop)/5);
				var moveY = (movePos>0?movePos:0);
				if($("wrapper").offsetHeight < (moveY+baseTop+150)) return;
				scTop.obj.style.top = moveY+"px";
				scTop.obj.stop=setTimeout(play,10);
			}
		}
		play();
	},
	goTop : function(){
		var scElement=(Browser.WebKit)? document.body : document.documentElement;
		scElement.scrollTop=0;
		return false;
	}
}
//2009-02-02 Top버튼 추가

function layoutResize(){
	if(!($("contBody"))&&!($("contBodyIndex"))) return;
	var obj = $("contBody") || $("contBodyIndex");
	var contGap = $("contBody") ? 332 : 90 ;
	var contMargin = 20;
	var contBoxH = obj.offsetHeight;
	var minSize = 430;
	var contH = obj.getElementsByTagName("div")[0].offsetHeight;
	if(contH+contGap+contMargin < winSize("docHeight")){
		var contResizeH = (winSize("docHeight")-contGap);
		obj.style.height = (contResizeH>minSize?contResizeH:minSize) + "px";
		if($("contBodyIndex")&&Browser.IE6) obj.style.marginBottom = "3px";
	}else{
		obj.style.height = ( $("contBodyIndex")? winSize("docHeight") : contH ) + contMargin + "px";
	}
}

function quickResize(name){
	if(!($("quickArea"))) return;
	if($("quickArea").className.indexOf("edu")>-1) $("quickArea").className = "edu" + (name || "");
	else $("quickArea").className = name || "" ;
	if($("quickArea").className.indexOf("min")>-1) Set_Cookie("Quick", "0", "", "/", "", "");
	else Set_Cookie("Quick", "1", "", "/", "", "");
}


// 테이블 스타일 변경
function tableStyle(){
try{
	var styleName = ["dataType1","overEffect"];
	var styleName2 = "none";
	var obj = document.getElementsByTagName("div");
	for(i=0;i<obj.length;i++){
		if((obj[i].className.indexOf(styleName[0])>-1 || obj[i].className.indexOf(styleName[1])>-1) && !(obj[i].className.indexOf(styleName2)>-1)){
			var objTr = obj[i].getElementsByTagName("table")[0].getElementsByTagName("tbody")[0].rows;
			for(j=0;j<objTr.length;j++){
				objTr[j].onmouseover = function(){ this.className += " over";  }
				objTr[j].onmouseout = function(){ this.className = this.className.replace("over",""); }
			}
		}
	}
}catch(e) {  }
}

/* Tab Style */
function tabChange(name){
	var obj = $(name).childNodes;
	for(i=0;i<obj.length;i++){
		if(obj[i].nodeType==1) obj[i].onclick = function(){ tabView(this,obj);return false; }
	}
}

function tabView(item,obj){
	var itemName;
	for(i=0;i<obj.length;i++){
		if(obj[i].nodeType==1&&obj[i]==item){
			obj[i].className = (obj[i].className.indexOf("this")>-1) ? obj[i].className : obj[i].className+" this" ;
			itemName = obj[i].getElementsByTagName("a")[0].href.split("#")[1];
			$(itemName).style.display = "block";
		}else if(obj[i].nodeType==1){
			obj[i].className = obj[i].className.replace("this","");
			itemName = obj[i].getElementsByTagName("a")[0].href.split("#")[1];
			$(itemName).style.display = "none";
		}
	}
}

/* 튼튼아이 탭 */
function tabChangeI(name){
	var tabObj = $(name).getElementsByTagName("li");
	for(i=0;i<tabObj.length;i++){
		tabObj[i].getElementsByTagName("a")[0].onclick = function(){ tabViewI(this,name);return false; }
	}
}
function tabViewI(obj,name){
	var tabObj = $(name).getElementsByTagName("li");
	for(i=0;i<tabObj.length;i++){
		var tabImg = tabObj[i].getElementsByTagName("a")[0].getElementsByTagName("img")[0] || null;
		var objName = tabObj[i].getElementsByTagName("a")[0].href.split("#")[1];
		if(tabObj[i].getElementsByTagName("a")[0]==obj){
			if(tabImg!=null) tabImg.src = tabImg.src.replace("_off","_on");
			else tabObj[i].className = "this " + tabObj[i].className;
			$(objName).style.display = "block";
		}else{
			if(tabImg!=null) tabImg.src = tabImg.src.replace("_on","_off");
			else tabObj[i].className = (tabObj[i].className) ? tabObj[i].className.replace("this",""):"";
			$(objName).style.display = "none";
		}
	}
}

/* faq 탭 */
function listChange(name){
	var obj = ($(name).nodeName!="DL") ? $(name).getElementsByTagName("dl")[0] : $(name) ;
	var objTitle = obj.getElementsByTagName("dt");
	var objCont = obj.getElementsByTagName("dd");
	for( i=0; i < objTitle.length; i++ ){
		objCont[i].style.display = "none";
		objTitle[i].onclick = function(){ listView(name,this,obj,objTitle,objCont) }
	}
}
function listView(name,item,obj,objTitle,objCont){
	for( i=0; i < objTitle.length; i++ ){
		objTitle[i].className = (objTitle[i]==item&&objTitle[i].className!="this") ? "this" : "" ;
		objCont[i].style.display = (objTitle[i]==item&&objTitle[i].className=="this") ? "block" : "none" ;
	}
}

/* 리플 보이기 */
var layerChange = {
	gate : function(name,obj){
		if(obj.src.indexOf("up.gif")>-1 || obj.src.indexOf("down.gif")>-1){
			layerChange.upImg(obj);
		}else if(obj.src.indexOf("on.gif")>-1 || obj.src.indexOf("off.gif")>-1){
			layerChange.onImg(obj);
		}
		$(name).style.display = ($(name).style.display=="block"||$(name).style.display=="") ? "none" : "block" ;
	}, upImg : function(obj){
		obj.src = (obj.src.indexOf("up.gif")>-1) ? obj.src.replace("up.gif","down.gif") : obj.src.replace("down.gif","up.gif") ;
	}, onImg : function(obj){
		obj.src = (obj.src.indexOf("on.gif")>-1) ? obj.src.replace("on.gif","off.gif") : obj.src.replace("off.gif","on.gif") ;
	}
}

/* 플레이어 */
var playcount = 0;
var moviePlayer = {
	onMovieSoundoff : function(obj){ //sound//
		if(!($("volumnum"))||!($("Player"))) return;
		if(obj.src) obj.src = (obj.src.indexOf("_on.gif")>-1) ? obj.src.replace("_on.gif","_off.gif") : obj.src.replace("_off.gif","_on.gif") ;
		var Player = $("Player");
		if(Player.settings.volume == 0 ){
			Player.settings.volume =  $("volumnum").value ;
		}else{
			$("volumnum").value = Player.settings.volume;
			Player.settings.volume =  0 ;
		}
	},
	onMovieProcess : function(){
		if(!($("musicprocess"))||!($("Player"))) return;
		var maxProcessWidth;
		//$("musicprocess").parentNode.offsetWidth
		if($("musicprocess").parentNode.nodeType == 1) maxProcessWidth = $("musicprocess").parentNode.offsetWidth;
		else maxProcessWidth = $("musicprocess").parentNode.parentNode.offsetWidth;
		var Player = $("Player");
		var movPos;
		if( "object" != typeof(Player)) return;

		if(0 > Player.controls.currentPosition) movPos = 0;
		else movPos = parseFloat(parseInt(Player.controls.currentPosition) * (parseInt(maxProcessWidth)-parseInt($("musicprocess").offsetWidth)) / parseInt(Player.currentMedia.duration));

		if (0 < movPos && "undefined" != typeof ($("musicprocess"))) $("musicprocess").style.left = movPos + "px" ; // * ((100-41)/100)
		processTime = setTimeout('moviePlayer.onMovieProcess()', 500);
	}
}

/* UIF005 이미지 보기 */
function photoChange(obj,itemObj){
	var objCount = itemObj.parentNode.getElementsByTagName("img");
	for(i=0;i<objCount.length;i++){
		objCount[i].src = (objCount[i]==itemObj) ? objCount[i].src.replace("_off.gif","_on.gif") : objCount[i].src.replace("_on.gif","_off.gif");
	}
	$(obj).className = "view"+itemObj.alt;
}

function pop(url,name,w,h){ window.open(url,name,'width='+w+',height='+h+',scrollbars=no') } //Popup(스크롤바없음)
function popp(url,name,w,h,l,t){ window.open(url,name,'width='+w+',height='+h+',left='+l+',top='+t+',scrollbars=no') } //Popup(스크롤바없음)
function pops(url,name,w,h){ window.open(url,name,'width='+w+',height='+h+',scrollbars=yes') } //Popup(스크롤바있음)
function popResize(){
	var popWidth = $('popWrapper').offsetWidth+14+(Browser.IE?10:8);
	var popHeight = $('popWrapper').offsetHeight+14+(Browser.IE6?36:85);
	window.resizeTo(popWidth,popHeight);
}
   
//MagicBook 동영상 보기List
function fnMagicBookMovieList()
{
        pop('/ms/istudy/dailystudy/PopTMBList.aspx', 'movie', 670,480);
}
        


//TSA 동영상 보기 List
function fnMovieList()
{
        pop('/ms/istudy/dailystudy/popvideolist.aspx', 'movie', 670,480);
}


 //TMB 동영상 보기 View        
function fnMagicBookMovieView(num)
{
        pop('/ms/istudy/dailystudy/PopTMBView.aspx?book=' + num, 'movie', 670,480);
}

//TSA 동영상 보기 View        
function fnMovieView(num)
{
        pop('/ms/istudy/dailystudy/PopVideoView.aspx?book=' + num, 'movie', 670,480);
}








////////////////////////////////////////////////////////////////
// 윈도우 관련 함수
////////////////////////////////////////////////////////////////
//새 Window 여는 함수, 가운데 정렬
function uf_NewWin(url, winName, sizeW, sizeH) {
    var nLeft = screen.width / 2 - sizeW / 2;
    var nTop = screen.height / 2 - sizeH / 2;

    opt = ",toolbar=no,menubar=no,location=no,scrollbars=no,status=no";
    window.open(url, winName, "left=" + nLeft + ",top=" + nTop + ",width=" + sizeW + ",height=" + sizeH + opt);

}

//새 Window 여는 함수, 가운데 정렬
function uf_NewWin(url, winName, sizeW, sizeH,scrolls) {
    var nLeft = screen.width / 2 - sizeW / 2;
    var nTop = screen.height / 2 - sizeH / 2;

    opt = ",toolbar=no,menubar=no,location=no,scrollbars="+scrolls+",status=no";
    window.open(url, winName, "left=" + nLeft + ",top=" + nTop + ",width=" + sizeW + ",height=" + sizeH + opt);

}

//새 Window 여는 함수, 좌측상단 정렬
function uf_NewWinTop(url, winName, sizeW, sizeH) {
    var nLeft = 0;
    var nTop = 0;
    
    opt = ",toolbar=no,menubar=no,location=no,scrollbars==no,status=no";
    window.open(url, winName, "left=" + nLeft + ",top=" + nTop + ",width=" + sizeW + ",height=" + sizeH + opt);

}




// 현재 Window의 크기 변경
function uf_ReSize(sizeW, sizeH) {
    window.resizeTo(sizeW, sizeH);

}


function Set_Cookie(name, value, expires, path, domain, secure) {
    // set time, it's in milliseconds
    var today = new Date();
    today.setTime(today.getTime());

    /*
    if the expires variable is set, make the correct 
    expires time, the current script below will set 
    it for x number of days, to make it for hours, 
    delete * 24, for minutes, delete * 60 * 24
    */
    if (expires) {
        expires = expires * 1000 * 60 * 60 * 24;
    }
    var expires_date = new Date(today.getTime() + (expires));

    document.cookie = name + "=" + escape(value) +
((expires) ? ";expires=" + expires_date.toGMTString() : "") +
((path) ? ";path=" + path : "") +
((domain) ? ";domain=" + domain : "") +
((secure) ? ";secure" : "");
}

// this function gets the cookie, if it exists
function Get_Cookie(name) {

    var start = document.cookie.indexOf(name + "=");
    var len = start + name.length + 1;
    if ((!start) &&
    (name != document.cookie.substring(0, name.length))) {
        return null;
    }
    if (start == -1) return null;
    var end = document.cookie.indexOf(";", len);
    if (end == -1) end = document.cookie.length;
    return unescape(document.cookie.substring(len, end));
}

// this deletes the cookie when called
function Delete_Cookie(name, path, domain) {
    if (Get_Cookie(name)) document.cookie = name + "=" +
((path) ? ";path=" + path : "") +
((domain) ? ";domain=" + domain : "") +
";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}


// *************간단 쿠키( 2009.09.15 추가)*************
// 쿠키 가져오기
// ex> getCookie("test");
function getCookie(index)
{
	var tIndex = index + "=";
	var tIndexLen = tIndex.length;
	
	if(document.cookie.indexOf(tIndex) < 0) return ;
	
	var tCookieOut =  document.cookie.substring(document.cookie.indexOf(tIndex) + tIndexLen,  document.cookie.length);
	var endIndex = tCookieOut.indexOf(";");
	if(tCookieOut.indexOf(";") < 0) endIndex = tCookieOut.length;
	
	return tCookieOut.substring(0, endIndex);
}

// 쿠키 삭제
// ex> delCookie("test,test01");
function delCookie(param)
{
	var cookieArr = new Array();
	cookieArr = param.split(",");
	var expireDate = new Date();
	expireDate.setDate(expireDate.getDate() - 1);
	
	for(var i=0; i<cookieArr.length; i++)
	{
		document.cookie = cookieArr[i]+"=; expires=" + expireDate.toGMTString() + ";path=/;";
	}
}

// 쿠키 설정
// ex> delCookie("test=1,test01=2");
function setCookie(param)
{
	var cookieArr = new Array();
	cookieArr = param.split(",");
	
	for(var i=0; i<cookieArr.length; i++)
	{
		var CookieName	= cookieArr[i].split("=")[0];
		var CookieValue = cookieArr[i].split("=")[1];
		document.cookie = CookieName+"="+CookieValue+"; path=/;";
	}
}

//


// 플래시 
/*
<script type="text/javascript" language="javascript">
	flashWrite('my_study', '/flash/my_study.swf', '724', '390', 'wmode|transparent&allowScriptAccess|always&base|/flash/', 'year=2008&month=09');
</script>
*/
function flashWrite(id, file, width, height, param)
{
    flashWrite(id, file, width, height, param, '');
}

function flashWrite(id, file, width, height, param, vars)
{
	var flashStr = '<object id="' + id + '" height="' + height + '" width="' + width + '" ';
	
	var dns = document.location.toString();
	
    if (dns.indexOf("https") > -1) {
    flashStr += 'codebase="https://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,124,0" ';
    }
    else {	
	flashStr += 'codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,124,0" ';
	}
	
	flashStr += 'classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" VIEWASTEXT>';
	flashStr += '<param name="movie"   value="' + file + '" />';
	flashStr += '<param name="quality" value="high" />';
	flashStr += '<param name="enableContextMenu" value="0" />';

	
	var embParam = "";
	
	if(param != undefined)
	{
	    var params = param.split("&");
	    
		for(i = 0; i < params.length; i++)
		{
			var p = params[i].split("|");
			flashStr += '<param name="' + p[0] + '" value="' + p[1] + '" />';
			embParam = embParam + p[0] + '="' + p[1] + '" ';
		}
	}
	
	if(vars != undefined)
	{
	    flashStr += '<param name="FlashVars" value="' + vars + '" />';
		embParam = embParam + 'flashVars="' + vars + '" ';
	}
	
	flashStr += '<embed id="' + id + '" name="' + id + '" src="' + file + '" ';
	flashStr += 'enableContextMenu="false" quality="high" width="' + width + '" height="' + height + '" ' + embParam
	flashStr += 'type="application/x-shockwave-flash"';
	flashStr += 'pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>';
	flashStr += '</object>';
	
	//alert(flashStr);
	document.write(flashStr);
}

//objectWrite("CnsRecorder", "", "A54E0208-A48F-466F-99FA-484A7A8376CB", "http://www.tuntuni.net/images/CnsRecorderX.CAB#Version=0,9,0,85", "431", "23");
function objectWrite(id, type, classid, codebase, width, height, param)
{
	if(param != undefined)
	{
		params = param.split("&");
	}

	document.write("<OBJECT id='" + id + "' type='" + type + "' codeBase='" + codebase + "' height='" + height + "' width='" + width + "' classid='clsid:" + classid + "' VIEWASTEXT>");	
	
	if(param != undefined)
	{
		for(i = 0; i < params.length; i++)
		{
			p = params[i].split("|");
			document.write("<param name='" + p[0] + "' value='" + p[1] + "'/>");
		}
	}
	
	document.write("</object>");
}

//embedWrite("src|http://www.tuntuni.net<%=strSound.ToString().Replace('\\','/').ToString()%>&type|application/x-mplayer2&autostart|false&ShowStatusBar|true");
function embedWrite(param)
{
	str = "<EMBED ";
	
	params = param.split("&");
	
	for(i = 0; i< params.length; i++)
	{
		p = params[i].split("|");
		str = str + p[0] + "='" + p[1] + "' ";
	}
	
	str = str + "></EMBED>";
	
	document.write(str);
}

// 현재 마우스 포지션 가져오기
function GetPosition() 
{
	if(self.pageYOffset) 
	{
		rX = self.pageXOffset;
		rY = self.pageYOffset;
	}
	else if(document.documentElement && document.documentElement.scrollTop) 
	{
		rX = document.documentElement.scrollLeft;
		rY = document.documentElement.scrollTop;
	}
	else if(document.body) 
	{
		rX = document.body.scrollLeft;
		rY = document.body.scrollTop;
	}
	
	if(typeof(cX) == undefined || typeof(cY) == undefined);
	{
	    var cX = 0;
	    var cY = 0;
	}
	
	if(document.all) 
	{
		cX += rX; 
		cY += rY;
	}
	
	return [cX, cY];
}

// 부모 오브젝트가 absolute인 경우 그 부모 오브젝트의 offset를 가져옴
function GetParentOffset(obj)
{
	var parentOffsetX = 0;
	var parentOffsetY = 0;
	var oParent = obj.offsetParent;
	while(oParent != null)
	{
		parentOffsetX += oParent.offsetLeft;
		parentOffsetY += oParent.offsetTop;
		oParent = oParent.offsetParent;		
	}
	
	return [parentOffsetX, parentOffsetY];	
}

//============================================================================//
//=====> 마우스를 따라다니는 툴팁박스용 함수
//	사용예 : <a onmousemove='ShowFollowingTip("divUserInfoSum", 7, -4);' onmouseout='HideFollowingTip("divUserInfoSum");'>
//			 빠른 마우스 움직임시의 오류를 방지하기 위헤 objID의 객체에도 onmousemove='ShowFollowingTip();'를
//			 추가해 주어야 함
//	파라미터: objID - 마우스를 따라다닐 툴팁 박스 객체
//		   	  offsetX, offsetY 마우스 위치에서 값만큼 위치 이동
//			  contents : 기본 툴팁레이아웃에 넣어서 보이기. objID는 null
//============================================================================//
function ShowFollowingTip(objID, offsetX, offsetY, contents, width)
{	
	var obj = null;
	
	if(typeof(objID) == "string")
	{
		obj = $get(objID);
	}
	else if(typeof(objID) == "object")
	{
		obj = objID
	}
	
	// 기본 툴팁으로 보여줌
	if(obj == null)
	{
		obj = GetDefaultFollowingTip(width);
		obj.innerHTML = contents;
	}

	obj.style.display = "inline";
	
	var pos = GetPosition(); 
	var parentOffset = GetParentOffset(obj);
	
	if(pos[0] + offsetX + obj.clientWidth > document.documentElement.clientWidth && pos[0] - offsetX - obj.clientWidth > 0)
	{
		obj.style.left = pos[0] - offsetX - obj.clientWidth - parentOffset[0];
	}
	else
	{
		obj.style.left = pos[0] + offsetX - parentOffset[0];
	}
	
	obj.style.top = pos[1] + offsetY - parentOffset[1];	
}

function HideFollowingTip(objID)
{
	var obj = null;
	
	if(typeof(objID) == "string")
	{
		obj = $get(objID);
	}
	else if(typeof(objID) == "object")
	{
		obj = objID
	}
	
	// 기본 툴팁으로 보여줌
	if(obj == null)
	{
		obj = GetDefaultFollowingTip();
	}
	
	obj.style.display = "none";
}

function GetDefaultFollowingTip(width)
{
	if(width == null || width == undefined || width == "undefined")
	{
		width = 350;
	}
	
	if(document.getElementById("divDefaultFollowingTip") == null)
	{
		var obj = document.createElement("SPAN");
		obj.id = "divDefaultFollowingTip";	
		obj.className = "DefaultFollowingTip";
		obj.style.width = width;
		
		document.getElementsByTagName("body").item(0).appendChild(obj);
	}
	
	return 	$get("divDefaultFollowingTip");
}

/*
사용예> 

function SetEnterKey()
{
SetEnterKeyToUserKey($("<%=btnSearch.ClientID %>"));
}

<asp:TextBox ID="txtSearchkeyword" CssClass="InputBox" runat="server" TextMode="SingleLine" width="100" onkeypress="SetEnterKey();" />


부모객체 파라미터 추가
<asp:TextBox ID="txtSearchkeyword" CssClass="InputBox" runat="server" TextMode="SingleLine" width="100" onkeypress="SetEnterKeyToUserKey(null, 'divDefaultButton');" />
<span id="divDefaultButton">
<asp:Button runat=server id="btnSearch" Text="눌러" />
</span>
*/
function SetEnterKeyToUserKey(objID, parentObjID) {
	if (window.event.keyCode == 13)	// 엔터키일 경우 폼 디폴트 버튼의 postback을 취소시키고 해당 버튼 클릭으로 대체
	{
		var obj = null;
		if (objID != null) {
			obj = typeof (objID) == "object" ? objID : $get(objID);
		}
		else {
			var objs = (typeof (parentObjID) == "object" ? parentObjID : $get(parentObjID)).childNodes;
			for (var i = objs.length - 1; i >= 0; i--) {
				// 포스트백 버튼이면
				if (objs[i].tagName == "INPUT") {
					obj = objs[i];
				}
			}
		}

		if (obj == null) {
			alert("기본 버튼 객체를 찾을 수 없습니다.");
			return;
		}

		window.event.returnValue = false;
		window.event.cancel = true;

		obj.click();
	}
}

// 검색 2자 이상 체크
function fnSearchCheck(objname)
{
	var searchObj = $get(objname);
	if(searchObj.value.length > 0 && searchObj.value.length < 2)
	{
		alert("2자 이상 입력하시기 바랍니다.");
		searchObj.focus();
		return false;
	}
	return true;
}
