/* Author:  weltert | digital creation.
			Urs André Weltert

*/
// Use this syntax for your jQuery code if you use two js libs using the $ placeholder
var $j = jQuery.noConflict();



$j(window).load(function () {
	$j('#loading').animate({
		'opacity': 0
	}, 600,function(){$j(this).remove();});
		
	if($j('html').hasClass('csstransitions')){
		$j('#container').css({
			'opacity': 1
		});
	}
	else{		
		$j('#container').animate({
			'opacity': 1
		}, 600);
	}
});

$j(document).ready(function() {
	
	function fancyBoxStyleTweak(){
		$j('#fancybox-content').css({
			'border' : 'none',
			'width'	 : $j('#fancybox-content').width() + 20 + "px"
		});		
	}

	$j("a#teamViewerLink").fancybox({
		'width'             : '95%',
		'height'            : '95%',
		'autoScale'         : false,
		'scrolling'         : 'auto',		
		'type'              : 'iframe',
		'centerOnScroll'	: true,
		'transitionIn'		: 'fade',
		'transitionOut'		: 'fade',		
		'title'				: 'Download TeamViewer QuickSupport',
		'onComplete'		: fancyBoxStyleTweak
	});

	// Jobs Begriffs-Weiche
	$j('#jobMasonry').masonry({
		columnWidth: 80, 
		itemSelector: '.box'
	});
	$j('#transition_2').fadeOut(0);
	$j('#transition_1 a').click(function(el){
		el.preventDefault();
		$j('#transition_1').fadeOut(500,function(){
			$j('#transition_2').fadeIn(500);				
		})
	});
	$j('#jobTags').click(function(el){
		el.preventDefault();
		$j('#transition_2').fadeOut(500,function(){
			$j('#transition_1').fadeIn(500);
			$j('#jobMasonry').masonry({
				columnWidth: 80, 
				itemSelector: '.box'
			});									
		})
	});
	
	var jobLinksHoverIntent = {
		over: function(){
			$j(this).animate({rotate: -5+Math.random()*8+'deg', scale: 1+Math.random()/3}, 600);
		},			
		timeout: 0,
		out: function(){
			$j(this).animate({rotate: '0deg', scale: '1'}, 600);			
		}
	}
	$j('#transition_1 .box').hoverIntent(jobLinksHoverIntent)
							.focusin(function(){
								$j(this).animate({rotate: -5+Math.random()*8+'deg', scale: 1+Math.random()/3}, 600);
							})
							.focusout(function(){
								$j(this).animate({rotate: '0deg', scale: '1'}, 600);			
							});	
	
	// $j('#transition_1 .box').hover(function(){
	// 	$j(this).animate({rotate: -5+Math.random()*8+'deg', scale: 1+Math.random()/3}, 600);
	// },function(){
	// 	$j(this).animate({rotate: '0deg', scale: '1'}, 600);
	// });
	
	$j('a#homeLink').hover(function(){
		$j(this).animate({rotate: '-1.3deg', scale: '1.02'}, 600);
	},function(){
		$j(this).animate({rotate: '0deg', scale: '1'}, 600);
	});
	
	$j('#jobsLink').hover(function(){
		$j(this).animate({rotate: '15deg', top: '-10'}, 600);
	},function(){
		$j(this).animate({rotate: '0deg', top: '-28'}, 600);
	});
	
	$j('#container p,#container ul,#container ol').addClass('hyphenate').hyphenate();

	function masonryMultiCol(){
		if($j('html').hasClass('csstransitions')){
			$j('#masonry_multiCol').masonry({
				columnWidth: 80, 
				itemSelector: '.box'
			});
		}
		else{
			$j('#masonry_multiCol').masonry({
				columnWidth: 80, 
				itemSelector: '.box',
				animate: true,
				animationOptions: {
					duration: 500,
					easing: 'linear',
					queue: false
				}		
			});
		}
	}

	masonryMultiCol();

	function masonrySingleCol(){
		if($j('html').hasClass('csstransitions')){
			$j('#masonry').masonry({
				singleMode: true
			});
		}
		else{
			$j('#masonry').masonry({
				singleMode: true,
				animate: true,
				animationOptions: {
					duration: 500,
					easing: 'linear',
					queue: false
				}		
			});
		}
	}
	masonrySingleCol();

	function redrawMultiCol(){
		if($j('#masonry_multiCol').length){
			if($j('#main').width() < 600){
				$j('#masonry_multiCol .box').each(function(idx,el){
					$j(el).css('width','180px');
				});
			}
			else{
				$j('#masonry_multiCol .box').each(function(idx,el){
					$j(el).css('width','');
				});											
			}
			masonryMultiCol();					
		}
	}

	redrawMultiCol();

	// resize only once -- init
	var rtime = new Date(1, 1, 2000, 12,00,00);
	var timeout = false;
	var delta = 200;		

	function resizeend() {
		if (new Date() - rtime < delta) {
			setTimeout(resizeend, delta);
		} else {
			timeout = false;

			//resize code here
			redrawMultiCol();
		}
	}		

	$j(window).resize(function(){
		rtime = new Date();
		if (timeout === false) {
			timeout = true;
			setTimeout(resizeend, delta);
		}
	});
	
	// enable flip effect
	$j('.hover').hover(
		function(){
			$j(this).addClass('flip');
		},function(){
			$j(this).removeClass('flip');
		}
	);

	// Uniform
	$j("select,input:checkbox,input:radio").uniform();

	if($j(".mod_tellafriend form").length != 0){
		$j('.mod_tellafriend form').validate({
			rules: {
				sender_name: "required",				
				receiver_email: "required email",
				receiver_name: "required"
			}
		});
		
	}

	if($j("#contact-de").length != 0){

		if($j("#contact-de label.required span.mandatory").length == 0){
			$j("#contact-de label.required").append("<span class='mandatory'>*</span>");
		}
		/*
		** init the contact form conditional input areas 
		*/
		//phone
		$j("div.phoneCondition input:checkbox[value*='phoneCondition']").attr("checked",false);
		$j(".phoneFieldset").hide();
		$j("div.phoneCondition input:checkbox[value*='phoneCondition']").click(function(){
			if($j("div.phoneCondition input:checkbox[value*='phoneCondition']").is(':checked')){
				$j(".phoneFieldset").slideDown(300);		
			} else{
				$j(".phoneFieldset").slideUp(300);		
			}
		});
		//address
		$j("div.addressCondition input:checkbox[value*='addressCondition']").attr("checked",false);
		$j(".addressFieldset").fadeOut(1);
		$j("div.addressCondition input:checkbox[value*='addressCondition']").click(function(){
			if($j("div.addressCondition input:checkbox[value*='addressCondition']").is(':checked')){
				$j(".addressFieldset").slideDown(300);
			} else{
				$j(".addressFieldset").slideUp(300);		
			}
		});
		//company
		$j("div.companyCondition input:checkbox[value*='companyCondition']").attr("checked",false);
		$j(".companyFieldset").fadeOut(1);
		$j("div.companyCondition input:checkbox[value*='companyCondition']").click(function(){
			if($j("div.companyCondition input:checkbox[value*='companyCondition']").is(':checked')){
				$j(".companyFieldset").slideDown(300);
			} else{
				$j(".companyFieldset").slideUp(300);		
			}
		});

		$j('#contact-de').validate({
			rules: {
				firstName: "required",
				lastName: "required",
				email: "required",
				message: "required",
				phoneNumber: {
					required: "div.phoneCondition input:checkbox[value*='phoneCondition']:checked"
				},
				street: {
					required: "div.addressCondition input:checkbox[value*='addressCondition']:checked"
				},
				postalCode: {
					required: "div.addressCondition input:checkbox[value*='addressCondition']:checked"
				},
				city: {
					required: "div.addressCondition input:checkbox[value*='addressCondition']:checked"
				},						
				companyName: {
					required: "div.companyCondition input:checkbox[value*='companyCondition']:checked"
				}						
			}
		});
	}
}); 
