﻿/* Author: .comspace */

$(document).ready(function() {
	$('.main #slider').nivoSlider({
		effect: 'fade', // Specify sets like: 'fold,fade,sliceDown'
		pauseTime: 5000, // How long each slide will show
		directionNav: false, // Next & Prev navigation
		captionOpacity: 1 // Universal caption opacity
	});
	
	$('#cnt #slider').nivoSlider({
		effect: 'fade', // Specify sets like: 'fold,fade,sliceDown'
		animSpeed: 250, // Slide transition speed
		controlNav: false, // 1,2,3... navigation
		captionOpacity: 1, // Universal caption opacity
		prevText: 'Vorheriges', // Prev directionNav text
        nextText: 'Nächstes', // Next directionNav text
        manualAdvance: true // Force manual transitions
    });
	 
	$(".fancy").each(function(){
		$(this).fancybox({
			'overlayShow'	: false,
			'transitionIn'	: 'elastic',
			'transitionOut'	: 'elastic'
		});
	});
	$(".fancy img").each( function(){
		$(this).hover(function(){
			$(this).stop().animate({
					opacity: 0.7
				}, 300);
		}, function(){
			$(this).stop().animate({
					opacity: 1
				}, 300);
		});
	});
	$('.jobPrinter').click(function(){
		var JobTextH2 = $(this).parent().find('h2').html();
		var JobTextP = $(this).parent().find('p').html();
		var JobText = $(this).parent().next().html();
		var printdoc = document.open('', '_blank', 'width=660,height=600,toolbar=no, menubar=no, scrollbars=yes, resizable=no');
		printdoc.document.write('<title>Stellenangebot drucken - comspace GmbH &amp; Co. KG</title>');
		printdoc.document.write('<div style="width:650px;font-family: verdana,helvetica,arial,sans-serif;"><img style="float:right;" title=".comspace" alt=".comspace" src="../css/img/logo.png"><div style="clear:both;"></div>');
		printdoc.document.write('<h2 style="color: #018DBA; font-size: 18px; font-weight: normal; margin-top: 0;">'+JobTextH2+'</h2>');
		printdoc.document.write('<div style="font-size: 12px;"><p>'+JobTextP+'</p>');
		printdoc.document.write(JobText);
		printdoc.document.write('</div></div>');
		printdoc.window.print();
		printdoc.document.close();
	});
});
/* Tooltips im header 
$(document).ready(function() {
	$('.tooltip-normal').stop().hover(function(){
			$(this).find('.tooltip-text').css('display', 'block');
			$(this).find('.tooltip-text').stop().animate({
					opacity: 1
				}, 300, 'swing');
		}, function(){
			$(this).find('.tooltip-text').stop().animate({
					opacity: 0
				}, 300, 'swing',  function(){
				$(this).css('display', 'none')
				}
			);
	});
});*/
/* eof Tooltips im header */


/* miniAccordion */
$(document).ready(function(){
	$('.accordionHead input').each(function(){
		if($(this).attr('checked')){
			if( !$(this).parent().next().hasClass('ignore') )
			$(this).parent().next().stop(true, true).slideToggle();
		}
	});
	$('.accordionHead input').click(function(){
		if( !$(this).parent().next().hasClass('ignore') )
		$(this).parent().next().stop(true, true).slideToggle();
	});
});
/* eof miniAccordion */


/* jQuery Tabs */
$(document).ready(function() {
	$('.tab_content').hide();
	$('ul.tabs li:first').addClass('active').show();
	$('.tab_content:first').show();
	
	$('ul.tabs li').click(function() {
		$('ul.tabs li').removeClass('active');
		$(this).addClass('active');
		$('.tab_content').hide();
		var activeTab = $(this).find('a').attr('href');
		$(activeTab).fadeIn();
		// scrollToWindow();
		return false;
	});
});
/* end of jQuery Tabs */


