﻿// JScript 파일

//var serviceUrl = "http://localhost/web_services/vodmallMainServices.asmx/";
var mainUtilUrl = "/util/mainUtil.aspx";
var g_curGenreListPage = 1;
var g_GenreListPageCnt = 1;
var g_GenreListPageSize = 7;
var g_GenreBestSelectedGenreId = "";

var g_MasterWorkPageSize = 4;
var g_MasterWorkPage = 1;

var g_TodayMyItemScroll = 0;
var g_TodayItemSpaces  = 3;
var g_TodayItemLimit   = 20;
var upScrollAct         = 0;
var downScrollAct        = 0;

var g_TodayRecommendPage = 1;
var g_TodayRecommendPageCnt = 1;
var g_TodayMyItemCodes = new Array();
var g_TodayMyItemImgs = new Array();
var g_TodayMyItemTitles = new Array();
// CURRENT_CTGVAL : Genre 정보 Navigation 히스토리 정보 저장

vodMainAPI = function(utilUrl)
{
    this._utilUrl = utilUrl;
    vodMainAPI.windowObj = this;    
}

vodMainAPI.prototype.setCategoryName = function(ctgName)
{
    this._ctgName = ctgName;
}

vodMainAPI.prototype.getCategoryName = function()
{
    return this._ctgName;
}

vodMainAPI.prototype.setCategoryValue = function(ctgVal)
{
    this._ctgValue = ctgVal;
}

vodMainAPI.prototype.getCategoryValue = function()
{
    return this._ctgValue;
}

vodMainAPI.windowObj = null;


function makeMainParamArray(pagenum, pagesize, bannerkind, genreId, ordertype)
{
    var ArrParams = new Array();
    ArrParams[0] = pagenum;
    ArrParams[1] = pagesize;
    ArrParams[2] = bannerkind!=undefined?bannerkind:"";
    ArrParams[3] = genreId!=undefined?genreId:"";   
    ArrParams[4] = ordertype!=undefined?ordertype:"";
    
    return ArrParams;
}

function makeMainParams(arrParams)
{
    var strParams = "";
    if (arrParams[0] != null) {
        if (strParams.length > 0)
            strParams += "&pagenum=" + arrParams[0];
        else
            strParams += "pagenum=" + arrParams[0];
    }    
    if (arrParams[1] != null) {
        if (strParams.length > 0)
            strParams += "&pagesize=" + arrParams[1];
        else
            strParams += "pagesize=" + arrParams[1];
    }
    if (arrParams[2] != null) {
        if (strParams.length > 0)
            strParams += "&kind=" + arrParams[2];
        else
            strParams += "kind=" + arrParams[2];
    }
    if (arrParams[3] != null) {
        if (strParams.length > 0)
            strParams += "&genreId=" + arrParams[3];
        else
            strParams += "genreId=" + arrParams[3];
    }
    if (arrParams[4] != null) {
        if (strParams.length > 0)
            strParams += "&orderType=" + arrParams[4];
        else
            strParams += "orderType=" + arrParams[4];
    }

    return strParams;    
}

vodMainAPI.prototype.requestBusinessPage = function(methodName, params, identifier, basync)
{
    if (basync == undefined)
        basync = false;
        
    try {
        var strParams = "?identifier=" + methodName + "&";
        strParams += makeMainParams(params);    
        var szUrl = this._utilUrl + strParams;

        var objHttp = CreateXmlHttp();
        objHttp.open("GET", szUrl, basync);
        objHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        objHttp.onreadystatechange = function(){
            if (basync && objHttp.readyState == 4)
            {
                processMainResponse(objHttp.responseText, identifier, methodName, params);
            }
        }
        objHttp.send(null);
          
        if(objHttp.status == 200 && basync == false) {
          processMainResponse(objHttp.responseText, identifier, methodName, params);
        }
    }
    catch(e) { alert(e.number + ":" + e.description); }
}

vodMainAPI.prototype.writeMainMenu = function(ctgname, ctgval)
{
    this.setCategoryName(ctgname);
    var strDocumentLoc = document.location.href;
    if (strDocumentLoc.indexOf("GenreProgramInfo.aspx") != -1 || 
        strDocumentLoc.indexOf("GenreContentInfo.aspx") != -1 || 
        strDocumentLoc.indexOf("StarInfo.aspx") != -1 ) {
        this.setCategoryValue(getCookie("CURRENT_CTGVAL"));
    }
    else {
        setCurrentCategory(ctgname, ctgval);
        this.setCategoryValue(ctgval);
    }    

    var params = makeMainParamArray(1, 50);    
    this.requestBusinessPage("getMainLeftMenu", params, "MainLeftMenu", false);
}

vodMainAPI.prototype.writeToday = function()
{
    var params = makeMainParamArray(g_TodayRecommendPage, g_TodayItemSpaces, "RE");
    this.requestBusinessPage("getMainRecommendList", params, "MainRecommendList_Today", false);
}

vodMainAPI.prototype.writeSearch = function()
{
    var params = makeMainParamArray(1, 50);   
    this.requestBusinessPage("getMainTopSearchMenu", params, "MainTopSearchMenu", false);
}

