/* JQUERY ON DOC READY */

    $(document).ready(function(){
	
		/* JQUERY UNIVERSAL NAV DROPDOWN */
	 	
	 	$('#DDlinks').find('option:contains("for Libraries")').attr('selected', 'selected').parent('select');
	 	$('#DDlinks').find('option:contains("for Libraries")').css('background-color','#fdf0e9');
	 	$('select#DDlinks').change(function() {
	 		window.location = $(this).val();
	 	});
	 	
		/* DROPDOWN LINK ON CHNAGE */
	 	$('select.linkonchange-dd').change(function() {
	 		window.location = $(this).val();
	 	});
	 	
		/* JQUERY MAIN NAV MEGA DROPDOWN */
		
		function megaHoverOver(){
			$(this).find(".sub").stop().fadeTo(100, 1).show();
				
			//Calculate width of all ul's
			(function($) { 
				jQuery.fn.calcSubWidth = function() {
					rowWidth = 0;
					//Calculate row
					$(this).find("ul").each(function() {					
						rowWidth += $(this).width(); 
					});	
				};
			})(jQuery); 
			
			if ( $(this).find(".row").length > 0 ) { //If row exists...
				var biggestRow = 0;	
				//Calculate each row
				$(this).find(".row").each(function() {							   
					$(this).calcSubWidth();
					//Find biggest row
					if(rowWidth > biggestRow) {
						biggestRow = rowWidth;
					}
				});
				//Set width
				$(this).find(".sub").css({'width' :biggestRow});
				$(this).find(".row:last").css({'margin':'0'});
				
			} else { //If row does not exist...
				
				$(this).calcSubWidth();
				//Set Width
				$(this).find(".sub").css({'width' : rowWidth});
				
			}
		}
	
		function megaHoverOut(){ 
	 		$(this).find(".sub").stop().fadeTo('fast', 0, function() {
		  		$(this).hide(); 
	  		});
		}


		var config = {    
			sensitivity: 2, // number = sensitivity threshold (must be 1 or higher)    
		 	interval: 100, // number = milliseconds for onMouseOver polling interval    
		 	over: megaHoverOver, // function = onMouseOver callback (REQUIRED)    
			timeout: 500, // number = milliseconds delay before onMouseOut    
		 	out: megaHoverOut // function = onMouseOut callback (REQUIRED)    
		};

		$("ul#topnav li .sub").css({'opacity':'0'});
		$("ul#topnav li").hoverIntent(config);
		
		/* JQUERY TWITTER FEED */

		$("#twitter").getTwitter({
			userName: "playaway",
			numTweets: 4,
			loaderText: "Loading tweets...",
			slideIn: false,
			showHeading: false,
			headingText: "Latest Tweets",
			showProfileLink: false,
			showTimestamp: true
		});
		
		/* JQUERY TABS */ 
		if($('#tabs').size() > 0) {
			try {
				$("#tabs").tabs();
			} catch (e) {} /*ignore errors for search*/
		}
		
		/* RANDOM CHILD ON LOAD */ 
		if($('.random').size() > 0) {
			$(".random").randomChild();
		}
		
	});

function loadURL(url) {
	window.location.href = url;
}

function goToCart(url) {
	window.location.href = getAbsoluteURL() + url;
}

function scrollUp() {
      $('html, body').animate({scrollTop:0}, 'fast');
}

function init(){
	$("#adv-search-tips").popupWindow({ 
		height:350, 
		width:750, 
		top:50, 
		left:50 
	});
}

jQuery.fn.randomChild = function(settings) {
	return this.each(function(){
		var c = $(this).children().length;
		var r = Math.ceil(Math.random() * c);
		$(this).children().hide().parent().children(':nth-child(' + r + ')').show();
	});
};






/*-------------- START JS FOR NEW UNIVERSAL NAV --------------*/


/*
 * Facebox (for jQuery)
 * version: 1.3
 * @requires jQuery v1.2 or later
 * @homepage https://github.com/defunkt/facebox
 *
 * Licensed under the MIT:
 *   http://www.opensource.org/licenses/mit-license.php
 *
 * Copyright Forever Chris Wanstrath, Kyle Neath
 *
 *
 */
