view templates/index.html @ 134:58791b90221b

mod: mb_ereg_replace -> preg_replace
author yoneda <epgrec@park.mda.or.jp>
date Sat, 20 Mar 2010 00:49:37 +0900
parents 1e93ea03ebd9
children
line wrap: on
line source

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>{$sitetitle}</title>
<meta http-equiv="Content-Style-Type" content="text/css">

{literal}

<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.7.2.custom.min.js"></script>
<link rel="stylesheet" href="start/jquery-ui-1.7.2.custom.css" type="text/css">
<script type="text/javascript" src="js/mdabasic.js"></script>
<script type="text/javascript">
	function tvtimes_scroll(){
		var t2max = $('#tvtimes2').position().left;
		var ftmin = $('#float_titles').position().top;
		tvtimes2scrl();
		$(window).scroll(function () {
			$('#tvtimes').css('left', parseInt($(document ).scrollLeft())); 
			var newTop = parseInt($(document ).scrollTop());
			if(newTop < ftmin) {newTop = ftmin;}
			$('#float_titles').css('top', newTop);
			tvtimes2scrl();
			$('#float_follows').css('left', parseInt($(document ).scrollLeft()));
		});
		$(window).resize(function () {  tvtimes2scrl();});
		function tvtimes2scrl(){
			var inwidth = parseInt($('body').innerWidth());
			// IE6
			if ($.browser.msie && $.browser.version == 6){ inwidth = document.documentElement.clientWidth;}
			var newLeft = inwidth - parseInt($('#tvtimes2').width()) + parseInt($( document ).scrollLeft());
			if(newLeft > t2max ) {newLeft = t2max}
			$('#tvtimes2').css('left', newLeft);
			$('#float_follows').width(inwidth);
		}
	}
	function prg_hover(){
		function aClick(){
			var TG = $(this).children('.prg_dummy');
			var startTime = new Date(TG.children('.prg_start').html());
			var duration = parseInt(TG.children('.prg_duration').html());
			var endTime = new Date(startTime.getTime() + duration * 1000);
			var prgID = parseInt(TG.children('.prg_id').html());

			var str = '<div class="prg_title">' + TG.children('.prg_title').html() +'</div>' + 
				'<div class="prg_rec_cfg ui-corner-all"><div class="prg_channel"><span class=" labelLeft">チャンネル:</span><span class="bold">' + TG.children('.prg_channel').html() + '</span></div>' +
				'<div class="prg_startTime" style="clear: left"><span class=" labelLeft">日時:</span>' + MDA.Days.time4Disp(startTime) + ' ~ ' + MDA.Days.time4DispH(endTime) + '</div>' +
				'<div class="prg_duration" style="clear: left"><span class=" labelLeft">録画時間:</span><span class="bold">' + parseInt(duration / 60) +'</span>分' + ((duration % 60)>0?'<span class="bold">' + parseInt(duration % 60) + '</span>秒':'') + '</div>' +
				'</div>';
			if ($(this).hasClass('prg_rec')) {
				str += '<div style="margin:2em 0 1em 0;text-align:center;"><a href="javascript:PRG.cancel(' + prgID + ')" class="ui-state-default ui-corner-all ui-dialog-buttonpane button">予約キャンセル</a></div>';
			} else {
				str += '<div style="margin:2em 0 1em 0;text-align:center;"><a href="javascript:PRG.rec(' + prgID + ')" class="ui-state-default ui-corner-all ui-dialog-buttonpane button">簡易予約</a> <a href="javascript:PRG.customform(' + prgID + ')" class="ui-state-default ui-corner-all ui-dialog-buttonpane button">予約カスタマイズ</a></div>';
			}
			$('#floatBox4Dialog').html(str);
			$('#floatBox4Dialog').dialog('open', 'center');
		};
		$('.prg').hover(
			function(){
				$('#tv_chs .prg_hover').removeClass('prg_hover');
				if($(this).hasClass('prg_none')) return ;
				$(this).addClass('prg_hover');
				var TG = $(this).children('.prg_dummy');
				var startTime = new Date(TG.children('.prg_start').html());
				var duration = parseInt(TG.children('.prg_duration').html());
				var endTime = new Date(startTime.getTime() + duration * 1000);
				var str = '<div class="prg_title">' + TG.children('.prg_title').html() + '</div>' +
					'<div class="prg_desc"><span class="prg_sub">' + TG.children('.prg_channel').html() + ':' + MDA.Days.time4Disp(startTime) + '~' + MDA.Days.time4DispH(endTime)  + ' </span>' + TG.children('.prg_desc').html() + '</div>';
				$('#prg_info').html('<div class="prg_dummy">' + str + '</div>').show();
				$(this).click(aClick);
			},
			function(){
				$(this).removeClass('prg_hover');$('#prg_info').hide();
				$(this).unbind('click',aClick);
			}
		);
	}
	var PRG = {
		chdialog:function(chash){
			$('#channelDialog').dialog('close');
			var skip = $('#ch_title_'+chash+' .ch_skip').html();
			var st_name = $('#ch_title_'+chash+' .ch_name').html();
			var sid = $('#ch_title_'+chash+' .ch_sid').html();
			var disc = $('#ch_title_'+chash+' .ch_disc').html();

			var str = '<div class="prg_title">';
			str += st_name;
			str += '</div>';
			str += '<form method="post" action="setChannelInfo.php">';
			// スキップ
			str += '<div class="prg_channel"><span class="labelLeft">視聴しない:</span>';
			str += '<span>';
			if( skip == 1 ) {
				str += '<input type="checkbox" name="n_skip_name" id="id_ch_skip" value="'+skip+'" checked />';
			}
			else {
				str += '<input type="checkbox" name="n_skip_name" id="id_ch_skip" value="'+skip+'" />';
			}
			str += '</span></div>';
			// サービスID
			str += '<div class="prg_channel"><span class="labelLeft">サービスID:</span>';
			str += '<span><input type="text" name="n_sid" size="20" id="id_sid" value="';
			str += sid;
			str += '" /></span></div>';

			str += '<input type="hidden" name="n_channel_disc" id="id_disc" value="';
			str += disc;
			str += '" />';
			str += '<input type="hidden" name="n_channel_hash" id="id_hash" value="';
			str += chash;
			str += '" />';


			str += '</form>';
			
			str += '<div style="margin:2em 0 1em 0;text-align:center;"><a href="javascript:PRG.chupdate()" class="ui-state-default ui-corner-all ui-dialog-buttonpane button">更新</a></div>';
			
			$('#channelDialog').html(str);
			$('#channelDialog').dialog('open', 'center');
		},
		chupdate:function() {
			var v_sid = $('#id_sid').val();
			var v_channel_disc = $('#id_disc').val();
			var v_hash = $('#id_hash').val();
			var v_skip = $('#id_ch_skip').attr('checked');
			var n_skip = v_skip ? 1 : 0;

			$.post('setChannelInfo.php', { channel_disc: v_channel_disc,
						      sid: v_sid,
						      skip: n_skip
						    }, function(data) {
				if(data.match(/^error/i)){
					alert(data);
				}
				else {
					var old_skip = $('#ch_title_'+v_hash+' .ch_skip').html();
					if( old_skip != n_skip ) {
						if( v_skip ) {
							(INISet.num_ch)--;
							$('#ch_title_'+v_hash ).addClass('ch_title_skip');
							$('#tv_chs_'+v_hash ).addClass('ch_set_skip');
							$('#ch_title_str_'+v_hash ).addClass('ch_skip_color');
							$('#ch_title_'+v_hash+' .ch_skip').html('1');
						}
						else {
							(INISet.num_ch)++;
							$('#ch_title_'+v_hash ).removeClass('ch_title_skip');
							$('#tv_chs_'+v_hash ).removeClass('ch_set_skip');
							$('#ch_title_str_'+v_hash ).removeClass('ch_skip_color');
							$('#ch_title_'+v_hash+' .ch_skip').html('0');
						}
						if( PRG.F_Skip == 1 ) {
							PRG.chSkipHide();
						}
						else {
							$('#ch_title_bar div.ch_title_skip').show();
							$('#tv_chs div.ch_set_skip').show();
						}
					}
				}
				$('#channelDialog').dialog('close');
			});
		},
		rec:function(id){
			$.get(INISet.prgRecordURL, { program_id: id } ,function(data){
				if(data.match(/^error/i)){
					alert(data);
					$('#floatBox4Dialog').dialog('close');
				}else{
					$('#prgID_' + id).addClass('prg_rec');
					$('#floatBox4Dialog').dialog('close');
				}
			});
		},
		cancel:function(id){
			$.get(INISet.prgCancelURL, { program_id: id } ,function(data){
				if(data.match(/^error/i)){
					alert(data);
					$('#floatBox4Dialog').dialog('close');
				}else{
					$('#prgID_' + id).removeClass('prg_rec');
					$('#floatBox4Dialog').dialog('close');
				}
			});
		},
		customform:function(id) {
			$('#floatBox4Dialog').dialog('close');
			$.get('reservationform.php', { program_id: id }, function(data) {
				if(data.match(/^error/i)){
					alert(data);
				}
				else {
					var str = data;
					str += '<div style="margin:2em 0 1em 0;text-align:center;"><a href="javascript:PRG.customrec()" class="ui-state-default ui-corner-all ui-dialog-buttonpane button">予約する</a></div>';
					$('#floatBox4Dialog').html(str);
					$('#floatBox4Dialog').dialog('open', 'center');
				}
			});
		},
		customrec:function() {
			var id_syear = $('#id_syear').val();
			var id_smonth = $('#id_smonth').val();
			var id_sday = $('#id_sday').val();
			var id_shour = $('#id_shour').val();
			var id_smin = $('#id_smin').val();
			var id_eyear = $('#id_eyear').val();
			var id_emonth = $('#id_emonth').val();
			var id_eday = $('#id_eday').val();
			var id_ehour = $('#id_ehour').val();
			var id_emin = $('#id_emin').val();
			var id_channel_id = $('#id_channel_id').val();
			var id_record_mode = $('#id_record_mode').val();
			var id_title = $('#id_title').val();
			var id_description = $('#id_description').val();
			var id_category_id = $('#id_category_id ').val();
			var id_program_id = $('#id_program_id').val();
			var with_program_id = $('#id_program_id').attr('checked');
			
			if( ! with_program_id ) id_program_id = 0;
			
			$.post('customReservation.php', { syear: id_syear,
							  smonth: id_smonth,
							  sday: id_sday,
							  shour: id_shour,
							  smin: id_smin,
							  eyear: id_eyear,
							  emonth: id_emonth,
							  eday: id_eday,
							  ehour: id_ehour,
							  emin: id_emin,
							  channel_id: id_channel_id,
							  record_mode: id_record_mode,
							  title: id_title,
							  description: id_description,
							  category_id: id_category_id,
							  program_id: id_program_id }, function(data) {
				if(data.match(/^error/i)){
					$('#floatBox4Dialog').dialog('close');
					alert(data);
				}
				else {
					var id = parseInt(data);
					if( id ) {
						$('#prgID_' + id).addClass('prg_rec');
					}
					$('#floatBox4Dialog').dialog('close');
				}
			});
		},
		F_Skip: 1,
		chSkipShow:function() {
			$('#float_titles').width(INISet.num_all_ch * INISet.ch_width + 80);
			$('#tv_chs').width(INISet.num_all_ch * INISet.ch_width );
			$('#tvtimes2').css( { left: INISet.num_all_ch * INISet.ch_width  + 40 } ).show();
			tvtimes_scroll();
			$('#ch_title_bar div.ch_title_skip').show();
			$('#tv_chs div.ch_set_skip').show();
			nowBar.INI();
		},
		chSkipHide:function() {
			$('#ch_title_bar div.ch_title_skip').hide();
			$('#tv_chs div.ch_set_skip').hide();
			$('#float_titles').width( INISet.num_ch * INISet.ch_width + 80 );
			$('#tv_chs').width( INISet.num_ch * INISet.ch_width );
			$('#tvtimes2').css( { left: INISet.num_ch * INISet.ch_width  + 40 }).show();
			tvtimes_scroll();
			nowBar.INI();
		},
		toggle:function() {
			if( this.F_Skip ) {
				this.chSkipShow();
				this.F_Skip = 0;
			}
			else {
				this.chSkipHide();
				this.F_Skip = 1;
			}
		}
	}
	var CTG = {
		CN:'ctg',
		CV:'0.1',
		defaultCk:[],
		INI:function(){
			var Ck = this.CkGet()[1];
			if(Ck){ $.each(Ck.split(','), function(){CTG.select(this);})}
		},
		select:function(ctg){
			if($('#category_select .ctg-hide.ctg_'+ctg).length){
				$('#tv_chs .ctg_'+ctg).removeClass('ctg-hide');
				$('#category_select a.ctg_'+ctg).removeClass('ctg-hide');
			} else {
				$('#tv_chs .ctg_'+ctg).addClass('ctg-hide');
				$('#category_select a.ctg_'+ctg).addClass('ctg-hide');
			}
			this.oCk();
		},
		toggle:function (){$('#category_select ul').toggle();},
		oCk:function(){
			var T=$('#category_select ul li a.ctg-hide');
			var X=[];
			$.each(T.get(), function(){
				$(this).attr('class').match(/ctg_([^ ]+)/);
				var TMC=RegExp.$1;
				X.push(TMC);
			});
			this.CkSet([X.join(',')]);
		},
		CkGet:function (){
			var Ck = MDA.Cookie.get(this.CN);
			if(!Ck){return this.defaultCk};
			 Ck=Ck.replace(/^([^;]+;)/,'');
			return Ck.split('+');
		},
		CkSet:function(V){
			MDA.Cookie.set(this.CN,'ver='+this.CV+'+'+V.join('+'));
		}
	};
	var nowBar = {
		defaultID:'tableNowBas',
		startTime:null,
		endTime:null,
		INI:function(){
			if (INISet.tableStartTime && INISet.tableStartTime && INISet.dotMin) {
				$('#tvtable').append('<div id="' + this.defaultID + '" style="display:none">now</div>');
				this.startTime = new Date(INISet.tableStartTime);
				this.endTime = new Date(INISet.tableEndTime);
				$('#' + this.defaultID).width($('#float_titles').width());
				this.ch();
			}
		},
		ch:function(){
			var now = new Date();
			if(this.startTime){
				if((now >= this.startTime) && (this.endTime >= now)){
//					console.log((now - this.startTime) / 60000);
					$('#' + this.defaultID).css({top:(now - this.startTime) / 60000 * INISet.dotMin}).show()
				} else {
					$('#' + this.defaultID).hide()
				}
			}
		}
	}

	MDA.SCR = {
		CN:'scr',
		CV:'0.1',
		defaultCk:{md:'',x:0,y:0},
		jqSel:[{sel:'#jump-time a.jump',md:'x'},{sel:'#jump-day a.jump',md:'xy'},{sel:'#jump-day a.jump-today',md:'x'},{sel:'#jump-broadcast a.jump',md:'y'}],
		INI:function(){
//			this.defaultCk.y = $('#float_titles').position().top;
			$.each(this.jqSel, function(){
				var md = this.md;
				$(this.sel).click(function(){MDA.SCR.oCk(md)})
			});
			var Ck = this.CkGet();
//			console.log(Ck);
			var x = (Ck.md.indexOf('x')>-1)?Ck.x:this.defaultCk.x;
			var y = (Ck.md.indexOf('y')>-1)?Ck.y:this.defaultCk.y;
			if (Ck.md) {
				window.scrollBy(x, y);
			}
			this.CkClear();
		},
		channel:{
			save:function(){},
			load:function(){}
		},
		time: {
		},
		oCk:function(xy){
			this.CkSet(['md=' + ((!xy)?'xy':xy),
				'x=' + $(document ).scrollLeft(),
				'y=' + $(document ).scrollTop()]);
		},
		CkGet:function (){
			var Ck = MDA.Cookie.get(this.CN);
			if(!Ck){return this.defaultCk};
			Ck=Ck.replace(/^([^;]+;)/,'').split('+');
			var ret = {};
			$.each(Ck, function(){
				var str = this.split('=', 2);
				ret[str[0]] = str[1];
			})
			return ret;
		},
		CkSet:function(V){
			MDA.Cookie.set(this.CN,'ver='+this.CV+'+'+V.join('+'));
		},
		CkClear:function(){
			MDA.Cookie.del(this.CN);
		}
	};
	
	$(document).ready(function () {
		MDA.Cookie.CookieName = 'tvProgmas_';
		CTG.toggle();
		tvtimes_scroll();
		prg_hover();
		var DG = $('#floatBox4Dialog');
		DG.dialog({title:'録画予約',width:600});
		DG.dialog('close');

		var DG2 = $('#channelDialog');
		DG2.dialog({title:'チャンネル情報',width:480});
		DG2.dialog('close');

//		PRG.toggle();

		nowBar.INI();
		CTG.INI();
		MDA.SCR.INI();	// 番組表の位置保存
	});


