var countries = {};
// Replace all text with class "cufonTransform" with Cufon
Cufon.replace('.cufonTransform', {hover: true});
	//	IE6??
//Cufon.now();

$(document).ready(function() {

	// track all events from teasers
	$('.trackevent').click(function() {
		var rel = $(this).attr('rel');
		if (rel.length > 0) {
			emos_userEvent1('marker', rel);
		}
		return true;
	});


		// find all forms with class="jqtransform" and apply the plugin
	$('.jqtransform').jqTransform();


	if ($('video').length) {
		if (navigator.appVersion.indexOf("MSIE") == -1) {
			$('video').VideoJS({
				'controlsBelow': false,
				'flashPlayer': 'flowplayer'
			});
		
			$('video').each(function() {
				var videoElement = $(this);
				$(this)[0].player.onEnded(function() {
					videoElement.parent().hide();
				});
				var videoWidth = videoElement.width();
				videoElement.siblings('.vjs-controls').width(videoWidth).find('.vjs-progress-control').width(videoWidth-70);
			});
		} else {
	/*
			$('video').VideoJS({
				'controlsBelow': false
			});
	*/
			$('object').each(function() {
				var videoDuration = $(this).attr('data-videoduration');
				var objObj = $(this);
				var videoObj = $(this).parent();
				var marginLeft = (0 - videoObj.width() - 50);
				$(this).css({
					'marginLeft': marginLeft
				});
				$(this).detach();
				videoObj.after($(this));
				videoObj.remove();
				var fn = function() {
					objObj.parent().hide();
				};
				
				if (!videoDuration) {
					videoDuration = 19;	// 19 seconds by default
				}
				videoDuration = (videoDuration+3) * 1000;
				
				window.setTimeout(fn, videoDuration);
			});
		}
	}
	
	//video js player:  (div.videoteasercombi)
	if ($('#shareContainerVideo.shareContainer.share').length > 0) {
		//share icons
		$('.vjs-share-control').click(function() {
			$('.shareContainer.share').show();
		});
		$('#shareContainerVideo').mouseenter(function() {
			$('.vjs-controls').show();
		});
		$('#shareContainerVideo').mouseleave(function() {
			$('.shareContainer.share').hide();
		});
		
		//volume controll
		/*
		$('.vjs-volume-control').click(function() {
			if ($('.vjs-volume-control').hasClass("soundOn")) {
				$('.vjs-volume-control').removeClass("soundOn");
				$('.vjs-volume-control div span').removeClass('vjs-volume-level-on');
				//$('.vjs-volume-control div span').last().click();
			} else {
				$('.vjs-volume-control').addClass("soundOn");
				$('.vjs-volume-control div span').addClass('vjs-volume-level-on');
				//$('.vjs-volume-control div span').first().click();
			}
			//$(this).children().children().removeClass('vjs-volume-level-on');
		})
		*/
		
		
	}
	
	
	

	Rotator.init('.mupDisplayImageContainer');
	
	// jump to a specific page with the rotator, if used with the hash #4, jump to page 4
	if ($('.mupDisplayImageContainer').length) {
		if (window.location.hash.length > 1) {
			var pageNum = window.location.hash.substr(1);
			pageNum = parseInt(pageNum);
			rotatorJumpToPage(pageNum);
		}
	}
	
	b13forms.initInputFieldsWithTitle();
	MPopups.init();

	$('.productcolor-icon').mouseenter(function() {
		var id = $(this).parent().attr('id');
		var imageId = id.replace(/color/, "image");
		$('#' + imageId).show().siblings().hide();
	});
	$('.colorBullets').mouseleave(function() {
		var imageId = $('.selected-detailimage');
		$(imageId).show().siblings().hide();
	});
	$('.divInputSubmit').mouseenter(function() {
		$(this).children().first().hide();
		$(this).children().last().show();
	});
	$('.divInputSubmit').mouseleave(function() {
		$(this).children().first().show();
		$(this).children().last().hide();
	});


	/** validate newsletter **/
	if ($('#newsletter-register').length) {
		$('#newsletterSubmit').click(function(evt) {


			var validFields = true;
			var dateofbirth = $('#dateofbirth').val();
			if (dateofbirth.length && dateofbirth != $('#dateofbirth').attr('title')) {
				if (dateofbirth.indexOf('.') != 2 || dateofbirth.lastIndexOf('.') != 5) {
					validFields = false;
					$('#dateofbirth').parents('.formRow').addClass('error');
				}
			}

			// check if the email address is valid
			if (!b13forms.isValidEmail($('#email').val())) {
				validFields = false;
				$('#email').parents('.formRow').addClass('error');
			}
			
			if (validFields) {
				$('#newsletterLayer').show();
				$('input[type=text], textarea').each(b13forms.removeTitleFromInput);
				$.post($('#newsletter-register').attr('action'), $('#newsletter-register').serialize());
				$('#email').parents('.formRow').removeClass('error');
				$('#dateofbirth').parents('.formRow').removeClass('error');
				$('#newsletterErrortext').hide();
				
				if ($('#newsletter-off').attr('checked')) {
					var successDiv = $('#newsletterSuccesstextUnsubscribe');
				} else {
					var successDiv = $('#newsletterSuccesstext');
				}		
				
				successDivEl = successDiv.detach();
				if ($('.multiCol-col').length == 1) {
					$('.multiCol-col').after('<div class="multiCol-col col-2 col-last"><div class="multiColInnerWrap"></div></div>');
				}
				$('.multiCol-col').last().children().append(successDivEl);
				successDiv.show();
			} else {
				var errorDiv = $('#newsletterErrortext');
				if ($('.multiCol-col').length == 1) {
					errorDivEl = errorDiv.detach();
					$('.multiCol-col').after('<div class="multiCol-col col-2 col-last"><div class="multiColInnerWrap"></div></div>');
					$('.multiCol-col').last().children().append(errorDivEl);
				}
				errorDiv.show();
				evt.preventDefault();
			}
			
		});
	}

	/** validate newsletter **/
	if ($('#newsletter-recommend').length) {
		$('#newsletterSubmit').click(function(evt) {

			var validFields = true;

			if ($('#sendername').val() == $('#sendername').attr('title')) {
				validFields = false;
				$('#sendername').parents('.formRow').addClass('error');
			}
			if ($('#recipientname').val() == $('#recipientname').attr('title')) {
				validFields = false;
				$('#recipientname').parents('.formRow').addClass('error');
			}


			// check if the email address is valid
			if (!b13forms.isValidEmail($('#senderemail').val())) {
				validFields = false;
				$('#senderemail').parents('.formRow').addClass('error');
			}

			// check if the email address is valid
			if (!b13forms.isValidEmail($('#recipientemail').val())) {
				validFields = false;
				$('#recipientemail').parents('.formRow').addClass('error');
			}
			
			if (validFields) {
				$('#newsletterLayer').show();
				$('input[type=text], textarea').each(b13forms.removeTitleFromInput);
				$.post($('#newsletter-recommend').attr('action'), $('#newsletter-recommend').serialize());
				$('#senderemail').parents('.formRow').removeClass('error');
				$('#recipientemail').parents('.formRow').removeClass('error');
				$('#sendername').parents('.formRow').removeClass('error');
				$('#recipientname').parents('.formRow').removeClass('error');
				$('#newsletterErrortext').hide();
				
				var successDiv = $('#newsletterSuccesstext');
				successDivEl = successDiv.detach();
				if ($('.multiCol-col').length == 1) {
					$('.multiCol-col').after('<div class="multiCol-col col-2 col-last"><div class="multiColInnerWrap"></div></div>');
				}
				$('.multiCol-col').last().children().append(successDivEl);
				successDiv.show();
			} else {
				var errorDiv = $('#newsletterErrortext');
				if ($('.multiCol-col').length == 1) {
					errorDivEl = errorDiv.detach();
					$('.multiCol-col').after('<div class="multiCol-col col-2 col-last"><div class="multiColInnerWrap"></div></div>');
					$('.multiCol-col').last().children().append(errorDivEl);
				}
				errorDiv.show();
				evt.preventDefault();
			}
			
		});
	}




	// store finder
	if ($('#storeLocatorForm').length) {


		$('#country').prev().find('a').click(function() {
		
			var selectedIndex = ($(this).attr('index'));
			var selectEl = $('#country')[0];
			var option = selectEl.options[selectedIndex].value;

/* 			$('#fastCity').val($('#fastCity').attr('title')); */
			$('#fastCity').autocomplete({
				'source': countries[option],
				'limit': 7
			});


			return;
		});

		var submitSearch = function(evt) {
			var country = b13forms.getSelectedOptionFromSelect($('#country'));
			var city = $('#fastCity').val();
			var url = window.location.href;
			url += (url.indexOf('?') == -1 ? '?' : '&') + 'type=14&country=' + country + '&sword=' + city;
			$.get(url, function(result) {
				$('#storeList').html(result);
				Cufon.replace('.cufonTransform', {hover: true});
			}, 'text');
			evt.preventDefault();
			return false;
		}

		$('#findStoresButton').click(submitSearch);
		$('#storeLocatorForm').submit(submitSearch);
		

		$('#fastCity').autocomplete({
			'source': countries['D'],
			'limit': 7
		});
		
		$('#fastCity').focus(function() {
			$(this).parent().addClass('isActive');
		});
		$('#fastCity').blur(function() {
			$(this).parent().removeClass('isActive');
		});
	} else {
	
			// activate the product filter
		$('.jqTransformSelectWrapper ul a', $('#productFilter')).click(function() {
			if ($(this).parents('ul').first().next('select').attr('id') == 'productFilterCategory') {
				MProducts.resetProductLineInFilter();
			}
			MProducts.filter();
		});
		

		$('.jqTransformSelectWrapper a.jqTransformSelectOpen', $('#productFilter')).click(function() {
			b13forms.addScrollbarToSelect($(this));
		});


			// productFinder
		$('a.jqTransformCheckbox', $('#productFinder')).click(function() {
			MProducts.finder();
		});
		
		$('#resetProductFinder').click(function() {
			MProducts.resetFinder();
			return false;
		});
	}
});	


