$(function() {
	//$.cookie("rennKal", '');
	aktiviereToggle();
	aktiviereMark();
	//schliesseRennorte();
	resetKalender();
});

function resetKalender(){
	// Rennkalender Datum nach 2 Stunden reseten
	var timeCookie = $.cookie("rennKalTime");
	var curTime = new Date();
	if(timeCookie == 'NULL' || timeCookie == null){ // nicht gesetzt, Cookie setzen
		$.cookie("rennKalTime", curTime.getTime(), { path: '/' }); // curTime.getDate() + ' ' + curTime.getTime
	}else{
		//Vergleichen mit curTime, wenn 2 Stunden unterschied, cookie rennKal löschen
		//alert(curTime.getTime());
		if(curTime.getTime() - $.cookie("rennKalTime") > 1000*60*60*4){ // 1000*60*60*4 = 4 Stunden 
			$.cookie("rennKalTime", curTime.getTime(), { path: '/' });
			$.cookie("rennKalDat", '', { path: '/' });
			$.cookie("rennKal", '', { path: '/' });
			var kTag	= curTime.getDate();
			var kMonat	= curTime.getMonth();
			var kJahr	= String(curTime.getFullYear());
			if(kTag < 10){
				kTag = '0'+kTag;
			}/*else{
				kTag = ''+kTag;
			}*/
			kMonat++; //Monat fängt bei 0 an
			if(kMonat < 10){
				kMonat = '0'+kMonat;
			}/*else{
				kMonat = ''+kMonat;
			}*/
			kJahr = kJahr.substr(2,2);
			kalRefresh('/ajax/renninfo.htm?dat=', kTag+kMonat+kJahr, true);
		}
	}
}

function strpos(haystack, needle, offset){
	var i = (haystack+'').indexOf(needle, (offset || 0));
	return i === -1 ? false : i;
}

/*****************
* Wettschein
*****************/

function aktiviereMark(){
	$(".mark").click(function(){
		var showMark = true;
		
		if(!vWettschein){
			if(!showCheckBox){
				showMark = false;
			}else{
				$('.'+$(this).parent().attr('class')).hide();
				$('.'+$(this).parent().attr('class')+'MARK').show();
			}
		}else{
			showMark = false;
		}
		if(!showMark){
			var curChkBox = $(this).parent().attr('class');
			if(!vWettschein){
				//R1S1 zu PL1CH1
				curChkBox = curChkBox.replace('R', 'PL');
				curChkBox = curChkBox.replace('S', 'CH');
			}
			if(strpos(curChkBox, 'ALL')){ // alle checken //'PL1CHALL'
				var markChkBox = curChkBox;
				markChkBox = markChkBox.replace('PL', '');
				markChkBox = markChkBox.replace('CHALL', '');
				if ((document.wettschein.elements['selall'+markChkBox].checked == false)) {
					document.wettschein.elements['selall'+markChkBox].checked = true;
				}else{
					document.wettschein.elements['selall'+markChkBox].checked = false;
				}
				mark_alle(markChkBox);
				mainCalc(curChkBox);
				setMARK(markChkBox);
			}else{
				if(typeof(document.wettschein[curChkBox]) != 'undefined'){
					if(document.wettschein[curChkBox].checked){
						document.wettschein[curChkBox].checked = false;
					}else{
						document.wettschein[curChkBox].checked = true;
					}
					mainCalc(curChkBox);
					setMARK();
				}
			}
		}
	});
	$(".back").click(function(){
		var myClass = $(this).parent().attr('class'); 
		$('.'+myClass).hide();
		myClass = myClass.replace('MARK', '');
		$('.'+myClass).show();
	});
	
	$(".vmark").click(function(){
		//
	});
}

var offeneCheckboxen = new Array();