</script>

<style type="text/css">
<!--
body {padding:0;margin:0;font-size:10pt;}
a {text-decoration:none;}

.bold {font-weight:bold;}
.small {font-size:75%;}

h2 {padding: 4px}

#float_titles {position:absolute;background-image: url(imgs/trancBG50.png);}

#float_titles div.set.ctg_sel {background-color:#BBB;color:#3CF}
#float_titles .ctg_sel  a{color:#111;}

#float_titles div.set {float:left;background-color:#444;padding:4px;margin:4px;}
#float_titles span.title {float:left;color:#ACF;}
#float_titles ul {float:left;padding:0;margin:0;}
#float_titles ul li {float:left;list-style:none;margin:0 0 0 4px;}
#float_titles li a{padding:1px 4px;background-color:#555;color:#FFF;}
#float_titles li.selected a{background-color:#48B;}
#float_titles li a:hover{background-color:#28D;}

#float_titles, #tvtable {}
#tvtable {line-height:1.2em;width:100%;position:relative;}
#tvtimes,#tvtimes2 {position:absolute;	background-image: url(imgs/trancBG70.png);}
#tvtimes,#tvtimes2, .tvtimeDM {width:40px;}
#tv_chs {padding-left:40px;padding-right:40px;}
.tvtime {
	height:{/literal}{$height_per_hour}{literal}px;
	color:#EEE;
	text-align:center;
	font-weight:bold;
	font-size:120%;
	background-image: url(imgs/dot2.gif);
	background-repeat: repeat-x;
	background-position: left bottom;
}
#tvtable div.tvtimetop {padding:8px 0px;}