/**
 * related to manhattan products, filters, finders etc
 */
var MProducts = {
	lang: 0,
	baseUrl: '',

	initUrl: function(typeNum) {
		this.baseUrl = window.location.href;
		if (this.baseUrl.indexOf('#') != -1) {
			this.baseUrl = this.baseUrl.substr(0, this.baseUrl.indexOf('#'));
		}
		this.baseUrl += (this.baseUrl.indexOf('?') == -1 ? '?' : '&') + 'type=' + typeNum;
		return this.baseUrl;
	},

	filter: function() {
	
		// check if we need to remove elements from the breadcrumb
		if ($('a', $('#breadCrumb')).length == 4) {
			$('a', $('#breadCrumb')).last().remove();
			$('a', $('#breadCrumb')).last().remove();
			$('a', $('#breadCrumb')).last().addClass('current');
			Cufon.replace('.cufonTransform', {hover: true});
		}
	
		var url = this.initUrl(17);
		var options = this.getFilterOptions();
		url += '&tx_manhattan_pi1[filterCategory]=' + options.category + '&tx_manhattan_pi1[filterLine]=' + options.line + '&tx_manhattan_pi1[filterColor]=' + options.color;
		
		MProducts.showLoadingSpinner();
		$('#productFilterLine').data('lastUrl', url);

		$.get(url, {}, function(data, textStatus, xhr) {
			if ($('#productFilterLine').data('lastUrl') == url) {
				MProducts.updateProductList(data.html);
				MProducts.hideLoadingSpinner();
				var availableFilterLines = data.availableFilterLines;
				b13forms.showAllOptionsFromSelect($('#productFilterLine'));
				if (availableFilterLines.length) {
					b13forms.hideAllOptionsFromSelect($('#productFilterLine'), availableFilterLines.split(','));
				}
			}
		}, 'json');

		$('#productListNoResults').hide();
	},
	
	filterForCategory: function(categoryId) {
		this.resetProductLineInFilter();
		this.resetProductColorInFilter();
		b13forms.setOptionByValueInSelect($('#productFilterCategory'), categoryId);
		this.filter();
	},

	
	filterForLine: function(lineId) {
		this.resetProductCategoryInFilter();
		this.resetProductColorInFilter();
		b13forms.setOptionByValueInSelect($('#productFilterLine'), lineId);
		this.filter();
	},

	getFilterOptions: function() {
		return {
			category: b13forms.getSelectedOptionFromSelect($('#productFilterCategory')),
			line:     b13forms.getSelectedOptionFromSelect($('#productFilterLine')),
			color:    b13forms.getSelectedOptionFromSelect($('#productFilterColor'))
		}
	},
	
	resetProductCategoryInFilter: function() {
		b13forms.setOptionInSelect($('#productFilterCategory'), 0);
	},
	
	resetProductLineInFilter: function() {
		b13forms.setOptionInSelect($('#productFilterLine'), 0);
	},
	
	resetProductColorInFilter: function() {
		b13forms.setOptionInSelect($('#productFilterColor'), 0);
	},
	
	finder: function() {
		var url = this.initUrl(19) + '&' + this.getFinderOptions();
		MProducts.showLoadingSpinner();
		$('#productFinder').data('lastUrl', url);
		$('#productListIntroduction').hide();
		$.get(url, {}, function(data) {
			if ($('#productFinder').data('lastUrl') == url) {
				MProducts.updateProductList(data);
				MProducts.hideLoadingSpinner();
			}
		}, 'html');
		$('#productListNoResults').hide();
	},

	getFinderOptions: function() {
		return $('form', $('#productFinder')).serialize();
	},
	
	resetFinder: function() {
		$('.jqTransformChecked', $('#productFinder')).removeClass('jqTransformChecked');
		$('.jqTransformLabelChecked', $('#productFinder')).removeClass('jqTransformLabelChecked');
		$('input:checked', $('#productFinder')).attr('checked', false);
		$('#productList').html('');
		$('#productListIntroduction').show();
	},
	
	updateProductList: function(data) {
		$('#productList').html(data);
		if ($('#productList').children().length == 0) {
			$('#productListNoResults').show();
		} else {
			Cufon.replace('.cufonTransform', {hover: true});
			$('#productListNoResults').hide();
		}
	},
	
	showLoadingSpinner: function() {
		MProducts.hideLoadingSpinner();
		$('#productList').html('').before('<div class="spinner"></div>');
	},
	
	hideLoadingSpinner: function() {
		$('.spinner').remove();
	}
};



