/*
 * prüft ob ein Wert in einem Array vorhanden ist (analog zu in_array in PHP) 
 * @param item
 * @param arr
 * @return boolean
 */
function in_array(needle,haystack) {
	for(p=0;p<haystack.length;p++) if (needle == haystack[p]) return true;
	return false;
}


function getStartImage(){
	var picArray = new Array();
	picArray[0] = 'person00.jpg';
	picArray[1] = 'person01.jpg';
	picArray[2] = 'person02.jpg';
	picArray[3] = 'person03.jpg';
	picArray[4] = 'person04.jpg';
	picArray[5] = 'person05.jpg';
	picArray[6] = 'person06.jpg';
	picArray[7] = 'person07.jpg';
	picArray[8] = 'person08.jpg';
	picArray[9] = 'person09.jpg';
	picArray[10] = 'person10.jpg';
	picArray[11] = 'person11.jpg';
	var currentPic = new Date().getDay();
	if (document.cookie) {
		var currentCookiePic = getCookie("currentStartPicture");
		currentCookiePic++;
		if (currentCookiePic >= picArray.length) {
			currentCookiePic = 0;
		}
		currentPic = currentCookiePic;
	} 
	var date = new Date();
	date.setTime(date.getTime()+(24*60*60*1000));
	var expires = "; expires="+date.toGMTString();
	document.cookie = "currentStartPicture="+currentPic+expires+";";
	return picArray[currentPic];
}
//var image = getStartImage();


function getCookieVal(offset) {
    var endstr = document.cookie.indexOf (";", offset);
    if (endstr == -1)
        endstr = document.cookie.length;
    return unescape(document.cookie.substring(offset, endstr));
}

function getCookie(name){
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++){
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}


/*
 * suche nach dem ersten vorkommen des gesuchten Zeichens in einem String 
 * @param string
 * @param string
 * @param integer
 * @return integer
 * 
 *  example 1: strrpos('komm.on.line', 'e');
 *	returns 1: 11
 *  example 2: strrpos('komm.on.line', 'e', 5);
 * 	returns 2: 7
 * 	example 3: strrpos('komm.on.line', 'a');
 * 	returns 3: false
 * 
 */
function strpos (haystack, needle, offset) {
    var i = (haystack+'').indexOf(needle, (offset || 0));
    return i === -1 ? false : i;
}


/*
 * suche nach dem letzten vorkommen des gesuchten Zeichens in einem String 
 * @param string
 * @param string
 * @param integer
 * @return integer
 * 
 *  example 1: strrpos('komm.on.line', 'e');
 *	returns 1: 11
 *  example 2: strrpos('komm.on.line', 'e', 5);
 * 	returns 2: 7
 * 	example 3: strrpos('komm.on.line', 'a');
 * 	returns 3: false
 * 
 */
function strrpos (haystack, needle, offset) {
    var i = -1;
    if (offset) {
        i = (haystack+'').slice(offset).lastIndexOf(needle); 
        if (i !== -1) {
            i += offset;
        }
    }    else {
        i = (haystack+'').lastIndexOf(needle);
    }
    return i >= 0 ? i : false;
}


/*
 * Equivalent zum sleep von PHP.
 * Sollte aber nicht fuer mehr als 3s genutzt werden.
 * @param integer
 * 
 */


/*
 * Fuer die Array Sortierung nach Zahlen  24, 5, 17 -> 5, 17, 24
 * Aufruf: Zahlen.sort(Numsort)
 */
function Numsort (a, b) {
	return a - b;
}






function getFirstKW(jahr){

	var erster = new Date();
	erster = Date.parseDate(jahr + '/01/01', 'Y/m/d');
	
	var wtag = erster.format('w');
	var tday = 0;
	if(wtag <= 4){
		tday = 1 - (wtag - 1);
	}else{
		tday = 1 + (7 - wtag + 1);
	}
	tday--;
	
	var montag = erster.add(Date.DAY, tday);
	//con('jahr:' + jahr + ', ' + tday + ' ' + montag);
	
	return montag;
}

function getMondayinWeek(kw, jahr){

	var firstmonday = getFirstKW(jahr);
	var tage = (kw - 1) * 7;
	return firstmonday.add(Date.DAY, tage);
}

function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}
 
function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
 
function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}