$(document).ready(function(){

	$('footer#mainfooter').hover(function(){
		$(this).find('ul').stop().animate({
			opacity: 1
		}, 200, 'swing');
	},function(){
		$(this).find('ul').stop().animate({
			opacity: 0.3
		}, 200, 'swing');
	});
	
	
	$('#mainmenu li.top').hover(function(){
		$(this).find('ul.submenu').css('display', 'block');
		$(this).find('ul.submenu').stop().animate({
			opacity: 0.95
		}, 300, 'swing');
	},function(){
		$(this).find('ul.submenu').stop().animate({
			opacity: 0
		}, 200, 'swing', function(){
			$(this).css('display', 'none')
			}
		);
		;
	});
});

$(document).ready(function(){
	$(document).pngFix();
	
	if ($('#start').val() == 'Ihre Startadresse' || $('#start').val() == '' ){
		$('#start').css('color', '#bbb');
		$('#start').css('text-align', 'center');
	}else{
		$('#start').css('color', '#000');
		$('#start').css('text-align', 'left');
	}
	
	$('#start').click(function(){
		if ($('#start').val() == 'Ihre Startadresse'){
			$('#start').css('color', '#bbb');
			$('#start').css('text-align', 'center');
		}else{
			$('#start').css('color', '#000');
			$('#start').css('text-align', 'left');
		}
	});
	
	$('#start').focus(function(){
		if ($('#start').val() == 'Ihre Startadresse'){
			$('#start').val('');
			$('#start').css('color', '#000');
			$('#start').css('text-align', 'left');
		}
	});
	
	$('#start').blur(function(){
		if ($('#start').val() == '' || $('#start').val() == 'Ihre Startadresse' ){
			$('#start').val('Ihre Startadresse');
			$('#start').css('color', '#bbb');
			$('#start').css('text-align', 'center');
		}
	});
});

