// JavaScript Document

var coords;

$(document).ready(function()						   
{	
	if(user_location == "")
	{	
		standort_set();
	}

	$("#divradar").each(function()
	{							 
		radar = Raphael("divradar", 950, 500);	
		r_set_km = radar.set();
		r_set_in = radar.set();
		r_set_line = radar.set();
		r_set_text_daten = radar.set();
		r_set_text_tage = radar.set();
		//loadRadar();
	})
	
	$("div.event_icon").each(function(){
		
		if($(this).find("span").length > 0)
		{
		
			$(this).mouseover(function(){
					
				var offset = $(this).offset();
				$("#event_over").html($(this).find("span").html()+"<br /><br /><i>F&uuml;r Details Icon anklicken!</i>");					   
				$("#event_over").css("left", (offset.left-200-18)+"px");
				$("#event_over").show();
				var height = $("#event_over").height();
				$("#event_over").css("top", (offset.top-height-15)+"px");
				
			})
			
			$(this).mouseout(function(){
									   
				$("#event_over").hide();
				
			})
			
			$(this).click(function(e){
				
				id = $(this).attr("id");
				id = id.substr(6);
				
				openEvent(id);
				
			})
			
		}
		
		
	});
	
	$("a.event_dia").each(function(){
									 			
		var id = $(this).attr("id");
		var values_dia = [],
			colors_dia = [];
        
		$(this).find("tr").each(function () 
		{
			var value = $(this).find("td").text();
				
			if(val != "")
			{
				var val = Array();
				val = value.split(",");
								
				if(parseInt(val[0])>0)
				{
					values_dia.push(parseInt(val[0]));
           			colors_dia.push($("th", this).text());
				}
			}
        });
		
		/*if(values_dia.length == 1)
		{
			values_dia[0] = 359;
			values_dia[1] = 1;
			colors_dia[1] = colors_dia[0];
			alert("ui");
			
		}*/
				
        $(this).find("table").hide();
		
		Raphael(id, 74, 74).pieChart(37 , 37, 32, values_dia, colors_dia, "#fff");
		
		$(this).mouseover(function ()
		{
			var trs = 0;
			
			var values_trs = Array();
        
			$(this).find("tr").each(function () 
			{
			
				var value = $(this).find("td").text();
					
				if(value != "")
				{
					var val = Array();
					val = value.split(",");
					values_trs.push(val);
				}			
				
			});	
						
			$("#dia_over").find("tr").each(function(){
						
				var tds = 0;
				
				if(trs > 0)	
				$(this).find("td").each(function(){
					
					if(tds > 0)
					{
						if(values_trs[(tds)][trs+1] > 0)
							$(this).text(values_trs[(tds)][trs+1]);
						else
							$(this).text("");
					}
					
					tds++;
										   
				})
				
				trs++;
				
			})			
			
			var offset = $(this).offset();							   
			$("#dia_over").css("left", (offset.left-240-10)+"px");
			$("#dia_over").css("top", (offset.top-150)+"px");
			$("#dia_over").show();	
		
		})
	
		$(this).mouseout(function () {
			$("#dia_over").hide();
		});
									 
	});
	

	
	$("input.search").keypress(function(event) 
	{
  		if (event.keyCode == '13') 
			search_do();
	});
	
	if(VIEW_TYPE == "jahr" || VIEW_TYPE == "woche")
	{
		
		$("a.year_td").mouseover(function(){
			
			var href = $(this).attr("href");
			
			$("a.year_td[href='"+href+"']").css("background-color", "#ecf4e1");
			
		})
		
		$("a.year_td").mouseout(function(){
			
			var href = $(this).attr("href");
			
			$("a.year_td[href='"+href+"']").css("background-color", "transparent");
			
		})
		
		$("a.week_td_day, a.week_td_end").mouseover(function(){
			
			var href = $(this).attr("href");
			
			$("a.week_td_day[href='"+href+"'], a.week_td_end[href='"+href+"']").css("background-color", "#ecf4e1");
			
		})
		
		$("a.week_td_day, a.week_td_end").mouseout(function(){
			
			var href = $(this).attr("href");
			
			$("a.week_td_day[href='"+href+"'], a.week_td_end[href='"+href+"']").css("background-color", "transparent");
			
		})
	}
	
	if(VIEW_TYPE == "monat")
	{
		
		$("a.distance_mon").mouseover(function(){
			
			var kwnr = $(this).text();
			kwnr = kwnr.substr(0,2);
									
			$("a.w"+kwnr).css("background-color", "#d1e8b2");
			
		})
		
		$("a.distance_mon").mouseout(function(){
			
			var kwnr = $(this).text();
			kwnr = kwnr.substr(0,2);
			
			$("a.w"+kwnr).css("background-color", "#fff");
			
		})	
		
		$("a.week_td_day, a.week_td_end").mouseover(function(){
						
			$(this).css("background-color", "#d1e8b2");
			
		})
		
		$("a.week_td_day, a.week_td_end").mouseout(function(){
					
			$(this).css("background-color", "transparent");
			
		})
		
	}
	

	init_google_route();
	init_mails();	
	init_inputs();
	//init_map(); 
	
		
});

