var pageTitleFull = document.title;
var pageTitleEnd = pageTitleFull.indexOf('|');
var pageTitle = (pageTitleEnd!=-1?pageTitleFull.substring(0,pageTitleEnd):pageTitleFull);
if(pageTitleEnd==-1)document.title = document.title + '  |  Live and Thrive';

var thisURL = document.location.href.toLowerCase();
var p1 = thisURL.indexOf("//") ;
var e_url = thisURL.substring(p1+2) ;//URL without http://
var p2 = e_url.indexOf("/") ;
var rel_url = thisURL.substring(p1+2+p2);

// add linebreaks to Nav_primary menu items with spaces and add top padding to single word items 
jQuery(document).ready(function(){
	jQuery("#nav_primary ul[id*='nav_'] > li").each(function(){
		var tabHtml = jQuery(this).html();
		jQuery(this).replaceWith('<li class="parent">'+tabHtml+'</li>');
	});
	jQuery("#nav_primary a:not(#nav_primary ul ul a)").each(function(n){
		
		var menuItem = jQuery.trim(jQuery(this).text()).replace(" ","<br/>");
		if(jQuery.trim(jQuery(this).text()).indexOf(" ")==-1){ // single line
			
			menuItem = "<span class='oneLine'>"+menuItem+"</span>";
		}
		jQuery(this).html(menuItem);
	})
	jQuery(".cat_button").hover(
		function(){
			jQuery(this).addClass("submitHover");
		},
		function(){
			jQuery(this).removeClass("submitHover");
		}
	);
	jQuery('a.loginLink').click(function(){
		scrollToTop(openLogin, true);
		return false;
	});	
	/*jQuery("#nav_954477").append('<li class="parent" class="background: none;margin-bottom: 3px;"><a href="#" style="cursor:default;padding: 0;background: url(/images/nav_placeholder.gif) no-repeat right top;width:80px;height:48px;"></a></li>');*/
	/*var mainLoginAction = jQuery('#catseczoneform48688').attr('action');
	var thisPageURL = document.location.href;
	var thisShortURL = thisPageURL.substring(thisPageURL.indexOf('.com/'));
	jQuery('#catseczoneform48688').attr('action',mainLoginAction+'&amp;PageID='+thisPageURL);*/
	
	// Set the login Form Action URL to redirect to secure page
	/*var loginFormAction = jQuery('#loginBox form:first').attr('action');
	jQuery('#loginBox form[action^="/"]').attr('action','https://liveandthrive.worldsecuresystems.com'+loginFormAction);*/
	
});

// scroll the page to top and open the login panel

function openLogin(n){
	if(jQuery("#outerLayout_signin .container").css("display")!="block"){
		jQuery('a.login-register').click();
	}
}
function openRetrievePass(n){
	if(jQuery("#outerLayout_signin .container").css("display")!="block"){
		jQuery('a.login-register').click();
		if(jQuery('#outerLayout_signin .container #forgotpass').css("display")!="block"){
			jQuery('#outerLayout_signin .container div.forgot a:eq(1)').click();
		}
	}	
}
function scrollToTop(callback,n){
	var delay = 0, speed = 800;
	if(jQuery(document).scrollTop()!=0){
		if(jQuery(document).scrollTop()>500){
			delay = 500;
			speed = 800;
		}else if(jQuery(document).scrollTop()>200){
			delay = 300;
			speed = 600;
		}else{
			delay = 0;
			speed = 400;
		}
		jQuery.scrollTo(0,speed, {onAfter: function(){
				if(delay >0){
					jQuery(this).oneTime(delay,function(){
						return callback(n);
					});
				}else{
					return callback(n);
				}	
			}
		});
	}else{
		return callback(n);
	}
}


// used to test if a value is numeric or not.
function isNumber(n) {
  return !isNaN(parseFloat(n)) && isFinite(n);
}

//used to remove a token substring from a string
function remove(s, t) {
/*
**    s  string to be processed
**    t  token to be removed
**  returns new string
*/
i = s.indexOf(t);
r = "";
if (i == -1) return s;
r += s.substring(0,i) + remove(s.substring(i + t.length), t);
return r;
}  

