
/* ===============================================================
   今日の放送／上下スクロール
================================================================= */

var moveDownVar,moveUpVar,crossObj,contentHeight,speed=2;
function initScroll(flag)
{
    crossObj = document.getElementById ? document.getElementById('scheduleBlockContent') : document.all.content;
    
    if (crossObj) {
        contentHeight = crossObj.offsetHeight;
        getContentHeight();

	    switch(flag) {
	        case 0:
	            crossObj2 = document.getElementById ? document.getElementById('onairpg') : document.all.content;
	            break;
	        case 1:
	            crossObj2 = document.getElementById ? document.getElementById('onairpg2') : document.all.content;
	            break;
	        case 2:
	            crossObj2 = document.getElementById ? document.getElementById('onairpg3') : document.all.content;
	            break;
	        default:
	            crossObj2 = document.getElementById ? document.getElementById('onairpg') : document.all.content;
	            break;
	    }
	    
	    crossObj.style.top = parseInt(crossObj.style.top) - parseInt(crossObj2.offsetTop) + 'px';

    }
}

function getContentHeight()
{
    contentHeight = crossObj.offsetHeight;
}

function moveDown()
{
    if ((contentHeight * (-1) + 165) <= parseInt(crossObj.style.top))
        crossObj.style.top = parseInt(crossObj.style.top) - speed + 'px';
    
    moveDownVar = setTimeout('moveDown()', 20);
}

function moveUp()
{
    if (parseInt(crossObj.style.top) <= 0)
        crossObj.style.top = parseInt(crossObj.style.top) + speed + 'px';
    
    moveUpVar = setTimeout('moveUp()', 20);
}

window.onload = initScroll;



/* ===============================================================
   今日の放送／191ch・192ch・193chチャンネルのタブ切替
================================================================= */
function switchChannel(flag)
{
    var i, tgtUnit, tgtSel;
    var channels = [191, 192, 193];
    
    for (i = 0; i < channels.length; i++) {
        tgtUnit = document.getElementById('scheduleUnit' + channels[i]);
        tgtSel  = document.getElementById('scheduleSelector' + channels[i]);
        
        if (i == flag) {
            tgtUnit.setAttribute('class', 'active');
            tgtUnit.setAttribute('className', 'active');
            tgtSel.setAttribute('src', '/common/img/module_todayschedule_selector_' + channels[i] + '_active.gif');
        } else {
            tgtUnit.setAttribute('class', 'inactive');
            tgtUnit.setAttribute('className', 'inactive');
            tgtSel.setAttribute('src', '/common/img/module_todayschedule_selector_' + channels[i] + '_inactive.gif');
        }
    }
    
    crossObj.style.top = 0;
    initScroll(flag);
}

function changeLocation(url)
{
    if (url != -1)
        location.href = url;
}


/* ===============================================================
   ヘッダ・サイト内検索／入力ボックスの文字表示
================================================================= */
function switchTextBox(idBox)
{
    var box;
    var defaultText = ['サイト内検索', 'キーワードで探す', 'キーワードで探す'];
    
    switch (idBox) {
        case 0:
            box = document.siteSearchForm.textBox;
            break;
        case 1:
            box = document.programSearchForm.textBox;
            break;
        case 2:
            box = document.programSearchForm.serchProgramText;
            break;
    }
    
    if (box.value == defaultText[idBox])
        box.value = '';
     else if (box.value == '')
        box.value = defaultText[idBox];
}


/* ===============================================================
   文字サイズ変更「中」「大」
================================================================= */
function changeTextSize(flag)
{
    var i, j, tgt, matchClass, oldClass, newClass, analyzeClass;
    var classValue = [
        {0: 'var16L', 1: 'var16M'},
        {0: 'var14L', 1: 'var14M'},
        {0: 'var12L', 1: 'var12M'},
        {0: 'var11L', 1: 'var11M'},
        {0: 'var10L', 1: 'var10M'}
    ];
    
    for (i = 0; i < classValue.length; i++) {
        tgt = document.getElementsByClassName(classValue[i][flag]);
        matchClass = '(([^\\s]+\\s+)*)\\b(' + classValue[i][flag] + ')\\b((\\s+[^\\s]+)*)';
        
        for (j = 0; j < tgt.length; j++) {
            if (tgt[j].getAttribute('class'))
                oldClass = tgt[j].getAttribute('class');
             else if (tgt[j].getAttribute('className'))
                oldClass = tgt[j].getAttribute('className');
            
            analyzeClass = oldClass.match(matchClass);
            newClass = analyzeClass[1] + classValue[i][1 - flag] + analyzeClass[4];
            tgt[j].setAttribute('class', newClass);
            tgt[j].setAttribute('className', newClass);
        }
    }
}


