function popWindow(wName){
	features = 'width=580,height=450,toolbar=no,location=no,directories=no,menubar=no,scrollbars=yes,copyhistory=no,resizable=yes';
	pop = window.open('',wName,features);
	if(pop.focus){ pop.focus(); }
	return true;
}


window.addEvent('domready', function() {

//	$('kursbrowser_submit').addEvent('click', function() {
//		console.debug('Submit button clicked');
//	});


	/**
	 * This method is called, to refresh the course list (course browser) after
	 * JSON/AJAX answer is received
	 */
	var refreshCourseList = function(jsonObj) {
		if($('cbTableContent')) {
			$('cbTableContent').empty();
			var courses = jsonObj['courses'];

			//Add each course to the table
			courses.each(function(course) {
				var tr = new Element('tr');
				var td1 = new Element('td', {
					'class': course.locationclass
				});
				var title = new Element('a', {
					'html': course.title,
					'href': course.link
				}).inject(td1);
				td1.inject(tr);
				var td1 = new Element('td', {'html': course.date}).inject(tr);
				tr.inject($('cbTableContent'));
			});
		}
	};

	window.addEvent('domready', function() {
		var types = $('configuratorType');
		var locations = $('configuratorLocation');
		var categories = $('configuratorCategory');
		//if (types != null) types.options[0].selected = true;
		//if (locations != null) locations.options[0].selected = true;
		//if (categories != null) categories.options[0].selected = true;

	});


	/**
	 * This method ist called, to refresh the select boxes of the course browser/navigator
	 */
	var refreshConfigurator = function(values) {
		var types = $('configuratorLocation');
		var locations = $('configuratorLocation');
		var categories = $('configuratorCategory');

		locations.empty(); //Remove all locations
		categories.empty(); //Remove all categories

		//Put all available locations to the select box
		values['locations'].each(function(location){
			var option = new Element('option', {
				'html' : location.title,
				'value': location.id,
				'class': location.clasz,
				'selected' : location.selected
			});
			option.inject(locations);
		});

		//Put all available categories to the select box
		values['categories'].each(function(category){
			var option = new Element('option', {
				'html' : category.title,
				'value': category.id,
				'class': category.clasz,
				'selected' : category.selected
			});
			option.inject(categories);
		});
	};

	/**
	 * Add action listener for changing of select boxes
	 */
	$$('select.browserChange').addEvent('change', function(e){
		var type = $('configuratorType').get('value');
		var location = $('configuratorLocation').get('value');
		var category = $('configuratorCategory').get('value');
		if($('cbTableContent')) {
			var ajax = $('cbTableContent').empty();
		}
		if($(document.body).getElement('div.kursbrowser_container')) {
			$(document.body).getElement('div.kursbrowser_container').addClass('ajax-loading');
		}
		
		if($(document.body).getElement('div.ajax_schnecke')) {
			$(document.body).getElement('div.ajax_schnecke').addClass('ajax-loading');
		}
		
		var parameter = 'cType=' + type + '&locationId=' + location + '&categoryId=' + category;
		var ajax_loader = new Element('img', {src: '/fileadmin/layout/images/ajax-loader.gif', width: '16px', height: '16px', id: 'courses_ajax-loader'});
		ajax_loader.inject($(document.body).getElement('.kursbrowser_button').getParent(), 'after');
		var request = new Request.JSON({
			url: 'index.php?eID=cbwcourses&mode=cb_configurator&' + parameter,
			onComplete: function(jsonObj) {
				if($(document.body).getElement('div.kursbrowser_container')) {
					$(document.body).getElement('div.kursbrowser_container').removeClass('ajax-loading');
				}
				if($(document.body).getElement('div.ajax_schnecke')) {
					$(document.body).getElement('div.ajax_schnecke').removeClass('ajax-loading');
				}
				refreshConfigurator(jsonObj);
				refreshCourseList(jsonObj);
				$('courses_ajax-loader').dispose();
			}
		}).send();
	});


	if ($('rechnungAbweichung')){
		/**
		 * Add change listener for booking checkbox
		 */
		$('rechnungAbweichung').addEvent('click', function(e){
			var selected = $('rechnungAbweichung').get('checked');
			if (selected){
				$('rechnung').setStyles({display: 'block'});
				$('vornameRechnung').set('value', '');
				$('nachnameRechnung').set('value', '');
				$('strasseRechnung').set('value', '');
				$('plzRechnung').set('value', '');
				$('ortRechnung').set('value', '');
			}
			else{
				$('rechnung').setStyles({
					display: 'none'
				});
				$('vornameRechnung').set('value', 'wie oben');
				$('nachnameRechnung').set('value', 'wie oben');
				$('strasseRechnung').set('value', 'wie oben');
				$('plzRechnung').set('value', '00000');
				$('ortRechnung').set('value', 'wie oben');

			}

		});

		if($('rechnungAbweichung').get('checked')){
		   $('rechnung').setStyles({display: 'block'});
		}
	}


	/**
	 * Add JSON functionality to the kursnavigator button
	 */
	$$('input.kursbrowser_button').addEvent('click', function(e){
		//Do not submit changes
		e.stop();
		//Load category
		var category = $('configuratorCategory').get('value');
		//Check if category is set and output error message
		if (category == 'null'){
			$('kursbrowser_formerror').setStyles({
			    visibility: 'visible'
			});
		}
		else{
			//Send ajax request to retrieve the new target url for the form, based on the selected options
			var type = $('configuratorType').get('value');
			var location = $('configuratorLocation').get('value');
			var category = $('configuratorCategory').get('value');
			var parameter = 'cType=' + type + '&locationId=' + location + '&categoryId=' + category;
			var request = new Request.JSON({
				url: 'index.php?eID=cbwcourses&mode=cb_configuratorSend&' + parameter,
				onComplete: function(jsonObj) {
					sendForm(jsonObj);
				}
			}).send();
		}
	});

	/**
	 * Is beeing called after loading JSON Details for the typo3 list view
	 */
	var sendForm = function(jsonObj) {
		var formURL = jsonObj['formURL'];
		if (formURL == '') alert ('Keine Seite mit entsprechender Listenansicht gefunden');
		else{
			window.location = formURL;
		}
	};



});