var months = new Array();
months[1] = "January";
months[2] = "February";
months[3] = "March";
months[4] = "April";
months[5] = "May";
months[6] = "June";
months[7] = "July";
months[8] = "August";
months[9] = "September";
months[10] = "October";
months[11] = "November";
months[12] = "December";

var bkUnit = new Array();
bkUnit['person'] = 'people';
bkUnit['family'] = 'families';
bkUnit['couple'] = 'couples';
bkUnit['group'] = 'groups';
bkUnit['team'] = 'teams';

var dayList = {'Sunday':1,'Monday':2,'Tuesday':3,'Wednesday':4,'Thursday':5,'Friday':6,'Saturday':7}

var timeList = {'7:00 AM':7,'7:30 AM':7.5,'8:00 AM':8,'8:30 AM':8.5,'9:00 AM':9,'9:30 AM':9.5,'10:00 AM':10,'10:30 AM':10.5,'11:00 AM':11,'11:30 AM':11.5,'12:00 Noon':12,'12:30 PM':12.5,'1:00 PM':13,'1:30 PM':13.5,'2:00 PM':14,'2:30 PM':14.5,'3:00 PM':15,'3:30 PM':15.5,'4:00 PM':16,'4:30 PM':16.5,'5:00 PM':17,'5:30 PM':17.5,'6:00 PM':18,'6:30 PM':18.5,'7:00 PM':19,'7:30 PM':19.5,'8:00 PM':20,'8:30 PM':20.5,'9:00 PM':21,'9:30 PM':21.5,'10:00 PM':22}

// dropdown menu functionality

var thisMenu = null;

// closes an individual dropdown menu
function checkClassRemove(elem){
	if(thisMenu!=jQuery(elem).find("a:first").text()){
		jQuery(elem).removeClass("sfhover");
		jQuery(elem).find("ul").slideUp('fast');
	}
}

// closes each dropdown menu that doesn't contain the text of thisMenu
function closeDropDowns(){ 
	
	jQuery("#nav_primary ul:first > li, #nav_secondary ul:first > li").each(function(n){
		//alert(thisMenu+" - "+jQuery(this).find("a:first").text());												  
		if(jQuery(this).find("a:first").text()!=thisMenu){
			jQuery(this).removeClass("sfhover");
			jQuery(this).find("ul").hide();
		}
	});
}


function toggleSlide(elem){
	if(jQuery(elem).css("display")!="none"){
		jQuery(elem).slideUp('default');	
	}else{
		jQuery(elem).slideDown('default');	
	}
}


