//calendar events
  function selectMonthEventListener(month) {
	showCalendarAndEventsByMonth(month);
  }

  function selectWeekdayEventListener(start_date,end_date,weekday) {
	showEventsByWeekday(start_date,end_date,weekday);
  }

  function selectDateRangeEventListener(from,till) {
	showEventsByDateRange(from,till);
  }

  function selectDateEventListener(date) {
	showEventsByDate(date);
  }

//menu events

  function selectMenuEventListener(event_id){
	showEvent(event_id);
	if (window.pageYOffset>600) scroll(0,20);
  }

  function selectListEventListener(event_id){
	showEvent(event_id);
	if (window.pageYOffset>600) scroll(0,20);
  }

//search events

  function selectProjectEventListener(){
	var project=document.calcms_project.project.value;
	set("project",project);
	showHideCategories(project);
	showHideSeriesNames(project);
	selectFirstOption('#calcms_series_name_'+project);
	selectFirstOption('#calcms_category_'+project);
	//if (document.getElementById('calcms_category_'+project))	document.calcms_category.calcms_category.selectedIndex=0;
	//if (document.getElementById('calcms_series_name_'+project))	document.calcms_series_name.series_name.selectedIndex=0;
  }


  function selectSearchEventListener(){
	var project='all';//get("project");
	var search_project=document.calcms_project;
	if (search_project != null){
		project=search_project.project.value;
	}
	var search="";
	if (document.calcms_search.elements["search"]!=null){
		search=document.calcms_search.elements["search"].value
	}

	var archive='coming';
	
	if ($('#calcms_archive:checked') != null){
		if ($('#calcms_archive:checkbox:checked').val()=='on') archive='gone'
	}
		

	showSearchResultsByProject(project,search,archive);

	selectFirstOption('#calcms_series_name_'+project);
	selectFirstOption('#calcms_category_'+project);
  }

  function selectCategoryEventListener(){
	var project=get("project");
	var category="";
	var search_project=document.calcms_project;
	if (search_project != null){
		project=search_project.project.value;
		category=$("#calcms_category_"+project).val();
	}
	var archive=$('#calcms_archive:checked').length;
	showEventsByProjectAndCategory(project,category,archive);

	selectFirstOption('#calcms_series_name_'+project);
	if (document.calcms_search.elements["search"].value!='')	document.calcms_search.elements["search"].value='';
  }

  function selectSeriesNameEventListener(){
	var project=document.calcms_project.project.value;
	var series_name=$("#calcms_series_name_"+project).val();
	var archive=$('#calcms_archive:checked').length;
	showEventsByProjectAndSeriesName(project, series_name, archive);

	selectFirstOption('#calcms_category_'+project);
	if (document.calcms_search.elements["search"].value!='')	document.calcms_search.elements["search"].value='';
  }

  function selectProgramEventListener(){
	showEventsByProgram(document.calcms_program.program.value);
  }  

//search events

  function selectICalEventListener(){
	exportSelectedToICal();
  }


//no new tab for playlist links
  function selectEntryFromPlaylistEventListener(eventId){
	//on base url do not load playlist link at an new tab.
	var location=new String(window.location);
	if (location.match(get("base_url"))){
		window.location=get("base_url")+"/calcms/?/sendung/"+eventId+"/";
	};
	return false;
}

// set calendar time limits
  function getDatetime(){
	// get current time
	var today	=new Date();
	var year	=today.getFullYear()+'';
	var month	=today.getUTCMonth()+1+'';
	var day		=today.getUTCDate()+'';
	if (month.length<2)	month='0'+month;
	if (day.length<2)	day='0'+day;
	var today	=year+'-'+month+'-'+day;

	var date=today;
	date=setDateIfBefore(date,get('projects_start'));
	date=setDateIfAfter( date,get('projects_end'));
	date=setDateIfBefore(date,get('project_start'));
	date=setDateIfAfter( date,get('project_end'));
	return date;
  }


// initial initialize 
function initCalcms(){
	set('base_url'     	, '');

	set('calendar_url'      , '/agenda/kalender');
	set('menu_url'          , '/agenda/menu');

	set('events_url'        , '/agenda/sendungen');
	set('list_url'       	, '/agenda/sendung');
	set('next_series_url'   , '/programm/sendung/serie_plus');
	set('prev_series_url'   , '/programm/sendung/serie_minus');

	set('ical_url'       	, '/agenda/ical');
	set('feed_url'       	, '/agenda/feed/');
	set('playlist_url'     	, '/agenda/playlist/');

	set('search_url'            , '/agenda/suche/');
	set('search_category_url'   , '/agenda/kategorie/');
	set('search_series_name_url', '/agenda/sendereihe/');

	set('category_url'      , '/agenda/kategorien/');
	set('series_name_url'   , '/agenda/sendereihen/');

	set('comments_url'      , '/agenda/kommentare/');
	set('add_comment_url'   , '/agenda/kommentar_neu/');
	set('newest_comments_url','/agenda/neueste_kommentare/');

	//do not use
	set('program_url'       , '');
//	set('series_name_url'   , '');

	set('project'		, '88vier');
	set('project_start'	, '2010-05-01');
	set('project_end'	, '2011-08-01');
	set('projects'		, 'all,88vier,radio_einheit,kinofunk,herbstradio');
	set('projects_start'	, '2009-09-01');
	set('projects_end'	, '2011-08-01');

	return true;
}