#tvtable div.ch_set {width:{/literal}{$ch_set_width}{literal}px;float:left;background-color:#BBB;}
.ch_set_skip { display: none; }


#tvtable div.ch_title, #tvtable div.prg {margin-right:2px;}
#tvtable div.ch_title {padding:8px 0px;background-color:#333;color:#DDD;font-weight:bold;text-align:center}
.ch_title_skip { display: none;}
.ch_skip_color { color: red;}

.ch_disc {display :none;}
.ch_skip {display :none;}
.ch_sid  {display :none;}
.ch_name {display :none;}
.ch_hash {display :none;}

#tvtable div.prg {
	overflow:hidden;
	color:#444;
	background-image: url(imgs/dot2.gif);
	background-image: url(imgs/prg_bg2.png);
	background-repeat: repeat-x;
	background-position: left bottom;
	-moz-border-radius: 0.6em 0.6em 0.3em 0.3em;
	-webkit-border-radius: 0.6em;
	-webkit-border-bottom-right-radius: 0.3em;
	-webkit-border-bottom-left-radius: 0.3em;
}
#tvtable div.prg_none {background-color:#eee;}
#tvtable div.prg_dummy {margin:3px 6px;}
#tvtable div.prg_title {color:#111;font-weight:bold;}
#tvtable div.prg_subtitle {font-size:80%;}
#tvtable div.prg_desc {font-size:80%;}

