﻿/*
	—AUTHOR
	Osvaldas Valutis / www.osvaldas.info / osvaldas@osvaldas.info
	Freelance graphics, web / logo / brand identity designer and web developer
*/


/*
	Show/hide search button
*/

var showHideSearchButton = function()
{
	var form	= $( '#header form' );
	var field	= $( '#header form input.f-text' );
	var button	= $( '#header form input.f-submit' );
	var oldVal 	= field.attr( 'value' );

	if( !form.hasClass( 'active' ) )
	{
		field.focus( function()
		{
			form.addClass( 'active' );
		});
	
		field.blur( function()
		{
			if( field.attr( 'value' ) == oldVal )
				form.removeClass( 'active' );
		});
	}
};

$( window ).load( showHideSearchButton );



/*
	drop down navigation
*/
 
var navDrop = function()
{
	var parent = $( '#header ul li' ).not( '#header ul li ul li' );

	parent.hover( function()
	{
		var item	= $( this );
		var drop	= item.children( 'ul' );

		parent
		.filter( '.current-menu-item, .current-menu-parent' )
		.children( 'a' )
		.css( 'z-index', 2 );

		if( item.hasClass( 'current-menu-item' ) || item.hasClass( 'current-menu-parent' ) )
			item.children( 'a' ).css( 'z-index', 4 );

		drop
		.stop( true, true )
		.css( 'margin-left', ( drop.width() - item.width() ) / -1.5 )
		.slideDown( 200 );
	},
	function()
	{
		$( this ).stop( true, true ).children( 'ul' ).slideUp( 200 );


	});

	parent.has( 'ul' ).addClass( 'has-child' );
};
 
$( window ).load( navDrop );



/*
	slideshow
*/
 
var slideShow = function()
{
	var slider 		= $( '#slideshow' );
	var navItems 	= $( '#slideshow ul.nav li a' );
	var slides		= $( '#slideshow ul.slides' );
	var slidesCount = slides.children( 'li').length - 1;
	var slideWidth	= slides.children( 'li' ).width();
	var index		= 0;
	var timer		= true;


	navItems.hover( function()
	{
		var curItem 	= $( this );
		index			= curItem.parent( 'li' ).index();
		var curPos		= index * slideWidth;

		navItems.parent( 'li' ).removeClass( 'selected' );
		curItem.parent( 'li' ).addClass( 'selected' );

		slides.animate( { left: '-' + curPos + 'px' }, { queue: false, duration: 800, easing: 'easeInOutExpo' } );
	});


	navItems.click( function()
	{
		return false;
	});


	/*function slideIt()
	{
		index = index + 1;

		if( index > slidesCount )
			index = 0;

		var curPos	= index * slideWidth;

		navItems.parent( 'li' ).removeClass( 'selected' );
		navItems.parent( 'li' ).eq( index ).addClass( 'selected' );

		slides.animate( { left: '-' + curPos + 'px' }, { queue: false, duration: 800, easing: 'easeOutElastic' } );		

		timer = setTimeout( slideIt, 4000 );
	}

	timer = setTimeout( slideIt, 4000 );

	slider.hover( function()
	{
		clearTimeout( timer );
	},
	function()
	{
		timer = setTimeout( slideIt, 4000 );
	});*/
};
 
$( window ).load( slideShow );



/*
	scheme
*/
 
var scheme = function()
{
	var nav		= $( '#scheme ul.nav li a' );
	var lists	= $( '#scheme .links ul' );

	nav.click( function()
	{
		var curItem	= $( this );
		var index	= curItem.parent( 'li' ).index();

		nav.parent( 'li' ).removeClass( 'selected' );
		curItem.parent( 'li' ).addClass( 'selected' );

		lists.filter( ':visible' ).fadeOut( 500 );
		lists.eq( index ).fadeIn( 500 );

		return false;
	});
};
 
$( window ).load( scheme );



/*
	forms AJAX
*/

var formsAJAX = function()
{
	$( 'form.ajax' ).submit( function()
	{
		var thisForm = 		this;
		var responseObj =	$( 'div.response', this );
		var inputs = 		[];


		$( 'html, body' ).animate( {scrollTop: responseObj.offset().top - 80 }, 500 );

		responseObj.html( '<p><em><strong>Luktelkite...</strong></em></p>' ).fadeIn( 500 ).fadeOut( 500 ).fadeIn( 500 );


		$( 'input[type!=radio], textarea, select', this ).each( function() 
		{
			inputs.push( this.name + '=' + encodeURI( this.value ) );
		});

		$( 'input[type=radio]:checked', this ).each( function()
		{
			if( this.value != null )
				inputs.push( this.name + '=' + this.value );
		});


		jQuery.ajax(
		{
			url: 			this.action,
			type:			this.method,
			data: 			inputs.join( '&' ),
			dataType:		'json',
			timeout: 		10000,

			error: function( request, status, thrown ) 
			{
				responseObj.fadeOut( 150, function()
				{
					responseObj.fadeIn( 300 ).html( '<p class="fail"><strong>Klaida</strong> <em>&bdquo;' + status + '&ldquo;</em>. Pamėginkite dar kartą!</p>' );
				});
			},

			success: function( data ) 
			{
				responseObj.fadeOut( 150, function()
				{
					responseObj.fadeIn( 300 ).html( data.response );
				});

				if( data.cleanForm == true )
				{
					$( 'input, select, textarea', thisForm ).each( function()
					{
						if( this.type != 'submit' && this.type != 'radio' && this.type && 'select' )
							$( this ).val( '' );

						if( this.type == 'radio' )
							$( this ).attr( 'checked', false );

						if( this.type == 'select' )
							$( this ).attr( 'selected', false );
					});
				}

				if( data.hideForm == true )
				{
					function doHideForm()
					{
						$( thisForm ).fadeOut( 1000 );
					}

					setTimeout( doHideForm, 4000 );
				}

				if( data.redirectTo != false )
					window.location = data.redirectTo;
			}
		});

		return false;
	});
};

$( window ).load( formsAJAX );



/*
	send email dialog
*/

var sendMail = function()
{
	var isActive = false;
	var sendForm;

	$( 'a[href*=mailto:]' ).click( function()
	{
		if( isActive == true )
			return false;
		else
			isActive = true;

		var targetForm	= $( this ).attr( 'rel' );

		sendForm = $( '#' + targetForm );

		if( sendForm.length > 0 )
		{
			var mailTo		= $( this ).attr( 'href' );
			mailTo 			= mailTo.replace( 'mailto:', '' );
	
			$( 'a#send-recipient' ).text( mailTo ).attr( 'href', 'mailto:' + mailTo );
			$( 'input[name=f-recipient]', sendForm ).attr( 'value', mailTo );

			var posLeft	= ( $( window ).width() / 2 ) - ( sendForm.width() / 2 );
			var posTop	= ( $( window ).height() / 2 ) - ( sendForm.height() / 2 );
	
			sendForm.css({ left: posLeft + 'px', top: posTop + 'px' });
			sendForm.fadeIn( 500 );

			return false;
		}
	});

	$( 'a.send-close' ).click( function()
	{
		sendForm.fadeOut( 500 );
		isActive = false;

		return false;
	});
};

$( window ).load( sendMail );



/*
	FANCY BOX LOAD
*/

var loadFB = function()
{
	$( '.content a[href$=".jpg"], .content a[href$=".jpeg"], .content a[href$=".png"], .content a[href$=".gif"]' ).has( 'img' ).fancybox();
};
 
$( window ).load( loadFB );


