/*
-----------------------------------------------------------------------------
CareGiver360.com JAVASCRIPT Styles

Updated:	03 March 2009
Author:		Farr Media Group
Email:		contact@farrmediagroup.com
-----------------------------------------------------------------------------*/


// Add current page class(es) to the body element
// requires jQuery URL Parser plugin - http://projects.allmarkedup.com/jquery_url_parser/
$(document).ready(function () {
	// grab url segments (= preceeding sections; currently hardcoded 6 levels deep)
	var segment1 = jQuery.url.segment(0); if (segment1 == null || segment1.match(".php" || ".html" || ".htm")) { var segment1 = ""};
	var segment2 = jQuery.url.segment(1); if (segment2 == null || segment2.match(".php" || ".html" || ".htm")) { var segment2 = ""};
	var segment3 = jQuery.url.segment(2); if (segment3 == null || segment3.match(".php" || ".html" || ".htm")) { var segment3 = ""};
	var segment4 = jQuery.url.segment(3); if (segment4 == null || segment4.match(".php" || ".html" || ".htm")) { var segment4 = ""};
	var segment5 = jQuery.url.segment(4); if (segment5 == null || segment5.match(".php" || ".html" || ".htm")) { var segment5 = ""};
	var segment6 = jQuery.url.segment(5); if (segment6 == null || segment6.match(".php" || ".html" || ".htm")) { var segment6 = ""};

	// grab file name if present
	var page = jQuery.url.attr("file");
 	if (page == null) { var page = ""};
	var page_name_length = page.indexOf(".php" || ".html" || ".htm");
	var page_name = page.slice(0,page_name_length);

	// add classes
	var home = "/";
	if (home == jQuery.url.attr("path")) {
		// add 'home' class if at base level
	    $("body").addClass("home");
	} else {
		// add section and page class(es) as needed
	    $("body").addClass(segment1 + ' ' + segment2 + ' ' + segment3 + ' ' + segment4 + ' ' + segment5 + ' ' + segment6 + ' ' + page_name);
	}
});

// Add dynamic classes to #nav li elements
$(document).ready(function() {
	$('#nav ul').each(function() {
		$(this).children('li:first').addClass('first');
		$(this).children('li:last').addClass('last');
	});
});

// Add markup within home page .sidebar-content li items for CSS styling
$(document).ready(function() {
	$(".home .sidebar-content li").wrapInner('<span></span>');
});

// Adjustments for #user-story-excerpt blockquote elements
$(document).ready(function() {
	// place #user-story-excerpt beneath secondary navigation in column (if present)
	var nav_top = $("#nav .primary .current_page_parent ul").offset().top;
	var nav_h = $("#nav .primary .current_page_parent ul").height();
	var story_top_padding = 30;
	var story_top = nav_top + nav_h + story_top_padding;
	var secondary_nav = $("#nav .primary .current_page_parent ul").text();
	if (secondary_nav != '') {
		$('#user-story-excerpt').css('top',story_top)
	} else {
		$('#user-story-excerpt').css('top',358 + story_top_padding)
	};
	// update .entry min-height to account for absolutely positioned secondary navigation and user story excerpt content within column
	var nav_h = $("#nav .primary .current_page_parent ul").height();
	var story_h = $("#user-story-excerpt").height();
	var story_bottom_padding = 30;
	var entry_h = nav_h + story_h + story_top_padding + story_bottom_padding;
	if ("body.blog") { $("#content-primary").css('min-height',entry_h); } else{ $("#content-primary .entry").css('min-height',entry_h); };
});

// Home page sidebar video pop-up (utilizes dbPopWin plug-in)
$(document).ready(function() {
	$(".home .sidebar-content").prepend('<div id="sidebar-demovideo-link"></div>');
	$(".home .sidebar-content #sidebar-demovideo-link").prepend('<a class="pop-up-link" title="View Video" href="http://www.caregiver360.com/demo-videos/overview" rel="pop-up">View Demo Video</a>');
});

// Adjustments for .home .sidebar-content (keep placed after '#user-story-excerpt blockquote' code)
$(document).ready(function() {
	// add dynamic classes
	$(".home .sidebar-content p:last").addClass('last');
	// account for .home .sidebar-content height in flow of main content
	var sc_h = $(".home .sidebar-content").height();
	$(".home #content-primary .entry").css('min-height',sc_h);
});

// Separate ul.columns into separate ul elements
$(document).ready(function() {
	$('ul.columns').each(function(index) {

		// count li items, create column lengths
		var count = $(this).children('li').size();
		var n02 = Math.round(count / 2) - 1;
		var n03 = Math.round(count / 3) - 1; var n03b = (n03 * 2) + 1;

		// make 2 ul groups
		if ($(this).hasClass('n02')) {
			$(this).addClass('first');
			var n02_col02 = $('ul.n02.first li:gt(' + n02 + ')').remove();
			$(this).after('<ul class="columns n02 second"></ul>');
			$(this).siblings('.second').html(n02_col02);
		} 
		// make 3 ul groups
		else if ($(this).hasClass('n03')) {
			$(this).addClass('first');
			var n03_col03 = $('ul.n03.first li:gt(' + n03b + ')').remove();
			$(this).after('<ul class="columns n03 third"></ul>');
			$(this).siblings('.third').html(n03_col03);
			var n03_col02 = $('ul.n03.first li:gt(' + n03 + ')').remove();
			$(this).after('<ul class="columns n03 second"></ul>');
			$(this).siblings('.second').html(n03_col02);
		};

	});
});

// Change WP .post-edit-link title attribute
$(document).ready(function() {
	$(".post-edit-link").removeAttr('title').attr('title','Edit Page within CMS');
});

