if (typeof(site) == 'undefined') site = {}; site.utilities = function() { this.toggleInputText = function(args) { var sel = args.selector; var txt = args.text; var replace_onload = (typeof(args.onload) != undefined) ? args.onload : false; if ($(sel).val() == "") { if (replace_onload) $(sel).val(txt); } $(sel).bind('focus blur', function() { var $this = $(this); if ($this.val() == txt) $this.val(''); else if ($this.val() == '') $this.val(txt); }); }; // A collection of fixes for our beloved friend. // -------------------------------------------------------------------------- // this.fixIE6 = function() { $('body').css('margin', '0 auto'); }; // Returns truncated text of specified length plus ellispis // -------------------------------------------------------------------------- // this.truncate = function(text, length) { return text.slice(0,length)+"..."; }; }; var _site_util = new site.utilities(); function _scrollToHeader(obj) { var header = $("#ministry_header"); if ($(header).length == 0) return; var url = $(obj).attr('href'); var hash = ""; if (url.indexOf('#') > -1) { hash = url.substr(url.indexOf('#')); url = url.substr(0, url.indexOf('#')); } if (url.indexOf('?') > -1) { url += '&'; } else { if (url.substr(url.length - 1, 1) != '/') url += '/'; url += '?'; } var scroll = $(header).position().top + 36; if (scroll > 0) { url += '_scrolltop=' + scroll + hash; $(obj).attr('href', url); } } function _addScrollPos(obj) { var url = $(obj).attr('href'); var hash = ""; if (url.indexOf('#') > -1) { hash = url.substr(url.indexOf('#')); url = url.substr(0, url.indexOf('#')); } if (url.indexOf('?') > -1) { url += '&'; } else { if (url.substr(url.length - 1, 1) != '/') url += '/'; url += '?'; } var scroll; // Netscape compliant if (typeof(window.pageYOffset) == 'number') scroll = window.pageYOffset; // DOM compliant else if (document.body && document.body.scrollTop) scroll = document.body.scrollTop; // IE6 standards compliant mode else if (document.documentElement && document.documentElement.scrollTop) scroll = document.documentElement.scrollTop; // needed for IE6 (when vertical scroll bar is on the top) else scroll = 0; // set href location with scroll position parameter url += '_scrolltop=' + scroll + hash; $(obj).attr('href', url); } function set_scroll_position(){ // get query string parameter with "?" var search = window.location.search; // if query string exists if (search){ // find scroll parameter in query string var matches = /_scrolltop=(\d+)/.exec(search); // jump to the scroll position if scroll parameter exists if (matches) window.scrollTo(0, matches[1]); } } function adjust_left_menu_border() { var d = $('#ministry-description-text'); var m = $('#ministry-left-menu'); if ($(m).length > 0 && $(d).length > 0) { var h = $('#page').height() - $(d).offset().top - 15; $(d).css("height", h + "px"); } } $(document).ready(function() { _site_util.toggleInputText({ selector: '#site_search', text: 'Search', onload: true }); _site_util.fixIE6(); // Open external links in a new window // This is expensive. Is it worth it? $('a[rel="external"]').attr({ 'target' : '_blank' }); $('a.revelation').click(function() { if ($(this).attr('href').charAt(0) == '#') { $($(this).attr('href')).slideToggle(); return false; } }); $('.fauxlink').click(function() { window.location = $(this).find('a').attr('href'); }); adjust_left_menu_border(); }); window.onload = function() { set_scroll_position(); } // ---------------------- remove this ---------------------- var _clickMessage = 0; function dontClick() { switch (_clickMessage) { case 0: alert("Please don't click those buttons."); break; case 1: alert("I SAID PLEASE!"); break; case 2: alert("REALLY?! You clicked it again?"); break; case 3: alert("Now you're just being difficult."); break; case 4: alert("Um...HELLO?! These buttons aren't ready yet!"); break; case 5: alert("Hey, funny guy, see what happens if you do it again..."); break; case 6: alert("Somehwere a puppy has just died because of you."); break; case 7: alert("Now another puppy is gone :("); break; case 8: alert("Please stop killing puppies!"); break; default: alert("You have killed " + String(_clickMessage - 5) + " puppies. Are you happy yet?!"); break; } _clickMessage++; } // ---------------------------------------------