$shedule = {
	init: function(){

		$shedule.obj = $('#shedule');
		$shedule.place = $('#shedule .shedule');
		$shedule.filmsBox = $shedule.place.find('.films_box');
		$shedule.filmsPlane = $shedule.place.find('.films');
    $shedule.aTime = $shedule.filmsPlane.find('a');
		$shedule.days = $shedule.obj.find('div.day');
		$shedule.dayMarker = $shedule.days.find('div.marker');
		
		if (sheduleTime) {
			$shedule.timeMarker = $shedule.filmsPlane.find('div.timemarker');
			$shedule.time = sheduleTime.replace(/([0-9]+):([0-9]+):([0-9]+)/ig, function(a,b,c,d){return b*60*60+c*60+d*1;})*1;
      $shedule.moveTime();
      $shedule.timeMarker.css("display","block");
      $shedule.timeMarker.children('span').css("display","block");
		}
		
		$shedule.films = {};
		$shedule.obj.find('a[rel]').each(function(i,a) {
			a = $(a);
			var id = a.attr('rel').replace(/.*id([0-9]+).*/ig, function(a,b){return b;});
			var dur = a.attr('rel').replace(/.*dur([0-9]+).*/ig, function(a,b){return b;});
			var sess = $('#film'+id);
			$shedule.films[id] = {
				dur: dur
			,	sess: {
					red: sess.find('ul.red li')
				,	green: sess.find('ul.green li')
				,	blue: sess.find('ul.blue li')
				}
			};
		});
		$shedule.setSizes();
		$(window).resize($shedule.setSizes);

		$shedule.filmsPlane.draggable({
			axis:			'x'
		,	containment: 	[$shedule.filmsBox.offset().left+$shedule.filmsBox.width()-$shedule.filmsPlane.width(),0,$shedule.filmsBox.offset().left,0]
		,	cancel:			'a, span'
		,	cursor: 		'ew-resize'
		,	drag: 			function(event, ui){
				var per = (ui.position.left)/($shedule.place.width()-$shedule.filmsPlane.width());
				$shedule.dayMarker.css({
					left:($shedule.days.width()-$shedule.dayMarker.width())*per
				});
			}
		});
		
		$shedule.dayMarker.draggable({
			axis:			'x'
		,	containment: 	'parent'
		,	cursor: 		'ew-resize'
		,	drag: 			function(event, ui){
				var per = (ui.position.left-$shedule.days.css('padding-left').replace(/px/ig,''))/($shedule.days.width()-$(ui.helper).width());
				$shedule.moveToPer(per);
			}
		});
		
		$shedule.days.find('a[rel]').each(function(i,a){
			a = $(a);
			a.click(function(){$shedule.moveToDay(a.attr('rel').replace(/.*day([0-9]+).*/ig, function(a,b){return b;})*1)});
		});
		
		$shedule.tomorrow = $('a.date');
    $shedule.tomorrow.click(function(){$shedule.moveToDay(1)});
	}
,	setSizes: function(){
		var width = $shedule.filmsBox.width()-45; /* 45 убрать */
		for (i in $shedule.films) {
			var film = $shedule.films[i];
			for (j in film.sess) {
				var ses = film.sess[j];
				ses.each(function(i,a){
					a = $(a);
					var mins = a.children().text().replace(/([0-9]+):([0-9]+)/ig,function(a,b,c){return b*60+c*1})*1;
					var day = a.children().attr('rel') ? a.children().attr('rel').replace(/.*day([0-9]+).*/ig, function(a,b){return b;}) : 0;
					mins = (mins < 60) ? mins + 60 : mins;
					var new_width = Math.floor(width/24/60*film.dur-15);
					new_width = (new_width < 33) ? 33 : new_width;
					a.css({
						width: new_width
					,	left: Math.floor(width/24/60*(mins+day*24*60))
					});
				});
			}
		}
		$shedule.filmsPlane.draggable({containment: [$shedule.place.offset().left+$shedule.place.width()-$shedule.filmsPlane.width(),0,$shedule.place.offset().left,0]});
	}
,	moveToDay: function(day){
		$shedule.filmsPlane.stop(true, false);
		$shedule.dayMarker.stop(true, false);
		$shedule.filmsPlane.animate({
			left: -day*Math.floor($shedule.filmsPlane.width()/7)
		});
		$shedule.dayMarker.animate({
			left: day*($shedule.days.width())/7
		});
	}
	
,	moveToPer: function(per) {
		$shedule.filmsPlane.css({
			left: -Math.floor(($shedule.filmsPlane.width()-$shedule.days.width())*per)
		});
	}
	
,	moveTime: function(){
		$shedule.time+=1;
		$shedule.timeMarker.css({
			left:$shedule.time/(7*24*60*60)*$shedule.filmsPlane.width()-30 /*-10*/
		});

    $sec = Math.floor($shedule.time/60%60);
		$shedule.timeMarker.children('span').text(Math.floor($shedule.time/60/60)+':'+($sec < 10 ? '0'+$sec : $sec));
		setTimeout($shedule.moveTime, 1000);
                for ($i = 0; $i < $shedule.aTime.size(); $i++) {
                    $rel = $($shedule.aTime.get($i)).attr('rel');
                    $value = $($shedule.aTime.get($i)).html();
		    
		   		 					var schedule_time = $shedule.timeMarker.children('span').html();
		    						if (schedule_time.length<5) 
												schedule_time = '0' + schedule_time;
		    
										if (($value <= schedule_time) && ($rel == 'day0')) {
												            $parent = $($shedule.aTime.get($i)).parent();
												            $($shedule.aTime.get($i)).remove();
												            $parent.append('<span rel="day0">'+$value+'</span>')
												        }
								}
	}
};

