/*
 * jQuery Site Wide Scripts
 * Version: 0.0.0
 *
 * Author: Chris Rivers
 * http://chrisriversdesign.com
 *
 *
 * Changelog: 
 * Version: 0.0.0
 *	Init Build
 *
 */

var ajaxCaptcha = '';
var ajaxForm = false;
var SITE_URL;
var RAND_IMAGE;
var curHidden;
var curHiddenGallery;

// Custom Plugins

jQuery.fn.center = function () {
    this.css("position","absolute");
    this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px");
    this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px");
    return this;
}

jQuery.fn.centerToBox = function (box) {
	
	// Simply Pass in the box that you would like your item centered too
	var position = $(box).position();
	
	var posTopOffset = ( $(box).height() ) /2;
	var posLeftOffset = ( $(box).width() ) /2;
	
	position.left = position.left + posLeftOffset;
    position.top = position.top + posTopOffset;

	
	$(this).css({'position': 'absolute','left' : position.left, 'top' : position.top, "z-index" : 100 });
	
    return this;
}

$.fn.outerHTML = function(s) {
	return (s) 
		? this.before(s).remove() 
		: $('<p>').append(this.eq(0).clone()).html();
}

// Case Insensitive Contains
$.extend($.expr[":"], {
    "containsNoCase": function(elem, i, match, array) {
        return (elem.textContent || elem.innerText || "").toLowerCase
().indexOf((match[3] || "").toLowerCase()) >= 0;
    }
});



/* Global Logic
-------------------------------------------------------------- */

