
/*	JS Helper Functions & Extensions
	Breath-e Digital - London Digital Creative Agency
	http://www.breath-e.com  */

(function($) {

IE = $.browser.msie;

NOT_IE = ! $.browser.msie;

this.get_metavar = function(meta) {

	var selector = 'meta[name=' + meta + ']';

	return $(selector).attr('content');

}

this.append_slash = function(url) {

	url += ( url[url.length-1] != '/' ) ? '/' : '';

	return url;

}

this.add_action = function (where, callback) {

	try {hooks;} catch(e) {hooks = [];}

	if ( ! hooks[where] ) {hooks[where] = [];}

	hooks[where].push(callback);

}

this.do_action = function (where) {

	try {hooks} catch(e) {return false;}

	if ( ! hooks[where] )  {return false;}

	for ( var i in hooks[where] ) {

		var c = hooks[where][i];

		c();

	}
}

this.is_ie7 = function () {

	return (navigator.appVersion.indexOf("MSIE 7.")==-1) ? false : true;

}

this.is_ie8 = function () {

	return (navigator.appVersion.indexOf("MSIE 8.")==-1) ? false : true;

}

this.maxval = function (values) {

	var max = 0;

	for ( var i in values ) {

		max = ( values[i] >= max ) ? values[i] : max;

	}

	return max;

}

this.cycle = function (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;

}

this.basename = function (url) {

	url = url.split('/');

	var name = url[url.length-1];

	return name;
}

this.in_array = function (needle, haystack) {

	for ( var i=0; i < haystack.length; i++) {

		if ( needle == haystack[i]) {return true;}

	}

	return false;
}

this.framework_lib_basic = function () {

	$('a[rel=_blank]').attr('target', '_blank');

}

this.reverse_text = function (text) {

	var letters = [];

	for( var i=0; i < text.length; i++) {letters.push(i);}

	letters.reverse();

	var new_text = '';

	for ( var i in letters ) {new_text += text[letters[i]];}

	return new_text;

}

})(jQuery);
