/** * @fileOverview a Header widget * @author Bryan Berry * uses MIT License */ (function($){ // This is a dummy function, just here as placeholder to // to make the jsdoc tool happy /** @name $.ui.kHeader * @namespace kHeader widget * @example */ $.ui.kHeader = function(){}; $.widget('ui.kHeader', /** @lends $.ui.kHeader.prototype */ { _n : function(val, loc){ if ($.i18n){ return $._n(val, loc); } return val; }, _init : function(){ var options = $.extend({}, $.ui.kHeader.defaults, this.options); this.element.addClass('ui-widget ui-widget-content'); var $kHeader = $(""); var backLink = "#"; var urlParams = window.location.search.slice(1).split('&'); if (urlParams){ backLink = urlParams[0].split('=')[1]; } var $backBtn = $("
  • ") .appendTo($kHeader); var $lessonTitle = $("
  • " + "" + options.title + "
  • ") .appendTo($kHeader); if (options.lessonPlan || options.teacherNote){ var $dropDownArrow = $("" + "") .appendTo($lessonTitle); var $dropDownArea = $(""); if (options.lessonPlan){ $("
    " + "" + $.i18n.pgettext("$.ui.kHeader", "Lesson Plan") + "
    ") .appendTo($dropDownArea); } if (options.teachersNote){ $("
    " + "" + $.i18n.pgettext("$.ui.kHeader", "Teacher's Note") + "
    ") .appendTo($dropDownArea); } $dropDownArea.appendTo($dropDownArrow); $dropDownArrow.hover( function(){ $dropDownArea.show(); }, function(){ $dropDownArea.hide(); } ); } if(options.zoom === true){ var iframeScale = 1.0; var translateY = 0; var getIframeStyle = function(){ return window.frames[0].document.body.style; }; var zoomIn = function(){ var iframeStyle = getIframeStyle(); iframeScale = iframeScale + 0.1; translateY = translateY + 50; var scale = 'scale(' + iframeScale + ')'; var translate = "translate(0px, " + translateY + "px)"; iframeStyle.MozTransform = scale + ' ' + translate; iframeStyle.WebkitTransform = scale + ' ' + translate; }; var zoomOut = function(){ var iframeStyle = getIframeStyle(); iframeScale = iframeScale - 0.1; translateY = translateY - 50; var scale = 'scale(' + iframeScale + ')'; var translate = "translate(0px, " + translateY + "px)"; iframeStyle.MozTransform = scale + ' ' + translate; iframeStyle.WebkitTransform = scale + ' ' + translate; }; $("
  • " + "
  • ") .click(zoomIn) .appendTo($kHeader); $("
  • ") .click(zoomOut) .appendTo($kHeader); } if($('#' + options.help).length){ if($.ui.dialog){ var $help = $('#'+ options.help) .dialog({ position:[ "right", "top"], modal:'true',autoOpen:false,width:500, height: 400, dialogClass: 'kHeader-help' }); } else { if(console){ console.log("You need to add the jQuery UI dialog" + " widget in order to use Help feature."); } } } $("
  • ") .click(function(){ if($.ui.dialog && $help){ $help.dialog('open'); } }) .appendTo($kHeader); $("
  • ") .appendTo($kHeader); this.element.append($kHeader); //0-width divs that hold hover imgs for pre-loading var $preloadImgDivs = $("
    " + "
    " + "
    " + "
    " + "
    " ) .appendTo($kHeader); }, /** Removes the kHeader widget and all related data from the DOM */ destroy : function(){ this.element.remove(); $.widget.prototype.destroy.apply(this, arguments); } }); $.ui.kHeader.getter = []; $.ui.kHeader.i18n = {}; /** Default settings for the kHeader widget * @namespace Default settings for the kHeader widget * @extends $.ui.kHeader */ $.ui.kHeader.defaults = { /** title * @type String * @default "" */ title: "", /** Turns on zoom buttons * @type boolean * @default false */ zoom: false, /** Creates drop-down with link to lesson plan * @type boolean or string file path to lesson plan * @default false */ lessonPlan: false, /** Creates drop-down with link to teachersNote * @type boolean or string file path to teachersNote * @default false */ teachersNote: false, /** Id of element containing help text * @type String * @default "kHelp" */ help: "kHelp" }; })(jQuery);