/*********************************************************
* Javascript-Funktionalität in der Seite aktivieren
**********************************************************/
jQuery.noConflict();
jQuery(document).ready(function(){ initJavascript(); });

function initJavascript() {
	initMedienzone();
	initBoard();
	initForm();
	initToggleComment();
	initRSSIcon();
	//initJobsList();
}

function initForm() {
	if (jQuery('form.jsform').length > 0 || jQuery('form.tx_powermail_pi1_form').length > 0 || jQuery('div.tx-jkpoll-pi1 form').length > 0 || jQuery('div.tx-datamintsfeuser-pi1 form').length > 0) {
		jQuery('input').checkBox();
		jQuery.datepicker.setDefaults(jQuery.datepicker.regional['de']);
		jQuery('input.datepicker').datepicker({ 
											  minDate: 1, 
											  yearRange: '2011:2021', 
											  showOn: "button", 
											  buttonImage: "fileadmin/templates/img/calendar.gif", 
											  buttonImageOnly: true, 
											  changeMonth: true, 
											  changeYear: true
		});
		if (jQuery('select').selectmenu) {
			jQuery('select').selectmenu();
		}
	}
}

function initToggleComment() {
	if (document.location.href.indexOf('#comment_form') <= 0) {
		jQuery('#commentform').hide();
	}
	jQuery('a.toggle_commentform').attr('href', window.location.href.replace("#commentform", "") + "#commentform").click(function() {
		jQuery('#commentform').show();
		
	});
	
}

