window.addEvent( 'domready', function() {
	
	/* marking that jQuery works */
	$$( 'body' ).addClass( "mooTools" );
	
	
	/* nested submenu */	
	$$( "#submenu ul li a" ).addEvent( 'click', function() {
		
		level2 = $( this ).getParent( 'li' );
		
		if ( level2.hasClass( 'expanded' ) ) {
			level2.removeClass( 'expanded' );
			level2.addClass( 'collapsed' );
			return false;
		}
		else if ( level2.hasClass( 'collapsed' ) ) {
			level2.removeClass( 'collapsed' );
			level2.addClass( 'expanded' );
			return false;
		}			
	
	});
	
	$each( $$( ".itemsOverview .oddItem" ), function( el ) {
	
		c = new Element( 'li', {
						'class': 'clear'
						});
	
		c.inject( el, 'before' );
	
	});
	
	$each( $$( ".featuredBox .featuredBoxControls" ), function( controls ) {
																				  
		var buttonPrev = controls.getElement( "li.prev a" );		  
		var buttonNext = controls.getElement( "li.next a" );
		
		var collection = controls.getPrevious( "div" );
		
		if( collection.hasClass( "featuredItem" ) ) {
			
			var items = collection.getChildren( ".item" );
			
			buttonPrev.addEvent( "click", function() {
			
				activeItem = collection.getChildren( ".active" )[0];				
				previousItem = activeItem.getPrevious();				
				activeItem.removeClass( "active" ).addClass( "h" );
				
				if( previousItem ) {
					previousItem.removeClass( "h" ).addClass( "active" );
				}
				else {
					items[ items.length - 1 ].removeClass( "h" ).addClass( "active" );
				}
				
				return false;
			
			});
			
			buttonNext.addEvent( "click", function() {
			
				activeItem = collection.getChildren( ".active" )[0];				
				nextItem = activeItem.getNext();				
				activeItem.removeClass( "active" ).addClass( "h" );
				
				if( nextItem ) {
					nextItem.removeClass( "h" ).addClass( "active" );
				}
				else {
					items[ 0 ].removeClass( "h" ).addClass( "active" );
				}
				
				return false;
			
			});
			
		}
		
		else if( collection.hasClass( "featuredItems" ) ) {
			
			buttonPrev.addEvent( "click", function() {
																
				moveLeft( collection );
				
				return false;
			
			});
			
			buttonNext.addEvent( "click", function() {
																
				moveRight( collection );
				
				return false;
			
			});
			
		}
	
	});
	
	$each( $$( ".related .relatedItemsControls" ), function( controls ) {
																				  
		var buttonPrev = controls.getElement( "li.prev a" );		  
		var buttonNext = controls.getElement( "li.next a" );
		
		var collection = controls.getPrevious( "div" );
		
		if( collection.hasClass( "relatedItems" ) ) {
			
			buttonPrev.addEvent( "click", function() {
																
				moveLeft( collection );
				
				return false;
			
			});
			
			buttonNext.addEvent( "click", function() {
																
				moveRight( collection );
				
				return false;
			
			});
			
		}
	
	});
		
	var intervalID = setInterval( animate, 3000 );
	
	$$( '#navigationBar .advanced a' ).addEvent( "click", function() {
																						
		showAdvancedSearch();
		return false;
																						
	});
	
	$$( '#advancedSearch .closeButton' ).addEvent( "click", function() {
																						
		hideAdvancedSearch();
		return false;
																						
	});
	
	labelToInput( 'f_s_query' );
	
	if ( $$( '.orderDetails' ).length ) {
		$$( '.orderDetails .delivery .callendar td' ).addEvent( "click", function() {
													
			$$( '.orderDetails .delivery .callendar td.selected' ).removeClass( 'selected' );			
			$( this ).addClass( 'selected' );
		
		});
	}
	
});

function animate() {
		
		$each( $$( ".featuredItems, .relatedItems" ), function( el ) {
																				 
			moveLeft( el );
			
		});
		
}

function showAdvancedSearch() {
	
	$( 'advancedSearch' ).removeClass( 'h' );
	
}

function hideAdvancedSearch() {
	
	$( 'advancedSearch' ).addClass( 'h' );
	
}

function moveLeft( collection )
{
			
	items = collection.getChildren( ".item" );

	activeItems = collection.getChildren( ".active" );				
	nextItem = activeItems[ activeItems.length - 1 ].getNext();		
	previousItem = activeItems[ 0 ].getPrevious();
	
	if( nextItem == null ) {
		
		nextItem = items[ 0 ].dispose().inject( collection );
		
	}
	if( previousItem == null ) {
		
		previousItem = activeItems[ 0 ].dispose().inject( collection );
		
	}
	
	activeItems[ 0 ] .removeClass( "active" ).addClass( "h" );
	nextItem.removeClass( "h" ).addClass( "active" );
	
}

function moveRight( collection )
{
			
	items = collection.getChildren( ".item" );

	activeItems = collection.getChildren( ".active" );				
	nextItem = activeItems[ activeItems.length - 1 ].getNext();		
	previousItem = activeItems[ 0 ].getPrevious();
	
	if( nextItem == null ) {
		
		nextItem = activeItems[ activeItems.length - 1 ].dispose().inject( collection, 'top' );
		
	}
	if( previousItem == null ) {
		
		previousItem = items[ items.length - 1 ].dispose().inject( collection, 'top' );
		
	}
	
	activeItems[ activeItems.length - 1 ] .removeClass( "active" ).addClass( "h" );
	previousItem.removeClass( "h" ).addClass( "active" );
	
}

function labelToInput ( id )
{
	/* input */
	i = $( id );
	
	if( i ) {	
		/* setting default value */
		i.setProperty( 'originalValue', i.getPrevious( 'label[for='+id+']' ).get( 'text' ).toLowerCase() );
		i.set( 'value', i.getProperty( 'originalValue' ) );
		
		/* click on input events */
		i.addEvent( 'focus', function() {
			if ( $( this ).get( 'value' ).toLowerCase() == $( this ).getProperty( 'originalValue' ) ) {
				$( this ).set( 'value', '' );
			}		
		});	
		i.addEvent( 'blur', function() {		
			if ( $( this ).get( 'value' ) == '' ) {
				$( this ).set( 'value', $( this ).getProperty( 'originalValue' ) );
			}		
		});
	}
}

function textToInput ( id, text )
{
	/* input */
	i = $( id );
	
	if ( i ) {
		/* setting default value */
		i.setProperty( 'originalValue', text );
		i.set( 'value', i.getProperty( 'originalValue' ) );
		
		/* click on input events */
		i.addEvent( 'focus', function() {
			if ( $( this ).get( 'value' ).toLowerCase() == $( this ).getProperty( 'originalValue' ) ) {
				$( this ).set( 'value', '' );
			}		
		});	
		i.addEvent( 'blur', function() {		
			if ( $( this ).get( 'value' ) == '' ) {
				$( this ).set( 'value', $( this ).getProperty( 'originalValue' ) );
			}		
		});
	}
}