jQuery(document).ready(function(){ 

// Format WhosloggedIn display		   
	jQuery("#loginLogout a.login-register").addClass("png_bg"); // add png fix to login button
	var whoslogged = jQuery("#loginLogout .whosloggedin").text();
	var p = whoslogged.indexOf("."); // get position of first period
	jQuery("#loginLogout .whosloggedin").text(whoslogged.substring(0,p+1)); // remove log in/out text
	if(isLoggedIn=="1"){
		jQuery("#loginLogout a.login-register").hide();
		jQuery("#loginLogout div.logout a").addClass("png_bg");		
		jQuery("#loginLogout div.logout").show();
	}
	jQuery("#loginLogout a.login-register").click(function(){
		if(jQuery("#outerLayout_signin .container").css("display")=="block"){  //close the sign-in pane
			jQuery("#outerLayout_signin .container").slideUp('default',function(){
				jQuery("#loginLogout a.login-register").text("Login");
			});
		}else{ //open the sign-in pane
			jQuery("#outerLayout_signin .container").slideDown('default',function(){
				jQuery("#loginLogout a.login-register").text("Close");
				jQuery('#loginBox form:first input:first').focus();
			});
		}			
	});
	jQuery("#loginLogout a.login-register").focus(function(){
		if(this.blur)this.blur();
	});

// Format Shopping Cart Summary
	if(jQuery("#catCartSummary a.cartSummaryLink").length>0){
		var viewCartURL = jQuery("#catCartSummary a.cartSummaryLink").attr("href");
		jQuery("#catCartSummary a.cartSummaryLink").remove();
		jQuery("#catCartSummary .cartSummaryItem").wrapInner("<a href='"+viewCartURL+"'></a>");
	}
// Format BreadCrumb appearance
	jQuery("#innerLayout_mainHead .breadCrumb a:last").addClass("selected");
	
// Set "active" styles on navigation according to BreadCrumb
	var BCindex1 = jQuery("#innerLayout_mainHead .bcrumbLinks a:eq(1)").attr('href');
	var BCindex2 = jQuery("#innerLayout_mainHead .bcrumbLinks a:eq(2)").attr('href');
	var BCindex3 = jQuery("#innerLayout_mainHead .bcrumbLinks a:eq(3)").attr('href');
	var BCindex4 = jQuery("#innerLayout_mainHead .bcrumbLinks a:eq(4)").attr('href');
	var bcrumbLength = jQuery("#innerLayout_mainHead .bcrumbLinks a").length;
	jQuery("#nav_primary ul[id*='nav_'] > li > a, #nav_secondary ul[id*='nav_'] > li > a, #innerLayout_navBar ul[id*='nav_'] > li > a, #innerLayout_navBar ul ul a, #sideBarRight .subNav_menu a").each(function(n){ 
																																												
		var $navPrimaryLi = jQuery(this);
		
		jQuery("#innerLayout_mainHead .bcrumbLinks a").each(function(m){
			
			if(m>0){ // exclude the first breadcrumb item (Home)
				
				if($navPrimaryLi.attr('href').toLowerCase()==jQuery(this).attr('href').toLowerCase()){
					
					if($navPrimaryLi.parents("#innerLayout_navBar").length>0){ 
						// check to see if the first item the sub1-home and ignore if it is
						if(jQuery('#innerLayout_navBar a:first').attr('href')!=$navPrimaryLi.attr('href')){
							$navPrimaryLi.parent('li').addClass("selected");
						}else{
							if(jQuery('#innerLayout_navBar a:first').attr('href').toLowerCase().indexOf('/home')==-1)$navPrimaryLi.parent('li').addClass("selected");
						}
					}else{
						$navPrimaryLi.parent().addClass("selected");
					}
				}
			}
		});
	});
	/*jQuery("#nav_primary ul li.parent ul a, #nav_secondary ul li.parent ul a, #innerLayout_navBar ul li.parent ul a, #innerLayout_navBar2 ul li.parent ul a, #nav_secondary ul li.parent ul a").each(function(n){
		if(jQuery(this).attr('href')==BCindex2){
			jQuery(this).parent().addClass("selected");	
		}
		var $navPrimaryLiLi = jQuery(this);
		jQuery("#innerLayout_mainHead .bcrumbLinks a").each(function(m){
			if(m>0){
			if($navPrimaryLiLi.attr('href').indexOf(jQuery(this).attr('href'))!=-1){
				$navPrimaryLiLi.parent().addClass("selected");
				return false;
			}}
		});		
	});
	jQuery("#innerLayout_navBar ul li a").each(function(n){
		var $innerLayoutLi = jQuery(this);
		jQuery("#innerLayout_mainHead .bcrumbLinks a").each(function(m){
			if(m>0){
			if($innerLayoutLi.attr('href').indexOf(jQuery(this).attr('href'))!=-1){
				$innerLayoutLi.parent().addClass("selected");
				return false;
			}}
		});
	});
	jQuery("#innerLayout_navBar2 ul li a").each(function(n){
		var $innerLayout2Li = jQuery(this);
		jQuery("#innerLayout_mainHead .bcrumbLinks a").each(function(m){
			if(m>0){
			if($innerLayout2Li.attr('href').indexOf(jQuery(this).attr('href'))!=-1){
				$innerLayout2Li.parent().addClass("selected");
				return false;
			}}
		});
		
	});*/
	
	
});

jQuery(document).ready(function(){  
	//move submenus of the navBar into their own container below the navBar. only show if parent container selected.
	jQuery('#innerLayout_navBar2').html('<ul id="navBar2">');
	jQuery('#innerLayout_navBar li.selected li').each(function(){												  
		var alink = jQuery(this).html();
		jQuery('<li class="'+jQuery(this).attr('class')+'">').html(alink).appendTo('#innerLayout_navBar2 ul');
	});
	jQuery('#innerLayout_navBar2:has(li)').slideDown('slow');
	//catSetSelectedCSSItem('navBar2');	
	
	var primaryMenu = jQuery("#nav_primary ul:first > li");
	
	jQuery("#nav_primary ul:first > li, #nav_secondary ul:first > li, #innerLayout_navBar ul:first > li, #innerLayout_navBar2 ul:first > li").hover(
      function () {
        if(!jQuery(this).hasClass('selected')){
			jQuery(this).addClass("sfhover");
		}else{
			jQuery(this).addClass("selected");
		}
		thisMenu = jQuery(this).find("a:first").text();
		if(jQuery(this).hasClass('parent')){
			closeDropDowns();
			jQuery(this).find("ul").slideDown('default');
		}
	}, 
    function () {
        thisMenu = null;
		if(jQuery(this).hasClass('parent')){
			jQuery(this).oneTime(400, function() {
				checkClassRemove(this);		   
			}).removeAttr('onmouseover');
		}
      }
	);
});