// Add class for demo video splash images
$(document).ready(function() {
	var class_name = 'video-link';
	$('img').parent('a[href$="/demo-video/"]').addClass(class_name).parent('p').addClass(class_name);
});

// Insert span element within CSS styled buttons
$(document).ready(function() {
	// a.button instances
	$('a.button').css('padding','0'); // adjust css on parent <a>
	var button = $('a.button').text();
	$('a.button').html('<span>' + button + '</span>');
	 // #service-login a instance
	var login = $('#service-login a').text();
	$('#service-login a').html('<span>' + login + '</span>');
	 // #search submit button
	$('#searchsubmit').wrap('<span class="submit-button"></span>');
});

// Rotate banner content on home page
$(document).ready(function() {

	// assign rotating images
	var baseUrl = "/wp-content/themes/caregiver360/img/design/"
	var bgimage = new Array();
	bgimage[0] = baseUrl + "branding-home-01.jpg";
	bgimage[1] = baseUrl + "branding-home-02.jpg";
	bgimage[2] = baseUrl + "branding-home-03.jpg";
	bgimage[3] = baseUrl + "branding-home-04.jpg";

	// create extra markup
	var rotator = '<div id="rotator" style="width:100%; height:314px; background:url(' + bgimage[0] + ') no-repeat 0 0; position:absolute; top:0; left:0; z-index:10; display:none;"></div>';
	$('.home #branding').css('position','relative').prepend(rotator);
	$('.home #branding #rotator').siblings().css('z-index','100');
	var back = $(".home #branding");
	var front = $(".home #branding #rotator");

	// rotate images
	var i=0; // set at '0' rather than '-1' to begin rotation with 2nd image in array
	var imageInterval = 7000;
	var fadeLength = 2000;
	setInterval(function(){
		var image = bgimage[++i] || bgimage[i=0];
		var image = 'url(' + image + ')';
		front.css('background-image',image); // apply next image to front div; currently hidden (within initial markup creation and then again at end of loop via .fadeOut)
		front.fadeIn(fadeLength, function(){ // dissolve in new image (within front div, over previous image currently in back div)
			back.css('background-image',image); // update back div with new image; currently hidden back front div
		});
		front.fadeOut(fadeLength); // fade out front div into *same* image in back div; hiding front div for loading of next image at top of loop
		}, imageInterval);

});

// Fix height of flv player instances
$(document).ready(function() {
	var flv_height = $(".flashvideo embed").height();
	$(".flashvideo").height(flv_height);
	var flv_link_height = $(".video-link img").height();
	$(".video-link").height(flv_link_height);
});

// Add class to WP auto <p> tags containing floated images (within User Stories pages)
$(document).ready(function() {
	$(".user-stories blockquote p img.alignright").parent('p').addClass('floated-image').addClass('alignright');
	$(".user-stories blockquote p img.alignleft").parent('p').addClass('floated-image').addClass('alignleft');
});

// Add numerals to 'About CG360' features headlines
$(document).ready(function() {
	$(".about-caregiver360.overview #content-primary ol.features div.n01 h3").prepend('<span>1. </span>')
	$(".about-caregiver360.overview #content-primary ol.features div.n02 h3").prepend('<span>2. </span>')
	$(".about-caregiver360.overview #content-primary ol.features div.n03 h3").prepend('<span>3. </span>')
});

// Add design elements to .callout
$(document).ready(function() {
	$('.callout').wrapInner('<div class="callout-inner"></div>')
	$('.callout-inner').append('<span class="design-element n01"></span><span class="design-element n02"></span>')
});

// Add video pop-up links for .features .callout .design-element.n03 (utilizes dbPopWin plug-in)
$(document).ready(function() {
	$('.features .callout-inner').append('<a class="pop-up-link design-element n03" title="View Video" rel="pop-up">View Demo Video</a>')
	$('.features .callout.n03 .pop-up-link').attr("href","http://www.caregiver360.com/demo-videos/share");
	$('.features .callout.n02 .pop-up-link').attr("href","http://www.caregiver360.com/demo-videos/library");
	$('.features .callout.n01 .pop-up-link').attr("href","http://www.caregiver360.com/demo-videos/personal-care-guide");
});

// Add blog class to body for all blog categories except 'user-stories'
$(document).ready(function() {
	$("#nav .primary .page-item-813.current_page_parent").parents("body").addClass("blog");
	$("body.user-stories").removeClass("blog");
});


// add label to WP-chgFontSize plug in form
$(document).ready(function() {
	$('#chgfontsizeoptions').wrapInner("<p></p>");
	$('#chgfontsizeoptions p').prepend("Text Size: ");
});

// jQuery Lightbox call
$(document).ready(function() {
	$('.thumbnails a').lightBox({
		overlayBgColor: '#000000',
		overlayOpacity: 0.8,
		imageLoading: '/wp-content/themes/caregiver360/img/lightbox/loading.gif',
		imageBtnClose: '/wp-content/themes/caregiver360/img/lightbox/close.gif',
		imageBtnPrev: '/wp-content/themes/caregiver360/img/lightbox/prev.gif',
		imageBtnNext: '/wp-content/themes/caregiver360/img/lightbox/next.gif',
		imageBlank: '/wp-content/themes/caregiver360/img/lightbox/blank.gif',
		txtImage: 'Screen Shot',
		fixedNavigation: false
	});
});

// Demo video pop-up windows (keep at end of document after other pop-up related code blocks)
$(document).ready(function() {
	$('a[rel="pop-up"]').click(
		function() {
			return $.dbPopWin( $(this).attr('href') );
		});
	});