// used for sharing with Twitter and Facebook
var MShare = {
	shareVideo: function() {
		$('#shareContainerVideo').show();
		$('#shareContainerVideo').mouseleave(function() {
			$(this).hide();
		});
	}
};

var MPopups = {
	init: function() {
		if (!$.fancybox) {
			return;
		}

	/** fancybox **/
	$('.mlightbox-print-norec').fancybox({
		'padding': 0,
		'speedIn': 300,
		'speedOut': 300,
		'changeSpeed': 300,
		'autoScale': false,
		'transitionIn': 'elastic',
		'transitionOut': 'elastic',
		'titlePosition': 'over',
		'titleShow': false,
		'scrolling': 'no',
		'easingIn': 'swing',
		'easingOut': 'swing',
		'showCloseButton': true,
		'showNavArrows': true,
		'enableEscapeButton': true,
		'overlayShow': true,
		'overlayOpacity': 0.8,
		'width': 790,
		'height': 710,
		'fixedPosition': true,
		'fixedElement': '#content',
		'overlayColor': '#000',
		'centerOnScroll': false,
		'hideOnContentClick': false,
		'onComplete': function() {
			$('#fancybox-title').hide();
	 	},
	 	'titleFormat': false
	 });
	$('.mlightbox-print-recsmall').fancybox({
		'padding': 0,
		'speedIn': 300,
		'speedOut': 300,
		'changeSpeed': 300,
		'autoScale': false,
		'transitionIn': 'elastic',
		'transitionOut': 'elastic',
		'titlePosition': 'over',
		'titleShow': false,
		'scrolling': 'no',
		'easingIn': 'swing',
		'easingOut': 'swing',
		'showCloseButton': true,
		'showNavArrows': true,
		'enableEscapeButton': true,
		'overlayShow': true,
		'overlayOpacity': 0.8,
		'width': 790,
		'height': 977,
		'fixedPosition': true,
		'fixedElement': '#content',
		'overlayColor': '#000',
		'centerOnScroll': false,
		'hideOnContentClick': false,
		'onComplete': function() {
			$('#fancybox-title').hide();
			$('#fancybox-right, #fancybox-left').remove();

	 	},
	 	'titleFormat': false
	 });
	$('.mlightbox-print-recbig').fancybox({
		'padding': 0,
		'speedIn': 300,
		'speedOut': 300,
		'changeSpeed': 300,
		'autoScale': false,
		'transitionIn': 'elastic',
		'transitionOut': 'elastic',
		'titlePosition': 'over',
		'titleShow': false,
		'scrolling': 'no',
		'easingIn': 'swing',
		'easingOut': 'swing',
		'showCloseButton': true,
		'showNavArrows': true,
		'enableEscapeButton': true,
		'overlayShow': true,
		'overlayOpacity': 0.8,
		'width': 790,
		'height': 1117,
		'fixedPosition': true,
		'fixedElement': '#content',
		'overlayColor': '#000',
		'centerOnScroll': false,
		'hideOnContentClick': false,
		'onComplete': function() {
			$('#fancybox-title').hide();
			$('#fancybox-right, #fancybox-left').remove();

	 	},
	 	'titleFormat': false
	 });


	/** fancybox video **/
	$('.mvideobox').fancybox({
		'type': 'iframe',
		'padding': 0,
		'speedIn': 300,
		'speedOut': 300,
		'changeSpeed': 300,
		'autoScale': false,
		'transitionIn': 'elastic',
		'transitionOut': 'elastic',
		'titlePosition': 'over',
		'titleShow': false,
		'scrolling': 'no',
		'easingIn': 'swing',
		'easingOut': 'swing',
		'showCloseButton': true,
		'showNavArrows': true,
		'enableEscapeButton': true,
		'overlayShow': true,
		'overlayOpacity': 0.8,
		'width': 790,
		'height': 500,
		'fixedPosition': true,
		'fixedElement': '#content',
		'overlayColor': '#000',
		'centerOnScroll': false,
		'hideOnContentClick': false,
		'onComplete': function() {
			$('#fancybox-title').hide();
			$('#fancybox-right, #fancybox-left').remove();
	 	},
	 	'titleFormat': false
	 });


	/** fancybox slideshow **/
	$('.mslideshow').fancybox({
		'type': 'iframe',
		'padding': 0,
		'speedIn': 300,
		'speedOut': 300,
		'changeSpeed': 300,
		'autoScale': false,
		'scrolling': 'no',
		'transitionIn': 'elastic',
		'transitionOut': 'elastic',
		'titlePosition': 'over',
		'titleShow': false,
		'easingIn': 'swing',
		'easingOut': 'swing',
		'showCloseButton': true,
		'showNavArrows': true,
		'enableEscapeButton': true,
		'overlayShow': true,
		'overlayOpacity': 0.8,
		'width': 790,
		'height': 595,
		'fixedPosition': true,
		'fixedElement': '#content',
		'overlayColor': '#000',
		'centerOnScroll': false,
		'hideOnContentClick': false,
		'onComplete': function() {
			$('#fancybox-title').hide();
			$('#fancybox-right, #fancybox-left').remove();
	 	},
	 	'titleFormat': false
	 });

	}

}