function setCurrentCategory(ctgName, ctgVal)
{
    document.cookie = "CURRENT_CTGNAME="+ ctgName + "; path=/; domain=.vodmall.imbc.com";
    document.cookie = "CURRENT_CTGVAL="+ ctgVal + "; path=/; domain=.vodmall.imbc.com";
}

function requestMainWebService_Navigation(methodName, identifier, pagenum, pagesize, 
    bannerkind, genreId, ordertype)
{
    var params = makeMainParamArray(pagenum, pagesize, bannerkind, genreId, ordertype);
    vodMainAPI.windowObj.requestBusinessPage(methodName, params, identifier);
}

function processMainResponse(xmlresponse, identifier, methodName, params)
{
    if (identifier == "MainLeftMenu") {   // html 형태로   
        //objXsl.load("../xslt/menu/left_navi.xsl") ;
        //document.write(objXmlDoc.transformNode(objXsl));
        document.write(xmlresponse);
    }
    else if (identifier == "MainRecommendList_Today"){  // html 형태로  
        //objXsl.load("../xslt/menu/today.xsl") ;
        //document.write(objXmlDoc.transformNode(objXsl)); 
        if (xmlresponse.indexOf("GenreProgramInfo.aspx") == -1) { 
            g_TodayRecommendPage--;
            return;
        }
        document.getElementById("tdTodayContents").innerHTML = xmlresponse;
        g_TodayRecommendPageCnt = document.getElementById("todayPageCnt").value;
        //document.write(xmlresponse);

        initializeTodayItem();
        showtodaymenu(getTodayMenuType());
        //addToTodayItem("주몽", "http://img.imbc.com/search/TV/DRAMA/DRAMA00002035/DRAMA00002035.jpg", "1000160100000100000");     
    }    
    else if (identifier == "MainTopSearchMenu")
    {
        //objXsl.load("../xslt/menu/top_search.xsl") ;
        //document.write(objXmlDoc.transformNode(objXsl));
        document.write(xmlresponse);
        SelectCategoryCombo(vodMainAPI.windowObj.getCategoryName(), vodMainAPI.windowObj.getCategoryValue());
    }
    else  {
        var objXmlDoc = LoadXmlDocument(xmlresponse);
        	
//	    if (objXmlDoc.parseError.errorCode != 0) {
//		    var xmlErr =	objXmlDoc.parseError;
//		    alert("'vodmain.js' - You have error " + xmlErr.reason + "identifier=" + identifier);	
//	    }
//	    else	
//	    {
            var objXsl = CreateXmlDom();
            objXsl.async = false ;
            
            if (identifier == "MainMenuList")
            {
                /*For Genre Best */
                document.getElementById("xmlMenuSet").loadXML(objXmlDoc.xml);
                g_curGenreListPage = 1;
                /*For Genre Best */
                objXsl.load("/xslt/main_menuset.xsl") ;
                document.getElementById("main_menuset").innerHTML = TransformXmlByXsl(objXmlDoc, objXsl);  
            }
            else if (identifier == "FreeProgramList")
            {       
                objXsl.load("/xslt/free/free_programlist.xsl") ;
                document.getElementById("free_programs").innerHTML = TransformXmlByXsl(objXmlDoc, objXsl);  

                var btnDiv = document.getElementById("nav_buttons");
                vodMainAPI.windowObj.setListPageNav(objXmlDoc, params, methodName, identifier, btnDiv);
            }
            else if (identifier == "MainGenreBest")
            {
                objXsl.load("/xslt/main/genre_best.xsl") ;
                document.getElementById("main_genrebest").innerHTML = TransformXmlByXsl(objXmlDoc, objXsl); 

                //g_curGenreListPage = 1;
                GenreListOfGenreBest(g_curGenreListPage, g_GenreListPageSize);
            }
            else if (identifier == "MainMasterWork")
            {
                var mwrksNodes = objXmlDoc.selectNodes("/Results/Item");
                if (mwrksNodes.length <= 0 && g_MasterWorkPage > 1)
                {
                    g_MasterWorkPage--;                                    
                }
                else 
                {
                    objXsl.load("/xslt/main/memory_masterwork.xsl") ;
                    document.getElementById("exposure_masterwork").innerHTML = TransformXmlByXsl(objXmlDoc, objXsl);  
                }
            }
            else if (identifier == "MainRecommendList")
            {
                objXsl.load("/xslt/main_onair.xsl") ;
                document.getElementById("main_onair").innerHTML = TransformXmlByXsl(objXmlDoc, objXsl); 
            }
            else if (identifier == "MainRecommendList_MY")
            {
                objXsl.load("/xslt/main_mybogi_recommend.xsl") ;
                document.getElementById("mybogi_recommend").innerHTML = TransformXmlByXsl(objXmlDoc, objXsl); 
            }
            else if (identifier == "MainStarFocus")
            {
                objXsl.load("/xslt/main_star_focus.xsl") ;
                document.getElementById("main_starfocus").innerHTML = TransformXmlByXsl(objXmlDoc, objXsl); 
            }
            else if (identifier == "MainPresentation")
            {
                objXsl.load("/xslt/main_presentation.xsl") ;
                document.getElementById("main_presentation").innerHTML = TransformXmlByXsl(objXmlDoc, objXsl); 
            }
        }
    //}
}

