/* ========================== */
/* MSK Javascript Functions   */
/* ========================== */

//Image Preload
var myimages=new Array();
function preloadimages()
	{
		for (i=0;i<preloadimages.arguments.length;i++)
			{
				myimages[i]=new Image();
				myimages[i].src=preloadimages.arguments[i];
			}
	}
	
preloadimages("http://www.moleskine.com/msk_app/image_formats/pocket_standard.gif", "http://www.moleskine.com/msk_app/image_formats/pocket_weekly.gif", "http://www.moleskine.com/msk_app/image_formats/pocket_landscape.gif", "http://www.moleskine.com/msk_app/image_formats/large_standard.gif", "http://www.moleskine.com/msk_app/image_formats/large_weekly.gif", 			"http://www.moleskine.com/msk_app/image_formats/large_landscape.gif", "http://www.moleskine.com/msk_app/image_formats/extralarge_standard.gif","http://www.moleskine.com/msk_app/image_formats/extralarge_weekly.gif", "http://www.moleskine.com/msk_app/image_formats/extralarge_landscape.gif" );

 
//Check selected notebook type and fill "available formats" menu
function updateSizes(notebookType)
	{
		if (notebookType == "")
			{
				fillOptions('postSize', '<option value=\'\'>' + availableFormats + '</option>');
				changePreview('');
			}
		else
			{
				fillOptions('postSize', '<option value=\'\'>' + availableFormats + '</option><option value=\'DAY\'>Standard</option><option value=\'WEEK\'>Weekly</option><option value=\'LANDSCAPE\'>Landscape</option>');
				changePreview('');
			}		
	}

//Fill options in "available formats" select box
function fillOptions(selectID, optionSet)
	{
		//Adds fake option for IE6/7/8
		if(document.all)
				{
					opts = '<option>testoption</option>' + optionSet;
				}			
		else
				{
					opts = optionSet;
				}
				
		//Fill select box
		document.getElementById(selectID).innerHTML=opts;
			
		// IE Select Refresh!!!
		if(document.all) 
			{ 
			   document.getElementById(selectID).outerHTML = document.getElementById(selectID).outerHTML;
			}
	}

//Updates preview image of the notebook
function changePreview(notebookSize)
	{
		//Set CSS class name: notebook type + notebook size (e.g. "pocket_day")
		var notebookType = document.getElementById("postType").value;
		if (notebookType == "" || notebookSize == "")
			{
				var newPreviewClass = "format_empty"; //No preview, clean background
			}
		else
			{
				var newPreviewClass = notebookType.toLowerCase() + "_" + notebookSize.toLowerCase(); 
			}
				
		//Remove classes and applies the new class
		jQuery("#msk_format_preview").removeClass();
		jQuery("#msk_format_preview").addClass(newPreviewClass);
				
	}
	
//Check form -> A notebook size/format must be selected
function checkNotebookSelection()
	{
		if (document.getElementById("postType").value == "" || document.getElementById("postSize").value == "")
			{
				alert("Please select your notebook size/format!");
				return false;
			}
		else
			{
				return true;
			}
	}
	

//Fills input hidden with Zot selected image
function putHiddenValue(hiddenName, elementSelector, paramName)
	{
		if(document.getElementById(hiddenName))
			{
				var h = document.getElementById(hiddenName);
				var valueToPut = jQuery("#" + elementSelector).attr('' + paramName + '');
				
				//alert("Updating " + hiddenName + " with value " + valueToPut);
								
				if (valueToPut != undefined)
					{
						h.value = valueToPut;
					}
				else
					{
						h.value = "";
					}
				
				//alert("Updated value is: " + h.value);
			}
	};

	
// ZOT Image Slider - easySlider v. 1.0
(function($) {

	$.fn.easySlider = function(options){
	  
		// default configuration properties
		var defaults = {
			prevId: 		'prevBtn',
			prevText: 		'Previous',
			nextId: 		'nextBtn',	
			nextText: 		'Next',
			//Moleskine options
			ofText:			'of',
			imagesText:		'images',
			//End Moleskine options
			orientation:	'', //  'vertical' is optional;
			speed: 			800			
		}; 
		
		var options = $.extend(defaults, options);  
		
		return this.each(function() {  
			obj = jQuery(this); 				
			var s = jQuery("li", obj).length;
			var w = obj.width(); 
			var h = obj.height(); 
			var ts = s-1;
			var t = 0;
			var vertical = (options.orientation == 'vertical');
			jQuery("ul", obj).css('width',s*w);			
			if(!vertical) jQuery("li", obj).css('float','left');
			
			var startImage = 1;
					
			jQuery(obj).after('<span id="'+ options.prevId +'"><a href=\"javascript:void(0);\">'+ options.prevText +'</a></span> <span id="'+ options.nextId +'"><a href=\"javascript:void(0);\">'+ options.nextText +'</a></span><span id="thumbnailcounter">&nbsp;&nbsp;' + startImage + ' ' + options.ofText  + ' ' + (ts+1) + ' ' + options.imagesText + '</span>');		
			jQuery("a","#"+options.nextId).click(function(){		
				animate("next");
				jQuery("a","#"+options.prevId).fadeIn();
				var nextImageID = (t);
				putHiddenValue('msk_image', nextImageID, 'rel'); //update hidden input
				jQuery("#thumbnailcounter").html('&nbsp;&nbsp;' + (nextImageID+1) + ' ' + options.ofText  + ' ' + (ts+1) + ' ' + options.imagesText);
			});
			jQuery("a","#"+options.prevId).click(function(){		
				animate("prev");
				jQuery("a","#"+options.nextId).fadeIn();
				var prevImageID = (t);
				putHiddenValue('msk_image', prevImageID, 'rel'); //update hidden input
				if ((prevImageID+1) > 0)
					{
						jQuery("#thumbnailcounter").html('&nbsp;&nbsp;' + (prevImageID+1) + ' ' + options.ofText  + ' ' + (ts+1) + ' ' + options.imagesText);			
					}
			});	
			function animate(dir){
				if(dir == "next"){
					t = (t>=ts) ? ts : t+1;	
				} else {
					t = (t<=0) ? 0 : t-1;
				};								
				if(!vertical) {
					p = (t*w*-1);
					jQuery("ul",obj).animate(
						{ marginLeft: p }, 
						options.speed
					);				
				} else {
					p = (t*h*-1);
					jQuery("ul",obj).animate(
						{ marginTop: p }, 
						options.speed
					);					
				}
			};
			if(s>1) jQuery("a","#"+options.nextId).fadeIn();	
		});
	  
	};

})(jQuery);