$(document).ready(function(){
	
	/* Typography 
	------------------------------------------------*/
	//Cufon.replace('#contentwrapper #content h1'); // works in 7 and 8
	
	/* END Typography
	------------------------------------------------*/
		
	SITE_URL = $('body').attr("site_url");
	RAND_IMAGE = $('body').attr("rand_image");
	
	if(RAND_IMAGE == ''){ // If There is No image in the asset manager
		RAND_IMAGE = SITE_URL + '/assets/css/site/images/photography/20110526_MGH-48-FINAL-TIramisu.jpg'
	}

	
	// Temporary shuffle
	
	/*images = new Array(4);
	images[0] = "assets/css/site/images/photography/20110523_MGH_35mm-26-FINAL-Herbs.jpg"; 
	images[1] = "assets/css/site/images/photography/20110523_MGH_35mm-91-FINAL-M&P.jpg";
	images[2] = "assets/css/site/images/photography/20110523_MGH_35mm-139-FINAL-Cheese.jpg"; 
	images[3] = "assets/css/site/images/photography/20110523_MGH_35mm-175-FINAL-Pasta.jpg"; 
	images[4] = "assets/css/site/images/photography/1.29.11_Classic_Catering_Photosby_Elizabeth_Ryan_Photography_07.jpg"; 
	images[5] = "assets/css/site/images/photography/20110524_MGH_35mm-9-FINAL-Fruit.jpg";
	images[6] = "assets/css/site/images/photography/20110524_MGH-21-FINAL-Chicken.jpg";
	images[7] = "assets/css/site/images/photography/20110524_MGH-52-FINAL-Lamb.jpg";
	images[8] = "assets/css/site/images/photography/20110524_MGH-99-FINAL-Kebab.jpg";
	images[9] = "assets/css/site/images/photography/20110525_MGH_35mm-21-FINAL-Ham&Asparagus.jpg";
	images[10] = "assets/css/site/images/photography/20110525_MGH-30-FINAL-Seared-Tuna.jpg";
	images[11] = "assets/css/site/images/photography/20110525_MGH-52-FINAL-GC-on-Lavosh.jpg";
	images[12] = "assets/css/site/images/photography/20110525_MGH-78-FINAL-Bruschetta.jpg";
	images[13] = "assets/css/site/images/photography/20110525_MGH-92-FINAL-Arancini.jpg";
	images[14] = "assets/css/site/images/photography/20110525_MGH-115-FINAL-Radish.jpg";
	images[15] = "assets/css/site/images/photography/20110526_MGH-17-FINAL-Cherries.jpg";
	images[16] = "assets/css/site/images/photography/20110526_MGH-48-FINAL-TIramisu.jpg";
	images[17] = "assets/css/site/images/photography/20110526_MGH-67-FINAL-Ice-Cream.jpg";
	images[18] = "assets/css/site/images/photography/20110526_MGH-117-FINAL-Watermelon.jpg";
	//images[19] = "assets/css/site/images/photography/20110526_MGH-158-FINAL-Peach-Basil.jpg";
	images[19] = "assets/css/site/images/photography/20110527_MGH_35mm-29-FINAL-Tomato-Soup.jpg";
	images[20] = "assets/css/site/images/photography/20110527_MGH-07-FINAL-Papaya.jpg";
	images[21] = "assets/css/site/images/photography/20110527_MGH-45-FINAL-Panzanella.jpg";
	images[22] = "assets/css/site/images/photography/20110527_MGH-58-FINAL-Chocolate.jpg";
	images[23] = "assets/css/site/images/photography/20110527_MGH-78-FINAL-Seafood-Stew.jpg";
	
	var curphoto = Math.floor(Math.random() * images.length);
	curphoto = images[curphoto];*/
	
	// END Temporary shuffle
	
	// Backdrop Plugin
	//$.backstretch(SITE_URL + curphoto, { speed: 800 }); // this will eventially be coming from the processor
	
	// Gallery Exception
	if( $("body").hasClass('Photo') ){
		$(".navPanel").hide();
		$("#navigation .arrow").click(function(){
			$("#navigation .nav-widget").hide();
			$(".navPanel").slideToggle('fast', function(){
				// complete
			});	
		});	
	} else {
		$.backstretch(RAND_IMAGE, { speed: 800 });
		
		// Navigation
		$(".navPanel").hide();
		//if(($(".navPanel").is(":hidden"))){
		$(".navPanel").delay(2000).slideDown(function(){
			// Add Click Function
			$("#navigation .arrow").click(function(){
				$("#navigation .nav-widget").hide();
				$(".navPanel").slideToggle('fast', function(){
					// complete
				});	
			});	
		});
		//}
	}
	
	$("#navigation .arrow img").hover(
		function(){
			$("#navigation .nav-widget").remove();
			
			$(this).animate({
				"width": 18,
				"height": 12
			}, 80);
		 }, 
		function () {
			$(this).animate({
				"width": 14,
				"height": 10
			}, 80);
		}
	);
	
	/*$("#navigation .arrow").click(function(){
		$("#navigation .nav-widget").hide();
		$(".navPanel").slideToggle('fast', function(){
			// complete
		});	
	});*/
	
	$("#navigation li.closeNav").click(function(){
		$(".navPanel").slideToggle('fast', function(){
			// complete
		});	
	});
	
	/* Sub Navigation 
	------------------------------------------------*/
	
	// Click Functionality
	$(".subArrow").click(function(){
		$(this).parent().children('ul').toggleClass('display');
		//alert($(this).parent().children('ul').html());	
	});
	
	// Hover Functionality
	/*$('.navPanel .hasChild').hover(
		function() {
			if ($(this).find('ul').is(":hidden")) {
				$(this).find('ul').delay(500).slideDown(500);
			}
		}, 
		function(){
			//if ($(this).find('ul').not(":hidden")) {
				$(this).find('ul').delay(500).slideUp(500);
			//}
		}
	);*/
	
	// Nav
	$(".search").click(function(){
		$(this).addClass('active');
		$(".searchContainer").slideToggle('fast');
		$("form#search input.text").focus();
		
		var position = $("#header .breadcrumb ul.links li.search").position();
		position.left = position.left - 212 + 25;
		
		$(".searchContainer").css({ 'left' : position.left });
		//alert(position.left)
	});
	
	/* Navigation Tooltip 
	------------------------------------------------*/
	//$("#navigation .nav-widget").delay(4000).fadeIn('fast').delay(4000).fadeOut('fast');
	
	
	/* Scollpane Init 
	------------------------------------------------*/
	$('#contentwrapper').jScrollPane({
		verticalDragMinHeight: 20,
		verticalDragMaxHeight: 20,
		horizontalDragMinWidth: 20,
		horizontalDragMaxWidth: 20,
		showArrows: true,
		horizontalGutter: 30,
		verticalGutter: 30
	});
	
	// Custom Event For Scrollpane
	$(document).bind('SCROLLPANE', function(){
		$('#contentwrapper').jScrollPane({
			verticalDragMinHeight: 20,
			verticalDragMaxHeight: 20,
			horizontalDragMinWidth: 20,
			horizontalDragMaxWidth: 20,
			showArrows: true,
			horizontalGutter: 30,
			verticalGutter: 30	
		});	
	});
	
	// Window Resize Logic
	var pane = $('#contentwrapper');
	var api = pane.data('jsp');
	
	if(api){
		$(window).resize(function() {
			api.reinitialise();
		});
	}

	// Form Datepicker
	$( ".datepicker" ).datepicker({ 
		dateFormat: 'yy-mm-dd',
		showOn: "both",
		buttonImage: "/assets/css/site/images/calendar.png",
		buttonImageOnly: true 
	});
	
	// Form Validation
	$(".validateme").validationEngine();
	
	// CR Custom Adapter to Fix Form Validation and Scrollpane Incompatibility
	$("form .submit").click(function(){
		$(".jspPane").css({'padding' : 0, 'top' :  0}); // Sets Correct Location
		$('.jspPane').delay(300).animate({'padding' : 0, 'top' :  0}, 700);
	});
	
	/* Share Logic on all pages
	---------------------------------------------*/
	//if( addthis ){ // If add this is included
		if( $(".savePDF").text() != ''){
			addthis.button('.savePDF');
		}
	// }
	
	// Print Logic
	/*$(".sharingBlock span.print").click(function(){
		window.print();
	});*/
	
	// Print Logic
	$(".sharingBlock span.print").click(function(){
		$("div#content").print({ 
			css : '<link type="text/css" rel="stylesheet" href="' + SITE_URL + 'assets/css/site/site.print.css" media="print" />',
			logo : '<img alt="The Center for Eating Disorders" src="' + SITE_URL + 'assets/css/site/images/logo.png"><div class="clear"></div>'
		});
	});
	
}); // End Document Ready