function navGenreList(upndn)
{
    var pagenum = g_curGenreListPage;
    if (upndn == "up")
        pagenum -= 1;
    else if (upndn == "down")
        pagenum += 1;
        
    if (pagenum <= 0) { pagenum = 1; return ; }
    if (pagenum > g_GenreListPageCnt)   pagenum = g_GenreListPageCnt;
    GenreListOfGenreBest(pagenum, g_GenreListPageSize);
}

function GenreListOfGenreBest(pagenum, pagesize)
{
    try 
    {
        var xmlDocu = document.getElementById("xmlGenreBest");
        var nodesGenre = xmlDocu.selectNodes("Results/Genre/Item");
        
        var NodeCount = nodesGenre.length;
        g_GenreListPageCnt = Math.ceil(NodeCount / pagesize);
        
        var StartNode = (pagenum - 1) * pagesize;
        var EndNode = (StartNode + pagesize) - 1;
        if (EndNode > NodeCount - 1) {
            EndNode = NodeCount - 1;
        }

        if (g_GenreBestSelectedGenreId.length <= 0) {   // 처음 페이지 로딩 시...
             for(var i = StartNode; i <= EndNode ; i++) {
                var nodeGenre = nodesGenre.item(i);
                var genreId = nodeGenre.getAttribute("GENREID")
                var defaultGenre = nodeGenre.getAttribute("GENREDEFAULT"); 
                if (defaultGenre == "1")  {
                    g_GenreBestSelectedGenreId = genreId;
                    break;
                }
             }
        }
        if (g_GenreBestSelectedGenreId.length <= 0 && g_GenreListPageCnt > pagenum) {
            pagenum++;
            return GenreListOfGenreBest(pagenum, pagesize);
        }
        
        var genreHtml = "<table height='21' width='385' border='0' cellpadding='0' cellspacing='0'>";
        genreHtml += "<tr valign='top'><td width='19' align='center' onmouseover=\"this.className='arrow_over'\" onmouseout=\"this.className=''\">";
        genreHtml += "<a href=\"javascript:navGenreList('up');\">";
        genreHtml += "<img src=\"http://vodmallimg.imbc.com/image/main/btn_pre1.gif\" border=\"0\"alt='앞으로' class='mt2' align='absmiddle'/>";
        genreHtml += "</a></td><td><table border='0' cellpadding='0' cellspacing='0' width='100%'><tr>";

        for(var i = StartNode; i <= EndNode ; i++)
        {
            var nodeGenre = nodesGenre.item(i);
            var genreName = nodeGenre.getAttribute("GENRENAME")
            var genreId = nodeGenre.getAttribute("GENREID")
            var defaultGenre = nodeGenre.getAttribute("GENREDEFAULT"); 
            var aClsName = "font_mtxtyb fcolor2 font_space";
            var tdClsName = "";

            if (g_GenreBestSelectedGenreId.length > 0 && g_GenreBestSelectedGenreId == genreId)
            {
                aClsName = "font_mtxtyb fcolor4 font_space";
                tdClsName = "cate_on";
            }

            if (tdClsName.length > 0)
                genreHtml += "<td height=\"21\" align='center' class=\"" + tdClsName + "\">";
            else 
                genreHtml += "<td height=\"21\" align='center'>";
            
            genreHtml += "<a href=\"javascript:loadGenreBest('" + genreId + "');\" class=\"" + aClsName + "\"\">";
            genreHtml += genreName + "</a>";
            genreHtml += "</td>";  
            if (i != EndNode) {
                genreHtml += "<td width='1' align='center'><img src='http://vodmallimg.imbc.com/image/main/cate_bar.jpg' border='0' align='absmiddle'></td>";
            }
        }

        genreHtml += "</td></tr></table></td>";
        genreHtml += "<td width='19' align='center' onmouseover=\"this.className='arrow_over'\" onmouseout=\"this.className=''\"><a href=\"javascript:navGenreList('down');\" border='0' alt='뒤로' class='mt2' align='absmiddle'>";
        genreHtml += "<img src=\"http://vodmallimg.imbc.com/image/main/btn_next1.gif\" border=\"0\" alt=\"뒤로\" align=\"absmiddle\"/>";
        genreHtml += "</a></td>";
        genreHtml += "</tr></table>";

        g_curGenreListPage = pagenum;
        document.getElementById("genrebest_genrelist").innerHTML = genreHtml;
    }
    catch(e) {}        
}

function loadGenreBest(genreId)
{
    g_GenreBestSelectedGenreId = genreId;

    var params = makeMainParamArray(1, 4, null, genreId);    
    g_vodMainAPI.requestBusinessPage("getMainGenreBest", params, "MainGenreBest", false);
}

function navMasterWork(upndn)
{
    var pagenum = g_MasterWorkPage;
    if (upndn == "up")
        pagenum -= 1;
    else if (upndn == "down")
        pagenum += 1;
        
    if (pagenum <= 0) { pagenum = 1; return ; }
    //if (pagenum > g_GenreListPageCnt)   pagenum = ;
    g_MasterWorkPage = pagenum;
    loadMasterWork();  
}

function loadMasterWork()
{
    var params = makeMainParamArray(g_MasterWorkPage, g_MasterWorkPageSize);    
    g_vodMainAPI.requestBusinessPage("getMainMasterWork", params, "MainMasterWork", false);
}

