﻿function styledCheckbox(checkbox,classOff, classOn) {
	if (!$(checkbox)) return false;	
	
	var self = this;
	
	this.original = $(checkbox);
	this.class_on = classOn;
	this.class_off = classOff;
	
	this.onClick = function() {
		self.draw();
	};
	
	this.click = function() {
		self.original.click();
	};
	
	this.draw = function() {
		if (self.original.checked) {
			this.visual.removeClassName(this.class_off);
			this.visual.addClassName(this.class_on);
			
		} else {
			self.visual.removeClassName(self.class_on);
			self.visual.addClassName(self.class_off);
		}
	};
	
	this.original.check = function(state) {
		self.original.checked = state;
		self.draw();
	};
	
	var id = Math.round(10000000000*Math.random());
	new Insertion.After(self.original, '<div class="favCheckbox" id="checkbox-'+id+'">&nbsp;</div>');
	this.visual = $('checkbox-'+id);
	this.original.observe('click',self.onClick);
	this.original.observe('change',self.onClick);
	this.visual.observe('click',self.click);
	
	this.visual.wrapper = self;
	this.original.wrapper = self;
	
	this.original.hide();
	this.draw();
	
	
	return this;
}

// Initing favorites checkboxes
Event.observe(window, 'load',function() {
	document.getElementsByClassName('favorites').each(function(e) {
		if (e.tagName && e.tagName.toLowerCase() == 'input' && e.getAttribute('type') && e.getAttribute('type').toLowerCase()=='checkbox')
			new styledCheckbox(e,'favCheckbox','favCheckboxChecked');
	});
});




// TIME SLIDER
function TimeSliderInt48ToTime(i) {
	try {
		if (time_format && time_format=='24') {
		
		var s = "";
		var t = parseInt(i/2);
		if (t<10) s+="0";
		s+=t+":";
		if (i%2>0) s+="30";
		else s+="00";
		return s;	
	}
	} catch(e) {
	}

	var s = "";
	var t = parseInt(i/2);
	
	if (i==24 || i==48)
		s+="12:";
	else
		s+=(t%12)+":";
		
	if (i%2>0) 
		s+="30";
	else 
		s+="00";
	
	if (i>24) {
		s+=' p.m';
	} else {
		s+=' a.m';
	}
	return s;
	
}
	  
function TimeSlider(div, start, stop, onchange) {
	$(div).update('');

	var id = Math.round(10000000000*Math.random());
	
	var time_slider = document.createElement('DIV');
	$(time_slider).addClassName('time-slider');
	$(div).appendChild(time_slider);		
	
	var time_desc = document.createElement('SPAN');
	$(time_desc).addClassName('time-desc00');
	$(time_slider).appendChild(time_desc);
	var txtNode=document.createTextNode(TimeSliderInt48ToTime(0)); 
	$(time_desc).appendChild(txtNode);
	
	var time_desc = document.createElement('SPAN');
	$(time_desc).addClassName('time-desc12');
	$(time_slider).appendChild(time_desc);
	var txtNode=document.createTextNode(TimeSliderInt48ToTime(24)); 
	$(time_desc).appendChild(txtNode);
	
	var time_desc = document.createElement('SPAN');
	$(time_desc).addClassName('time-desc24');
	$(time_slider).appendChild(time_desc);
	var txtNode=document.createTextNode(TimeSliderInt48ToTime(48)); 
	$(time_desc).appendChild(txtNode);
	
	var track = document.createElement('DIV'); 
	$(track).id = 'time-slider-'+id+'-track';
	$(track).addClassName('track');
	$(track).addClassName('hidden');
	$(time_slider).appendChild(track);
	
	var handle = document.createElement('DIV'); 
	$(handle).id = 'time-slider-'+id+'-handle1';
	$(handle).addClassName('handle1');
	var time_desc = document.createElement('SPAN'); 
	$(handle).appendChild(time_desc);
	var txtNode=document.createTextNode(""); 
	$(time_desc).appendChild(txtNode);
	$(track).appendChild(handle);
    $(time_desc).update(language.time_slider_from+TimeSliderInt48ToTime(start)); 
	
	
	var handle = document.createElement('DIV'); 
	$(handle).id = 'time-slider-'+id+'-handle2';
	$(handle).addClassName('handle2');
	var time_desc = document.createElement('SPAN');
	$(handle).appendChild(time_desc);
	var txtNode=document.createTextNode(""); 
	$(time_desc).appendChild(txtNode);
	$(track).appendChild(handle);
    $(time_desc).update(language.time_slider_till+TimeSliderInt48ToTime(stop));
	
	var line = document.createElement('DIV');
	$(line).id = 'time-slider-'+id+"-line-center";
	$(line).addClassName('line');
	$(line).addClassName('visible');
	$(track).appendChild(line);	
	
	var line = document.createElement('DIV'); 
	$(line).id = 'time-slider-'+id+"-line-start";
	$(line).addClassName('line');
	$(line).addClassName('hidden');
	$(track).appendChild(line);	
	
	var line = document.createElement('DIV'); 
	$(line).id = 'time-slider-'+id+"-line-end";
	$(line).addClassName('line');
	$(line).addClassName('hidden');
	$(track).appendChild(line);	
	
	
	var slider = new Control.Slider(['time-slider-'+id+'-handle1','time-slider-'+id+'-handle2'], 'time-slider-'+id+'-track',
	{ 
	  restricted:true,
	  spans:['time-slider-'+id+"-line-center"],
		sliderValue:[start,stop], range:$R(0,48),
		values:$R(0,48),
	  startSpan:'time-slider-'+id+"-line-start",
	  endSpan:'time-slider-'+id+"-line-end", 
	  onChange: onchange,
	  onSlide:function(v){
	  //alert(this.spans[0]);
	  if ((v[0]>v[1] && !slider.inverse) || (slider.inverse && v[0]<=v[1])) {
		  slider.inverse = (v[0]>v[1]);	
		  if (v[0]>v[1]) {
			$(slider.spans[0]).removeClassName('visible');
			$(slider.options.startSpan).removeClassName('hidden');
			$(slider.options.endSpan).removeClassName('hidden');
			$(slider.track).removeClassName('hidden');
			
			$(slider.spans[0]).addClassName('hidden');
			$(slider.options.startSpan).addClassName('visible');
			$(slider.options.endSpan).addClassName('visible');
			$(slider.track).addClassName('visible');
		  } else {
			$(slider.spans[0]).removeClassName('hidden');
			$(slider.options.startSpan).removeClassName('visible');
			$(slider.options.endSpan).removeClassName('visible');
			$(slider.track).removeClassName('visible');
			
			$(slider.spans[0]).addClassName('visible');
			$(slider.options.startSpan).addClassName('hidden');
			$(slider.options.endSpan).addClassName('hidden');
			$(slider.track).addClassName('hidden');
		  }
	  }
	  
	  $(slider.handles[0]).firstChild.update(language.time_slider_from + TimeSliderInt48ToTime(v[0]));
	  $(slider.handles[1]).firstChild.update(language.time_slider_till + TimeSliderInt48ToTime(v[1]));
	  
	  }
	  });
	  
	slider.inverse = (start>stop);	
	  if (start>stop) {
		$(slider.spans[0]).removeClassName('visible');
		$(slider.options.startSpan).removeClassName('hidden');
		$(slider.options.endSpan).removeClassName('hidden');
		$(slider.track).removeClassName('hidden');
		
		$(slider.spans[0]).addClassName('hidden');
		$(slider.options.startSpan).addClassName('visible');
		$(slider.options.endSpan).addClassName('visible');
		$(slider.track).addClassName('visible');
	  }
}