/* ===============================================================
   オンマウスによる画像の切替
================================================================= */
function smartRollover()
{
    // カレントパスに合わせて画像切替(1)↓
    var keys = new Array(	// 切替対象パス一覧
        "movie",
        "drama",
        "sports",
        "music",
        "stage",
        "anime",
        "documentary",
        "extra"
    );
    var re = "";
    for (var i in keys)
    {
        var key = keys[i];
        if (key != "" && this.location.pathname.indexOf("/" + key + "/") != -1)
        {
            re = new RegExp("/genre_item_" + key + '_00001');
            break;
        }
    }
    // カレントパスに合わせて画像切替(1)↑

    var images, i;
    if (document.getElementsByTagName) {
        images = document.getElementsByTagName('img');
        
        for (i = 0; i < images.length; i++) {

            // カレントパスに合わせて画像切替(2)↓
            if (re)
            {
                if (images[i].getAttribute('src').match(re))
                {
                    images[i].setAttribute('src', images[i].getAttribute('src').replace('_00001.', '_on.'));
                    re = "";
                }
            }
            // カレントパスに合わせて画像切替(2)↑


            if (images[i].getAttribute('src').match(/_00001\./)) {
                images[i].onmouseover = function() {
                    this.setAttribute('src', this.getAttribute('src').replace('_00001.', '_on.'));
                };
                images[i].onmouseout = function() {
                    this.setAttribute('src', this.getAttribute('src').replace('_on.', '_00001.'));
                };
            }
        }
    }
}

document.getElementsByClassName = function (className) {
    var i, j, eltClass;
    var objAll = document.getElementsByTagName ? document.getElementsByTagName('*') : document.all;
    var objCN = new Array();
    
    for (i = 0; i < objAll.length; i++) {
        eltClass = objAll[i].className.split(/\s+/);
        
        for (j = 0; j < eltClass.length; j++) {
            if (eltClass[j] == className) {
                objCN.push(objAll[i]);
                break;
            }
        }
    }
    
    return objCN;
};

if (window.addEventListener)
    window.addEventListener('load', smartRollover, false);
 else if (window.attachEvent)
    window.attachEvent('onload', smartRollover);

function MediaWriteSWF(){
	var DateObj = new Date();
	var SWFVersionTbl = new Array('','','','','4,0,2,0','5,0,0,0','6,0,0,0','7,0,0,0','8,0,0,0');
	var MDWriteSwfObj	= '<object width="' +MDWriteSwfWidth+ '" height="' +MDWriteSwfHeight+ '" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' +SWFVersionTbl[MDWriteSwfVer]+ '" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000">'
										+'<param name="movie" value="' +MDWriteSwfURL+ '">'
										+'<param name="bgcolor" value="' +MDWriteSwfBgColor+ '">'
										+'<param name="wmode" value="' +MDWriteSwfWmode+ '">'
										+'<param name="menu" value="false">'
										+'<param name="quality" value="high">'
										+'<embed src="' +MDWriteSwfURL+ '" bgcolor="' +MDWriteSwfBgColor+ '" width="' +MDWriteSwfWidth+ '" height="' +MDWriteSwfHeight+ '" wmode="' +MDWriteSwfWmode+ '" menu="false" quality="high" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></object><!--'+ DateObj.getTime() +'//-->';
	document.write(MDWriteSwfObj);
	
	//clear
	MDWriteSwfVer = MDWriteSwfWidth = MDWriteSwfHeight = 0;
	MDWriteSwfBgColor = MDWriteSwfURL = '';
}