vodMainAPI.prototype.setListPageNav = function(XMLDoc, params, methodName, identifier, btndiv)
{
    try
    {
      var rootnode = XmlSelectSingleNode(XMLDoc,"/Results");
      var totCnt = XmlNodeAttribute( rootnode, "TOTCNT");
      var objCntNode = document.getElementById("span_results_cnt");
      if (objCntNode != null)
      {
        objCntNode.innerHTML = totCnt + "개";
      }

      if (btndiv == null || btndiv == undefined) 
        return;

      var curPage = params[0]; 
      var pageSize = params[1];
      var navCount = Math.ceil(totCnt / pageSize);
	  var blockPage = (parseInt((curPage - 1)/10)) * 10 + 1;
      var prevPage = (parseInt((blockPage - 10)/10)) * 10 + 1;
      if (prevPage <= 0)    prevPage = 1;
      //curPage-1<=0?1:curPage-1;
      var nextPage = (parseInt((blockPage + 10)/10)) * 10 + 1;
      if (nextPage >= navCount) nextPage = navCount;
      //curPage+1>=navCount?navCount:curPage+1;
      
      var btnHTML = "";
      btnHTML = "<table border='0' cellpadding='0' cellspacing='0' align='center' class='list_nav'>";
      btnHTML += "<tr>"; 
      params[0] = 1;
      
      btnHTML += "<td width='17'><a href='javascript:requestMainWebService_Navigation(\""
        + methodName + "\", \"" + identifier + "\", \"" + params[0] + "\",\"" + params[1] + "\",\"" + params[2] + "\",\"" + params[3] + "\",\"" + params[4] + "\")'>" 
        + "<img src='http://vodmallimg.imbc.com/image/sub/gen_btn_first.jpg' border='0'></a></td>"
      params[0] = prevPage;
      btnHTML += "<td width='17'><a href='javascript:requestMainWebService_Navigation(\""
        + methodName + "\", \"" + identifier + "\", \"" + params[0] + "\",\"" + params[1] + "\",\"" + params[2] + "\",\"" + params[3]  + "\",\"" + params[4] + "\")'>" 
        + "<img src='http://vodmallimg.imbc.com/image/sub/gen_btn_pre.jpg' border='0'></a>";   
        
	  var pagetag = "";
	  var endPage = navCount >= blockPage + 10 ? blockPage + 10 : navCount + 1;
      for (var i = blockPage; i < endPage; i++) {
          if (curPage == i)   btnHTML += "<td width='17' align='center' class='on'>" + i + "</td>";
          else {
              pagetag = i;
              params[0] = i;
              btnHTML += "<td width='17' align='center'><a style='cursor:hand;' onClick='javascript:requestMainWebService_Navigation(\""
                + methodName + "\", \"" + identifier + "\", \"" + params[0] + "\",\"" + params[1] + "\",\"" + params[2] + "\",\"" + params[3] + "\",\"" + params[4] + "\")'>"
                + pagetag + " </a></td>";
          }
          if (i != endPage - 1)
          {
              btnHTML += "<td><img src='http://vodmallimg.imbc.com/image/sub/bar_navi.jpg' align='absmiddle'></td>";
          }
      }
      params[0] = nextPage;

      btnHTML += "<td width='17' align='right'><a href='javascript:requestMainWebService_Navigation(\""
        + methodName + "\", \"" + identifier + "\", \"" + params[0] + "\",\"" + params[1] + "\",\"" + params[2] + "\",\"" + params[3] + "\",\"" + params[4] + "\")'>" 
        + "<img src='http://vodmallimg.imbc.com/image/sub/gen_btn_next.jpg' border=0 ></a></td>";   
      params[0] = navCount;
      btnHTML += "<td width='17' align='right'><a href='javascript:requestMainWebService_Navigation(\""
        + methodName + "\", \"" + identifier + "\", \"" + params[0] + "\",\"" + params[1] + "\",\"" + params[2] + "\",\"" + params[3] + "\",\"" + params[4] + "\")'>" 
        + "<img src='http://vodmallimg.imbc.com/image/sub/gen_btn_end.jpg' border=0 /></a></td>";   
      btnHTML += "</tr>"; 
      btnHTML += "</table>"; 
      btndiv.innerHTML = btnHTML;
      
      if (divTodayMenu != undefined && divTodayMenu != null)
      {
            divTodayMenu.style.top = vodmall_table.offsetTop;
            today_FloatDiv();
      }
  }
  catch(e) {} 
}


// login 
function vodMall_login() 
{   
    SetUrl();
	if(( string_check(document.Login.Uid.value) == -1) || (document.Login.Uid.value == "" ))
	{
		str = "\nID는 영문 또는 숫자로 시작하며 3-12자 이내의 영문과 숫자로 입력하여 주십시오."
		str = str + "\n또한 3개이상 연속된 숫자나 문자, 특수문자, 기호, 한글은 사용하실 수 없습니다.!\n"

		alert(str)
		document.Login.Uid.focus();
	}

	else if(document.Login.Password.value.length == 0 )
	{
		alert("패스워드를 입력해 주십시오.");
		document.Login.Password.focus();
	}

	else { 
			document.Login.submit();
	} 
}

// logout
function VodMall_logout() 
{
	SetUrl();
	window.location.href="http://login.imbc.com/imbc/logininte/Logout.asp";
}

