function initShop()
{
	initBuyForms();
	initAsyncBasket();
	initAlert();
	initQuestion();
	//initCheckout();
	if($('miniSearchForm'))initFormFields("miniSearchForm");
	if($('newsletterForm'))initFormFields('newsletterForm');
}

function initQuestion(){
	shop.questionBox = $('questionBox');
	shop.questionBox.transition = new Fx.Tween( shop.questionBox , 'opacity', {duration:700, wait:true , transition:new Fx.Transition(Fx.Transitions.linear) } );
	
	shop.cuteQuestion = new cuteQuestion();
}

function initAlert()//init vertical movement, transition... of the minibasket
{
	shop.alertDiv = $('alertFloater');
	//shop.basketDiv.movement = new Fx.Tween( shop.basketDiv , 'top', {duration:20, transition:new Fx.Transition(Fx.Transitions.linear) } );
	shop.alertDiv.style.top = '180px';
	
	/*window.addEvent('scroll', function()
										{
												shop.alertDiv.style.top = 180 + document.documentElement.scrollTop + 'px';
												//shop.basketDiv.movement.start('top', parseInt(shop.basketDiv.style.top), 180 + document.documentElement.scrollTop );
										}
	);*/
	
	shop.alertBox = $('alertBox');
	shop.alertBox.transition = new Fx.Tween( shop.alertBox , 'opacity', {duration:700, wait:true , transition:new Fx.Transition(Fx.Transitions.linear) } );
	
	shop.cuteAlert = new cuteAlert();
}


var basketTime;
var basketDisplay;

function initAsyncBasket()//init vertical movement, transition... of the minibasket
{
	shop.asyncBasketBox = $('asyncBasketBox');
	shop.asyncBasketBox.transition = new Fx.Tween( shop.asyncBasketBox , 'opacity', {duration:700, transition:new Fx.Transition(Fx.Transitions.linear) } );
	basketDisplay = "none";
}

function showMiniBasket(){
	if(basketDisplay == "none"){
		basketDisplay = "";
		clearTimeout(basketTime);
		shop.asyncBasketBox.transition.start('opacity',0,100);
		shop.asyncBasketBox.style.display = '';
		/*setTimeout("shop.asyncBasketBox.transition.start('opacity',100,0);", 4000);
		setTimeout("shop.asyncBasketBox.style.display = 'none';", 4700);*/
		basketTime = setTimeout("hideAsyncBasketInShow()", 4000);
	}
}

function hideAsyncBasketInShow()
{
	if(basketDisplay == ""){
		basketDisplay = "none";
		shop.asyncBasketBox.transition.start('opacity',1,0);
	}
}


function hideAsyncBasket()
{
	if(basketDisplay == ""){
		basketDisplay = "none";
		clearTimeout(basketTime);
		shop.asyncBasketBox.transition.start('opacity',1,0);
	}
}

$(window).addEvent('click', function(){ hideAsyncBasket(); } );

function initBuyForms()
{
	$$('.buyForm').each(
	function(form)
	{
		getStockByCombination(form);
		form.addEvent('submit', function()
			{
				//overwrite form action
				this.action = shop.url + '/ajaxTemplates/products/addProduct.cfm';
				if( Spry.Widget.Form.validate(this) )
				{
					return Spry.Utils.submitForm(this, validateAddProduct);
				}
			}
		);
	}
	);
}


function validateAddProduct(req)
{
	var objResponse = eval('('+req.xhRequest.responseText+')');
	
	if(objResponse.ADDED)//product added
	{
		
		$('loadingImage'+ objResponse.PRODUCTID).destroy();
		$('addProduct'+objResponse.PRODUCTID).style.display = '';
		ajaxLoad(shop.url+'/ajaxTemplates/basket/asyncBasket.cfm', $('asyncBasketBox'), 'showMiniBasket();' );
		ajaxLoad(shop.url+ '/ajaxTemplates/basket/miniBasket.cfm', $('minibasket'), '' ,'');
		//reload asyncBasket
		//$('asyncBasket').innerHTML;		
		//showMiniBasket();
	}
	else
	{
		shop.cuteAlert.addMessage(languageSheet.lblError, languageSheet.lblProductNotAdded, 0, 0);
	}
	
}