#tvtable div.prg_start,#tvtable div.prg_duration,#tvtable div.prg_channel ,#tvtable div.prg_id  {display: none;}

#tvtable div.ctg_news, #category_select a.ctg_news {background-color: #FFFFD8;}
#tvtable div.ctg_etc, #category_select a.ctg_etc {background-color: #FFFFFF;}
#tvtable div.ctg_information, #category_select a.ctg_information {background-color: #F2D8FF;}
#tvtable div.ctg_sports, #category_select a.ctg_sports {background-color: #D8FFFF;}
#tvtable div.ctg_cinema, #category_select a.ctg_cinema {background-color: #FFD8D8;}
#tvtable div.ctg_music, #category_select a.ctg_music {background-color: #D8D8FF;}
#tvtable div.ctg_drama, #category_select a.ctg_drama {background-color: #D8FFD8;}
#tvtable div.ctg_anime, #category_select a.ctg_anime {background-color: #FFE4C8;}
#tvtable div.ctg_variety, #category_select a.ctg_variety {background-color: #FFD2EB;}
#tvtable div.ctg_10, #category_select a.ctg_10 {background-color: #E4F4F4;}
#tvtable div.ctg-hide, #category_select a.ctg-hide {background-color: #F8F8F8;color:#888;}
#tvtable div.ctg-hide .prg_title, #category_select a.ctg-hide .prg_title{color:#666;}
#tvtable div.prg_rec  {background-color: #F55;color:#FEE}
#tvtable div.prg_rec .prg_title,#tvtable div.prg_hover .prg_title {color:white;}
#tvtable div.prg_hover  {background-color: #28D;color:#EFF}