(function($) {
  $.facebox = function(data, klass) {
    $.facebox.loading()

    if (data.ajax) fillFaceboxFromAjax(data.ajax, klass)
    else if (data.image) fillFaceboxFromImage(data.image, klass)
    else if (data.div) fillFaceboxFromHref(data.div, klass)
    else if ($.isFunction(data)) data.call($)
    else $.facebox.reveal(data, klass)
  }

  /*
   * Public, $.facebox methods
   */

  $.extend($.facebox, {
    settings: {
      opacity      : 0.35,
      overlay      : true,
      loadingImage : '/images/loading-contact.gif',
      closeImage   : '/images/btn-close.png',
      imageTypes   : [ 'png', 'jpg', 'jpeg', 'gif' ],
      faceboxHtml  : '\
    <div id="facebox" style="display:none;"> \
      <div class="popup"> \
        <div class="body"> \
        <div class="content"> \
        </div> \
        </div> \
        <a href="#" class="close"></a> \
        </div> \
    </div>'
    },

    loading: function() {
      init()
      if ($('#facebox .loading').length == 1) return true
      showOverlay()
      $('#facebox .content').empty()
      $('#facebox .body').children().hide().end().
        append('<div class="loading"><img src="'+$.facebox.settings.loadingImage+'"/></div>')

      $('#facebox').css({
        top:	getPageScroll()[1] + (getPageHeight() / 10),
        left:	$(window).width() / 2 - 355
      }).show()

      $(document).bind('keydown.facebox', function(e) {
        if (e.keyCode == 27) $.facebox.close()
        return true
      })
      $(document).trigger('loading.facebox')
    },

    reveal: function(data, klass) {
      $(document).trigger('beforeReveal.facebox')
      if (klass) $('#facebox .content').addClass(klass)
      $('#facebox .content').append(data)
      $('#facebox .loading').remove()
      $('#facebox .body').children().fadeIn('normal')
      $('#facebox').css('left', $(window).width() / 2 - ($('#facebox .popup').outerWidth() / 2))
      $(document).trigger('reveal.facebox').trigger('afterReveal.facebox')
    },

    close: function() {
      $(document).trigger('close.facebox')
      return false
    }
  })

  /*
   * Public, $.fn methods
   */

  $.fn.facebox = function(settings) {
    if ($(this).length == 0) return

    init(settings)

    function clickHandler() {
      $.facebox.loading(true)

      // support for rel="facebox.inline_popup" syntax, to add a class
      // also supports deprecated "facebox[.inline_popup]" syntax
      var klass = this.rel.match(/facebox\[?\.(\w+)\]?/)
      if (klass) klass = klass[1]

      fillFaceboxFromHref(this.href, klass, this.rev)
      return false
    }

    return this.bind('click.facebox', clickHandler)
  }

  /*
   * Private methods
   */

  // called one time to setup facebox on this page
  function init(settings) {
    if ($.facebox.settings.inited) return true
    else $.facebox.settings.inited = true

    $(document).trigger('init.facebox')
    makeCompatible()

    var imageTypes = $.facebox.settings.imageTypes.join('|')
    $.facebox.settings.imageTypesRegexp = new RegExp('\.(' + imageTypes + ')$', 'i')

    if (settings) $.extend($.facebox.settings, settings)
    $('body').append($.facebox.settings.faceboxHtml)

    var preload = [ new Image(), new Image() ]
    preload[0].src = $.facebox.settings.closeImage
    preload[1].src = $.facebox.settings.loadingImage

    $('#facebox').find('.b:first, .bl').each(function() {
      preload.push(new Image())
      preload.slice(-1).src = $(this).css('background-image').replace(/url\((.+)\)/, '$1')
    })

    $('#facebox .close')
      .click($.facebox.close)
      .append('<img src="'
              + $.facebox.settings.closeImage
              + '" class="close_image" title="close">')
  }

  // getPageScroll() by quirksmode.com
  function getPageScroll() {
    var xScroll, yScroll;
    if (self.pageYOffset) {
      yScroll = self.pageYOffset;
      xScroll = self.pageXOffset;
    } else if (document.documentElement && document.documentElement.scrollTop) {	 // Explorer 6 Strict
      yScroll = document.documentElement.scrollTop;
      xScroll = document.documentElement.scrollLeft;
    } else if (document.body) {// all other Explorers
      yScroll = document.body.scrollTop;
      xScroll = document.body.scrollLeft;
    }
    return new Array(xScroll,yScroll)
  }

  // Adapted from getPageSize() by quirksmode.com
  function getPageHeight() {
    var windowHeight
    if (self.innerHeight) {	// all except Explorer
      windowHeight = self.innerHeight;
    } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
      windowHeight = document.documentElement.clientHeight;
    } else if (document.body) { // other Explorers
      windowHeight = document.body.clientHeight;
    }
    return windowHeight
  }

  // Backwards compatibility
  function makeCompatible() {
    var $s = $.facebox.settings

    $s.loadingImage = $s.loading_image || $s.loadingImage
    $s.closeImage = $s.close_image || $s.closeImage
    $s.imageTypes = $s.image_types || $s.imageTypes
    $s.faceboxHtml = $s.facebox_html || $s.faceboxHtml
  }

	function fillFaceboxFromIframe(href, klass) {
	$.facebox.reveal('<iframe scrolling="no" marginwidth="0" width="710" height="540" frameborder="0" src="' + href + '" marginheight="0"></iframe>', klass)
	}



  // Figures out what you want to display and displays it
  // formats are:
  //     div: #id
  //   image: blah.extension
  //    ajax: anything else
	function fillFaceboxFromHref(href, klass, rev) {
	// div
	if (href.match(/#/)) {
	var url = window.location.href.split('#')[0]
	var target = href.replace(url, '')
	$.facebox.reveal($(target).clone().show(), klass)
	
	// image
	} else if (href.match($.facebox.settings.imageTypesRegexp)) {
	fillFaceboxFromImage(href, klass)
	
	// iframe
	} else if (rev.split('|')[0] == 'iframe') {
	fillFaceboxFromIframe(href, klass, rev.split('|')[1])
	
	// ajax
	} else {
	fillFaceboxFromAjax(href, klass)
	}
	}


  function fillFaceboxFromImage(href, klass) {
    var image = new Image()
    image.onload = function() {
      $.facebox.reveal('<div class="image"><img src="' + image.src + '" /></div>', klass)
    }
    image.src = href
  }

  function fillFaceboxFromAjax(href, klass) {
    $.get(href, function(data) { $.facebox.reveal(data, klass) })
  }

  function skipOverlay() {
    return $.facebox.settings.overlay == false || $.facebox.settings.opacity === null
  }

  function showOverlay() {
    if (skipOverlay()) return

    if ($('#facebox_overlay').length == 0)
      $("body").append('<div id="facebox_overlay" class="facebox_hide"></div>')

    $('#facebox_overlay').hide().addClass("facebox_overlayBG")
      .css('opacity', $.facebox.settings.opacity)
   // .click(function() { $(document).trigger('close.facebox') })
      .fadeIn(200)
    return false
  }

  function hideOverlay() {
    if (skipOverlay()) return

    $('#facebox_overlay').fadeOut(200, function(){
      $("#facebox_overlay").removeClass("facebox_overlayBG")
      $("#facebox_overlay").addClass("facebox_hide")
      $("#facebox_overlay").remove()
    })

    return false
  }

  /*
   * Bindings
   */

  $(document).bind('close.facebox', function() {
    $(document).unbind('keydown.facebox')
    $('#facebox').fadeOut(function() {
      $('#facebox .content').removeClass().addClass('content')
      $('#facebox .loading').remove()
      $(document).trigger('afterClose.facebox')
    })
    hideOverlay()
  })

})(jQuery);


