jQuery(document).ready(function() {
	//menu-popups
	bubbleImgs = new Array('pauschal','lastminute','fluege','hotels','ferienhaus','mietwagen','magazin','12fly_reisen','service');
	jQuery('#mainmenu li a').each(function(i) {
		jQuery('body').prepend('<img src="' + window.location.protocol + '//www.1-2-fly.com/fileadmin/fly/pics/bilder/navi_hinweise/' + bubbleImgs[i] + '.gif" width="250px" height="75" style="display:none;" class="bubble' + i + '" />');
		jQuery('.bubble' + i).css({position:'absolute', left:(jQuery(this).offset().left-(i?50:10))+'px', top:(jQuery(this).offset().top-80)+'px', zIndex:'1000'})
		jQuery(this).mouseover(function(){
			jQuery('.bubble' + i).show(100);
		}).mouseout(function(){
			jQuery('.bubble' + i).hide(100);
		});
	});
	jQuery('.teasercontent .wrapper:even').addClass('even').removeClass('odd');
	jQuery('.teasercontent .wrapper:odd').addClass('odd').removeClass('even');

	//new-marker
	jQuery('#mainmenu .newmarker').each(function(i) {
		jQuery('body').prepend('<img src="fileadmin/fly/pics/icons/neu.gif" width="100px" height="50" class="newmarker' + i + '" />');
		jQuery('.newmarker' + i).css({position:'absolute', left:(jQuery(this).offset().left-20)+'px', top:(jQuery(this).offset().top-93)+'px'})
	});

	//startsite-scroller
	if(jQuery('#page_31').length) {
		scrollContent = "";
		jQuery('#content div').each(function(i) {
			if(jQuery(this).html().indexOf('###scroller###') != -1) {
				var elm = this;
				$.get('index.php', {id: 1905, type: 100}, function(data){
					jQuery(elm).html('<div id="scrollLeft"></div><div id="scrollCenter"><div id="scrollContent">' + data + '</div></div><div id="scrollRight"></div>');

					scrollContent = document.getElementById('scrollContent').innerHTML;
					scrollContentWidth = 658;

					jQuery("#scrollContent").append(scrollContent+scrollContent);
					jQuery("#scrollContent").css('width', scrollContentWidth*3);
					jQuery("#scrollContent").css('left', -scrollContentWidth);
					flyHPscrollLeft(1);

					jQuery('#scrollLeft').mousedown(function() 	{jQuery("#scrollContent").stop(); flyHPscrollLeft(4)});
					jQuery('#scrollLeft').mouseup(function() 	{jQuery("#scrollContent").stop()});
					jQuery('#scrollLeft').mouseout(function() 	{jQuery("#scrollContent").stop(); flyHPscrollLeft(1)});

					jQuery('#scrollRight').mousedown(function()	{jQuery("#scrollContent").stop(); flyHPscrollRight(4)});
					jQuery('#scrollRight').mouseup(function() 	{jQuery("#scrollContent").stop()});
					jQuery('#scrollRight').mouseout(function() 	{jQuery("#scrollContent").stop(); flyHPscrollLeft(1)});

					jQuery('#scrollCenter').mouseover(function()	{jQuery("#scrollContent").stop()});
					jQuery('#scrollCenter').mouseout(function()	{jQuery("#scrollContent").stop(); flyHPscrollLeft(1)});

					jQuery(elm).css('display','block');
					buildLinks4Images();
				});
			}
		});
	}

	//video taxi
	jQuery('#imageMenu a').mouseover(function() {
		jQuery('#imageMenu a').stop();
		var offset = 0;
		var selected = this;
		jQuery('#imageMenu a').each(function(i) {
			jQuery(this).animate({left: (i*43)+offset}, 300);
			if(selected == this) {
				offset = 260;
			}
		});
	});
	jQuery('#imageMenu').mouseout(function(e) {
		if(document.all) {
			var topBorder = document.all.imageMenu.offsetTop;
			var rightBorder = document.all.imageMenu.offsetLeft + jQuery('#imageMenu').width();
			var bottomBorder = document.all.imageMenu.offsetTop + jQuery('#imageMenu').height();
			var leftBorder = document.all.imageMenu.offsetLeft;
		} else {
			var topBorder = jQuery('#imageMenu').offset().top + 15;
			var rightBorder = jQuery('#imageMenu').offset().left + jQuery('#imageMenu').width();
			var bottomBorder = jQuery('#imageMenu').offset().top + jQuery('#imageMenu').height();
			var leftBorder = jQuery('#imageMenu').offset().left + 15;
		}
		if(e.clientY < topBorder || e.clientX > rightBorder || e.clientY > bottomBorder || e.clientX < leftBorder) {
			jQuery('#imageMenu a').each(function(i) {
				jQuery(this).animate({left: i*95}, 300);
			});
		}
	});

		//tt popup
	if(window.name == 'popup') {
		// ausblenden
		jQuery('#header').css('display', 'none');
		jQuery('#sign').css('display', 'none');
		jQuery('#mainmenu-sign').css('display', 'none');
		jQuery('#mainmenu').css('display', 'none');
		jQuery('#subMenu').css('display', 'none');
		jQuery('#footer').css('display', 'none');

		// einblenden
		jQuery('#content').css('display', 'block ');
	}

	//submenu delete last border
	jQuery('#subMenu ul li:last').css('borderRight',0);

	//seofooter delete last border
	jQuery('#seoFooter ul li a:last').css('borderRight',0);

	jQuery('#uthema').change(function() {
		var destArr = new Array();
		var uThemaArr = jQuery(this).find('option:selected').val().split("_");
		if(typeof(selectionCompBkp) == 'undefined') {
			selectionCompBkp = jQuery('#ziel').clone();
			jQuery('#ziel').find('option').each(function(i) {selectionCompBkp.find('option:eq(' + i + ')').data('js', jQuery(this).data('js'))});
		}
		if(typeof(selectionBaseBkp) == 'undefined') {
			selectionBaseBkp = jQuery('#region').clone();
			jQuery('#region').find('option').each(function(i) {selectionBaseBkp.find('option:eq(' + i + ')').data('js', jQuery(this).data('js'))});
		}

		var selectionCompModify = selectionCompBkp.clone();
		var selectionBaseModify = selectionBaseBkp.clone();
		if(parseInt(jQuery(this).find('option:selected').val())) {
			for(var i=0; i<aDestOrigin.length; ++i) {
				var regArr=aDestOrigin[i].split("|");
				if(!(regArr[1]>=10000 && (regArr[uThemaArr[0] == 1 ? 4 : 5] & (1<<uThemaArr[1]-1)))){
					selectionCompModify.find('option[value=' + regArr[1] + ']').remove();
				} else {
					destArr.push(regArr[1]);
				}
			}
			selectionBaseModify.find('option').each(function() {
				var value = jQuery(this).val().split('|')[1];
				if(jQuery.inArray(value, destArr) == -1 && jQuery(this).val()!=-1) {
					jQuery(this).remove();
				};
			})
		}
		selectionCompModify.find('option[value=' + jQuery('#ziel').find('option:selected').val() + ']').attr('selected', 'selected');
		selectionBaseModify.find('option[value=' + jQuery('#region').find('option:selected').val() + ']').attr('selected', 'selected');
		jQuery('#ziel').replaceWith(selectionCompModify);
		jQuery('#region').replaceWith(selectionBaseModify);
		if(jQuery('#ziel').find('option:selected').val() != -1) {
			dependentSelectChange(jQuery('#ziel'), jQuery('#region'), true)
		}
	});

	// flyfix
	if(jQuery.browser.msie){
		jQuery('.topRightTrans, .topLeftTrans, .teaserimage').css('float','left');
		jQuery('.rounded .topRight, .rounded .topLeft, .rounded .topCenter').css('float','left');
	}

	//Box Height Fix
	boxHeight();

	//IE PNG Fix
	if(jQuery('body').attr('id') != 'page_12290'){
		jQuery(document).pngFix();
	}

	if(jQuery('.tx-tuisearch-pi1 #input_crs').length > 0){
		jQuery('.tx-tuisearch-pi1 #input_crs').click(function(){
                    if(jQuery(this).val() == 'z.B. 10250' || jQuery(this).val() == 'z. B. A5060') {
		        jQuery(this).val('');
		    }
		});
	}
});