function string_check(string){
	
	var str;
    str = string;
    var temp = str.replace(' ','');
    var MSG = '';

    if(( str.length < 3 ) || ( str.length > 12 ))
    {
        return -1;
    }

    str = str.toLowerCase();
    str = str;    
    return 1;
}

// for search toolbar
function goCtg(objSel, selVal)
{
    var selId = objSel.value;
    if (selId.length > 0 && selId != "0") {
        var objCtgs = document.getElementsByName("selCategory");
        for(var i = 0; i < objCtgs.length; i++) {
            var objTmp = objCtgs[i];
            if (objTmp.id == selId) {
                var objSpan = document.getElementById("span_" + objTmp.id);
                objSpan.style.display = "block";
                if (selVal != undefined) {
                    var objVals = objTmp.options;
                    for(var j = 0; j < objVals.length; j++) {
                        if (objVals[j].value.toLowerCase() == selVal.toLowerCase()) {
                            objVals.selectedIndex = j;
                            break;
                        }
                    }
                }
            }
            else {
                var objSpan = document.getElementById("span_" + objTmp.id);
                objSpan.style.display = "none";
            }
        }
    }
}

function goNavigation(objSel) 
{
    var ctgName = objSel.id;
    var ctgVal = objSel.value;
        
    if (ctgName == "ctg_genre") {
        if (ctgVal == "0" || ctgVal.length <= 0) {  // 장르
            document.location.href = "/Genre/GenreMain.aspx";
        }
        else {
            document.location.href = "/Genre/GenreList.aspx?genreId=" + ctgVal;
        }
    }
    else if (ctgName == "ctg_star") {   // 스타
        if (ctgVal == "0" || ctgVal.length <= 0) {
            document.location.href = "/Star/StarCategory.aspx";
        }
        else {
            document.location.href = "/Star/StarList.aspx?ctgId=" + ctgVal;
        }
    }
    else if (ctgName == "ctg_sale" || ctgName == "ctg_mybogi") {    // 초특가세일존, 마이보기 
        if (ctgVal == "0" || ctgVal.length <= 0) {  
            if (ctgName == "ctg_sale") document.location.href = "/Sale/SaleMain.aspx";
            else document.location.href = "/mybogi/MybogiShopping.aspx";
        }
        else 
            document.location.href = ctgVal;
    }
    else if (ctgName == "ctg_special") {    // 스페셜 테마
        if (ctgVal == "0" || ctgVal.length <= 0) {
            document.location.href = "/Special/SpecialThemeMain.aspx";
        }
        else     
            document.location.href = ctgVal;
    }
    else if (ctgName == "ctg_theme") {  // 감성 테마
        if (ctgVal == "0" || ctgVal.length <= 0) {
            document.location.href = "/Theme/ThemeMain.aspx";
        }
        else {    
            document.location.href = "/Theme/ThemeSub.aspx?themeId=" + ctgVal;
        }
    }
}

function topSearch(schKey)
{
    if (schKey.length > 0) 
    {
        var objChkNowCategory = document.getElementById("chkNowCategory");
        if (objChkNowCategory != null && objChkNowCategory.style.display != "none" 
            && objChkNowCategory.checked) 
        {
            var objCtgSel = document.getElementById("CtgSel");
            var categoryType = objCtgSel.options[objCtgSel.selectedIndex].value;
            var objSelCategory = document.getElementById(categoryType);
            if (objSelCategory) 
            {
                var categoryVal = objSelCategory.options[objSelCategory.selectedIndex].value;
                var categoryText = objSelCategory.options[objSelCategory.selectedIndex].text;

                if (categoryType == "ctg_genre")
                {
                    document.location.href = "/Search/SearchMain.aspx?schKey=" + escape(schKey) + "&genre=" + categoryVal;
                }
                else if (categoryType == "ctg_star")
                {     
                    document.location.href = "/Search/SearchMain.aspx?schKey=" + escape(schKey) + "&opt=ACTOR";
                }
                else if (categoryType == "ctg_special")
                {
                    //alert("special 검색");    
                    // 기능 없음
                }
                else if (categoryType == "ctg_theme")
                {
                    //alert("theme 검색");
                    // 기능 없음
                }                
            }                
        }
        else 
        {
            var objChkAllCategory = document.getElementById("chkAllCategory");
            if (objChkAllCategory != null && objChkAllCategory.checked)
            {
                document.location.href = "/Search/SearchMain.aspx?schKey=" + escape(schKey) + "&opt=ALL";
            }
        }
    }
}

