var img_b = new Array();
img_b[1] = new Image(); 
img_b[1].src = "images/"+image_root_path+"/06_buttons/0_start_over.jpg";


///////////// String Compare

function strnatcmp ( f_string1, f_string2, f_version ) {
    var i = 0;
 
    if (f_version == undefined) {
        f_version = false;
    }
 
    var __strnatcmp_split = function ( f_string ) {
        var result = [];
        var buffer = '';
        var chr = '';
        var i = 0, f_stringl = 0;
 
        var text = true;
 
        f_stringl = f_string.length;
        for (i = 0; i < f_stringl; i++) {
            chr = f_string.substring(i, i + 1);
            if (chr.match(/[0-9]/)) {
                if (text) {
                    if (buffer.length > 0){
                        result[result.length] = buffer;
                        buffer = '';
                    }
 
                    text = false;
                }
                buffer += chr;
            } else if ((text == false) && (chr == '.') && (i < (f_string.length - 1)) && (f_string.substring(i + 1, i + 2).match(/[0-9]/))) {
                result[result.length] = buffer;
                buffer = '';
            } else {
                if (text == false) {
                    if (buffer.length > 0) {
                        result[result.length] = parseInt(buffer, 10);
                        buffer = '';
                    }
                    text = true;
                }
                buffer += chr;
            }
        }
 
        if (buffer.length > 0) {
            if (text) {
                result[result.length] = buffer;
            } else {
                result[result.length] = parseInt(buffer, 10);
            }
        }
 
        return result;
    };
 
    var array1 = __strnatcmp_split(f_string1+'');
    var array2 = __strnatcmp_split(f_string2+'');
 
    var len = array1.length;
    var text = true;
 
    var result = -1;
    var r = 0;
 
    if (len > array2.length) {
        len = array2.length;
        result = 1;
    }
 
    for (i = 0; i < len; i++) {
        if (isNaN(array1[i])) {
            if (isNaN(array2[i])) {
                text = true;
 
                if ((r = strcmp(array1[i], array2[i])) != 0) {
                    return r;
                }
            } else if (text){
                return 1;
            } else {
                return -1;
            }
        } else if (isNaN(array2[i])) {
            if (text) {
                return -1;
            } else{
                return 1;
            }
        } else {
            if (text || f_version){
                if ((r = (array1[i] - array2[i])) != 0) {
                    return r;
                }
            } else {
                if ((r = strcmp(array1[i].toString(), array2[i].toString())) != 0) {
                    return r;
                }
            }
 
            text = false;
        }
    }
 
    return result;
}

function strcmp ( str1, str2 ) 
{
    return ( ( str1 == str2 ) ? 0 : ( ( str1 > str2 ) ? 1 : -1 ) );
}

////////////////////


function mousehover(image,action,name,filetype)
{
	
	if(filetype==null)
	{
		filetype = '.png';
		folder = "06_buttons";
	}
	else
	{
		folder = "11_content_buttons";
	}
	
	if(action==1)
	{
		image.src = "images/"+image_root_path+"/"+folder+"/"+name+"_over"+filetype;
	}
	else
	{
		image.src = "images/"+image_root_path+"/"+folder+"/"+name+filetype;
	}
}


function print_r(x, max, sep, l) { 
	 
	    l = l || 0; 
	    max = max || 10; 
	    sep = sep || ' '; 
	 
	    if (l > max) { 
	        return "[WARNING: Too much recursion]\n"; 
	    } 
	 
	    var 
	        i, 
	        r = '', 
	        t = typeof x, 
	        tab = ''; 
	 
	    if (x === null) { 
	        r += "(null)\n"; 
	    } else if (t == 'object') { 
	 
	        l++; 
	 
	        for (i = 0; i < l; i++) { 
	            tab += sep; 
	        } 
	 
	        if (x && x.length) { 
	            t = 'array'; 
	        } 
	 
	        r += '(' + t + ") :\n"; 
	 
	        for (i in x) { 
	            try { 
	                r += tab + '[' + i + '] : ' + print_r(x[i], max, sep, (l + 1)); 
	            } catch(e) { 
	                return "[ERROR: " + e + "]\n"; 
	            } 
	        } 
	 
	    } else { 
	 
	        if (t == 'string') { 
	            if (x == '') { 
	                x = '(empty)'; 
	            } 
	        } 
	 
	        r += '(' + t + ') '	+ x + "\n"; 
	 
	    } 
	 
	    return r; 
	 
	}; 
	var_dump = print_r; 
	
	