function openEvent(id)
{
	$.get('/includes/frame.php?type=event&id='+id, function(data) 
	{
		$('#frame').html(data);
		$("#frame").show();	
		init_map();
		init_mails();
		init_google_route();
		init_inputs();
		$.scrollTo("#frame", 800);
	});		
	
}

function init_inputs()
{
	$("input").click(function(){

		$(this).val("");
							  
	})
	
}

function init_google_route()
{
	$("#google_route").click(function(){
		var from = $("#route_from").val();
		var to = coords;
		$(this).attr("href", "http://maps.google.de/?saddr="+from+"&daddr="+to);
	}) 	
}

Raphael.fn.pieChart = function (cx, cy, r, values, colors, stroke) {
    var paper = this,
        rad = Math.PI / 180,
        chart = this.set();
    function sector(cx, cy, r, startAngle, endAngle, params) {
		
		if(startAngle == 0 && endAngle == 360)
			endAngle = 359;
		
        var x1 = cx + r * Math.cos(-startAngle * rad),
            x2 = cx + r * Math.cos(-endAngle * rad),
            y1 = cy + r * Math.sin(-startAngle * rad),
            y2 = cy + r * Math.sin(-endAngle * rad);
		

		
        return paper.path(["M", cx, cy, "L", x1, y1, "A", r, r, 0, +(endAngle - startAngle > 180), 0, x2, y2, "z"]).attr(params);
    }
    var angle = 0,
        total = 0,
        start = 0,
        process = function (j) {
            var value = values[j],
                angleplus = 360 * value / total,
                popangle = angle + (angleplus / 2),
                color = colors[j],
                ms = 500,
                delta = 30,
                bcolor = colors[j],
                p = sector(cx, cy, r, angle, angle + angleplus, {gradient: "90-" + bcolor + "-" + color, stroke: stroke, "stroke-width": 1});
            angle += angleplus;
            chart.push(p);
            start += .1;
        };
    for (var i = 0, ii = values.length; i < ii; i++) {
        total += values[i];
    }
    for (var i = 0; i < ii; i++) {
        process(i);
    }
	
	paper.image("/media/gfx/events/diamid.png", 21, 21, 32, 32);

	if(total <100)
		var t = paper.text(37, 37, total);
	else
		var t = paper.text(36, 37, total);
		
	t.attr({fill: "#898989"});	
    return chart;
};

function init_mails()
{
	$("div.email").each(function(){
	
		var add = $(this).text();
		add = add.replace("[ a t ]", "@");
		$(this).text(add);	
	})	
}

function init_map() 
{
	
	if($("#frame").css("display") != "none")
	{
		var div = $("#event_map");
		coords = $(div).text();
		var lat = coords.split(",")[0];
		var lon = coords.split(",")[1];
		var latlng = new google.maps.LatLng(lat, lon);
		var myOptions = {
			zoom: 8,
			center: latlng,
			disableDefaultUI: true,
			mapTypeId: google.maps.MapTypeId.ROADMAP
		};
		var map = new google.maps.Map(document.getElementById("event_map"), myOptions);
		
		var myLatLng = new google.maps.LatLng(lat, lon);
		var marker = new google.maps.Marker({
		  position: myLatLng,
		  map: map
		});
	}
}

function login_failed()
{
	$("#dialog-modal").dialog({
			height: 140,
			modal: true,
			resizable: false
	});
	
}