(function($) {
  var cache = [];
  // Arguments are image paths relative to the current page.
  $.preLoadImages = function() {
    var args_len = arguments.length;
    for (var i = args_len; i--;) {
      var cacheImage = document.createElement('img');
      cacheImage.src = arguments[i];
      cache.push(cacheImage);
    }
  }
})(jQuery)

	// PRELOAD HOVER IMAGES
	jQuery.preLoadImages("uninav-channels-drop.png", "/images/uninav-channels-drop.png");
	jQuery.preLoadImages("uninav-channels-arrow.png", "/images/uninav-channels-arrow.png");
	jQuery.preLoadImages("megadropdown_logos.png", "/images/megadropdown_logos.png");



	// FIX PNG TRANS
	$.fn.pngFix = function() {
	  if (!$.browser.msie || $.browser.version >= 9) { return $(this); }
	
	  return $(this).each(function() {
	    var img = $(this),
	        src = img.attr('src');
	
	    img.attr('src', 'http://playaway.com/images/trans.gif')
	        .css('filter', "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',sizingMethod='crop',src='" + src + "')");
	  });
	};
	
	
	
	// UNIVERSAL NAV CONTACT
	
	$(window).load(function() {
	
		 	jQuery('a[rel*=contactpop]').facebox()
				 
			$(document).bind('afterClose.facebox', function() {
				$("li#uninav-contact a").removeClass("contact-on");
			});
			
			$("a#contactpop").click(function(){
				$("li#uninav-contact a").addClass("contact-on");
			});
			
			$(window).resize(function() {
		  		$('#facebox').css('left', $(window).width() / 2 - ($('#facebox .popup').outerWidth() / 2));
	 		});
	 		
	 		// IE6 IS GARBAGE
	 		if ($.browser.msie && $.browser.version.substring(0,1) == '6') {
	 			$("li#uninav-channels a").click(function(){
					window.location = "http://www.playaway.com/";
				});
			}
		
		
		  $('li#switch-view').addClass('switch-on');
				  
	      $('li#switch-playaway').click(function(){
	            $(this).addClass('switch-on');
	            $("li#switch-view").removeClass('switch-on');
	      },function(){
	            $(this).removeClass('switch-on');
	            $("li#switch-view").addClass('switch-on');
	      });
	      
	      $('li#switch-view').click(function(){
	            $(this).addClass('switch-on');
	            $("li#switch-playaway").removeClass('switch-on');
	      },function(){
	            $(this).removeClass('switch-on');
	            $("li#switch-p").addClass('switch-on');
	      });
      
    });
    
    
	/* ---IE7 FIXES---------------------------------- */
	
	if (jQuery.browser.msie && jQuery.browser.version == '7') {
		$("body div.viewpage div#brief-marc").css("margin-left", "-223px");
		$("body div.viewpage div#brief-marc").css("margin-top", "311px");
	}
	
	