#float_titles { z-index:100}
#float_titles div.ch_title {width:{/literal}{$ch_set_width}{literal}px;float:left;color:#FFF;font-weight:bold;text-align:center}
#float_titles div.ch_title div{padding:8px 0px;margin:0 6px 0 4px;background-image: url(imgs/trancBG50.png);}


#float_follows {position:absolute;}
#prg_info {
	display:none;
	position:absolute;
	top:0;left:0;
	width:100%;
	background-color:#246;
	color:#BDF;
	height:80px;
}
#prg_info div.prg_dummy{margin:4px 20px;}
#prg_info div.prg_title {font-weight:bold;font-size:120%;color:#FFF;}
#prg_info span.prg_sub  {color:#FFF;}

#tableNowBas {position:absolute;background:red;width:100%;top:190px;height:2px;overflow:hidden;}


#floatBox4Dialog .prg_title{font-size:120%;font-weight:bold;padding:0.4em 0;text-align:center;}
#floatBox4Dialog .prg_rec_cfg{background:#EEE;padding:1em 2em;margin:0.4em 0;}
#floatBox4Dialog .labelLeft {width:8em;float:left;text-align:right;}
#floatBox4Dialog .button {padding:0.4em 1em;}

#channelDialog .prg_title{font-size:120%;font-weight:bold;padding:0.4em 0;text-align:center;}
#channelDialog .prg_rec_cfg{background:#EEE;padding:1em 2em;margin:0.4em 0;}
#channelDialog .labelLeft {width:8em;float:left;text-align:right;}
#channelDialog .button {padding:0.4em 1em;}