function SelectCategoryCombo(ctgName, ctgVal)
{
    var objChkNowCategory = document.getElementById("chkNowCategory");
    var objChkAllCategory = document.getElementById("chkAllCategory");
    var objSpanNowCtg    = document.getElementById("span_nowctg");
    if (ctgName.indexOf("ctg_search") != -1) {
        var objTblSch = document.getElementById("td_Search");
        objTblSch.style.display = "block";
        
        var divTag = document.getElementById("div_bottom_tag");
        var divTitle = document.getElementById("div_bottom_title");
        if (ctgName == "ctg_search_channel")
        {
            divTitle.innerHTML += "<a href='' class='sub_cate_text'><b>장르별</b></a>";
        }
        else if (ctgName == "ctg_search_letter")
        {
            divTitle.innerHTML += "<a href='' class='sub_cate_text'><b>가나다순</b></a>";
        }
        else if (ctgName == "ctg_search_type")
        {
            divTitle.innerHTML += "<a href='' class='sub_cate_text'><b>타입별순</b></a>";
        }
        else if (ctgName == "ctg_search_year")
        {
            divTitle.innerHTML += "<a href='' class='sub_cate_text'><b>연도순</b></a>";
        }
        else 
        {
            divTag.style.display = "none";
            divTitle.style.display = "none";
        }
    }
    else if (ctgName == "ctg_onair") {
        var objTblOA = document.getElementById("td_Onair");
        objTblOA.style.display = "block";
    }
    else if (ctgName == "ctg_offair") {
        var objTblOFF = document.getElementById("td_Offair");
        objTblOFF.style.display = "block";
    }
    else if (ctgName == "ctg_free") {
        var objTblFree = document.getElementById("td_Free");
        objTblFree.style.display = "block";
    }
    else if (ctgName == "notice_list") {
        var objTblNotice = document.getElementById("td_NoticeList");
        objTblNotice.style.display = "block";
    }
    else if (ctgName.indexOf("event") != -1) {
        var objTblEvt = document.getElementById("td_Event");
        var objEvtTitle = document.getElementById("span_event_title");
        if (ctgName == "event_themetalk") objEvtTitle.innerHTML = "테마톡 소개";
        if (ctgName == "event_vodmall") objEvtTitle.innerHTML = "소개";
        if (ctgName == "event_campaign") objEvtTitle.innerHTML = "저작권 클린 캠페인";
        objTblEvt.style.display = "block";
    }
    else {
        var objTblCtg = document.getElementById("td_Category");
        objTblCtg.style.display = "block";
        var objCtgSel = document.getElementById("CtgSel");

        var selCtgs= objCtgSel.options;
        for(var i = 0; i < selCtgs.length; i++)
        {
            if (selCtgs[i].value == ctgName)
            {
                objCtgSel.options.selectedIndex = i;
                goCtg(objCtgSel, ctgVal);
                break;
            }
        }

        if (ctgName == "ctg_genre" || ctgName == "ctg_star") 
        {
            objChkNowCategory.style.display = "block";
            objChkAllCategory.checked = true;
            objSpanNowCtg.style.display = "block";
            return;
        }
    }

    objChkNowCategory.style.display = "none";
    objChkAllCategory.checked = true;
    objSpanNowCtg.style.display = "none";

}

// for today menu 
function initializeTodayItem() 
{
  if (getCookie("TODAY_REQUIRED_t")) { g_TodayMyItemTitles  = getCookie("TODAY_REQUIRED_t").split(","); }
  if (getCookie("TODAY_REQUIRED_i")) { g_TodayMyItemImgs  = getCookie("TODAY_REQUIRED_i").split(","); } 
  if (getCookie("TODAY_REQUIRED_c")) { g_TodayMyItemCodes = getCookie("TODAY_REQUIRED_c").split(","); }
  if (g_TodayMyItemCodes.length > 0) 
  {
       displayTodayItemThumbs(g_TodayMyItemScroll);
  }

	divTodayMenu.style.top = vodmall_table.offsetTop;//document.body.scrollTop + 250;
	divTodayMenu.style.left = vodmall_table.offsetLeft + 992;    
	today_FloatDiv();
}

function today_FloatDiv() {
	var yMenuFrom, yMenuTo, yOffset, timeoutNextCheck;
	yMenuFrom   = parseInt (divTodayMenu.style.top, 10);
	yMenuTo     = document.body.scrollTop + 20; // 기준 테이블로 부터 레이어 위쪽 위치

	timeoutNextCheck = 500;
    
	if (yMenuTo > 0 && yMenuFrom != yMenuTo) {

		yOffset = Math.ceil(Math.abs(yMenuTo - yMenuFrom) / 20);
		if (yMenuTo < yMenuFrom)
			yOffset = -yOffset;
			
	    if (vodmall_table.offsetTop < parseInt (divTodayMenu.style.top, 10) + yOffset)
    		divTodayMenu.style.top = parseInt (divTodayMenu.style.top, 10) + yOffset;
		timeoutNextCheck = 20;
	}

	setTimeout ("today_FloatDiv()", timeoutNextCheck);
}

function addToTodayItem(theItemTitle, theItemImg, theItemCode) 
{
    var todayItemCnt = g_TodayMyItemCodes.length;
    if (isExistTodayItem(theItemCode) || theItemTitle.length <= 0)
        return;
        
    if (todayItemCnt >= g_TodayItemLimit)
    {
        removeFromTodayItem(0);
    }
    todayItemCnt = g_TodayMyItemCodes.length;
    if (todayItemCnt >= g_TodayItemLimit) /* 삭제 에러 */
        return;

    theItemTitle = theItemTitle.replace(/,/g,'`'); /* cookie 배열값 구분을 위한 제목에 특수문자(,) 치환 */
    g_TodayMyItemTitles = g_TodayMyItemTitles.concat(theItemTitle);
    g_TodayMyItemImgs = g_TodayMyItemImgs.concat(theItemImg);
    g_TodayMyItemCodes = g_TodayMyItemCodes.concat(theItemCode);

    todayItemCnt = g_TodayMyItemCodes.length;
    g_TodayMyItemScroll = 0;
    if (todayItemCnt > g_TodayItemSpaces) {
      g_TodayMyItemScroll = Math.ceil(todayItemCnt/g_TodayItemSpaces) - 1;
    } 
    
    displayTodayItemThumbs(g_TodayMyItemScroll);
    setTodayItemCookie();
}