function close_frame()
{
	$("#frame").css("display", "none");
	
}

function close_search_frame()
{
	$("#search_frame").css("display", "none");
	
}

function newsletter_add()
{
	var mail = $("#newsletter_mail").val();
	
	if(validate_mail(mail))
	{
		var params = {mail:mail};
		$.post('/php/newsletter.php?action=add', params, function(data) 
		{
			$("#dialog").attr("title", "Newsletter eintragen");
			$("#dialog").html("<p>"+data+"</p>");
			$("#dialog").dialog({
			height: 150,
			modal: true,
			resizable: false,
			buttons: { "Ok": function() { $(this).dialog("close"); } }
	});
		})
		
	}
	
}

function validate_mail(address) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   if(reg.test(address) == false) {
      		$("#dialog").attr("title", "Newsletter eintragen");
			$("#dialog").html("<p>Ung&uuml;ltige Adresse!</p>");
			$("#dialog").dialog({
			height: 150,
			modal: true,
			resizable: false,
			buttons: { "Ok": function() { $(this).dialog("close"); } }
			});
      return false;
   }
   else
    	return true;
}


function standort_set()
{
	$("#standort").dialog({
						  
		height: 300,
		modal: true,
		resizable: false
	});
		
}

function search_standort()
{
	var ort = $("#i_standort").val();
	$.ajax({
  		url: "/php/standort.php?standort="+ort,
  		success: function(data)
		{
			if($(data).find("status").text() == "ZERO_RESULTS")
			{
				$("#dialog").attr("title", "Standort Suche");
				$("#dialog").html("<p>Nichts gefunden</p>");
				$("#dialog").dialog({
				height: 150,
				modal: true,
				resizable: false,
				buttons: { "Ok": function() { $(this).dialog("close"); } }
				});				
			}
			else 
			if($(data).find("result").length > 1)
			{
				var text = "";
				
				$(data).find("result").each(function()
				{
					var isLoc = false;
					$(this).find("type").each(function(){
					
						if($(this).text() == ("locality" || "political" || "postal_code"))
							isLoc = true;
					
					})
					
					if(isLoc)
					{
						var ort = $(this).find("formatted_address").first().text();
						var lat = $(data).find("location > lat").first().text()
						var lon = $(data).find("location > lng").first().text();
						text += "<p><a href=\"javascript:standort_set_to_Session('"+ort+"', '"+lat+"', '"+lon+"')\">"+ort+"</a></p>";
					}
				});
				
				
				$("#dialog").attr("title", "Standort Suche");
				$("#dialog").html("<p>Bitte w&auml;hlen:</p>"+text);
				$("#dialog").dialog({
				height: 550,
				modal: true,
				resizable: false
				});	
			}
			else
			if($(data).find("result").length == 1)
			{
				var ort = $(data).find("formatted_address").first().text();
				var lat = $(data).find("location > lat").text();
				var lon = $(data).find("location > lng").text();
				$("#standort").html($("#standort").html() + "<br /><br />"+ort+" gefunden!");
				standort_set_to_Session(ort, lat, lon);		
				
			}

		}
	  
	});
}

function standort_set_to_Session(ort, lat, lon)
{
	$.get("/php/standort.php?set&setstandort="+ort+"&lat="+lat+"&lon="+lon, function(data){
		window.location.href = window.location.href;
	});
}

function search_do()
{
	gets = "?";
	if($("#search_datum").val() != ("") && $("#search_datum").val() != ("Datum..."))
	{
		gets += "datum="+$("#search_datum").val()+"&";
	}
	
	if($("#search_ort").val() != ("") && $("#search_ort").val() != ("Ort/Region"))
	{
		gets += "ort="+$("#search_ort").val()+"&";
	}
	
	if($("#search_stichwort").val() != ("") && $("#search_stichwort").val() != ("Stichwort..."))
	{
		gets += "stichwort="+$("#search_stichwort").val()+"&";
	}
		
	$.get("/includes/search.php"+gets, function(data)
	{
		$('#search_frame').html(data);
		$("#search_frame").show();	
		$.scrollTo("#search_frame", 800);
	});	
	
}

function check_input(id, text)
{
	if($("#"+id).val() == "")
	{
		$("#"+id).val(text)
		
	}
	
}