var newsCalendar = function(){
	var t = this;
	var date = new Date();
	var startDate;
	
	this.init = function(startDT){
		t.date = new Date();
		t.date.setHours(0, 0, 0, 0);
		//t.startDate = new Date();
		//t.startDate.setHours(0, 0, 0, 0);
		
		if(startDT){
			var sa = startDT.split("-");
			t.startDate = new Date(sa[0],sa[1]-1,sa[2]);
			t.startDate.setHours(0, 0, 0, 0);
		} else {
			t.startDate = new Date();
			t.startDate.setHours(0, 0, 0, 0);
		}
		
		var cwd = t.startDate.getDay();
		if(cwd>1){
			t.startDate.setDate(t.startDate.getDate() - cwd + 1);
		} else if(cwd==0){
			t.startDate.setDate(t.startDate.getDate() - 6);
		}
		
		t.setDates();
		jQuery(".newsEventsKalender .prev_next .f_left a").click(function(){
			t.prevWeek();
		});
		jQuery(".newsEventsKalender .prev_next .f_right a").click(function(){
			t.nextWeek();
		});
		
	};
	
	this.setDates = function(){
		jQuery(".newsEventsKalender a.dateDiv").each(function(i){
			if(i==7){
				// CW
				jQuery('.date',this).html(t.kw() +"/"+ t.startDate.getFullYear().toString().substr(2));
				var d_tmp = new Date(t.startDate.getFullYear(), t.startDate.getMonth(), t.startDate.getDate());
				var dt_s = d_tmp.getDate()+"."+(d_tmp.getMonth()+1)+"."+d_tmp.getFullYear();
				d_tmp.setDate(d_tmp.getDate()+7);
				var dt_e = d_tmp.getDate()+"."+(d_tmp.getMonth()+1)+"."+d_tmp.getFullYear();
				jQuery(this).attr("href", "/news_events/period/"+dt_s+"/"+dt_e);
			} else {
				// Day
				var d_tmp = new Date(t.startDate.getFullYear(), t.startDate.getMonth(), t.startDate.getDate());
				d_tmp.setDate(t.startDate.getDate()+i)
				jQuery('.date',this).html(d_tmp.getDate()+"."+(d_tmp.getMonth()+1)+".");
				if(d_tmp.getTime() < t.date.getTime()){
					jQuery(this).attr("class", "dateDiv bg_red_light");
				} else if (d_tmp.getTime() > t.date.getTime() ){
					jQuery(this).attr("class", "dateDiv bg_red");
				} else {
					jQuery(this).attr("class", "dateDiv bg_black");
				}
				
				// SET LINKS!!!
				jQuery(this).attr("href", "/news_events/period/"+d_tmp.getFullYear()+"-"+(d_tmp.getMonth()+1)+"-"+d_tmp.getDate());
			}
		});
		
	};
	
	this.prevWeek = function(){
		t.startDate.setDate(t.startDate.getDate()-7);
		t.setDates();
	};
	
	this.nextWeek = function(){
		t.startDate.setDate(t.startDate.getDate()+7);
		t.setDates();
	};
	
	this.setStartDate = function(dt){
		
	};
	
	this.kw = function () {
		  var datum=new Date(t.startDate.getFullYear(), t.startDate.getMonth(), t.startDate.getDate());
		  var jh=t.startDate.getFullYear()+1;
		  var kalwo=t.kaldiff(datum,jh);
		  while(kalwo<1) { jh--; kalwo=t.kaldiff(datum,jh); }
		  return kalwo;
	}
	
	this.kaldiff = function(datum,jahr) {
		  var d4j=new Date(jahr,0,4);
		  var wt4j=(d4j.getDay()+6)%7;
		  var m1wjT=Math.floor(0.01+d4j.getTime()/864e5-wt4j);
		  var datumT=Math.floor(0.01+datum.getTime()/864e5);
		  return Math.floor(1+(datumT-m1wjT)/7);
	}
}




function setPeriod(val){
	if(val!=0){
		var val_arr = val.split("|");
		var sa = val_arr[0].split("-");
		var ea = val_arr[1].split("-");
		var dtS = new Date(sa[0],sa[1]-1,sa[2]);
		var dtE = new Date(ea[0],ea[1]-1,ea[2]);
		jQuery('#day1').val(ln(dtS.getDate())+".");
		jQuery('#month1').val(ln(dtS.getMonth()+1)+".");
		jQuery('#year1').val(ln(dtS.getFullYear()));
		jQuery('#day2').val(ln(dtE.getDate())+".");
		jQuery('#month2').val(ln(dtE.getMonth()+1)+".");
		jQuery('#year2').val(ln(dtE.getFullYear()));
	}
}

function ln(n){
	if(n<10){
		n = "0"+n;
	}
	return n;
}

function submitNewsFilter(){
	var stdt = jQuery('#year1').val()+"-"+jQuery('#month1').val()+"-"+jQuery('#day1').val();
	var endt = jQuery('#year2').val()+"-"+jQuery('#month2').val()+"-"+jQuery('#day2').val();
	stdt = stdt.split('.').join('');
	endt = endt.split('.').join('');
	var loc_id = jQuery("#location").val();
	document.location.href = "/news_events/events/"+stdt+"/"+endt+"/"+loc_id;

}

function setAjaxSelect(url, target_id){
	jQuery.ajax({
		url: url,
		success: function (res){
			obj = eval(res);
			var t = document.getElementById(target_id);
			var ol = t.options.length;
			//alert(ol);
			//var d = "";
			for(i=1;i<ol;i++){
				t.options[1] = null;
				//d += i+",";
			}
			//alert(d)
			if(obj.length>0){
				for(j=0;j<obj.length;j++){
					t.options[(j+1)] = new Option(obj[j].name, obj[j].id, false, false);
				}
			} else {
				
			}

		}
	});
}

function submitCountry(value){
	if(value==0) return;
	setAjaxSelect('/ajax/json/getCities/'+value, 'selSubmitCity');
	setAjaxSelect('/ajax/json/getLocationsByCountry/'+value, 'selSubmitLocation');

}

function submitCity(value){
	if(value==0) return;
	setAjaxSelect('/ajax/json/getLocationsByCity/'+value, 'selSubmitLocation');
}

function validateSubmitEvent(){
	var error = new Array();
	var f = document.forms['submitEvent'];
	if(f.elements['event_name'].value=="") error.push({field:'event_name', msg:'Name of Event'});
	if(f.elements['event_location'].value == 0){
		if(f.elements['add_location_name'].value=="") error.push({field:'event_name', msg:'New Venue Name'});
		if(f.elements['add_location_street'].value=="") error.push({field:'event_name', msg:'New Venue Street'});
		if(f.elements['add_location_city'].value=="") error.push({field:'event_name', msg:'New Venue City'});
		if(f.elements['add_location_country'].value=="") error.push({field:'event_name', msg:'New Venue Country'});
	}
	if(error.length>0){
		var str = "";
		for(i=0;i<error.length;i++){
			str += error[i].msg+"\n";
		}
		alert(str);
	} else {
		f.submit();
	}
}

function clubsFilter(){
	var url		 = '/clubs/';
	var city     = jQuery('#citySelect').val();
	var country  = jQuery('#countrySelect').val();
	var upcoming = jQuery('#onlyUpcoming:checked').val();
	if(country!=0){
		if(city==0){
			url += 'country/'+country+"/";
		} else {
			url += 'city/'+city+"/";
		}
	}
	if(upcoming){
		url += "?min_events="+upcoming;
	}
	document.location.href = url;
}