function boxHeight() {
	jQuery('.centerLeft.auto, .centerRight.auto', '.box').each(function() {
		jQuery(this).height(jQuery(this).next('.center').length ? jQuery(this).next('.center').height() : jQuery(this).prev('.center').height());
	});
}

function buildLinks4Images(){
	jQuery('.csc-textpic-imagerow-last').each(function(i){
		href = jQuery(this).parent().find('a').attr('href');
		dt = jQuery(this).find('dt');
		currentImage = dt.html();
		dt.html('');
		dt.html('<a href="' + href + '">' + currentImage + '</a>');
	});
}

function flyHPscrollLeft(speed) {
	var spaceRight = jQuery("#scrollContent").width() + parseInt(jQuery("#scrollContent").css('left')) - jQuery("#scrollCenter").width();
	if(spaceRight < 200) {
		jQuery("#scrollContent").append(scrollContent);
		jQuery("#scrollContent").css('width', jQuery("#scrollContent").width() + scrollContentWidth);
	}
	var newSpaceRight = jQuery("#scrollContent").width() + parseInt(jQuery("#scrollContent").css('left')) - jQuery("#scrollCenter").width();
	var scrollLeft = parseInt(jQuery("#scrollContent").css('left')) - newSpaceRight;
	jQuery("#scrollContent").animate({left: scrollLeft}, newSpaceRight*40/speed, 'linear', function() {
		flyHPscrollLeft(speed);
	});
}

