var FancyTips = new Class({
	initialize: function (elements, options) {
		this.setOptions({
			"tipcontents": ".tipcontents"
		},options);
		
		elements.each(function (element) {
			contents_element = element.getElement(this.options.tipcontents);
			if (contents_element) {
				var currentTitle = element.getProperty("title");
				element.setProperty("title", currentTitle + " :: " + contents_element.innerHTML);
			}
		}, this);
		
		this.tips = new Tips(elements, options);
	}
});
FancyTips.implement(new Options);

window.addEvent("domready", function(){

	var links = $$("a");
	new SmoothScroll();

	new Accordion($$("#faqlist li h2"), $$("#faqlist li div"));
	
	$$("#homeslideshow ul.images").each(function(el){ new Ticker(el, {"interval": 5000}) });
	
	if($("pen_carousel")) {
		var penList = new Carousel ($("pen_carousel"), { 
			autoStyle: true,
			idPrevious: $("pen_carousel_previous"),
			idNext: $("pen_carousel_next"),
			visibleItems: 10,
			scrollAmount: 50,
			scrollInterval: 500,
			fxTransition: Fx.Transitions.quadOut
		});
		
		var penItemSelector = new ListItemSelector($("pen_carousel"));
		penList.jumpTo(penItemSelector.selectClass("selected"));
	}
	
	new Tips($$(".tooltip"), {
		initialize: function(){
			this.fx = new Fx.Style(this.toolTip, "opacity", {wait: false});
		},
		onHide: function(){
			this.fx.start(0);
		},
		onShow: function(){
			this.fx.start(1);
		},
		offsets:{
			x:10,
			y:10
		}
	});
	
		
  new FancyTips($$(".pen_link"), {
		"tipcontents":"div",
		"maxTitleChars": 100,
		"className": "enlargetips",
    offsets:{
			x:10,
			y:10
    }
	});
	
	
	$$(".maxlength").each(function(ta){
		var maxChars = 100;
		if(maxChars){
			ta.addEvent("keyup", function(e){
				if(this.getProperty("value").length > maxChars){
					this.value = this.getProperty("value").substr(0, maxChars);
				}
			});
		}
	});	
		
		
	multibox = new MultiBox('mb', {
		showControls:true,
		useOverlay:true,
		overlayColor: "#ffffff"
	});	
	
	if ($('montblancpopup')){
		$$(".closePopUp").each(function(el){ 
			el.addEvent('click', function(e){
				new Event(e).stop();
				$('montblancpopup').setStyle('display', 'none');
			});
		});
	}


});

window.addEvent("load", function(){

	if($("pen_carousel")){
		var h = $("penlist_options").getSize().size.y;
		$$(".penImage").each(function(el){
			var img = el.getFirst();
			var imgHeight = img.getSize().size.y;
			var pad = (h - imgHeight) / 2;
			if(pad > 0)
				el.setStyle("margin-top", pad.round() + "px");
		});
	}
	
});

function addToBasketCheck(){
	var eProductIDs = document.getElementsByName("ProductIDs")
	
	var c = false;
	var d = true;
	
	switch (eProductIDs.length){
		case 0:
			return false;
		case 1:
			eProductIDs[0].checked=true;

			// check the option setting
			var eProductOption = document.getElementById("ProductOption_" + eProductIDs[0].value + "_NibSize");
			if (eProductOption) {
				d=d&&eProductOption[eProductOption.selectedIndex].value.length!=0;
			}
			if(!d) document.getElementById( "selectoptionmsg" ).style.color="red;";
			return d;
		default:
			var c = false;
			for (var i=0;i<eProductIDs.length;i++){
				c=c||eProductIDs[i].checked;
				
				if ( eProductIDs[i].checked ) {
					// check the option setting
					var eProductOption = document.getElementById("ProductOption_" + eProductIDs[i].value + "_NibSize");
					if (eProductOption) {
						d=d&&eProductOption[eProductOption.selectedIndex].value.length!=0;
					}
				}
				
			}
			var eProductBundleIDs = document.getElementsByName("ProductBundleIDs")
			for (i=0;i<eProductBundleIDs.length;i++){
				c=c||eProductBundleIDs[i].checked;
			}
			if(!c) document.getElementById( "selectcheckboxmsg" ).style.color="red;";
			return c;
	}
}