// JavaScript Document
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function modelli_marca(chooser) {
    var newElem;
    var where = (navigator.appName == "Microsoft Internet Explorer") ? -1 : null;
    var cityChooser = chooser.form.elements["auto"];
    while (cityChooser.options.length) {
        cityChooser.remove(0);
    }
    var choice = chooser.options[chooser.selectedIndex].value;
    var db = regiondb[choice];
    newElem = document.createElement("option");
    newElem.text = "Seleziona il tipo di auto:";
    newElem.value = "";
    cityChooser.add(newElem, where);
    if (choice != "") {
        for (var i = 0; i < db.length; i++) {
            newElem = document.createElement("option");
            newElem.text = db[i].text;
            newElem.value = db[i].value;
            cityChooser.add(newElem, where);
        }
    }
}


function fnTextSize(textSize) {											
	document.body.className = textSize;			
	var menuLinks = document.getElementById("menu").getElementsByTagName("A");
	for(i=0;i<menuLinks.length;i++) {
		menuLinks[i].href = menuLinks[i].href.split("?")[0]+"?tSize="+textSize;
	}			
} 

function fnPrint() {	
	window.print();			
}

function fnBodyId(newID) {	
	document.body.id = newID;		
}

// Popup
function openWindow(url,width,height) {
x = (640 - width)/2, y = (480 - height)/2;
if (screen) {
y = (screen.availHeight - height)/2;
x = (screen.availWidth - width)/2;
}
window.open (url,'newWin','width='+width+',height='+height+',screenX='+x+',screenY='+y+',top='+y+',left='+x+',scrollbar=yes');
}




function ShowQuickBuy(e, ProductId, State, ProductsName)
{
	//alert('Called AddToBasket() - id='+ProductId+' state='+State);
	//var SpaceAbove = 0; // amount of space above the visible space
	//var SpaceAbove = GetScrollingPosition();
	$('product-name').innerHTML = ProductsName; 
	
	switch (State)
	{
		case '1':

			$('choose-size').show();
			$('ajax_loadingmsg').show();
			$('ajax_sizearea').hide();
			$('ajax_colourarea').hide();
			$('ajax_buynow').hide();
			
			var LeftPos = 140 + "px"; // fixed position from left
			//var TempPos = parseInt((SpaceAbove + Event.pointerY(e) )-300);
			//var TopPos = TempPos + "px";
			var TopPos = 15 + "px";
			
			$('choose-size').setStyle({display: 'block', left: LeftPos, top: TopPos});
			
			new Ajax.Request('/ajax/eshop/basket/getsizelist/'+ProductId, {
				method: 'post',
				onComplete: function(transport){
					$('ajax_loadingmsg').hide();
					$('ajax_sizearea').update(transport.responseText);
					$('ajax_sizearea').show();
			  }
			});
			break;

		case '0':
		default:
			$('choose-size').hide();
			break;
	}
	
	return false;
}

function ShowColourOptions(e, ProductId, Size)
{
	new Ajax.Request('/ajax/eshop/basket/getcolourlist/'+ProductId+'/'+Size, {
		method: 'post',
		onComplete: function(transport){
			$('ajax_colourarea').update(transport.responseText);
			$('ajax_colourarea').show();
			if ('' != transport.responseText)
			{
				$('ajax_buynow').show();
			}
		}
	});
}


function BuyNow()
{
	if ('' == $F('ajax_colour'))
	{
		alert('Please select a colour');
		return false;
	}
	
	//$('shopping-bag').show();
	//$('ajax_loadingmsg2').show();
	ShowBasketDetails();

	new Ajax.Request('/ajax/eshop/basket/addproduct/', {
		method: 'post',
		parameters: $('choose-size').serialize(true),
		onComplete: function(transport){
			
			$('shopping-bag').show();
			//$('ajax_loadingmsg2').show();
			
			if ('Error' == transport.responseText.substr(0,5))
			{
				alert(transport.responseText);
				
			}
			else
			{
				//$('ajax_loadingmsg2').hide();
				$('ajax_basket').update(transport.responseText);
				
				ShowQuickBuy('', '', '0', '');
				
				setTimeout('CloseBasket()', 5000);
			}
		}
	});
	
	return false;
}




function CloseBasket()
{
	//$('ajax_basket').update('');
	//$('shopping-bag').hide();
	HideBasket();
	
}

function ToggleProductEnlarge(Show, Element)
{
	if (true == Show)
	{
		$(Element).show();
	}
	else
	{
		$(Element).hide();
	}
}

function UpdateTopNavBasketCount()
{
	new Ajax.Request('/ajax/eshop/basket/updatetopnav/', 
	{
		onComplete: function(transport)
		{
	  		$('shopping-bag-count').innerHTML = transport.responseText;
		}
	});
}

function SerialiseOrder(ListId, ValueId)
{
	$(ValueId).value = Sortable.serialize(ListId);
}

function SaveCategory(FormId)
{
	new Ajax.Request('/ajax/catalogue/updatecategory/', 
	{
		method: 'post',
		parameters: $(FormId).serialize(),
		onComplete: function(transport)
		{
	  		try 
	  		{
        		Response = eval('('+transport.responseText+')');
        		if(Response.message)
        		{
        			Message = Response.message;
        		}
        		else
        		{
        			Message = 'Category update failed. Please, try again.'
        		}
        		
        		if(Response.status && 'ok' == Response.status)
        		{        			
        			$(FormId).hide();
        		}
        		
        		
        		ShowMessage(Message, 'message_'+FormId);
        		
    		} 
    		catch (e) 
    		{
    			ShowMessage(e.toString(), 'message_'+FormId);
    		}
			 
		}
	});
}

/**
* Shows and hides text specified by What in an html element with Id Where 
*
* @param string What (message)
* @param string Where (html element id)
*/
function ShowMessage(What, Where)
{
	$(Where).update(What);
	$(Where).style.display = 'block';
	setTimeout('$(\''+Where+'\').hide()', 2000);
}
//-->