var detached = false;
var grown = false;
var nav_goodsize = false;

function expandSubsections() {
	$('ul.subsections').slideToggle(1,
		function() {
		  $(window).trigger('resize');
			$(window).trigger('scroll');
		}
	);
}
function expandCountries(continentid) {
  $('ul#continent'+continentid).slideToggle(1,
		function() {
		  $(window).trigger('resize');
			$(window).trigger('scroll');
		}
  );
}

function expandall() {
	jQuery('div.itinerary_item.expandable').each(function(i) {
		var num = $(this).parent()[0].id.substr(17);
		if ( $(this).hasClass('expanded') ) {
			
		}
		else {
			$(this).addClass('expanded');
			$('div#itinerary_item_details'+num).addClass('expanded');
			$(this).css('border-bottom','1px solid #913101');
		}
	});	
}
function colapseall() {
	jQuery('div.itinerary_item.expandable').each(function(i) {
		var num = $(this).parent()[0].id.substr(17);
		//if ( $(this).hasClass('expanded') ) {
			$(this).removeClass('expanded');
			$('div#itinerary_item_details'+num).removeClass('expanded');
			$(this).css('border-bottom','1px solid #FFFFFF');
		//}
	});	
}

/*
oldTextAry = new Array();
function changeText(fieldObj, newTexStr) {
	if (newTexStr == fieldObj.innerHTML) {
		colapseall();
		fieldObj.innerHTML =  oldTextAry[fieldObj.id];
	} else {
		expandall();
		oldTextAry[fieldObj.id] = fieldObj.innerHTML;
		fieldObj.innerHTML = newTexStr;
	}
}
*/

jQuery(document).ready(function() {
	jQuery('div.itinerary_item.expandable').each(function(i) {
		var num = $(this).parent()[0].id.substr(17);
		$(this).bind('click',function() { 
			if ( $(this).hasClass('expanded') ) {
				$(this).removeClass('expanded');
				$('div#itinerary_item_details'+num).removeClass('expanded');
			}
			else {
				$(this).addClass('expanded');
				$('div#itinerary_item_details'+num).addClass('expanded');
			}
		});
		$(this).bind('mouseover',function() {
			if ( ! $(this).hasClass('expanded') ) {
				$(this).css('border-bottom','1px solid #913101');
			}
		});
		$(this).bind('mouseout',function() { 
			if ( ! $(this).hasClass('expanded') ) {
				$(this).css('border-bottom','1px solid #FFFFFF');
			}
		});
	});
	/*
  jQuery('#mycarousel').jcarousel({
      // Uncomment the following option if you want items
      // which are outside the visible range to be removed
      // from the DOM.
      // Useful for carousels with MANY items.

      // itemVisibleOutCallback: {onAfterAnimation: function(carousel, item, i, state, evt) { carousel.remove(i); }},
      vertical: true,
          itemLoadCallback: mycarousel_itemLoadCallback
  });*/
  /*
    if ( $('.pagesection').height() < $('.left_navigation').height() ) {
      $('.pagesection').height($('.left_navigation').height());
    }
  */
  nav_goodsize = ( $('.left_navigation').height() < $(window).height() ) && 
                    ( $('.left_navigation').height() < $('.pagesection').height() );
	if ( ! nav_goodsize ) {
		expandSubsections();
	}
	$(window).resize(function() {
		nav_goodsize_new =  ( $('.left_navigation').height() < $(window).height() ) && 
                    ( $('.left_navigation').height() < $('.pagesection').height() );
		if(nav_goodsize && !nav_goodsize_new) {
		  $('.left_navigation').css('position','relative');
		  $('.left_navigation').css('top','');
		}
		nav_goodsize = nav_goodsize_new;
	});
	
	$(window).scroll(function() {
		if ( nav_goodsize ) {
			var leftnav_bott = $('.left_navigation').offset().top + $('.left_navigation').height();
			var pagesect_bott = $('.pagesection').offset().top + $('.pagesection').height();
		    if ( jQuery.browser.msie ) {
				if($(window).scrollTop() > $('.pagesection').offset().top) {
				  $('.left_navigation').css('position','absolute');
				  $('.left_navigation').css('top',document.documentElement.scrollTop);
				}
				else if ($(window).scrollTop() <= $('.pagesection').offset().top) {
				  $('.left_navigation').css('position','relative');
				  $('.left_navigation').css('top','');
				}
				else if ($(window).scrollTop() <= pagesect_bott-$('.left_navigation').height()) {
					  $('.left_navigation').css('position','absolute');
					  $('.left_navigation').css('top',document.documentElement.scrollTop);
				}
				else if ( leftnav_bott > pagesect_bott ) {
				  $('.left_navigation').css('position','absolute');
				  $('.left_navigation').css('top',pagesect_bott-$('.left_navigation').height()+'px');
				}
			}
			else {
				if(!detached && $(window).scrollTop() > $('.pagesection').offset().top) {
				  $('.left_navigation').css('position','fixed');
				  $('.left_navigation').css('top','0px');
				  detached = true;
				}
				else if(detached && $(window).scrollTop() <= $('.pagesection').offset().top) {
				  $('.left_navigation').css('position','relative');
				  $('.left_navigation').css('top','');
				  detached = false;
				}
				else if(detached && $(window).scrollTop() <= pagesect_bott-$('.left_navigation').height() ) {
				  if ( $('.left_navigation').css('position') == 'absolute' ) {
					  $('.left_navigation').css('position','fixed');
					  $('.left_navigation').css('top','0px');
				  }
				}
				else if ( leftnav_bott > pagesect_bott ) {
					  //diff = leftnav_bott - pagesect_bott;
					  /*
					  $('.left_navigation').css('position','fixed');
					  $('.left_navigation').css('top','0px');
					  detached = true;
					  newh = $('.pagesection').height() + $('.left_navigation').height() + 80;
					  $('.pagesection').height(newh);
					  grown = true;
					  */
				  $('.left_navigation').css('position','absolute');
				  $('.left_navigation').css('top',pagesect_bott-$('.left_navigation').height()+'px');
				}
			}
		}
  });

	$(".lightbox").lightbox();
});