function showAdvancedSearch(id){

	var element=$('#calcms_enhanced_search');
	if (element.length==0) return;

	if (element.css('display')=='none'){
		var url=get('category_url');
		updateContainer('calcms_categories', url, 1);

		url=get('series_name_url');
		updateContainer('calcms_series_names', url, 1, 
			function (){
				selectProjectEventListener()
			}
		);

//		selectProjectEventListener();

	}else{
		showHideCategories(project);
		showHideSeriesNames(project);
	}

	var project=get('project');
	$("#"+id).slideToggle();

}

//load content (call at main page after init_calcms())
  function startCalcms(){
	if (get('preloaded')!='') return false;

	var datetime=getDatetime();
	set('month'		, datetime);
	set('date'		, datetime);

	evaluateParametersFromUrl();

	//showCalendarAndEventsByMonth(get('month'));
	showCalendarAndEventsByDate(get('date'));

/*
	var event_id=get('event_id');
	if (event_id !=''){
		showList(event_id);
	}
*/
	//generally better done in initCalcms(), but loaded here for performance reasons
	initSearch();
	showNewestComments();
  }

  function setWidth(){
	var width=1000;
	var main_wide='85%';
//	var bar_wide='220px';
//	var font_wide='12px';

	var main_small='100%';
//	var bar_small='160px';
//	var font_small='12px';

	if ($(window).width()<width){
		var elem=$('#wrapper');
		elem.css('width',main_small);
//		$('body').css('font-size',font_small);
	}else{
			var elem=$('#wrapper');
			//var new_width=(($(window).width()-width+50)/-20)+100+"%";
			//elem.css('width',new_width);
			elem.css('width',main_wide);
//			$('body').css('font-size',font_wide);

	}
	$(window).resize(function() {
		if ($(window).width()<width){
			var elem=$('#wrapper');
			elem.css('width',main_small);
//			$('body').css('font-size',font_small);
		}else{
			var elem=$('#wrapper');
			//var new_width=(($(window).width()-width+50)/-20)+100+"%";
			//alert(new_width);
			//elem.css('width',new_width);
			elem.css('width',main_wide);
//			$('body').css('font-size',font_wide);
		}
	});

//		alert($(document).width());
  }

function addHoverHandler(){
	$('#calcms_calendar .first').hover(
		function() {
			jQuery(this).stop(true, true).animate({
				fontSize: '+=5'
			});
		}, function() {
			jQuery(this).stop(true, true).animate({
				fontSize: '-=5'
			});
		}
	);

	$('#calcms_calendar .last').hover(
		function() {
			jQuery(this).stop(true, true).animate({
				fontSize: '+=5'
			});
		}, function() {
			jQuery(this).stop(true, true).animate({
				fontSize: '-=5'
			});
		}
	);


	$('#calcms_menu .event').hover(
		function() {
			jQuery(this).stop(true, true).animate({
				opacity: '1.0'
			});
		}, function() {
			jQuery(this).stop(true, true).animate({
				opacity: '0.9'

			});
		}
	);

}

function insertDeskNextShows(desk){
	var url='/agenda/suche/all/'+desk+'/kommende/';
	updateContainer('showDesk',url,1);
	return false;
}

function insertDeskPrevShows(desk){
	var url='/agenda/suche/all/'+desk+'/vergangene/';
	updateContainer('showDesk',url,1);
	return false;
}

function insertDeskDetails(){	
	var pattern=new RegExp(/redaktion\/(.*)$/);
	var matchs=pattern.exec(document.location.href);
	if ((matchs!= null) && (matchs.length>0) && (matchs[1] != '')){
		var desk=$('#center h2:first').text();
		desk=desk.replace('Redaktion: ','');
		desk=escape(desk);
		$('#center .content').append(
			'<div>'
			+'<a onclick="insertDeskPrevShows(\''+desk+'\');return false;" href="#">«letzte«</a>'
			+' Sendungen '
			+'<a onclick="insertDeskNextShows(\''+desk+'\');return false;" href="#">»nächste»</a>'
			+'<div id="showDesk" />'
			+'</div>'
		);
	}
}

function fixBlogEntries(){
	if (	
		   document.location.href.match('/redaktionen/') 
		|| document.location.href.match('/redaktionen?')
		|| document.location.href.match('/redaktionen$')
	){
		$('img.image-thumbnail').css('width','3em');
		$('img.image-thumbnail').css('height','3em');
		$('div.image-attach-teaser').css('width','3em');
		$('div.node').css('padding','0');
		$('div.node').css('margin','0');
		$('#center .submitted').remove();
		$('#center .clear-block h2 a').each(function(index){
			$(this).html($(this).text().replace('Redaktion: ','<font color="gray">Redaktion:</font> '));
			if ($(this).text().match(/Information:/))$(this).remove();
		})

	}
}

function setImageSize(){
	var size=$(window).width();
	if (size>1024){
		size=Math.floor(size*0.16);
		$('#calcms_list .content img').css('width',size+'px');
		$('#calcms_list .content img').css('height',size+'px');
		if (size>200){
			$('#calcms_list .content img').each(
				function(index) {
					var url=$(this).attr('src');
					if (url != null){
						url=url.replace('/thumbs/','/images/');
						$(this).attr('src',url);
					}
				}
			);
		}
	}
}

var calcms_settings=new Array();
$(document).ready(
	function() {
		
		initCalcms();
		//startCalcms();
		showPlaylist();
		showNewestComments();
		addHoverHandler();
		insertDeskDetails();
		fixBlogEntries();
		//setWidth();
/*
		loadPlayer(
			1,
			"http://radioeinheit.de:8765/radio_mp3",
			"http://radioeinheit.de:8765/radio_ogg",
			"/agenda_files/js"
		);
*/		
		removeCurrentPlayingHeader();
		setImageSize();
	}
);