/*Google Maps API v3  für kontakt*/
if( $('#map_canvas').html() != null ){
	
	if( $('#target_changer_bie').attr('checked') ){
		$('#getdirections').val('bie');
	}else{
		$('#getdirections').val('ol');
	}
	
	$('#target_changer_bie').click(function(){
		$('#getdirections').val('bie');
	});
	$('#target_changer_ol').click(function(){
		$('#getdirections').val('ol');
	});


	$('#map_canvas').animate({
		opacity: '0'
	}, 0, function(){ 
		$('#map_canvas').animate({
			opacity: '100'
		}, 500, 'swing');
	});

	var directionDisplay;
	var directionsService = new google.maps.DirectionsService();
	var map;
	var cspaceMarkerBie;
	var cspaceMarkerOl;
	
	var contentString = 
	'<div style="width: 250px;">'
	+'<h2 style="font-size:16px">comspace GmbH &amp; Co. KG</h2>'
	+'</div>'
	+'<div style="float: left;width: 140px;">'
	+'Marktstraße 7a<br>'
	+'33602 Bielefeld<br>'
	+'+49(0)521-98647-0'
	+'</div>'
	+'<img alt="comspace GmbH &amp; Co. KG" src="img/comspace_maps_logo.jpg" style="float:right;" />';
	
	var contentString2 = 
	'<div style="width: 250px;">'
	+'<h2 style="font-size:16px">comspace GmbH &amp; Co. KG</h2>'
	+'</div>'
	+'<div style="float: left;width: 140px;">'
	+'Marie-Curie-Straße 1<br>'
	+'26129 Oldenburg<br>'
	+'+49(0)521-98647-0'
	+'</div>'
	+'<img alt="comspace GmbH &amp; Co. KG" src="img/comspace_maps_logo.jpg" style="float:right;" />';

	
	function initialize() {
		directionsDisplay = new google.maps.DirectionsRenderer();
		var bielefeld = new google.maps.LatLng(52.018951,8.535054);
		var oldenburg = new google.maps.LatLng(53.15535,8.166191);
		var centered = new google.maps.LatLng(52.65806,8.214569);
		var myOptions = {
			zoom:8,
			mapTypeId: google.maps.MapTypeId.ROADMAP,
			center: centered
		}
		map = new google.maps.Map(document.getElementById('map_canvas'), myOptions);
		
		cspaceMarkerBie = new google.maps.Marker({
			position: bielefeld,
			map: map
		});
		var infowindowbie = new google.maps.InfoWindow({
			content: contentString
		});
		
		google.maps.event.addListener(cspaceMarkerBie, 'click', function() {
			infowindowbie.open(map,cspaceMarkerBie);
		});
		
		cspaceMarkerOl = new google.maps.Marker({
			position: oldenburg,
			map: map
		});
		var infowindowol = new google.maps.InfoWindow({
			content: contentString2
		});

		google.maps.event.addListener(cspaceMarkerOl, 'click', function() {
			infowindowol.open(map,cspaceMarkerOl);
		});
		
		directionsDisplay.setMap(map);
		directionsDisplay.setPanel(document.getElementById('directionsPanel'));
	}
	  // Try HTML5 geolocation
	if(navigator.geolocation) {
		navigator.geolocation.getCurrentPosition(function(position) {
			$('#start').val(position.coords.latitude+' '+position.coords.longitude);
			$('#start').css('display', 'none');
			$('#reseter').css('display', 'inline');
			$('#reseter').css('float', 'left');
			
			$('#resetGeoLoc').click(function(){
				$('#start').val('');
				$('#start').css('display', 'inline');
				$('#reseter').css('display', 'none');
			});
			
		}, function() {
		});
	}else{
		$('#start').val('Ihre Startadresse');
	} 
	function calcRoute(target) {
		var start = $('#start').val();
		var end;
		if( target == 'bie'){
			end = 'Marktstr. 7, Bielefeld';
		}else{
			end = 'Marie-Curie-Straße 1, Oldenburg';
		}
		var request = {
			origin:start,
			destination:end,
			travelMode: google.maps.DirectionsTravelMode.DRIVING
		};
		directionsService.route(request, function(response, status) {
			if (status == google.maps.DirectionsStatus.OK) {
				directionsDisplay.setDirections(response);
				$('.routePrintOptions').css('display', 'block');
			}
		});
		
		cspaceMarkerBie.setMap(null);
		cspaceMarkerOl.setMap(null);
	}


	//	Route drucken und nur das cSpace logo anzeigen + den Routendaten...
	function printRoute(){
		var mapDirections = $('#directionsPanel').html();
		var printdoc = document.open('', '_blank', 'width=660,height=600,toolbar=no, menubar=no, scrollbars=yes, resizable=no');
		printdoc.document.write('<title>Route nach .comspace GmbH &amp; Co. KG drucken</title>');
		printdoc.document.write('<div style="width:650px;"><img style="float:right;" title=".comspace" alt=".comspace" src="../css/img/logo.png"><div style="clear:both;"></div>');
		printdoc.document.write(mapDirections);
		printdoc.document.write('</div>');
		printdoc.window.print();
		printdoc.document.close();
	}
	

	//	Route berechnen + druckbutton anzeigen...
	$(document).ready(function(){	
		initialize();
		$('#getdirections').click(function(){
			var target = $(this).val();
			calcRoute(target);
		});
	});
}


