/* Shiny JS, Framework This code is copyright (c) Ernesto Mendez 2010. http://der-design.com */ $ = jQuery; IE = $.browser.msie; NOT_IE = ! $.browser.msie; function get_metavar(meta) { var selector = 'meta[name=' + meta + ']'; return $(selector).attr('content'); } function append_slash(url) { url += ( url[url.length-1] != 'default.htm' ) ? 'default.htm' : ''; return url; } function add_action(where, callback) { try {hooks;} catch(e) {hooks = [];} if ( ! hooks[where] ) {hooks[where] = [];} hooks[where].push(callback); } function do_action(where) { try {hooks} catch(e) {return false;} if ( ! hooks[where] ) {return false;} for ( var i in hooks[where] ) { var c = hooks[where][i]; c(); } } function is_ie7() { return (navigator.appVersion.indexOf("MSIE 7.")==-1) ? false : true; } function is_ie8() { return (navigator.appVersion.indexOf("MSIE 8.")==-1) ? false : true; } function maxval(values) { var max = 0; for ( var i in values ) { max = ( values[i] >= max ) ? values[i] : max; } return max; } function cycle(increment, current, length) { increment = parseInt(increment); current = parseInt(current); length = parseInt(length); var pos = current + increment; if (pos == 0) {return length;} if (pos > length) {return 1;} return pos; } function basename(url) { url = url.split('/'); var name = url[url.length-1]; return name; } function in_array(needle, haystack) { for ( var i=0; i < haystack.length; i++) { if ( needle == haystack[i]) { return true; } } return false; } function common_lib_functions() { $('a[rel=_blank]').attr('target', '_blank'); } function theme_path(file) { var color_theme = get_metavar('shiny_color_theme'); switch(color_theme) { case 'default': return template_directory + 'core/images/' + file; break; default: return template_directory + 'core/styles/' + color_theme + '/' + basename(file); break; } } // Extensions // TWITTER (function($){ $.fn.tweets = function(options) { $.ajaxSetup({ cache: true }); var defaults = { tweets: 1 }; var options = $.extend(defaults, options); return this.each(function() { var obj = $(this); $.getJSON('../twitter.com/statuses/user_timeline/' + options.username +'.json@count=' + options.tweets +'&callback=?', function(data) { $.each(data, function(i, tweet) { if( tweet.text !== undefined ) { tweet.text = tweet.text .replace(/#(.*?)(\s|$)/g,'#$1 ') .replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig,'$& ') .replace(/@(.*?)(\s|\(|\)|$)/g,'@$1 $2'); options.callback(tweet.text); } }); }); }); }; })(jQuery); // FLICKR WIDGET function init_flickr_widgets() { var c = 1; $('.der-flickr').each(function() {$(this).attr('id','flickr-widget-' + c);c+=1;}); $('.der-flickr').each(function() { var query = $(this).find('.query').attr('href'); query = $.base64Encode(query); query = encodeURIComponent(query); var id = $(this).attr('id'); var url = append_slash(template_directory) + 'includes/ajax/flickr_ajax.php@id=' + id + '&q=' + query; $.ajax({ url: url, cache: false, success: function(code){ eval(code); } }); }); }