-->
</style>


{/literal}


</head>

<body>

<h2>{$sitetitle}</h2>


<div id="float_titles" style="width: {math equation="x + 80" x=$chs_width }px;height:120px;">
<div id="float_follows">

<div class="set">
  <ul>
    <li><a href="envSetting.php">環境設定</a></li>
  </ul>
</div>

<div class="set ctg_sel" id="category_select">
 <span class="title"><a href="javascript:CTG.toggle()">強調表示</a></span>

 <ul>
   {foreach from=$cats item=cat}
   <li><a href="javascript:CTG.select('{$cat.name_en}');" class="ctg_{$cat.name_en}">{$cat.name_jp}</a></li>
   {/foreach}
  </ul>
</div>

<div id="time_selects">
 <div class="set" id="jump-broadcast" >
 <span class="title">放送波選択</span>
  <ul>
   {foreach from=$types item=type }
     <li {$type.selected}><a  class="jump" href="{$type.link}">{$type.name}</a></li>
   {/foreach}
  </ul><br style="clear:left;" />
 </div>

 <div class="set"  id="jump-time">
 <span class="title">時間</span>
 <ul>
    {foreach from=$toptimes item=top}
     <li><a class="jump" href="{$top.link}">{$top.hour}~</a></li>
    {/foreach}
  </ul><br style="clear:left;" />
 </div>
 
 <div class="set">
   <ul><li><a class="jump" href="javascript:PRG.toggle()">チャンネル表示</a></li></ul>
 </div>

 <br style="clear:left;" />

 <div class="set">
  <ul>
    <li><a href="programTable.php">番組検索</a></li>
    <li><a href="reservationTable.php">録画予約一覧</a></li>
    <li><a href="recordedTable.php">録画済一覧</a></li>
  </ul>
 </div>

 <div class="set" id="jump-day" >
 <span class="title">日付</span>
  <ul>
    {foreach from=$days item=day}
     <li {$day.selected}><a {if $day.d eq "現在" } class="jump-today" {else} class="jump" {/if} href="{$day.link}">{$day.d}{$day.ofweek}</a></li>
    {/foreach}
  </ul><br style="clear:left;" />
 </div>