/*** used for the looks PDF view ***/
var Rotator = {
	identifierItemContainer: '.mupDisplayImageSlider',
	identifierNavLeft:       '.mupDisplayNavigateLeft',
	identifierNavRight:      '.mupDisplayNavigateRight',
	identifierThumbnailNavContainer: '.mupDisplayThumbnailContainer',
	classNavLeftOff:  'mupDisplayNavigateLeftOff',
	classNavRightOff: 'mupDisplayNavigateRightOff',
	classNavLeftOn:   'mupDisplayNavigateLeftOn',
	classNavRightOn:  'mupDisplayNavigateRightOn',
	classThumbnailNavOn: 'active',

	init: function(container) {
		// sliding through the images
		$(container).each(function() {
			var innerDiv = $(Rotator.identifierItemContainer, this);
			Rotator.slide(innerDiv, 'start');
			$(Rotator.identifierNavLeft, this).click(function() {
				Rotator.slide(innerDiv, 'left');
				return false;
			});
			$(Rotator.identifierNavRight, this).click(function() {
				Rotator.slide(innerDiv, 'right');
				return false;
			});
		});
	},

	slide: function(innerDiv, direction) {
		var posLeft = parseInt($(innerDiv).css('marginLeft'));
		var itemWidth = parseInt($(innerDiv).children(':first').outerWidth(true));
		var totalWidth = $(innerDiv).children().length * itemWidth;
		var totalItems = $(innerDiv).children().length;
		var currentItemNumber = newItemNumber = Math.abs(posLeft / itemWidth);
		var numItemsVisible = Math.round($(innerDiv).parent().outerWidth(true) / itemWidth);
		var maxLeftMargin = '-' + (totalWidth - (numItemsVisible * itemWidth));

		var arrowLeftDiv = $(Rotator.identifierNavLeft, $(innerDiv).parent());
		var arrowRightDiv = $(Rotator.identifierNavRight, $(innerDiv).parent());

		switch (direction) {
			case 'start':
				$(innerDiv).animate({'marginLeft': '0px'}, 'fast');
				$(arrowLeftDiv).addClass(Rotator.classNavLeftOff).removeClass(Rotator.classNavLeftOn);
				$(arrowRightDiv).addClass(Rotator.classNavRightOn).removeClass(Rotator.classNavRightOff);
				newItemNumber = 0;
				break;

			case 'end':
				$(innerDiv).animate({'marginLeft': maxLeftMargin + 'px'}, 'fast');
				$(arrowLeftDiv).removeClass(Rotator.classNavLeftOff).addClass(Rotator.classNavLeftOn);
				$(arrowRightDiv).removeClass(Rotator.classNavRightOn).addClass(Rotator.classNavRightOff);
				newItemNumber = totalItems-1;
				break;

				// allow slideLeft as long as the first item is not visible yet
			case 'left':
				if (posLeft < 0) {
					posLeft += itemWidth;
					$(arrowLeftDiv).unbind('click');
					$(innerDiv).animate({
						'marginLeft': posLeft + 'px'
					}, 'fast', function() {
						$(arrowLeftDiv).click(function() {
							Rotator.slide(innerDiv, 'left');
							return false;
						});
					});
					$(arrowRightDiv).addClass(Rotator.classNavRightOn).removeClass(Rotator.classNavRightOff);
					newItemNumber = currentItemNumber-1;
				}
				if (posLeft >= 0) {
					$(arrowLeftDiv).addClass(Rotator.classNavLeftOff).removeClass(Rotator.classNavLeftOn);
				}
				break;

				// allow slideRight as long as the last item is not visible yet
			case 'right':
				if (Math.abs(posLeft) < (Math.abs(maxLeftMargin))) {
					posLeft -= itemWidth;
					$(arrowRightDiv).unbind('click');
					$(innerDiv).animate({
						'marginLeft': (posLeft) + 'px'
					}, 'fast', function() {
						$(arrowRightDiv).click(function() {
							Rotator.slide(innerDiv, 'right');
							return false;
						});
					});
					$(arrowLeftDiv).addClass(Rotator.classNavLeftOn).removeClass(Rotator.classNavLeftOff);
					newItemNumber = currentItemNumber+1;
				}
				if (Math.abs(posLeft) >= Math.abs(maxLeftMargin)) {
					$(arrowRightDiv).addClass(Rotator.classNavRightOff).removeClass(Rotator.classNavRightOn);
				}
				break;

			default:
				var itemToGo = parseInt(direction);
				if (itemToGo != 'NaN') {
					newItemNumber = itemToGo;
					if (currentItemNumber < itemToGo) {
						posLeft -= (itemToGo - currentItemNumber) * itemWidth;

						// go right
						$(innerDiv).animate({
							'marginLeft': posLeft + 'px'
						}, 'fast');

						if (Math.abs(posLeft) >= Math.abs(maxLeftMargin)) {
							$(arrowRightDiv).addClass(Rotator.classNavRightOff).removeClass(Rotator.classNavRightOn);
						}

					} else if (currentItemNumber > itemToGo) {
						posLeft += (currentItemNumber - itemToGo) * itemWidth;

						// go left
						$(innerDiv).animate({
							'marginLeft': posLeft + 'px'
						}, 'fast');

						if (posLeft >= 0) {
							$(arrowLeftDiv).addClass(Rotator.classNavLeftOff).removeClass(Rotator.classNavLeftOn);
						}

					}
				}
		}

		// update navigation
		if (currentItemNumber != newItemNumber) {
			var navContainer = $(Rotator.identifierThumbnailNavContainer);
			$('.' + Rotator.classThumbnailNavOn, navContainer).removeClass(Rotator.classThumbnailNavOn);
			navContainer.children().eq(newItemNumber).addClass(Rotator.classThumbnailNavOn);
		}
	}	
};