// toggle an element to slide open and close
function toggleSlideUpDown (elemId){
	if(jQuery('#'+elemId+':hidden').length) {
		jQuery('#'+elemId).slideDown(400);
	}else{
		jQuery('#'+elemId).slideUp(400);
	}
}

/* Gets the current year for copyright info */
function writeCurrentYear(){
  var date = new Date();
  document.write(date.getFullYear());
}

// currency formatting
function tryNumberFormat(obj)
{
	obj.value = new NumberFormat(obj.value).toFormatted();
}


// SLIDER CALL: Anything Slider v1.1

function formatText(index, panel) {
  return index + "";
}

/*Function for checking if the user is logged in and subscribed to a secure zone*/		   
function checkSubscription(thisZone){	var json, dateSpace, dateString, dateElem, newDateStr, thisDate, thisYear,thisMonth, thisDay, todaysDate, todaysYear, todaysMonth, todaysDay;var zoneValid = false;if(isLoggedIn=='1' && subscriptionList.indexOf('{')!=-1){json = jsonParse(subscriptionList);$.each(json.SecureZoneSubscriptionList.Subscriptions, function(i, secureZone) {if(secureZone.ZoneId==thisZone){dateSpace = secureZone.ExpiryDate.indexOf(' ');dateString = secureZone.ExpiryDate.substring(0,dateSpace);dateElem = dateString.split('/');newDateStr = (dateElem[0].length==1?'0'+dateElem[0]:(dateElem[0].length<1?'00':dateElem[0])) +'/'+ (dateElem[1].length==1?'0'+dateElem[1]:(dateElem[1].length<1?'00':dateElem[1])) +'/'+ dateElem[2];thisDate = new Date(newDateStr);thisYear = parseInt(thisDate.getFullYear());thisMonth = parseInt(thisDate.getMonth()) + 1;thisDay = parseInt(thisDate.getDate());todaysDate = new Date();todaysYear = parseInt(todaysDate.getFullYear());todaysMonth = parseInt(todaysDate.getMonth()) + 1;todaysDay = parseInt(todaysDate.getDate());if(thisYear>todaysYear){zoneValid=true;return false;}else if(thisYear==todaysYear){if(thisMonth>todaysMonth){zoneValid=true;return false;}else if(thisMonth==todaysMonth){if(thisDay>=todaysDay){zoneValid = true;return false;}}}}});}if(zoneValid){return true;}else{return false;}}

function setZone(zoneid){
	var thisAction = jQuery('#catseczoneform48688').attr('action');	
	var id_pos = thisAction.indexOf('ZoneID=')+7;
	var id_pos_after = thisAction.indexOf('&OID');
	jQuery('#catseczoneform48688').attr('action',thisAction.substring(0,id_pos)+zoneid+thisAction.substring(id_pos_after));
	//alert(jQuery('#catseczoneform48688').attr('action'));
}