function initMedienzone() {
	var container = jQuery('#medienzone');
	var elements = jQuery('#medienzone img');
	var listItems = jQuery('#medienzone div.box_inner > ul > li');
	//if (elements.length <= 1) { return; }
	// Elemente ausblenden
	jQuery('div.switcher').css('width', jQuery('div.mediennav h1').innerWidth() - 16);
	if (container.hasClass('single')) { 
		return; 
	}
	if (container.hasClass('noimg')) {
		return;
	}
	
	for (var i = 0; i < elements.length; i++) {
		jQuery(elements[i]).css('z-index', String(elements.length-i)).hide();
	}
	
	jQuery('div.chgallery_loadthumbs').hide();
	
	if (container.hasClass('newsimages')) {
		if (elements.length > 1) {
			var switcher = jQuery('div.switcher');
			var bulletContainer = jQuery('div.switcher div.bullets');
			var linkItem = jQuery(document.createElement('a'));
			linkItem.attr('href', '#');
			linkItem.addClass('mediennav_next');
			linkItem.append(jQuery(document.createElement('span')).addClass('replacement').html('Nächstes Bild'));
			linkItem.click(function() {
				show((current + 1 < elements.length ? current + 1 : 0));	
				return false;
			});
			switcher.append(linkItem);
			
			for (var i = elements.length; i > 0; i--) {
				jQuery(elements[i - 1]).css('left', jQuery('div.gallery_image').innerWidth() / 2 - jQuery(elements[i - 1]).innerWidth() / 2);
				jQuery(elements[i - 1]).css('top', jQuery('div.gallery_image').innerHeight() / 2 - jQuery(elements[i - 1]).innerHeight() / 2);
				
				linkItem = jQuery(document.createElement('a'));
				linkItem.attr('href', '#');
				linkItem.addClass('mediennav_bullet');
				linkItem.append(jQuery(document.createElement('span')).addClass('replacement').html('Bild ' + i));
				linkItem.click(function() {
					show(jQuery('div.switcher a.mediennav_bullet').index(jQuery(this)));
					return false;
				});
				bulletContainer.prepend(linkItem);
			}
			
			linkItem = jQuery(document.createElement('a'));
			linkItem.attr('href', '#');
			linkItem.addClass('mediennav_previous');
			linkItem.append(jQuery(document.createElement('span')).addClass('replacement').html('Vorheriges Bild'));
			linkItem.click(function() {
				show((current - 1 < 0 ? elements.length - 1 : current - 1));		
				return false;
			});
			switcher.prepend(linkItem);
			var totalWidth = Math.max(jQuery('div.mediennav h1').innerWidth() - 16, elements.length * 12 + 18);
			jQuery('div.switcher').css('width', totalWidth);
			jQuery('div.switcher div.bullets').css('left', ((totalWidth / 2) - (elements.length * 6) - 8) + 'px');
		} else {
			jQuery(elements[0]).css('left', jQuery('div.gallery_image').innerWidth() / 2 - jQuery(elements[0]).innerWidth() / 2);
			jQuery(elements[0]).css('top', jQuery('div.gallery_image').innerHeight() / 2 - jQuery(elements[0]).innerHeight() / 2);
		}
	} 
	if (container.hasClass('white_box')) {
		for (var i = elements.length - 1; i >= 0; i--) {
			jQuery(elements[i]).css('left', (jQuery('div.startpage_image').innerWidth() / 2 - jQuery(elements[i]).innerWidth() / 2) + 12);
			jQuery(elements[i]).css('top', (jQuery('div.startpage_image').innerHeight() / 2 - jQuery(elements[i]).innerHeight() / 2) + 8);	
		}
		listItems.mouseover(function() {
			prepareShow(listItems.index(jQuery(this)));
			if (timeoutID != null) {
				clearTimeout(timeoutID);
				timeoutID = null;
			}
		});
		listItems.mouseout(function() {
			var next = (current + 1 < elements.length ? current + 1 : 0);
			timeoutID = setTimeout(function() { prepareShow(next); }, 2000);
		});
	}
	if (container.hasClass('gallery')) {
		var firstImageShown = false;
		var imagesLoaded = 0;
		var numThumbsPerPage = 9;
		var thumbs = jQuery('div.gallery_thumb a img');
		elements = thumbs;
		
		jQuery('div.tx-chgallery-pi1').pajinate({
			items_per_page : numThumbsPerPage,
			item_container_id : '.chgallery_thumbs',
			nav_panel_id : '.chgallery_pagination',
			nav_label_first : '<< Erste',
			nav_label_last : 'Letzte >>',
			nav_label_prev : '< Vorherige',
			nav_label_next : 'Nächste >',
			num_page_links_to_display: 3
		});
		jQuery('div.chgallery_loadthumbs').hide();
		jQuery('div.chgallery_thumbs div.clear').show();
		
		jQuery('div.switcher').css('width', jQuery('div.mediennav h1').innerWidth() - 16);
		if (thumbs.length > 1) {
			var switcher = jQuery('div.switcher');
			var linkItem = jQuery(document.createElement('a'));
			linkItem.attr('href', '#');
			linkItem.addClass('mediennav_next');
			linkItem.append(jQuery(document.createElement('span')).addClass('replacement').html('Nächstes Bild'));
			linkItem.click(function() {
				prepareShow((current + 1 < elements.length ? current + 1 : 0));	
				return false;
			});
			switcher.prepend(linkItem);
			
			linkItem = jQuery(document.createElement('a'));
			linkItem.attr('href', '#');
			linkItem.addClass('mediennav_previous');
			linkItem.append(jQuery(document.createElement('span')).addClass('replacement').html('Vorheriges Bild'));
			linkItem.click(function() {
				prepareShow((current - 1 < 0 ? elements.length - 1 : current - 1));		
				return false;
			});
			switcher.prepend(linkItem);
			
			jQuery('div.switcher a').hide();
		}
		
		jQuery('div.gallery_thumb a').click(function() {
			window.scrollTo(0, jQuery('#medienzone').position().top);
			var index = jQuery('div.gallery_thumb a').index(jQuery(this));
			prepareShow(index);	
			return false;
		});
	}
	var current = null;
	var timeoutID = null;
	var prepareShow = function(num) {
		if (container.hasClass('gallery')) {
			var newItem = jQuery('#galleryimg' + num);
			if (newItem.length == 0) {
				var img = new Image();
				jQuery(img).load(function() {
					jQuery('#medienzone div.gallery_image').append(this);
					jQuery(this).css('left', jQuery('#medienzone').innerWidth() / 2 - jQuery(this).innerWidth() / 2);
					jQuery(this).css('top', jQuery('#medienzone').innerHeight() / 2 - jQuery(this).innerHeight() / 2);
					jQuery(this).attr('alt', jQuery(thumbs[num]).attr('alt'));
					jQuery(this).attr('id', 'galleryimg' + num);
					jQuery(this).hide();
					
					if (!firstImageShown && ((thumbs.length > 1 && num == 0))) {
						jQuery('div.switcher a').show();
						firstImageShown = true;
					}
					show(num);
				});
				jQuery(img).attr('src', jQuery(thumbs[num]).attr('data-bigpic'));
			} else {
				show(num);	
			}
		} else {
			show(num);
		}
	}
	var show = function(num) {
		if (timeoutID != null) {
			clearTimeout(timeoutID);
			timeoutID = null;
		}
		if (num == current) return;
		old = current;
		current = num;
		if (container.hasClass('gallery')) {
			var oldItem = jQuery('#galleryimg' + old);
			var newItem = jQuery('#galleryimg' + current);
		} else {
			var oldItem = jQuery(elements[old]);
			var newItem = jQuery(elements[current]);
		}
		
		var next = (current + 1 < elements.length ? current + 1 : 0);
		jQuery(listItems[old]).removeClass('active');
		jQuery(listItems[current]).addClass('active');
		var caption = jQuery('span.medienzone_imgtext');
		if (container.hasClass('newsimages')) {
			jQuery(jQuery('div.switcher a')[old + 1]).removeClass('mediennav_bullet_active');
			jQuery(jQuery('div.switcher a')[current + 1]).addClass('mediennav_bullet_active');
			//caption = jQuery('div.news_sidecontent span.medienzone_imgtext');
		}
		caption.html(jQuery(elements[current]).attr('alt') + "&nbsp;");
		
		if (elements.length > 1 && container.hasClass('white_box')) {
			timeoutID = setTimeout(function() { prepareShow(next); }, 6000);
		}
		if (old != null) {
			oldItem.fadeOut('slow');
			newItem.fadeIn('slow');
		} else {
			newItem.fadeIn('slow');
		}		
	}
	container.data('show', show);
	
	prepareShow(0);
}