function isExistTodayItem(theItemCode)
{
    var bExist = false;
    for (var i=0; i < g_TodayMyItemCodes.length; i++) {
        if (theItemCode == g_TodayMyItemCodes[i])
        {
            bExist = true;
            break;
        }
    }
    return bExist;
}

function removeFromTodayItem(removedSlot) 
{
  var tempArray = new Array();
  var tempImgArray = new Array();
  var tempTitleArray = new Array();

  for (var i=0; i < g_TodayMyItemCodes.length; i++) {
    if (i != (parseInt(removedSlot) + parseInt(g_TodayMyItemScroll))) { 
      tempArray = tempArray.concat(g_TodayMyItemCodes[i]);
      tempImgArray = tempImgArray.concat(g_TodayMyItemImgs[i]);
      tempTitleArray = tempTitleArray.concat(g_TodayMyItemTitles[i]);
    } 
    else {
      removedItem = g_TodayMyItemCodes[i];
      removedImg = g_TodayMyItemImgs[i];
      removedTitle = g_TodayMyItemTitles[i];
    }
  }

  g_TodayMyItemCodes = tempArray;  
  g_TodayMyItemImgs = tempImgArray;
  g_TodayMyItemTitles = tempTitleArray;

  if (g_TodayMyItemCodes.length > (g_TodayItemSpaces - 1) && g_TodayMyItemScroll != 0) 
  {
    g_TodayMyItemScroll--;
  }

  displayTodayItemThumbs(g_TodayMyItemScroll);
  setTodayItemCookie();
}

