
//�bergabeparameter holen
function getParameter(){
	var paraStr = "";
	var elements = new Array();
	var parameter = new Array();
	
	paraStr = location.href;
	paraStr = paraStr.substring(paraStr.indexOf("?")+1, paraStr.length)
	elements = paraStr.split("&");
	
	var name;
	var value;	
	for(i=0;i<elements.length;i++){
		name = elements[i].substring(0, elements[i].indexOf("="));
		value = elements[i].substring(elements[i].indexOf("=")+1,elements[i].length);
		parameter[name] = value;	
	}
		
	return parameter;
}


//cookie f�r trainingsfahrt speichern
function saveInput(){
  /*var eingabe = "eingabe=";
  eingabe = eingabe + document.eingabe.h.value+"$"
  eingabe = eingabe + document.eingabe.s.value+"$"
  eingabe = eingabe + document.eingabe.Std.value+"$"
  eingabe = eingabe + document.eingabe.Min.value+"$"
  eingabe = eingabe + document.eingabe.Sec.value+"$"
  eingabe = eingabe + document.eingabe.Fahrergewicht.value+"$"
  eingabe = eingabe + document.eingabe.Fahrradgewicht.value+"$"
  eingabe = eingabe + document.eingabe.cr.value+"$"
  eingabe = eingabe + "|"
  //if (document.cookie)  
  document.cookie = eingabe;*/
	
	var a = new Date();
	a = new Date(a.getTime() +1000*60*60*24*365);
	document.cookie = 'meincookie=meinwert; expires='+a.toGMTString()+';'; 
	
	wert0 = "wert0="+ new Array("Anita", "Bettina", "Christa", "Doris");

	
	wert1 = 'wert1=abc;';
	wert2 = 'wert2=def;';
	wert3 = 'wert3=ghi;';
	document.cookie = wert0;
	document.cookie = wert1;
	document.cookie = wert2;
	document.cookie = wert3; 
	alert(document.cookie)
}

//cookie f�r Einteilung trainingsbereiche speichern
function saveZones(){
/*  var bereich = "bereich=";
  for(i=0;i<zone.length;i++){
  	bereich = bereich + document.bereich.elements[zone[i]].value+"$"
  }
  bereich = bereich + "|";
  document.cookie = bereich;*/ 
}

var X = 0;
var Y = 1;
function getPointatLine(x, x1, y1, x2, y2){

	/*var points = new Array();
	points[X] = new Array();
	points[Y] = new Array();
	
	points[X][1] = x1;
	points[Y][1] = y1;
	points[X][2] = x2;
	points[Y][2] = y2;
	//return regression(x, points);
	*/
	return parseFloat(y1)+parseFloat(((y2-y1)*(x-x1))/(x2-x1)); 
}

function steigung(x, y, x1, y1){
	return (y-y1)/(x-x1);
}

//regressionsgerade point array = messwerte
function regression(x, point){
var X = 0;
var Y = 1;
	
	/*alert("x:"+point[X][0]+" y:"+point[Y][0]);
	alert("x:"+point[X][1]+" y:"+point[Y][1]);
	alert("x:"+point[X][2]+" y:"+point[Y][2]);
	alert(point[X].length);
	*/
	
	var n = point[X].length;
	//y=ax+b; az=z�hler von a; delta=nenner; s1=summe...
	var s1 = 0;
	var s2 = 0;
	var s3 = 0;
	var s4 = 0;
	
	for(i=0; i<n; i++) s1 = s1 + (point[X][i]*point[Y][i]);
	for(i=0; i<n; i++) s2 = s2 + point[X][i];
	for(i=0; i<n; i++) s3 = s3 + point[Y][i];
	var az = n * s1 - s2 * s3;
	
	for(i=0; i<n; i++) s4 = s4 + (point[X][i]*point[X][i]);	
	var bz = s4 * s3 - s2 * s1;
	
	var delta = n * s4 - s2*s2  
		
	var a = az/delta;
	var b = bz/delta;
	
	var y = a * x + b;
	
	return y;
}