/* Window Control Logic
	-----------------------------------------------*/
	//alert($(window).height());
	
	$(document).ready(function(){
		
		
		// Exception For Gallery
		if( $("body").hasClass('Photo') ){
			
		} else {
		
			// Controls Float right
			$(".traNav").before('<div class="clear"></div>');
			
			if( $("#contentwrapper").hasClass('short') ){ // Short Page Resize Logic
				//alert("short");
			
				if( $(window).height() < 532 ) {
					$("#pagewrapper").addClass("minSize");
				} else {
					$("#pagewrapper").removeClass("minSize");	
				}
				
				$("#footer").addClass("short");	
				
			} else { // Long Page Resize Logic
			
				if( $(window).height() < 678 ) {
					$("#pagewrapper").addClass("minSize"); //alert("yes");
				} else {
					$("#pagewrapper").removeClass("minSize");	//alert("no");
				}
				
			}
		
		}
	});
	
	
	$(window).resize(function() {
		
		// Exception For Gallery
		if( $("body").hasClass('Photo') ){
			
		} else {
			//console.log($(window).height());
			if( $("#contentwrapper").hasClass('short') ){ // Short Page Resize Logic
				
				if( $(window).height() < 532 ) {
					$("#pagewrapper").addClass("minSize");
				} else {
					$("#pagewrapper").removeClass("minSize");	
				}
				
			} else { // Long Page Resize Logic
				
				if( $(window).height() < 678 ) {
					$("#pagewrapper").addClass("minSize");
				} else {
					$("#pagewrapper").removeClass("minSize");	
				}
				
			}
		}
		
	});
	
	/* Other Sticky Footer Solution (ZANE)
	docHeight = $(document).height();
	footerTop = docHeight - $( '#footer' ).height() + 'px';
	
	$( '#footer' ).css({
		'position': 'absolute',
		'top': footerTop,
		'left': 0
	});
	*/
