var REAL = REAL || {};


// IE Detection

var Browser = {
	Version: function() {
		var version = 999; // we assume a sane browser
		if (navigator.appVersion.indexOf("MSIE") != -1)
		// bah, IE again, lets downgrade version number
		version = parseFloat(navigator.appVersion.split("MSIE")[1]);
		return version;
	}
};
REAL.isIE = /*@cc_on!@*/false && Browser.Version() < 9;
REAL.isIE9 = /*@cc_on!@*/false && Browser.Version() == 9;
REAL.isIE8 = REAL.isIE && !REAL.isIE9;

// Basic useful methods

REAL.Utils = {};

REAL.Utils.randomFromTo = function (from, to) {
	return Math.floor(Math.random() * (to - from + 1) + from);
};

REAL.Utils.getCleanUrl = function (url) {
	var urlTemp		= url.toLowerCase().replace(/ /g,"-"),
		badChars	= "áéíóúñü".split(""),
		goodChars	= "aeiounu".split("");

	for (var i = 0; i < badChars.length; i++ ){
		urlTemp = urlTemp.replace(badChars[i], goodChars[i]);
	}

	return urlTemp;
};

REAL.Utils.isArray = function(a) {
	return Object.prototype.toString.apply(a) === '[object Array]';
};

REAL.Utils.isValueInArray = function (arr, val) {
	for (var i = 0; i < arr.length; i++) if (val == arr[i]) return true;
	return false;
};

REAL.Utils.shuffleArray = function (myArray) {
	// Fisher-Yates shuffle algorithm
	var i = myArray.length,
		j, tempi, tempj;
	if ( i === 0 ) return false;
	while ( --i ) {
		j			= Math.floor( Math.random() * ( i + 1 ) );
		tempi		= myArray[i];
		tempj		= myArray[j];
		myArray[i]	= tempj;
		myArray[j]	= tempi;
	}
};

REAL.Utils.removeItemFromArray = function (arr, val) {
	var found = true;
	while (found) {
		found = false;
		for (var i = 0; i < arr.length; i++) {
			if (arr[i] == val)  {
				arr.splice(i, 1);
				found = true;
				break;
			}
		}
	}
	return arr;
};

REAL.Utils.capitaliseFirstLetter = function (string) {

	return string.charAt(0).toUpperCase() + string.slice(1);
};