function rotatorJumpToPage(imageItem) {
	var itemToGo = Math.floor((imageItem+1) / 2);
	// jumps to a specific item
	Rotator.slide($('.mupDisplayImageSlider'), itemToGo);
	return false;
}



var b13forms = {

		// email address validation
	isValidEmail: function(email) {
		var emailRe = /^([a-z0-9_\.\-\+]+)@([\da-z\.\-]+)\.([a-z\.]{2,6})$/i
		return emailRe.test(email);
		//return !email || emailRe.test(email);
		//return (email.length > 4 && email.indexOf('@') > 1 && email.indexOf('.') > 1 && (email.indexOf('@') < email.lastIndexOf('.')) && (email.lastIndexOf('.') != email.length-1));
	},

		// input logic
	initInputFieldsWithTitle: function() {
		$('input[type=text], textarea').each(b13forms.fillInputWithTitle);
		$('input[type=text], textarea').blur(b13forms.fillInputWithTitle);
		$('input[type=text], textarea').blur(function() {
			$(this).parent('.formRow').removeClass('isActive');
		});
		$('input[type=text], textarea').bind('click focus', b13forms.removeTitleFromInput);
		$('input[type=text], textarea').bind('click focus', function() {
			$(this).parent('.formRow').addClass('isActive');
		});
		$('form').bind('submit', function() {
			$('input[type=text], textarea').each(b13forms.removeTitleFromInput);
		});
	},

	fillInputWithTitle: function() {
		if ($(this).attr('title') && ($(this).val() == '' || $(this).val() == $(this).attr('title'))) {
			$(this).val($(this).attr('title'));
			$(this).addClass('inputDefaultValue');
		}
	},

	removeTitleFromInput: function() {
		if ($(this).hasClass('inputDefaultValue') && $(this).val() == $(this).attr('title')) {
			$(this).val('');
			$(this).removeClass('inputDefaultValue');
		}
	},

		// jqtransform
	getSelectedOptionFromSelect: function(selectElement) {
		var selectedIndex = $(selectElement).prev().find('a.selected').attr('index');
		var selectEl = $(selectElement)[0];
		var option = selectEl.options[selectedIndex];
		if (option) {
			return option.value;
		} else {
			return '';
		}
	},
		
		// when clicked on an item, we'll find the corresponding value from the select-option
	getSelectedOptionFromClick: function(anchorTag) {
		var selectedIndex = $(anchorTag).attr('index');
		var selectEl = ($('select', $(anchorTag).parents('jqTransformSelectWrapper')).first())[0];
		var option = selectEl.options[selectedIndex];
		if (option) {
			return option.value;
		} else {
			return '';
		}
	},
	
	setOptionInSelect: function(selectElement, index) {
		var selectEl = $(selectElement)[0].options[index].selected = true;
		$(selectElement).prev().find('.selected').removeClass('selected');
		var contentEl = $(selectElement).prev().find('a[index=' + index+ ']').addClass('selected');
		if (index == 0) {
			$(selectElement).prev().prev().find('span').html((contentEl.parent().attr('title') || contentEl.html())).addClass('all');
		} else {
			$(selectElement).prev().prev().find('span').html((contentEl.parent().attr('title') || contentEl.html())).removeClass('all');
		}
	},
	setOptionByValueInSelect: function(selectElement, value) {
			// find the index first
		foundIndex = -1;
		valueToSet = value;
		$('option', $(selectElement)[0]).each(function(index) {
			var val = $(this).attr('value');
			if (val == valueToSet) {
				foundIndex = index;
				return false;
			}
		});
		if (foundIndex != -1) {
			this.setOptionInSelect(selectElement, foundIndex);
		}
	},



	/** hide all options in the select element except the options in the array*/
	hideAllOptionsFromSelect: function(selectElement, exceptionArray) {
	
		// allowed indices
		allowedOptions = jQuery.makeArray(exceptionArray);
		allowedIndices = [];
		$('option', $(selectElement)).each(function(index) {
			if ($(this).attr('value') == '' || jQuery.inArray($(this).attr('value'), allowedOptions) != -1) {
				allowedIndices.push(index);
			}
		});

		allowedIndices = jQuery.makeArray(allowedIndices);
		$(selectElement).prev().find('a').each(function() {
			var index = $(this).attr('index');
			if (jQuery.inArray(parseInt(index), allowedIndices) == -1) {
				$(this).hide();
			}
		});
	},

	showAllOptionsFromSelect: function(selectElement) {
		$(selectElement).prev().find('a').show();
	},
	
	addScrollbarToSelect: function(anchorEl) {
		var wrapperEl = $(anchorEl).parents('.jqTransformSelectWrapper');
		var ul = wrapperEl.find('ul');
		var numChildren = ul.find('a:visible').length;
		if (wrapperEl.find('.scrolling').length == 0) {
			if (numChildren > 12) {
				$(ul).wrap('<div class="scrolling" />');
				var container = wrapperEl.find('.scrolling');
				var neededHeight = (numChildren * parseInt($(ul).children().first().height()));
				$(ul).css('maxHeight', '5000px');
				$(ul).height(neededHeight);
				container.prepend('<div class="lower"></div>').prepend('<div class="higher"></div>');
				$('.lower', container).bind('mouseover', function() {
					$(ul).data('doscroll', 1);
					b13forms.scrollbarSelectScrollDown(ul);
				});
				$('.lower, .higher', container).bind('mouseout', function() {
					$(ul).data('doscroll', 0);
				});
				$('.higher', container).bind('mouseover', function() {
					$(ul).data('doscroll', 1);
					b13forms.scrollbarSelectScrollUp(ul);
				});
			}
		} else if (numChildren <= 12) {
			$(ul).siblings().remove();
			$(ul).unwrap();
			$(ul).css('marginTop', '28px');
		}
	},

		// used when a dropdown was clicked open
	scrollbarSelectScrollUp: function(ul) {
		var currentPos = parseInt($(ul).css('marginTop'));
		var itemHeight = parseInt($(ul).children().first().height());
		if (currentPos <= 0 && $(ul).data('doscroll') != 0) {
			currentPos += itemHeight;
			$(ul).animate({
				'marginTop': currentPos + 'px'
			}, 'fast', function() {
				b13forms.scrollbarSelectScrollUp(ul);
			});
		}
	},

	scrollbarSelectScrollDown: function(ul) {
		var currentPos  = parseInt($(ul).css('marginTop'));
		var itemHeight  = parseInt($(ul).children().first().height());
		var totalHeight = parseInt($(ul).parent().height());
		totalHeight -= parseInt($(ul).siblings().first().height());
		totalHeight -= ($(ul).children().length * itemHeight);
		if (Math.abs(currentPos) <= Math.abs(totalHeight) && $(ul).data('doscroll') != 0) {
			currentPos -= itemHeight;
			$(ul).animate({
				'marginTop': currentPos + 'px'
			}, 'fast', function() {
				b13forms.scrollbarSelectScrollDown(ul);
			});
		}
	}

};