jQuery(document).ready(function(){	
	jQuery('p').each(function() {
	   if($(this).text()=='\u00a0')$(this).addClass('empty');
	});

	// Find all LeftFloatImage items and remove the span around them.
	jQuery('img.ImageLeft, img.ImageRight, span.ImageCaption').each(function(){
		if(!$(this).parent().is('p')){
			$(this).wrap('<p/>');	
		}
	});
	jQuery('p > span.ImageCaption').removeClass('ImageCaption').parent().addClass('ImageCaption');
	jQuery('p > img.ImageLeft').removeClass('ImageLeft').parent().addClass('ImageLeft');
	jQuery('p > img.ImageRight').removeClass('ImageRight').parent().addClass('ImageRight');
	
	// style LeftFloatImage image captions
	jQuery('.ImageLeft, .ImageRight').each(function(){
		/*var photoContent = $(this).text();
		$(this).parent().html(photoContent);*/
		if($(this).hasClass('ImageLeft')){var thisFloat = 'ImageLeftDiv';}
		else if($(this).hasClass('ImageRight')){var thisFloat = 'ImageRightDiv';}					
		
		var imgCaptionText = jQuery(this).text();
		if(imgCaptionText!=''){
			//jQuery(this).text().replace(imgCaptionText,'');
			jQuery(this).after('<p class="ImageCaption">'+imgCaptionText+'</p>');
			var $theImage = $(this).find('img');
			$(this).empty();
			$(this).append($theImage);
		}												
		// if image is wider than 250px, adjust to 250
		var $img = jQuery(this).find('img');
		var imgSrcFull = $img.attr('src');
		$img.attr('src','/Utilities/ShowThumbnail.aspx?USM=1&W=250&H=500&R=1&Img='+$img.attr('src'));
		$img.wrap('<a href="'+imgSrcFull+'" rel="pagePhotos">');

		// detect if it has a caption P and wrap the img+caption(s) with a div
		jQuery(this).adjAfter('p.empty').each(function(){
			if($(this).hasClass('empty'))$(this).remove();											   
		});
		if(jQuery(this).next().hasClass('ImageCaption')){
			jQuery(this).adjAfter('.ImageCaption').wrapAll('<div class="'+thisFloat+'"/>');
			$img.parent('a').attr('title',$(this).parent().find('.ImageCaption').text());
		}else{
			jQuery(this).wrapAll('<div class="'+thisFloat+'"/>');	
		}
	});
	
	
	
	jQuery('#leftColMain .form textarea.listbox').resizable({ 
			maxWidth: 600, 
			maxHeight: 400,
			minWidth: 232,
			minHeight: 122
	});
	
	//Replace "No bookings found" message
	$('dl.eventList:contains("No bookings found.")').html('<dt>No events scheduled at this time.</dt><dd>Please check back soon!</dd>');
	

	/*if(thisURL.indexOf('https')!=-1){
		jQuery('form[action^="/"]').each(function(){
			var thisA = 'https://liveandthrive.worldsecuresystems.com'+jQuery(this).attr('action');
			jQuery(this).attr('action',thisA);
		});
	}*/
});

/**
 * jQuery Adjacent plugin
 *
 * Selects all elements consecutively adjacent to the current element which match the given filter.
 *
 * Usage: eg: Find all the elements with class "foo" next to the #active element:
 * jQuery('#active').adjacent('.foo');
 *
 *                                   SELECTED?
 * <p class="foo"></p>                  no
 * <p></p>                              no
 * <p class="foo"></p>                  yes
 * <p class="foo"></p>                  yes
 * <p class="foo" id="active"></p>      yes
 * <p class="foo"></p>                  yes
 * <p></p>                              no
 * <p class="foo"></p>                  no
 * <p class="foo"></p>                  no
 *
 *
 * Note that this will select the current item even if it doesn't match the filter itself.
 */

jQuery.fn.adjAfter = function(filter) {
    var $all = this;

    /*for (var $curr = this.prev(filter); $curr.length > 0; $curr = $curr.prev(filter)) {
        $all = $all.add($curr);
    }*/
    for (var $curr = this.next(filter); $curr.length > 0; $curr = $curr.next(filter)) {
        $all = $all.add($curr);
    }
    return $all;
};	

jQuery.fn.adjBefore = function(filter) {
    var $all = this;

    for (var $curr = this.prev(filter); $curr.length > 0; $curr = $curr.prev(filter)) {
        $all = $all.add($curr);
    }
    /*for (var $curr = this.next(filter); $curr.length > 0; $curr = $curr.next(filter)) {
        $all = $all.add($curr);
    }*/
    return $all;
};	

jQuery.fn.adjacent = function(filter) {
    var $all = this;

    for (var $curr = this.prev(filter); $curr.length > 0; $curr = $curr.prev(filter)) {
        $all = $all.add($curr);
    }
    for (var $curr = this.next(filter); $curr.length > 0; $curr = $curr.next(filter)) {
        $all = $all.add($curr);
    }
    return $all;
};	