$(document).ready(function() {


	// Car details
	$('#cardetails_data tr:even').css({
		'backgroundColor': '#c0c0c0'
	})

	$('#cardetails_data tr td:even').css({
		'fontWeight': 'bold'
	})
	$('#cardetails_data tr td:odd').css({
		'textAlign': 'right'
	})

	// Big pictures scroller
	var bigPicturesCurPos = 0;
	var bigPicturesStepWidth = 960;

	$('#cardetails_bigpictures a.triggerRight').click(function(e) {
		e.preventDefault();

		++bigPicturesCurPos;

		if (bigPicturesCnt <= bigPicturesCurPos * 2) {
			--bigPicturesCurPos;
		}
		
		$('#cardetails_bigpictures div.container').animate({
			'left': -(bigPicturesStepWidth * bigPicturesCurPos) + 'px'
		});
	});
	$('#cardetails_bigpictures a.triggerLeft').click(function(e) {
		e.preventDefault();

		--bigPicturesCurPos;

		if (bigPicturesCurPos < 0) {
			++bigPicturesCurPos;
		}

		$('#cardetails_bigpictures div.container').animate({
			'left': -(bigPicturesStepWidth * bigPicturesCurPos) + 'px'
		});
	});


	// Preview pictures scroller
	var scrollElementW = 165;
	var scrollElementMargin = 10;
	var scrollElementsMax = 10;
	var scrollHolderW = 860;

	var scrollMaxLeft = -(((scrollElementW + scrollElementMargin) * scrollElementsMax) - scrollHolderW - scrollElementMargin);

	$('#cardetails_scroller_scrollHolder').draggable({
		'appendTo': '#cardetails_scroller_scrollCenter',
		'axis': 'x',
		'stop': function(e, ui) {
			if (ui.position.left > 0) {
				$('#cardetails_scroller_scrollHolder').animate({
					'left': '0px'
				});
			} else if (ui.position.left <= scrollMaxLeft) {
				$('#cardetails_scroller_scrollHolder').animate({
					'left': scrollMaxLeft + 'px'
				});
			}

			$('.cardetails_scroller_scrollElement a').bind('mouseup', function() {
				$('.cardetails_scroller_scrollElement a').unbind('mouseup');
				$('.cardetails_scroller_scrollElement a').slimbox();
			});
		},
		'start': function() {
			$('.cardetails_scroller_scrollElement a').unbind("click").unbind('mouseup').unbind('mousedown');
		}
	});

	var scrollPosition = 0;

	$('#cardetails_scroller_scrollRight').click(function() {
		++scrollPosition;

		var scrollTo = -(scrollHolderW * scrollPosition);
		if (scrollTo < scrollMaxLeft) {
			scrollTo = scrollMaxLeft + scrollElementMargin * 2;

			--scrollPosition;
		}

		$('#cardetails_scroller_scrollHolder').animate({
			'left': scrollTo + 'px'
		});
	});

	$('#cardetails_scroller_scrollLeft').click(function() {
		--scrollPosition;

		var scrollTo = -(scrollHolderW * scrollPosition);
		if (scrollTo > 0) {
			scrollTo = 0;

			++scrollPosition;
		}

		$('#cardetails_scroller_scrollHolder').animate({
			'left': scrollTo + 'px'
		});
	});


	$('#cardetails_buttons .cardetails_requestmail').click(function() {
		var rpos = $('.cardetails_requestbox').offset();
		var rheight = $('.cardetails_requestbox').height();
		var winheight = $(window).height();

		var scrollTo = rpos.top + (rheight - winheight) / 2;

		$('html').animate({
			'scrollTop': scrollTo
		}, 1000);

		$('<div></div>').css({
			'position': 'absolute',
			'left': '0px',
			'top': '0px',
			'background': '#000000',
			'height': $(document).height() + 'px',
			'width': '100%',
			'zIndex': 9999,
			'opacity': 0
		}).click(function() {
			$(this).animate({
				'opacity': 0
			}, function() {
				$(this).remove();
			});

			$('.cardetails_requestboxClone').animate({
				'opacity': 0
			}, function() {
				$(this).remove();
			});
		}).appendTo('body').animate({
			'opacity': 0.7
		});

		var rw = $('.cardetails_requestbox').width();
		var rh = $('.cardetails_requestbox').height();

		$('.cardetails_requestbox').clone().css({
			'width': rw + 'px',
			'height': rh + 'px',
			'position': 'absolute',
			'left': rpos.left + 'px',
			'top': rpos.top + 'px',
			'zIndex': 10000
		}).addClass('cardetails_requestboxClone').appendTo('body');
	});

	$('#cardetails_buttons .cardetails_recommend').click(function() {
		$('html').animate({
			'scrollTop': $(document).height() - $(window).height()
		}, 1500, function() {
			$('#recommendation_toggler').trigger('click');
		});
	});

	$('#cardetails_buttons .cardetails_facebook').click(function() {
		var FBShareWin = window.open('http://www.facebook.com/sharer.php?u=' + encodeURIComponent(window.location.href), "FBShareWin", "width=600,height=400,status=yes,scrollbars=no,resizable=no");
		FBShareWin.focus();
	});

	// Car details languages pulldown
	$('.cardetails_languages_pulldown_container').hover(function() {
		$(this).stop().animate({
			'height': '300px',
			'top': '-108px'
		});
	}, function() {
		$(this).stop().animate({
			'height': '46px',
			'top': '146px'
		});
	});
	$('.cardetails_languages_pulldown_other a').click(function(e) {
		e.preventDefault();

		var newLanguage = $(this).attr('href');

		$('<form />').attr({
			'method': 'post',
			'action': window.location.href
		}).append('<input type="hidden" name="language" value="' + newLanguage + '" />').appendTo('body').submit();
	});


	$('.cardetails_requestbox button').live('click', function() {
		$('.cardetails_requestbox *').wrapAll('<form />');

		// Google analytics
		_gaq.push(['_trackEvent', 'Formular gesandt', 'Click', 'Anfrage zum Fahrzeug gesandt']);

		$('.cardetails_requestbox form').attr({
			'method': 'post',
			'action': './#request'
		}).append('<input type="hidden" name="carrequest[saction]" value="exec" />').submit();
	});



	// Car search pager pulldown
	$('.carsearch_pager_pulldown_container').hover(function() {
		$(this).stop().animate({
			'height': '300px'
		});
	}, function() {
		$(this).stop().animate({
			'height': '50px'
		});
	});
	$('.carsearch_pager_pulldown_other a').click(function(e) {
		e.preventDefault();

		var newSort = $(this).attr('href');

		$('<form />').attr({
			'method': 'post',
			'action': window.location.href
		}).append('<input type="hidden" name="resort" value="' + newSort + '"').appendTo('body').submit();
	});


	// Car search languages pulldown
	$('.carsearch_languages_pulldown_container').hover(function() {
		$(this).stop().animate({
			'height': '300px'
		});
	}, function() {
		$(this).stop().animate({
			'height': '50px'
		});
	});
	$('.carsearch_languages_pulldown_other a').click(function(e) {
		e.preventDefault();

		var newLanguage = $(this).attr('href');

		$('<form />').attr({
			'method': 'post',
			'action': window.location.href
		}).append('<input type="hidden" name="language" value="' + newLanguage + '"').appendTo('body').submit();
	});

	// Car search reset
	$('#carsearch_newSearchTrigger').click(function(e) {
		e.preventDefault();
		
		$('<form method="post"><input name="resetCarSearch" value="true" /></form>').appendTo('body').submit();
	});


	// Consultants profiles
	$('.contactProfileButton').click(function() {
		var curW = $(window).width();
		var curH = $(window).height();
		var curS = $(window).scrollTop();
		
		$('<div></div>').css({
			'position': 'absolute',
			'zIndex': 99998,
			'background': '#000000',
			'opacity': 0,
			'top': '0px',
			'left': '0px',
			'width': curW + 'px',
			'height': $(document).height() + 'px'
		}).attr({
			'id': 'blackBodyOverlay'
		}).appendTo('body').animate({
			'opacity': 0.8
		}).unbind('click').bind('click', function() {
			$('.closeProfile', cBox).trigger('click');
		});
		
		var cBox = $('#' + $(this).attr('rel'));
		var cBoxW = $(cBox).width();
		var cBoxH = $(cBox).height();

		$(cBox).css({
			'display': 'block',
			'left': '-1000px',
			'top': '-1000px',
			'zIndex': 99999
		}).appendTo('body').animate({
			'left': ((curW - cBoxW) / 2) + 'px',
			'top': ((curH - cBoxH) / 2 + curS) + 'px'
		});
		
		$('.closeProfile', cBox).unbind('click').bind('click', function() {
			$('#blackBodyOverlay').animate({
				'opacity': 0
			}, function() {
				$('#blackBodyOverlay').remove();
			});
			
			$(cBox).animate({
				'left': '-1000px',
				'top': '-1000px'
			});
		});
	});
	
	
	// Fetch models
	$('#make').change(function(e) {
		e.stopPropagation();
		
		var curModel = $(this).val();

		$('#model').empty().append('<option value="">&nbsp;</option>');
 
		if (!isNaN(curModel) && curModel) { 
			$.post('/Fahrzeuge/fetchModels/', {
				'manufacturer': curModel
			}, function(data) { 
				$('#model').empty().append('<option value="">&nbsp;</option>');
				$.each(data[curModel], function(k, modelObj) {
					var isChecked = '';
					if (modelObj.id*1 == preselectionModel*1) {
						isChecked = ' selected="selected"';
					}
					$('#model').append('<option value="' + modelObj.id + '"' + isChecked + '>' + modelObj.bez + ' (' + modelObj.cnt + ')</option>');
				});
			}, 'json');
		}
	});
	
	
	$('#make').trigger('change');
});


function makeSorting(sorting) { 
	if (sorting) {
		$('.carsearch_pager_pulldown_current').html($('.carsearch_pager_pulldown_other a[href="' + sorting + '"]').html());
	}
}

function makeLanguage(language) {
	if (language) {
		$('.carsearch_languages_pulldown_current').html($('.carsearch_languages_pulldown_other a[href="' + language + '"]').html()).attr({
			'class': 'carsearch_languages_pulldown_current language_' + language.replace(/#/, '')
		});
		$('.cardetails_languages_pulldown_current').html($('.cardetails_languages_pulldown_other a[href="' + language + '"]').html()).attr({
			'class': 'cardetails_languages_pulldown_current language_' + language.replace(/#/, '')
		});
	}
}



