function onConnected(uid)
{
	var profile_pic = "<div class='comment-photo'><fb:profile-pic uid='loggedinuser' facebook-logo='true' size='square'></fb:profile-pic></div>";
	var name = "<div class='comment-content'>Je bent ingelogd als:<br /><span><fb:name uid='loggedinuser' useyou='false'></fb:name></span></div>";
	
	var publish = '<p class="facebook-publish"><span><label for="publish">Publiceer deze comment ook op Facebook</label> <input type="checkbox" value="1" checked="true" id="publish" name="publish"/></span></p>';

	$("#name").parent().hide();
	$("#email").parent().hide();
	$("#facebook-uid").val(uid);
	$("#login-button").hide();
    $("#logout-button").show();

	$("#facebook-user").html(profile_pic+name).show();
	$("#description").parent().after(publish);

	FB.XFBML.Host.parseDomTree();
}
function onNotConnected()
{
    $("#name").parent().show();
    $("#email").parent().show();
    $("#facebook-user").html("").hide();
    $("#facebook-uid").val("");
    $("#login-button").show();
    $("#logout-button").hide();
    $(".facebook-publish").remove();
}

FB.init("50294dcf86322f1b5788244c486611ab", "/xd_receiver.htm", {"ifUserConnected" : onConnected, "ifUserNotConnected": onNotConnected});

function is_valid_email(email)
{
	var regexp = new RegExp(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/);
	return regexp.test(email);
}

var minimumRes = 12;
var maximumRes = 17;

$(document).ready(function(){
    var map;
    
    function getPoint(){
		var lat = $("#lat").html();
		var lng = $("#lng").html();
		var cat_id = $("#cat_id").html();
	    var point = new GLatLng(lat, lng);
	    var detail_title = $("#title").html();
	    var detail_url = $("#urltitle").html();
	    map.setCenter(point, 17);
	    
	    var mapTypes = map.getMapTypes();
		for (var i=0; i < mapTypes.length; i++) {
			mapTypes[i].getMinimumResolution = function(){return minimumRes;};
			mapTypes[i].getMaximumResolution = function(){return maximumRes;};
		}

	    var cat_icon = new GIcon(G_DEFAULT_ICON);
		var cat_image = $("#cat_"+cat_id).find("img");
        cat_icon.image = cat_image.attr("src");
        cat_icon.shadow = "/images/layout/shadow.png";
		cat_icon.iconSize = new GSize(30, 40);
		cat_icon.shadowSize = new GSize(40, 51);
		cat_icon.iconAnchor = new GPoint(0, 40);
		cat_icon.infoWindowAnchor = new GPoint(30, 0);
		cat_icon.imageMap = [0,0, 30,0, 30,30, 0,30];

		var marker = new GMarker(point, {title: detail_title, icon: cat_icon});
		GEvent.addListener(marker, 'click', function() {
			var cat_url = cat_image.attr("src");
			cat_url = cat_url.substring(cat_url.indexOf('_')+1, cat_url.lastIndexOf('.'));
			var html = "<a href='/profiel/"+detail_url+ "/' title='"+detail_title+"' class='namePlace'>"+detail_title+"</a> - ";
			html += '<a href="/profiel/lijst/'+cat_url+'/" title="'+cat_image.attr("alt")+'" class="catPlace">'+cat_image.attr("alt")+'</a><br />';
			html += '<p>'+$("#street").html()+'<br />';
			html += $("#city").html()+'</p>';
			marker.openInfoWindowHtml(html);
		});
	    map.addOverlay(marker);
	}
	
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("detail-map"));
		var topRight = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,10));
	    map.addControl(new GLargeMapControl3D(), topRight);
		getPoint();
	}
	
	$("#logout-button").click(function(){
		FB.Connect.logout();
	});
	
	$("#addcomment").submit(function(){
		var uid =  $("#facebook-uid").val();
		var name = $("#name");
		var email = $("#email");
		var desc = $("#description");
		$(".msg").hide();
		if(desc.val().length > 2 && (uid != '' || (name.val().length > 2 && is_valid_email(email.val())))){
            $("#msg_error").hide();

            if($("#publish:checked").val()){
				var title = $("#title").html();
				var url = "http://ecoplan.be/profiel/"+$("#urltitle").html()+"/";
				var image = "http://ecoplan.be" + $("#detail-img img").attr("src");
				var json_data = {"title":title,"url":url,"comment-text":desc.val(),"images":[{"src":image, "href":url}]}
				FB.Connect.showFeedDialog(85403295903, json_data);
            }

			$.post($("#addcomment").attr("action"), $("#addcomment").serialize(), function(json){
                if(json.data){
					$('#msg_' + json.data).show();
					if(json.data == "ok"){
						$("#description").val("");
						var item = json.item;
						if(item !== ''){
							$("#no-comments").remove();
                            $("#comments").after('<div class="comment-holder"><div class="comment-photo">'+item.picture+'</div><div class="comment-content"><p class="comment-user"><span>'+item.name+'</span> schreef op '+item.date+' :</p><p class="comment">'+item.description+'</p></div><hr /></div>');
							FB.XFBML.Host.parseDomTree();
						}
					}
				}
				else{
					$('#msg_error').show();
				}
			},"json");
		}
		else{
			$("#msg_error").show();
			if(desc.val().length < 2){desc.addClass("error");}
			if(uid == null || uid == 0 || uid == ''){
                if(name.val().length < 2){name.addClass("error");}
                if(!is_valid_email(email.val())){email.addClass("error");}
			}
		}
		return false;
	});
	
	$("#description").change(function(){
		if($(this).val().length < 2){
			$(this).addClass("error");
		}else{
			$(this).removeClass("error");
		}
	});
	
	$("#name").change(function(){
		if($(this).val().length < 2){
			$(this).addClass("error");
		}else{
			$(this).removeClass("error");
		}
	});
	
	$("#email").change(function(){
		if(!is_valid_email($(this).val())){
			$(this).addClass("error");
		}else{
			$(this).removeClass("error");
		}
	});
});