function saveOpenCheckboxen(){
	offeneCheckboxen = [];
	var g = 0;
	for(var i=1;i<=40;i++){
		if($('.R1S'+i).css('display') == 'none'){
			offeneCheckboxen[g] = i;
			g++;
		}
	}
	if($('.R1SALL').css('display') == 'none'){
		offeneCheckboxen[g] = 'ALL'; //Alle Starter
	}
}
function reconstructOpenCheckboxen(){
	for(var i=0;i<=offeneCheckboxen.length;i++){
		$('.R1S'+offeneCheckboxen[i]).hide();
		$('.R1S'+offeneCheckboxen[i]+'MARK').show();
	}
	
}
/*****************
* Renninfo
*****************/
function aktiviereToggle(){
	$(".countryClose").click(function() {
		toggleRennen($(this), false);
	});
	$(".countryOpen").click(function() {
		toggleRennen($(this), false);
	});
}

/*function schliesseRennorte(){
	var closeCountry = $.cookie("rennKal");
	var kalFound = false;
	if(closeCountry != 'NULL' && closeCountry != null){ // Länder schliessen
		closeCountry = closeCountry.split(' ');
		for(var i=0;i<closeCountry.length;i++){
			if(closeCountry[i].length == 2){
				if(closeCountry[i] == 'KL'){
					kalFound = true;
				}else{
					toggleRennen($.find("."+closeCountry[i]), true);//(this)
				}
			}
		}
	}
	if(kalFound == false){
		toggleRennen($.find(".KL"), true);
	}
}*/

function toggleRennen(element, start){ // Öffnet/Schliesst Elemente in Renninfo
	if(!start){
		$(element).parents(".toggle-header").find(".events").toggle('blind', '', 250);	
		var myClass = $(element).parents('.toggle-header').attr("class").replace('toggle-header', '').replace('countryOpen', '').replace('countryClose', '');
		myClass = $.trim(myClass);
		$(element).toggleClass("countryOpen").toggleClass("countryClose");
	}/*else{
		$(element).find(".events").toggle();
		//var myClass = $(element).attr("class").replace('toggle-header', '');
		$(element).find(".countryClose").toggleClass("countryOpen").toggleClass("countryClose");
	}*/
	
	if(!start){
		var myCookie = $.cookie("rennKal");
		
		if(myCookie == 'NULL' || myCookie == null){
			myCookie = '';
		}else{
			myCookie = $.cookie("rennKal").replace(' '+myClass, '').replace(myClass+' ', '');
		}
	
		if($(element).hasClass("countryOpen")){
			if(myClass != 'KL'){
				$.cookie("rennKal", myCookie +' '+ myClass, { path: '/' });
			}else{
				$.cookie("rennKal", myCookie, { path: '/' });
			}
			$(element).attr('src', $(element).attr('src').replace('close', 'open'));
		}else{
			$(element).attr('src', $(element).attr('src').replace('open', 'close'));
			if(myClass != 'KL'){
				$.cookie("rennKal", myCookie, { path: '/' });
			}else{
				$.cookie("rennKal", myCookie +' '+ myClass, { path: '/' });
			}
		}
	}/*else{
		if($(element).find(".countryOpen").attr('src') != null){
			$(element).find(".countryOpen").attr('src', $(element).find(".countryOpen").attr('src').replace('close', 'open'));
		}
	}*/
	
	//alert($.cookie("rennKal"));
}

//Fix für Div scroll
/*
function isTouchDevice(){
	try{
		document.createEvent("TouchEvent");
		return true;
	}catch(e){
		return false;
	}
}

function touchScroll(id){
	if(isTouchDevice()){ //if touch events exist...
		var el=document.getElementById(id);
		var scrollStartPos=0;

		document.getElementById(id).addEventListener("touchstart", function(event) {
			scrollStartPos=this.scrollTop+event.touches[0].pageY;
			event.preventDefault();
		},false);

		document.getElementById(id).addEventListener("touchmove", function(event) {
			this.scrollTop=scrollStartPos-event.touches[0].pageY;
			event.preventDefault();
		},false);
	}
}
*/

/*****************
* Ajax Funktionen
*****************/
function personenInfo(url, param){
	/*$('#popupinfoframe').attr('src', url+param); 
	toggleDiv();*/
	$('#topcontrol').css('display', 'block');
	$.ajax({
		method: 'get',
		url: url+param,
		dataType: 'text',
		success: function (ret) {
			//$('#popupinfo').html(ret); 
			$('.popupcontent').html(ret); 
			$('#topcontrol').css('display', 'none');
			toggleDiv();
			//changeSize();
			if(popuponce == false){
				$('#popupinfo').jScrollPane(
					{
						verticalDragMinHeight: 50,
						verticalDragMaxHeight: 50,
						horizontalDragMinWidth: 50,
						horizontalDragMaxWidth: 50
					}	
				);
				popuponce = true;
			}
			changeSize();
		}
	});
}