</div>
<br style="clear:left;" />
<div id="prg_info"><div class="dummy">test</div></div>
</div>


<!-- チャンネル局名 -->
<div id="ch_title_bar" style="position:absolute;bottom:0;">
  <div class="tvtimeDM" style="float:left;">&nbsp;</div>
  {foreach from=$programs item=program }
  <div id="ch_title_{$program.ch_hash}"  class="ch_title{if $program.skip == 1 } ch_title_skip{/if}" >
    <div class="ch_hash">{$program.ch_hash}</div>
    <div class="ch_disc">{$program.channel_disc}</div>
    <div class="ch_skip">{$program.skip}</div>
    <div class="ch_sid">{$program.sid}</div>
    <div class="ch_name">{$program.station_name}</div>
    <div id="ch_title_str_{$program.ch_hash}" {if $program.skip == 1 }class="ch_skip_color" {/if} style="cursor: pointer;" onClick="javascript:PRG.chdialog('{$program.ch_hash}')" >{$program.station_name}</div>
  </div>
  {/foreach}
</div>

<br style="clear:left;" />
<div id="prg_info"><div class="dummy">&nbsp;</div></div>
</div>

<div id="float_titles_dummy" style="width:1410px;height:120px;">&nbsp;</div>


<div id="tvtable">

<div id="tvtimes">
  {foreach from=$tvtimes item=time}
  <div class="tvtime">{$time}</div>
  {/foreach}
</div>

<div id="tv_chs" style="width: {$chs_width}px" >
   {foreach from=$programs item=program }
   <div id="tv_chs_{$program.ch_hash}" class="ch_set{if $program.skip == 1 } ch_set_skip{/if}" >
    <div class="ch_programs" >
    {foreach from=$program.list item=item }
      <div {if $item.id}id="prgID_{$item.id}"{/if} class="prg {if ! $item.id}prg_none {/if} ctg_{$item.category_name}{if $item.rec gt 0 } prg_rec{/if}" style="height:{$item.height}px;">
        <div class="prg_dummy">
          <div class="prg_title">{$item.title|escape}</div>
          <div class="prg_subtitle">{$item.starttime}</div>
          <div class="prg_desc">{$item.description|escape}</div>
          <div class="prg_channel">{$item.channel}</div>
          <div class="prg_start">{$item.prg_start}</div>
          <div class="prg_duration">{$item.duration}</div>
          <div class="prg_id">{$item.id}</div>
        </div>
      </div>
    {/foreach}
    </div>
   </div>
   {/foreach}
 </div>

 <div id="tvtimes2" style="top : 0px; left: {math equation="x + 40" x=$chs_width}px" >
  {foreach from=$tvtimes item=time}
    <div class="tvtime">{$time}</div>
  {/foreach}
 </div>
</div>



<div id="floatBox4Dialog">jQuery UI Dialog</div>
<div id="channelDialog">jQuery UI Dialog</div>

{literal}
<script type="text/javascript">
var INISet = {
{/literal}
	prgRecordURL : 'simpleReservation.php',		// 簡易予約
	prgRecordPlusURL : 'recordp.php',		// 詳細予約
	prgCancelURL : 'cancelReservation.php',		// 予約キャンセル
	dotMin : {$height_per_min},
	tableStartTime : '{$top_time}',
	tableEndTime : '{$last_time}',
	ch_width : {$ch_set_width},
	num_ch : {$num_ch},
	num_all_ch : {$num_all_ch}
{literal}
}
</script>
{/literal}
</body>
</html>