var carousel;

function initLayout()
{
	preloadIcons();
	
	new Ajax.Autocompleter( 'searchInput', 'searchHints', getRootPath(),
	{
		paramName: 			'q',
		parameters: 		'act=ajax.searchHints',
		minChars: 			3,
		frequency: 			0.15,
		select: 			'hintValue',
		afterUpdateElement: doSearch
	} );

	$$( '.tab' ).each( function( el )
	{
		new Control.Tabs( el );
	} );
	
	openSocialBar();
}

function initHomePage()
{
	carousel = new Carousel( 'carousel-wrapper',
								 $$( '#carousel-content .slide' ),
								 $$( 'a.carousel-jumper' ),
								 { 
									auto: 			true,
									effect: 		'fade',
									duration: 		0.25, 
									frequency: 		8,
									beforeMove: 	function()
													{ 
														$$( '.carousel-jumper' ).each( function( el )
														{
															el.removeClassName( 'carousel-selected' );
														} );
													},
									afterMove: 		function()
													{
														var el = $$( '.' + carousel.current.id );
										
														el[0].addClassName( 'carousel-selected' );
													} 
							});

	if( $( 'storeRSS' ))
		new Ajax.Updater( 'storeRSS', getRootPath(), 
		{
			parameters: { 
				act: 	'storeNews'
			}
		} );
}

function preloadIcons()
{
	$$( '.iconLink' ).each( function( el )
	{
		if( !el.hasClassName( 'brandLink' )) {
			var url = el.getStyle( 'background-image' );
			
			if( url.match( /^url\([^\)]+\)$/ )) {
				var img = new Image();
				
				url = url.substr( 4, url.length - 5 );
				url = url.replace( /0\.png/, '1.png' );
				url = url.replace( /['"]/g, '' );

				img.src = url;
			}
		}
	} );
}

function searchKeyPress( event, input )
{
	var ret = true;

	if( event.keyCode == 13 )
		ret = doSearchFor( input );
		
	return( ret );
}

function doSearch()
{
	return( doSearchFor( 'searchInput' ));
}

function doSearchFor( input )
{
	var f = document.forms[ 'searchForm' ];
	
	f.elements[ 'search' ].value = $F( input );
	
	f.submit();
	
	return( false );
}

function showMoreBrands()
{
	$( 'moreBrands' ).hide();
	$( 'moreBrandsList' ).show();
}

function showFewerBrands()
{
	$( 'moreBrandsList' ).hide();
	$( 'moreBrands' ).show();
}

function switchCurrency( cid )
{
	$( 'currency' ).value = cid;
	
	document.forms[ 0 ].submit();
}

function switchToStore()
{
	var url = $F( 'linkedStores' );
	
	if( url != '' )
		location.href = url;
}

function sponsoredPopup()
{
	window.open( '/?act=sponsoredLinks',
				 'SponsoredLinks',
				 'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,width=420,height=350' );
}

function setCookie( szName, szValue, szExpires, szPath, szDomain, bSecure )
{
 	var szCookieText = escape( szName ) + '=' + escape( szValue );
	
	szCookieText +=	szExpires ? '; EXPIRES=' + szExpires.toGMTString() : '' ;
	szCookieText += szPath ? '; PATH=' + szPath : '';
	szCookieText += szDomain ? '; DOMAIN=' + szDomain : '';
	szCookieText += bSecure ? '; SECURE' : '';
	
	document.cookie = szCookieText;
}

function getCookie( szName )
{
 	var szValue = null;

	if( document.cookie ) {
       	var arr = document.cookie.split( escape( szName ) + '=' );
       	
		if( 2 <= arr.length ) {
           	var arr2 = arr[ 1 ].split( ';' );

       		szValue = unescape( arr2[ 0 ] );
       	}
	}

	return szValue;
}

function openSocialBar()
{
	var sb = $( 'socialBar' );

	if( sb && !getCookie( 'noSocialBar' ))
		sb.show();
}

function closeSocialBar()
{
	$( 'socialBar' ).hide()
	setCookie( 'noSocialBar', 1 );
}

function showNotificationPopup()
{
	var id = parseInt( $F( 'notificationID' ), 10 );
	var lastID = parseInt( getCookie( 'notificationID' ), 10 );
	var seen = getCookie( 'notificationSeen' );

	if( !seen || ( lastID < id ))
		$( 'popupOverlay' ).show();
}

function closeNotificationPopup()
{
	if( $F( 'notificationDoNotShowAgain' )) {
		setCookie( 'notificationSeen', 1, new Date( 2099, 1, 1 ));
		setCookie( 'notificationID', $F( 'notificationID' ), new Date( 2099, 1, 1 ));
	}

	$( 'popupOverlay' ).hide();
}