function toggleDiv(){
	$('#popupinfo').toggle();//500, 'fadeIn' 'fast', 'fade'
}

var AkalRefresh;
function kalRefresh(url, dat, now, res){
	clearInterval(AkalRefresh);
	AkalRefresh = setInterval(function(){ kalMainRefresh(url, dat) }, 5*60*1000); // 5*60*1000 Alle 5 minuten
	if(typeof(now) != 'undefined' && now == true){
		kalMainRefresh(url, dat, res);
	}
}

function kalMainRefresh(url, dat, res){
	$.ajax({
		method: 'get',
		url: url+dat,
		dataType: 'text',
		success: function (ret) {
			if(strpos(ret, '<!--AJAX ENDE-->') != false){
				$('.starterlist').html(ret); 
				aktiviereToggle();
				//schliesseRennorte();
				$.cookie("rennKalDat", dat, { path: '/' });
				//if(now)
				resetKalender();
			}
		}
	});
	if(typeof(res) != 'undefined' && res == true){ // Reset der Kalender - Resetzeit
		var curTime = new Date();
		$.cookie("rennKalTime", curTime.getTime(), { path: '/' });
	}
}

var ArennortRefresh;
function rennortRefresh(url, dat, now){
	clearInterval(ArennortRefresh);
	ArennortRefresh = setInterval(function(){ rennortMainRefresh(url, dat) }, 6*60*1000);
	if(typeof(now) == 'undefined'){
		rennortMainRefresh(url, dat);
	}
}

function rennortMainRefresh(url, dat){
	$.ajax({
		method: 'get',
		url: url+dat,
		dataType: 'text',
		success: function (ret) {
			if(strpos(ret, '<!--AJAX ENDE-->') != false){
				$('#bs').html(ret); 
			}
		}
	});
}

var AwettscheinRefresh;
function wettscheinRefresh(url, dat, now){
	clearInterval(AwettscheinRefresh);
	AwettscheinRefresh = setInterval(function(){ wettscheinMainRefresh(url, dat) }, 1*60*1000);
	if(typeof(now) == 'undefined'){
		wettscheinMainRefresh(url, dat);
	}
}

function wettscheinMainRefresh(url, dat){
	getMarks();
	saveOpenCheckboxen();
	$.ajax({
		method: 'get',
		url: url+dat,
		dataType: 'text',
		success: function (ret){
			if(strpos(ret, '<!--AJAX ENDE-->') != false){
				if(strpos(ret, '<!--RENNENGESCHLOSSEN-->')){
					window.location.reload();
				}else{
					$('.wettschein').html(ret);
					refreshMarks(NS);
					var doReset = setMarks();
					if(doReset){
						resetFrBetslip();
					}
					aktiviereMark();
					reconstructOpenCheckboxen();
					mainCalc();
				}
			}
		}
	});
}

var AvWettscheinRefresh;
function vWettscheinRefresh(url, dat, now){
	clearInterval(AvWettscheinRefresh);
	AvWettscheinRefresh = setInterval(function(){ vWettscheinMainRefresh(url, dat) }, 1*60*1000);
	if(typeof(now) == 'undefined'){
		vWettscheinMainRefresh(url, dat);
	}
}

function vWettscheinMainRefresh(url, dat){
	getMarks(true);
	$.ajax({
		method: 'get',
		url: url+dat,
		dataType: 'text',
		success: function (ret){
			if(strpos(ret, '<!--AJAX ENDE-->') != false){
				if(strpos(ret, '<!--RENNENGESCHLOSSEN-->')){
					window.location.reload();
				}else{
					$('.wettschein').html(ret);
					setMarks(true);
					vWetteRnrWechsel(document.wettschein['curOpen'].value);
					aktiviereMark();
					mainCalc();
				}
			}
		}
	});
}

