function addHover() {
	jQuery("ul.actions li").each( function() {
		jQuery(this).hover( function() {
			jQuery(this).addClass('hover');
		},
		function() {
			jQuery(this).removeClass('hover');
		});
	});
}

function getLeadingHtml (input, maxChars) {
	// token matches a word, tag, or special character
	var	token = new RegExp("\w+|[^\w<]|<(\/)?(\w+)[^>]*(\/)?>|<","g"),
		selfClosingTag = /^(?:[hb]r|img)$/i,
		output = "",
		charCount = 0,
		openTags = [],
		match;

	// Set the default for the max number of characters
	// (only counts characters outside of HTML tags)
	maxChars = maxChars || 250;

	while ((charCount < maxChars) && (match = token.exec(input))) {
		// If this is an HTML tag
		if (match[2]) {
			output += match[0];
			// If this is not a self-closing tag
			if (!(match[3] || selfClosingTag.test(match[2]))) {
				// If this is a closing tag
				if (match[1]) openTags.pop();
				else openTags.push(match[2]);
			}
		} else {
			charCount += match[0].length;
			if (charCount <= maxChars) output += match[0];
		}
	}

	// Close any tags which were left open
	var i = openTags.length;
	while (i--) output += "</" + openTags[i] + ">";
	
	return output;
}






	
jQuery(document).ready(function(){

                jQuery(function(){
		 jQuery("#signup_button").click(function(){
		 window.location.replace("/my-inghams/sign-up?email=" + jQuery("#register_email").val());
		 });
		});

  		if(typeof (jQuery.fn.jqTransform) == "function") {
	  		jQuery("form:not('#inghams-query-form, #inghams-availability-form,#inghams-holiday-code-form,.deal_sort')").jqTransform();
                        //jQuery(".renderThenShow").removeClass("renderThenShow");
                        jQuery(".renderThenShow").show();
  		}
  		jQuery('#footer_badges a img').imghover({suffix: '_over'});
        

  		
  		if(typeof (jQuery.fn.datepicker) == "function") {
  		
			jQuery("#search_when").datepicker({ buttonImageOnly: true, dateFormat: "dd/mm/yy", changeMonth: false, changeYear: false, minDate: 0 });
			jQuery("#calendarbutton").click(function() {
				jQuery("#search_when").datepicker( 'show' );
			});
  			jQuery("#datepicker").datepicker();
  		}
  		
		if(jQuery('#tabbed-list').length != 0) {
			/*jQuery(".tabs").tabs();*/
			/* Aj tab script for product homepages*/
			$(function(){
				var tabs = $('div.tabs ul a').parent();
				var tabContainers = $('div.box_inner > div');
				tabContainers.hide().filter(':first').show();
				$('div.tabs ul a').click(function(){
					tabContainers.hide();
					tabContainers.filter(this.hash).show();
					tabs.removeClass('ui-state-active');
					$(this).parent().addClass('ui-state-active');
					return false;
				}).filter(':first').click();
			});
  		}

		jQuery(".feature").each( function() {
			jQuery(this).click( function() {
				window.location=jQuery(this).children('a').attr('href');
			});
		});
		jQuery(".more").each( function() {
			jQuery("#"+this.id+"_content").hide();
			jQuery(this).click( function() {
				jQuery(this).toggleClass('expanded');
				jQuery("#"+this.id+"_content").toggle("slide");
				return false;
			})
		});

		jQuery("#slideshow").cycle({prev:'#imgprev', next:'#imgnext' });

		jQuery(function() {
			jQuery("#search_who_adults_slider").slider({
				range: "min",
				value:2,
				min: 0,
				max: 8,
				step: 1,
				slide: function(event, ui) {
					jQuery("#search_who_adults").val(ui.value);
					jQuery("#search_who_adults_display").html(ui.value);
				}
			});
			//jQuery("#search_who_adults").val(jQuery("#search_who_adults_slider").slider("value"));
		});
		jQuery(function() {
			jQuery("#search_who_children_slider").slider({
				range: "min",
				value:0,
				min: 0,
				max: 8,
				step: 1,
				slide: function(event, ui) {
					jQuery("#search_who_children").val(ui.value);
					jQuery("#search_who_children_display").html(ui.value);
				}
			});
			//jQuery("#search_who_children").val(jQuery("#search_who_children_slider").slider("value"));
		});
		jQuery(function() {
			jQuery("#search_who_infants_slider").slider({
				range: "min",
				value:0,
				min: 0,
				max: 8,
				step: 1,
				slide: function(event, ui) {
					jQuery("#search_who_infants").val(ui.value);
					jQuery("#search_who_infants_display").html(ui.value);
				}
			});
			//jQuery("#search_who_infants").val(jQuery("#search_who_infants_slider").slider("value"));
		});

		jQuery('body').supersleight({shim: '/other_files/website/images/transparent.gif'});


		defaultValue = jQuery('#siteSearchBox').val();  
		jQuery('#siteSearchBox').click(function() {
			if( this.value == defaultValue ) {
				jQuery(this).val("");
			}
		});


		jQuery(function(){
			if (jQuery('#web_description').length != 0) {

				jQuery('.web_description').each (function(){
					var self = jQuery(this);
					var text = jQuery(this).find('.truncate_more').html();
					var less = getLeadingHtml(text,350)+"<span>...</span>";

					jQuery(this).find('.truncate_less').html(jQuery(less));

					self.find('a.truncate_more_link').click(function(){
						var description = jQuery(this);

						self.find('.truncate_more').toggle();           
						self.find('.truncate_less').toggle();   

						if (description.text() == "View more") { 
							description.text("View less");
						}
						else {
							description.text("View more");
						}
						return false;
					});
				});

			}

		});
		
		/* widget */
		jQuery(".widget:not(#widget_weather,#widget_subscribe,#widget_tripadvisor),.miniwidget").each( function() {
			jQuery(this).click( function(event) {
				var src = event.originalTarget || event.srcElement;
				if (!jQuery(src).is("a,img") ) { 
					var alink = jQuery(this).find(".widget_top a").get(0);
					alink = jQuery(alink);
					if (alink.attr("target") != "_blank") {
						window.location=alink.attr('href');
					}else {
						window.open(alink.attr('href'),"_blank");
					}
				}
			});
		});


		


		var bodyId = jQuery("body").attr("id");
		var bodyClass = jQuery("body").attr("class");

		/*resort dropdown - used on /product-section/resort/ and /product-section/country/itemXXX/ */
		if (bodyId === "snowSection" || bodyId === "country_search" ) {
                   InghamsUtils.gotoPage(jQuery("#searchsnow"),"/ski-holidays/snow-reports/country/");
                   InghamsUtils.gotoPage("#searchcountry select", "country");
                   InghamsUtils.gotoPage("#searchresort select", "resorts/hotels");
		}

		/* tabbed pages*/
		if (bodyClass.indexOf("ski_packs") != -1) {
                   jQuery(".skipackTable tr:even").addClass("odd");
		}

		/* Accommodation List */
		/* if (jQuery("#content_accommodation, #tcontent_accommodation").length != 0) {}*/

                /*if(bodyId === "deals_and_offers") {
	  	  jQuery(".sortBar select").jqTransform();
                }*/
                                   InghamsUtils.toggleWebDescription(); 
	});