sprintfWrapper = {
 
	init : function () {
 
		if (typeof arguments == "undefined") { return null; }
		if (arguments.length < 1) { return null; }
		if (typeof arguments[0] != "string") { return null; }
		if (typeof RegExp == "undefined") { return null; }
 
		var string = arguments[0];
		var exp = new RegExp(/(%([%]|(\-)?(\+|\x20)?(0)?(\d+)?(\.(\d)?)?([bcdfosxX])))/g);
		var matches = new Array();
		var strings = new Array();
		var convCount = 0;
		var stringPosStart = 0;
		var stringPosEnd = 0;
		var matchPosEnd = 0;
		var newString = '';
		var match = null;
 
		while (match = exp.exec(string)) {
			if (match[9]) { convCount += 1; }
 
			stringPosStart = matchPosEnd;
			stringPosEnd = exp.lastIndex - match[0].length;
			strings[strings.length] = string.substring(stringPosStart, stringPosEnd);
 
			matchPosEnd = exp.lastIndex;
			matches[matches.length] = {
				match: match[0],
				left: match[3] ? true : false,
				sign: match[4] || '',
				pad: match[5] || ' ',
				min: match[6] || 0,
				precision: match[8],
				code: match[9] || '%',
				negative: parseInt(arguments[convCount]) < 0 ? true : false,
				argument: String(arguments[convCount])
			};
		}
		strings[strings.length] = string.substring(matchPosEnd);
 
		if (matches.length == 0) { return string; }
		if ((arguments.length - 1) < convCount) { return null; }
 
		var code = null;
		var match = null;
		var i = null;
 
		for (i=0; i<matches.length; i++) {
 
			if (matches[i].code == '%') { substitution = '%' }
			else if (matches[i].code == 'b') {
				matches[i].argument = String(Math.abs(parseInt(matches[i].argument)).toString(2));
				substitution = sprintfWrapper.convert(matches[i], true);
			}
			else if (matches[i].code == 'c') {
				matches[i].argument = String(String.fromCharCode(parseInt(Math.abs(parseInt(matches[i].argument)))));
				substitution = sprintfWrapper.convert(matches[i], true);
			}
			else if (matches[i].code == 'd') {
				matches[i].argument = String(Math.abs(parseInt(matches[i].argument)));
				substitution = sprintfWrapper.convert(matches[i]);
			}
			else if (matches[i].code == 'f') {
				matches[i].argument = String(Math.abs(parseFloat(matches[i].argument)).toFixed(matches[i].precision ? matches[i].precision : 6));
				substitution = sprintfWrapper.convert(matches[i]);
			}
			else if (matches[i].code == 'o') {
				matches[i].argument = String(Math.abs(parseInt(matches[i].argument)).toString(8));
				substitution = sprintfWrapper.convert(matches[i]);
			}
			else if (matches[i].code == 's') {
				matches[i].argument = matches[i].argument.substring(0, matches[i].precision ? matches[i].precision : matches[i].argument.length)
				substitution = sprintfWrapper.convert(matches[i], true);
			}
			else if (matches[i].code == 'x') {
				matches[i].argument = String(Math.abs(parseInt(matches[i].argument)).toString(16));
				substitution = sprintfWrapper.convert(matches[i]);
			}
			else if (matches[i].code == 'X') {
				matches[i].argument = String(Math.abs(parseInt(matches[i].argument)).toString(16));
				substitution = sprintfWrapper.convert(matches[i]).toUpperCase();
			}
			else {
				substitution = matches[i].match;
			}
 
			newString += strings[i];
			newString += substitution;
 
		}
		newString += strings[i];
 
		return newString;
 
	},
 
	convert : function(match, nosign){
		if (nosign) {
			match.sign = '';
		} else {
			match.sign = match.negative ? '-' : match.sign;
		}
		var l = match.min - match.argument.length + 1 - match.sign.length;
		var pad = new Array(l < 0 ? 0 : l).join(match.pad);
		if (!match.left) {
			if (match.pad == "0" || nosign) {
				return match.sign + pad + match.argument;
			} else {
				return pad + match.sign + match.argument;
			}
		} else {
			if (match.pad == "0" || nosign) {
				return match.sign + match.argument + pad.replace(/0/g, ' ');
			} else {
				return match.sign + match.argument + pad;
			}
		}
	}
}
 
sprintf = sprintfWrapper.init;



function str_replace (search, replace, subject)
{
  var result = "";
  var  oldi = 0;
  for (i = subject.indexOf (search)
     ; i > -1
     ; i = subject.indexOf (search, i))
  {
    result += subject.substring (oldi, i);
    result += replace;
    i += search.length;
    oldi = i;
  }
  return result + subject.substring (oldi, subject.length);
}

	
// Formatiert auf MB um	
function mbformat(bytes)
{
	temp = Math.round(bytes/1024/1024*100)/100;
	temp = sprintf('%-.3f',temp);
	temp = str_replace('.',',',temp);
	
	return temp;


}