// Pagina and Page-Slider
$(document).ready(function(){
	if($('#pagina').html() != null){
		//count pages
		var pages = 0;
		$('.pageMe').each( function(){
			pages++;
			if( $.browser.msie ){}else{
				$(this).css('opacity', 0);
			}
		});
		//cookiename
		var cookiename = window.location.href.replace("http://www.comspace.de/","").replace("/","_").replace("?","_").replace("=","_").replace(".","_");
		
		//startpage
		if( $.cookies.get(cookiename) ){
			var thisPage = parseInt($.cookies.get(cookiename));
			if(thisPage > pages) {
				thisPage = pages;
			}			
		}else{
			var thisPage = 1;			
		}
		function loadPagina(thisPage, pages){
			var opacity = 0, toOpacity = 1, duration = 50;
			
			//fade out prev and first btn if page 1 is shown
			if (thisPage == 1){
				
				if( $.browser.msie ){}else{
					$('#pagina #firstPage').fadeTo(duration, opacity);
					$('#pagina #prevPage').fadeTo(duration, opacity);
				}
				$('#pagina #firstPage').delay(duration).hide();
				$('#pagina #prevPage').delay(duration).hide();
			}else{
				$('#pagina #firstPage').show();
				$('#pagina #prevPage').show();
				
				if( $.browser.msie ){}else{
					$('#pagina #firstPage').fadeTo(duration, toOpacity);
					$('#pagina #prevPage').fadeTo(duration, toOpacity);
				}
			}
			//fade out next and last btn if last page is shown
			if (thisPage == pages){
				if( $.browser.msie ){}else{
					$('#pagina #nextPage').fadeTo(duration, opacity);
					$('#pagina #lastPage').fadeTo(duration, opacity);
				}
				$('#pagina #nextPage').delay(duration).hide();
				$('#pagina #lastPage').delay(duration).hide();
			}else{
				$('#pagina #nextPage').show();
				$('#pagina #lastPage').show();
				if( $.browser.msie ){}else{
					$('#pagina #nextPage').fadeTo(duration, toOpacity);
					$('#pagina #lastPage').fadeTo(duration, toOpacity);
				}
			}
			//write "page x of x"
			$('#thisPage').html(thisPage);
			$('#allPage').html(pages);
			
		//*************Page Slider from here->
			opacity = 0, toOpacity = 1, duration = 500;
			// hide last page->
			if( $.browser.msie ){}else{
				$('.pageMe.active').fadeTo(duration, opacity);
			}
			$('.pageMe.active').delay(duration).hide();
			$('.pageMe.active').removeClass('active');
			// show new page->
			$('#page'+thisPage).addClass('active');
			$('#page'+thisPage).show();
			if( $.browser.msie ){}else{
				$('#page'+thisPage).fadeTo(duration, toOpacity);
			}
		//*************<--Page Slider to here
			
		}
		
		loadPagina(thisPage, pages);
		
		
		$('#pagina #firstPage').click(function(){
			thisPage = 1;
			$.cookies.set(cookiename, thisPage);
			loadPagina(thisPage, pages);
		});
		
		$('#pagina #prevPage').click(function(){
			thisPage = thisPage-1;
			$.cookies.set(cookiename, thisPage);
			loadPagina(thisPage, pages);
		});
		
		$('#pagina #nextPage').click(function(){
			thisPage = thisPage+1;
			$.cookies.set(cookiename, thisPage);
			loadPagina(thisPage, pages);
		});
		
		$('#pagina #lastPage').click(function(){
			thisPage = pages;
			$.cookies.set(cookiename, thisPage);
			loadPagina(thisPage, pages);
		});
	}
});


// IE5.5+ PNG Alpha Fix v2.0 Alpha: Background Tiling Support
// (c) 2008-2009 Angus Turnbull http://www.twinhelix.com

// This is licensed under the GNU LGPL, version 2.1 or later.
// For details, see: http://creativecommons.org/licenses/LGPL/2.1/

var IEPNGFix = window.IEPNGFix || {};