function initBoard() {
	var container = jQuery('#board ul.boardnav');
	var showBoardItem = function(num) {
		var content = jQuery('#board ul.boarditems');
		content.hide();
		jQuery(content[num]).show();
		var navItems = jQuery('#board ul.boardnav li');
		navItems.removeClass('active');
		jQuery(navItems[num + 1]).addClass('active')
	};
	container.delegate('a', 'click', function() {
		var currentIndex = jQuery('#board ul.boardnav li a').index(jQuery(this));
		showBoardItem(currentIndex);
		return false;
	});
	showBoardItem(0);
}
function initRSSIcon() {
	var icon = jQuery('a.rsslink');
	var linkTags = jQuery('link[type="application/rss+xml"]');
	if (icon.length == 1 && linkTags.length == 1) {
		icon.attr('href', jQuery(linkTags[0]).attr('href'));
	}
}
function initJobsList() {
	var date = new Date; // Generic JS date object
	var unixtime_ms = date.getTime(); // Returns milliseconds since the epoch
	var unixtime = parseInt(unixtime_ms / 1000);
	
	jQuery.ajax({
		url: "/fileadmin/php/jobboerse_proxy.php",
		data: {
			url: "http://www.horizontjobs.at/bewerber/suche/detailsuche/find.php?start=1&timer=" + unixtime
		},
		success: function(data) {
			var jobs = jQuery('table.hitlist td.title', data);
			alert(jobs.length);
			alert(data);
			if (jobs.length > 0) {
				for (var i = 0; i < jobs.length; i++) {
					//jQuery('#board_joblist').append(jQuery('li').text(jQuery(jobs[i]).text()));	
				}
			}
		}
	});
}