function flyHPscrollRight(speed) {
	if(parseInt(jQuery("#scrollContent").css('left')) >= 0) {
		jQuery("#scrollContent").prepend(scrollContent);
		jQuery("#scrollContent").css('width', jQuery("#scrollContent").width() + scrollContentWidth);
		jQuery("#scrollContent").css('left', -scrollContentWidth);
	}
	jQuery("#scrollContent").animate({left: 0}, Math.abs(parseInt(jQuery("#scrollContent").css('left')))*40/speed, 'linear', function() {
		flyHPscrollRight(speed);
	});
}

/**
 * Builds a loading-overlay on top of given container ("container"),
 * use second ("extraImageCSS") and third ("extraImageHTML") parameter for additional overlay-html and css.
 *
 * @param mixed container destination-container
 * @param object extraImageCSS optional css
 * @param string extraImageHTML optional html
 *
 * @return mixed
 */
function buildLoader(container, extraImageCSS, extraImageHTML) {
	if(!jQuery(container).length) return false;
	var overlay = jQuery('<div class="loadingOverlay"></div>')
	var image = jQuery('<div class="loadingImage"></div>')
	jQuery(container).append(overlay, image);
	overlay.css({width:jQuery(container).outerWidth(), height:jQuery(container).outerHeight()});
	image.css({left:overlay.width()/2-image.width()/2});
	extraImageCSS ? image.css(extraImageCSS) : '';
	extraImageHTML ? image.html(extraImageHTML) : '';
	var yOffset = window.pageYOffset || document.documentElement && document.documentElement.scrollTop || document.body.scrollTop;
	var viewportHeight = window.innerHeight || document.documentElement && document.documentElement.clientHeight || document.getElementsByTagName('body')[0].clientHeight;
	var topPos = yOffset - overlay.offset().top;
	if(topPos > 0) { //top is over viewport
		if(overlay.height()-topPos > viewportHeight) { //overlay bottom is under viewport
			topPos = viewportHeight/2 - image.height()/2;
		} else if(topPos+image.height() > overlay.height()) { //image does not fit into overlay
			topPos = overlay.height()-image.height();
		} else { //overlay bottom in viewport
			topPos += (overlay.height()-topPos)/2 - image.height()/2;
		}
	} else if(viewportHeight+topPos > 0) { //top is in viewport
		if(viewportHeight+topPos < overlay.height()) { //overlay bottom is under viewport
			topPos = (viewportHeight+topPos)/2 - image.height()/2;
		} else { //whole overlay in viewport
			topPos = overlay.height()/2 - image.height()/2;
		}
	}
	image.css({top:topPos});
	overlay.bgiframe();
	return jQuery('.loadingOverlay, .loadingImage', container);
}