IEPNGFix.tileBG = function(elm, pngSrc, ready) {
	// Params: A reference to a DOM element, the PNG src file pathname, and a
	// hidden "ready-to-run" passed when called back after image preloading.

	var data = this.data[elm.uniqueID],
		elmW = Math.max(elm.clientWidth, elm.scrollWidth),
		elmH = Math.max(elm.clientHeight, elm.scrollHeight),
		bgX = elm.currentStyle.backgroundPositionX,
		bgY = elm.currentStyle.backgroundPositionY,
		bgR = elm.currentStyle.backgroundRepeat;

	// Cache of DIVs created per element, and image preloader/data.
	if (!data.tiles) {
		data.tiles = {
			elm: elm,
			src: '',
			cache: [],
			img: new Image(),
			old: {}
		};
	}
	var tiles = data.tiles,
		pngW = tiles.img.width,
		pngH = tiles.img.height;

	if (pngSrc) {
		if (!ready && pngSrc != tiles.src) {
			// New image? Preload it with a callback to detect dimensions.
			tiles.img.onload = function() {
				this.onload = null;
				IEPNGFix.tileBG(elm, pngSrc, 1);
			};
			return tiles.img.src = pngSrc;
		}
	} else {
		// No image?
		if (tiles.src) ready = 1;
		pngW = pngH = 0;
	}
	tiles.src = pngSrc;

	if (!ready && elmW == tiles.old.w && elmH == tiles.old.h &&
		bgX == tiles.old.x && bgY == tiles.old.y && bgR == tiles.old.r) {
		return;
	}

	// Convert English and percentage positions to pixels.
	var pos = {
			top: '0%',
			left: '0%',
			center: '50%',
			bottom: '100%',
			right: '100%'
		},
		x,
		y,
		pc;
	x = pos[bgX] || bgX;
	y = pos[bgY] || bgY;
	if (pc = x.match(/(\d+)%/)) {
		x = Math.round((elmW - pngW) * (parseInt(pc[1]) / 100));
	}
	if (pc = y.match(/(\d+)%/)) {
		y = Math.round((elmH - pngH) * (parseInt(pc[1]) / 100));
	}
	x = parseInt(x);
	y = parseInt(y);

	// Handle backgroundRepeat.
	var repeatX = { 'repeat': 1, 'repeat-x': 1 }[bgR],
		repeatY = { 'repeat': 1, 'repeat-y': 1 }[bgR];
	if (repeatX) {
		x %= pngW;
		if (x > 0) x -= pngW;
	}
	if (repeatY) {
		y %= pngH;
		if (y > 0) y -= pngH;
	}

	// Go!
	this.hook.enabled = 0;
	if (!({ relative: 1, absolute: 1 }[elm.currentStyle.position])) {
		elm.style.position = 'relative';
	}
	var count = 0,
		xPos,
		maxX = repeatX ? elmW : x + 0.1,
		yPos,
		maxY = repeatY ? elmH : y + 0.1,
		d,
		s,
		isNew;
	if (pngW && pngH) {
		for (xPos = x; xPos < maxX; xPos += pngW) {
			for (yPos = y; yPos < maxY; yPos += pngH) {
				isNew = 0;
				if (!tiles.cache[count]) {
					tiles.cache[count] = document.createElement('div');
					isNew = 1;
				}
				var clipR = Math.max(0, xPos + pngW > elmW ? elmW - xPos : pngW),
					clipB = Math.max(0, yPos + pngH > elmH ? elmH - yPos : pngH);
				d = tiles.cache[count];
				s = d.style;
				s.behavior = 'none';
				s.left = (xPos - parseInt(elm.currentStyle.paddingLeft)) + 'px';
				s.top = yPos + 'px';
				s.width = clipR + 'px';
				s.height = clipB + 'px';
				s.clip = 'rect(' +
					(yPos < 0 ? 0 - yPos : 0) + 'px,' +
					clipR + 'px,' +
					clipB + 'px,' +
					(xPos < 0 ? 0 - xPos : 0) + 'px)';
				s.display = 'block';
				if (isNew) {
					s.position = 'absolute';
					s.zIndex = -999;
					if (elm.firstChild) {
						elm.insertBefore(d, elm.firstChild);
					} else {
						elm.appendChild(d);
					}
				}
				this.fix(d, pngSrc, 0);
				count++;
			}
		}
	}
	while (count < tiles.cache.length) {
		this.fix(tiles.cache[count], '', 0);
		tiles.cache[count++].style.display = 'none';
	}

	this.hook.enabled = 1;

	// Cache so updates are infrequent.
	tiles.old = {
		w: elmW,
		h: elmH,
		x: bgX,
		y: bgY,
		r: bgR
	};
};


IEPNGFix.update = function() {
	// Update all PNG backgrounds.
	for (var i in IEPNGFix.data) {
		var t = IEPNGFix.data[i].tiles;
		if (t && t.elm && t.src) {
			IEPNGFix.tileBG(t.elm, t.src);
		}
	}
};
IEPNGFix.update.timer = 0;

if (window.attachEvent && !window.opera) {
	window.attachEvent('onresize', function() {
		clearTimeout(IEPNGFix.update.timer);
		IEPNGFix.update.timer = setTimeout(IEPNGFix.update, 100);
	});
}