function korrelation(point){
	var X = 0;
	var Y = 1;
	var n = point[X].length;
	//alert("n:"+n);
	var xm = 0; //mittelwerte
	var ym = 0;
	//for(i=0; i<n; i++) alert(i+": "+point[X][i]);
	for(i=0; i<n; i++) xm = xm + point[X][i]/n;
	for(i=0; i<n; i++) ym = ym + point[Y][i]/n;
	//alert("xm"+xm);
	var sx = 0; //wurzeln der varianzen
	var sy = 0;
	for(i=0; i<n; i++) sx = sx + Math.pow(point[X][i] - xm, 2);
	sx = sx * 1/(n-1);
	sx = Math.sqrt(sx);
	//alert("sx: "+sx); 
	for(i=0; i<n; i++) sy = sy + Math.pow(point[Y][i] - ym, 2);	
	sy = sy * 1/(n-1);
	sy = Math.sqrt(sy);
	//alert("sy: "+sy); 
	var sxy = 0; //wurzel der kovarianz
	for(i=0; i<n; i++) sxy = sxy + (point[X][i] - xm)*(point[Y][i] - ym);
	sxy = sxy *1/(n-1);
	//alert("sxy: "+sxy);
	var r = 0; //Korrelationskoeffizient
	r = sxy/(sx*sy);
	//alert("r:" + r);
	return r;
}

//1 nachkommastelle
function dispnum(x) {
	alert("DISPNUM gefunden")
	x = Math.floor(x*10)/10; // give me two decimal places;
	xstr=new String(x);
	Punkt=xstr.indexOf(".");
	if (Punkt== -1) xstr=xstr+".0";
 return(xstr);
}

function checkRange(lower, upper, input, messageId){
	input = input.replace(/,/, ".");
	
	if (!isNaN(input)){
		if ((input<lower) || (input>upper)){
			document.getElementById(messageId).innerHTML = "ausserhalb des Wertebereichs [" + lower + ".." + upper + "]";
		}else{
			document.getElementById(messageId).innerHTML = "<span>&nbsp;</span>";
		}
	}else{
		document.getElementById(messageId).innerHTML = "Falsches Zeichen";
	}
	
}

function getTranslateURL(lang){
	var url;	
	if (lang=="en"){
		url = "http://209.85.135.104/translate_c?hl=de&langpair=de%7Cen&u=http://heiko.ploinger.de";
	}else if (lang=="fr"){
		url = "http://209.85.135.104/translate_c?hl=de&langpair=de%7Cfr&u=http://heiko.ploinger.de/";
	}
	window.location.href = url;
}






/* cookies.js */
/*
     Example File From "JavaScript and DHTML Cookbook"
     Published by O'Reilly & Associates
     Copyright 2003 Danny Goodman
*/

// utility function to retrieve a future expiration date in proper format;
// pass three integer parameters for the number of days, hours,
// and minutes from now you want the cookie to expire; all three
// parameters required, so use zeros where appropriate
function getExpDate(days, hours, minutes) {
    var expDate = new Date();
    if (typeof days == "number" && typeof hours == "number" && typeof hours == "number") {
        expDate.setDate(expDate.getDate() + parseInt(days));
        expDate.setHours(expDate.getHours() + parseInt(hours));
        expDate.setMinutes(expDate.getMinutes() + parseInt(minutes));
        return expDate.toGMTString();
    }
}

// utility function called by getCookie()
function getCookieVal(offset) {
    var endstr = document.cookie.indexOf (";", offset);
    if (endstr == -1) {
        endstr = document.cookie.length;
    }
    return unescape(document.cookie.substring(offset, endstr));
}

// primary function to retrieve cookie by name
function getCookie(name) {
    var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while (i < clen) {
        var j = i + alen;
        if (document.cookie.substring(i, j) == arg) {
            return getCookieVal(j);
        }
        i = document.cookie.indexOf(" ", i) + 1;
        if (i == 0) break; 
    }
    return null;
}

// store cookie value with optional details as needed
function setCookie(name, value, expires, path, domain, secure) {
    document.cookie = name + "=" + escape (value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

// remove the cookie by setting ancient expiration date
function deleteCookie(name,path,domain) {
    if (getCookie(name)) {
        document.cookie = name + "=" +
            ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}