function displayTodayItemThumbs(itemStartPos) 
{
  var tblObj = document.getElementById("tblTodayMy");
  if(tblObj == null || tblObj == undefined)
    return;
   
  var ulElement = tblObj.children[0];
  var rowcnt = ulElement.children.length;
  for(var r = 0; r < rowcnt; r++) 
  {
        var oChild = ulElement.children(0);	
        ulElement.removeChild(oChild);
  }

  for (var i = 0; i < g_TodayItemSpaces; i++)
  {
    var j = (itemStartPos + 1) * g_TodayItemSpaces - i - 1; 
    
    if (g_TodayMyItemCodes[j])  
    {
        var strTodayItemProgTitle = g_TodayMyItemTitles[j];
        strTodayItemProgTitle = strTodayItemProgTitle.replace(/`/g,','); /* cookie 배열값 구분을 위한 제목에 특수문자(,) 치환 */

        var divImg = "", divText = "";
        var liElement = document.createElement("li");
        divImg = "<div><a href='/Genre/GenreProgramInfo.aspx?progCode=" + g_TodayMyItemCodes[j] + "'>" + "<img width='61' height='46' style='border-color:#409FCF;' border=1px src='" + g_TodayMyItemImgs[j] + "' alt='" + strTodayItemProgTitle + "'></a></div>";
        //divText = "<div class='txt'><input type=checkbox name='chkTodayItem' value='" + g_TodayMyItemCodes[j] + "|" + strTodayItemProgTitle + "|" + g_TodayMyItemImgs[j] + "'><a href='/Genre/GenreProgramInfo.aspx?progCode=" + g_TodayMyItemCodes[j] + "'>";
        divText = "<div class='txt'><a href='/Genre/GenreProgramInfo.aspx?progCode=" + g_TodayMyItemCodes[j] + "'>";
        if (strTodayItemProgTitle.length > 8) {
            divText += strTodayItemProgTitle.substr(0, 7);
            divText += "<br>";
            if (strTodayItemProgTitle.length > 16) {
                divText += strTodayItemProgTitle.substr(7, 7);
                divText += "..";
            }
            else {
                divText += strTodayItemProgTitle.substr(7, 7);
            }
        }
        else {
            divText += strTodayItemProgTitle;
        }

        divText += "</a></div>";
        liElement.innerHTML = divImg;
        liElement.innerHTML += divText;
        
        ulElement.appendChild(liElement);
        tblObj.appendChild(ulElement);
    }
  }      

  if (itemStartPos > 0) { upScrollAct = 1; } 
  else { upScrollAct = 0; }
	
  if (((itemStartPos + 1)* g_TodayItemSpaces) < g_TodayMyItemCodes.length)
  {
      downScrollAct = 1;
  } 
  else { downScrollAct = 0; }

  showItemDown(downScrollAct);
  showItemUp(upScrollAct);
  return;
}

function scrollTodayItemUp() {
  var strMenuType = getTodayMenuType().toUpperCase();
  if (strMenuType == "MYTODAY") {
      if (upScrollAct == 0) {
        return;
      } else {
        g_TodayMyItemScroll--;
        displayTodayItemThumbs(g_TodayMyItemScroll);
      }
  }
  else {
    g_TodayRecommendPage--;
    if (g_TodayRecommendPage < 1) g_TodayRecommendPage = 1;

    vodMainAPI.windowObj.writeToday();
  }
}

function scrollTodayItemDown() {
  var strMenuType = getTodayMenuType().toUpperCase();
  if (strMenuType == "MYTODAY") {
      if (downScrollAct == 0) {
        return;
      } else {
        g_TodayMyItemScroll++;
        displayTodayItemThumbs(g_TodayMyItemScroll);
      }
  }
  else {
    g_TodayRecommendPage++;
    vodMainAPI.windowObj.writeToday();
  }
}

function showtodaymenu(menutype)
{
    var strMenuType = menutype.toUpperCase();
    if (strMenuType == "MYTODAY")
    {
        document.getElementById("divTodayMy").style.display = "block";
        document.getElementById("divTodayChu").style.display = "none";
        document.getElementById("tblTodayMy").style.display = "block";
        document.getElementById("tblToday").style.display = "none";

        displayTodayItemThumbs(g_TodayMyItemScroll);
    }
    else
    {
        document.getElementById("divTodayMy").style.display = "none";
        document.getElementById("divTodayChu").style.display = "block";
        document.getElementById("tblTodayMy").style.display = "none";
        document.getElementById("tblToday").style.display = "block";

        if (g_TodayRecommendPage < g_TodayRecommendPageCnt) showItemDown(true);
        else showItemDown(false);
        if (g_TodayRecommendPage > 1) showItemUp(true);
        else showItemUp(false);
    }
    clearTodayItemCheckBox();
    setTodayMenuType(menutype);
}

function showItemUpDown(bShow)
{
    showItemUp(bShow);
    showItemDown(bShow);
}

function showItemUp(bShow) { if (bShow) document.getElementById("divTodayItemUp").style.display = "block"; else document.getElementById("divTodayItemUp").style.display = "none";}
function showItemDown(bShow) {if (bShow) document.getElementById("divTodayItemDown").style.display = "block"; else document.getElementById("divTodayItemDown").style.display = "none";}

function clearTodayItemCheckBox()
{
    var objChks = document.getElementsByName("chkTodayItem");
    var nTot = objChks.length;
    for(var i = 0; i < nTot; i++) {
        objChks[i].checked = false;
    }
}

function setTodayItemCookie() 
{
    var today = new Date();
    var expire = new Date(today.getTime() + 60*60*24*1000);
    expire.setHours(0,0,0,0);

    document.cookie = "TODAY_REQUIRED_t="+escape(g_TodayMyItemTitles)+"; expires=" + expire.toGMTString() + "; path=/; domain=.vodmall.imbc.com";
    document.cookie = "TODAY_REQUIRED_i="+escape(g_TodayMyItemImgs)+"; expires=" + expire.toGMTString() + "; path=/; domain=.vodmall.imbc.com";
    document.cookie = "TODAY_REQUIRED_c="+escape(g_TodayMyItemCodes)+"; expires=" + expire.toGMTString() + "; path=/; domain=.vodmall.imbc.com";
}

function setTodayMenuType(menutype)
{
    var strMenuType = menutype.toUpperCase();
    document.cookie = "TODAY_MENUTYPE="+escape(strMenuType)+ "; path=/; domain=.vodmall.imbc.com";
}

function getTodayMenuType()
{
    var strMenuType = "MYPUBLIC";
    if (getCookie("TODAY_MENUTYPE")) 
    { 
        strMenuType  = getCookie("TODAY_MENUTYPE"); 
    }
    return strMenuType;
}


/*  Common Popup Dialog Box  */
function confirmCheckErrorMdlDialog(kind, err, navUrl)
{
  var strPopUrl = "/function/MsgConfirm.aspx?kind=" + kind;
  strPopUrl += "&errMsg=" + escape(err);
  if (navUrl)
  {
      strPopUrl += "&navurl=" + navUrl;
  }
  var ReturnValue = showModalDialog(strPopUrl, window, "dialogWidth:429px; dialogHeight:245px; status:no; center:yes");

  if (ReturnValue != null && ReturnValue.length > 0 )
  {
     if (ReturnValue.indexOf("http://login.imbc.com/imbc/Login/Login.asp") != -1)
     {
        SetUrl();
     }
     
     if (document.location.href.indexOf("/function/") != -1)
     {
        if (opener)
            opener.document.location.href = ReturnValue;
     }
     else 
     {
         document.location.href = ReturnValue;
     }
  }	
  
  if (document.location.href.indexOf("/function/") != -1)
  {
    window.close();
  }
  
}

function confirmSuccessMdlDialog(kind, navUrl)
{
  var strPopUrl = "/function/MsgConfirm.aspx?kind=" + kind;
  if (navUrl)
  {
      strPopUrl += "&navurl=" + navUrl;
  }
  
  var ReturnValue = showModalDialog(strPopUrl, window, "dialogWidth:429px; dialogHeight:245px; status:no; center:yes");
 	    
  if (ReturnValue != null && ReturnValue.length > 0 )
  {
     if (document.location.href.indexOf("/function/") != -1)
     {
        if (opener)
            opener.document.location.href = ReturnValue;
     }
     else 
     {
         document.location.href = ReturnValue;
     }
  }	

  if (document.location.href.indexOf("/function/") != -1)
  {
    window.close();
  }

}
