// Live
var apiKey = "36cb864dfbc882cdd5039ad27894fca2";
// Dev
//var apiKey = "da9c5b94adb06f68fb8e576441ef238b";

$(document).ready(function(){
    $("#dateInput").datepicker({minDate: 0, maxDate: '+1Y',dateFormat: 'dd/mm/yy'});

    $("#haveCarSelect").change(function () {
        if($("#haveCarSelect").val() == "Yes") {
            $(".passengerCount").show();
        } else {
            $(".passengerCount").hide();
        }
    });

    $("#addMeLink").click(function () {
        $("#addMeContainer").show();
        $("#findOthersContainer").hide();
    });

    $("#findOthersLink").click(function () {
        $("#addMeContainer").hide();
        $("#findOthersContainer").show();
    });

    $("#findOthersSubmit").click(function () {
        $("#findOthersForm").submit();

    });

    $("#myTripsLink").click(function () {
        $("#myTripsUid").val(FB.Facebook.apiClient.get_session().uid);
        $("#myTripsForm").submit();
    });

    $("#myMessagesLink").click(function () {
        $("#myMessagesSession").val(FB.Facebook.apiClient.get_session().session_key);
        $("#myMessagesForm").submit();
    });

    $("#stopOverLink").click(function () {
        $("#stopOverTr").toggle();
        if($("#stopOverLink").html() == "Add Stopover") {
            $("#stopOverLink").html("Remove Stopover");
        } else {
            $("#stopOverLink").html("Add Stopover");
        }
    });

    

    $("#addMeFormSubmit").click(function () {
     // Validate form
     
     api = FB.Facebook.apiClient;
     if(api.get_session() == null) {
         alert("You need to login prior to adding a trip. Click 'Connect with Facebook' to login. ");
     } else {
        //FB.Connect.showPermissionDialog("publish_stream", function(x){addMe();});
        addMe();
     }
     
    });

});
function viewReceivedMessagesLink() {
    $("#msgContent").html("<div class=\"red removingLabel\">Loading received messages...</div>");
    $("#msgContent").load("/messages_received.jsp",{ session:FB.Facebook.apiClient.get_session().session_key   });
}

function viewSentMessagesLink() {
    $("#msgContent").html("<div class=\"red removingLabel\">Loading sent messages...</div>");
    $("#msgContent").load("/messages_sent.jsp",{ session:FB.Facebook.apiClient.get_session().session_key   });
}
function loggedIn() {
    
    
    //var usr = new Array();
    //var fields = new Array();
    //fields[0] = "name";
    //alert('logged in!');
    var api = FB.Facebook.apiClient;
    //usr[0] = api.get_session().uid;
    //alert(usr[0]);
    //alert("session="+api.get_session().session_key);
    $("#emptyContainer").load("/login",{'uid' : FB.Facebook.apiClient.get_session().uid , 'session' : api.get_session().session_key });
    /*
    FB.Facebook.get_sessionState().waitUntilReady(function() {
        alert($(".fb_profile_pic_rendered").attr("src"));
        alert($(".fb_profile_pic_rendered").attr("title"));

       FB.Facebook.apiClient.users_getInfo(usr,['name','pic'], function(uinfoo, ex){
            window.alert('hello');
            window.alert("User Info :"+uinfoo[0]['name']);
            //window.alert("User Info :"+uinfoo[0]['pic']);
            //$("#emptyContainer").load("/login",{'uid' : FB.Facebook.apiClient.get_session().uid , 'name' : uinfoo[0]['name'], 'picture': uinfoo[0]['pic']  });
            //window.alert("Exception :"+ex);
        });
    });
    */
}

function onConnected() {
    //alert('user is connected');
    $(".fbLoggedIn").show();
    $("#loginLink").hide();
}
function notConnected() {
    alert('User is not connected');
}

function addMe() {
    if($("#fromSelect").val() == $("#toSelect").val()) {
            showErrorDialog("Departure point same as destination.  Where do you need a lift to? The pub? :-)");
        } else {
            var from = $("#fromSelect").val();
            var to = $("#toSelect").val();
            var via = "";
            
            //if($("#stopOverTr").is(":visible")) {
             if($("#stopOverLink").html()== "Remove Stopover") {               
               via = $("#stopOverSelect").val();
            }
            var travelDate = $("#dateInput").val();
            //alert($("#dateInput").val());
            var haveCar = $("#haveCarSelect").val();
            var passengerCount = $("#passengerCountSelect").val();
            var comment = $("#commentTextarea").val();
            var location = $("#locationHidden").val();
            var id = $("#idHidden").val();
            //$("emptyContainer").load("/savemessage",{'uid' : FB.Facebook.apiClient.get_session().uid , 'from' : from, 'to': to,'date': travelDate,'passengerCount':passengerCount,'comment': comment  });
            $("#addMeContent").hide();
            $("#addMeResponse").show();
            //$("#addMeResponse").load("/savemessage",{'uid' : 1 , 'from' : from, 'to': to,'date': travelDate,'haveCar':haveCar,'passengerCount':passengerCount,'comment': comment  });
            var caption = "Looking for a lift";
            //from = "Shepherds Bush";
            //to = "Tescos, Hammersmith";
            var description = "Looking for a lift from "+from+" to "+to+" on "+travelDate+".";
            var userMsg = "Can anyone give me a lift?";
            if (haveCar == "Yes") {
                userMsg = "Is anyone looking for a lift?"
                caption = "Room for extra passengers";
                description = "Room for "+passengerCount+ " extra passengers going from "+from+" to "+to+" on "+travelDate+".";
            }
            var attachment = {'media':[{'type':'image','src':'http://www.liftsurfer.com/images/logo.gif','href':'http://www.liftsurfer.com/'}],"name":caption,"href":"http://www.liftsurfer.com","caption":description};
            FB.Connect.streamPublish(userMsg,attachment);
            $("#addMeResponse").load("/savemessage",{'uid' : FB.Facebook.apiClient.get_session().uid,"session":FB.Facebook.apiClient.get_session().session_key , 'from' : from, 'to': to,'via': via,'date': travelDate,'haveCar':haveCar,'passengerCount':passengerCount,'comment': comment, 'location':location, 'id':id  });


        }
}
function showErrorDialog(message) {
            //alert("Departure point same destination.  Where do you need a lift to? The pub? :-)");
            $("#dialogContent").html(message);
            $("#dialog").dialog({
			bgiframe: true,
			modal: true,
			buttons: {
				Ok: function() {
					$(this).dialog('close');
				}
			}
		});
        $("#dialog").dialog("open");
}
function showMsgDialog(uidTo, pic, name) {
    var api = FB.Facebook.apiClient;
    if (api.get_session() == null) {
         alert("You need to login before contacting other users. Click 'Connect with Facebook' to login. ");
     } else {
        //FB.Connect.showPermissionDialog("publish_stream", function(x){addMe();});
        showMsgDialog2(uidTo,pic,name);
     }
}

function showMsgDialog2(uidTo, pic, name) {
    $("#msgTextarea").val("");
    $("#msgStatus").hide();
    $("#msgTable").show();
    $("#msgToUid").val(uidTo);
    $("#msgPic").attr("src", pic);
    $("#msgToName").html(name);
    $("#msgDialog").dialog({
            bgiframe: true,
            modal: true,            
            width: 600
    });
    $('#msgDialog').dialog('option', 'buttons', {
                'Send': function() {
                        $("#msgStatus").html('Sending message...');
                        $("#msgTable").hide();
                        $("#msgStatus").show();
                        $('#msgDialog').dialog('option', 'buttons', {  });
                        
                        var uidTo = $("#msgToUid").val();
                        var msg = $("#msgTextarea").val();                        
                        $("#msgStatus").load("/saveusermessage",{'uidTo' : uidTo, 'session':FB.Facebook.apiClient.get_session().session_key,'msg':msg   });
                        $('#msgDialog').dialog('option', 'buttons', { "Ok": function() { $(this).dialog("close"); } });
                },
                'Cancel': function() {
                        $(this).dialog('close');
                }
            });
    $("#msgDialog").dialog("open");
}
function removeMessage(msgId) {
    if (confirm("Remove message. Please confirm?")) {
        $("#m"+msgId).html("<div class=\"red removingLabel\">Removing...</div>");
        var url = "/removeusermessage";
        jQuery.ajax({
        url:url,
        //data:{to:nicknameTo,from:nicknameFrom,subject:theSubject, message:msg },
        data:{'msgId':msgId },
        dataType:"html",
        success:function(data){
              $("#m"+msgId).hide();
              //alert(data);
        },
        error:function(xhr,err,e){ alert( "An error occured whilst attempting to remove trip"  ); }
        });
    }
}

function removeTrip(tripId) {
    if (confirm("Removing trip. Please confirm?")) {
        $("#m"+tripId).html("<div class=\"red removingLabel\">Removing...</div>");
        var url = "/removemessage";
        jQuery.ajax({
        url:url,
        //data:{to:nicknameTo,from:nicknameFrom,subject:theSubject, message:msg },
        data:{msgId:tripId },
        dataType:"html",
        success:function(data){
              $("#m"+tripId).hide();
              //alert(data);
        },
        error:function(xhr,err,e){ alert( "An error occured whilst attempting to remove trip"  ); }
        });
    }    
}

function editTrip(tripId) {
    $("#f"+tripId).submit();
}

function ismaxlength(obj,mlength){
if (obj.getAttribute && obj.value.length>mlength)
obj.value=obj.value.substring(0,mlength)
}

function openTravelGuide(country, city) {
    //var url = "http://www.offbeatguides.com/destination/Byron_Bay:Australia/"
    
    var url = "/travelguide?location="+country+"&city="+city;
    var api = FB.Facebook.apiClient;
    if (api.get_session() != null) {
        url = url + "&uid="+api.get_session().uid;
    }
    window.location = url;
}
function openHostelFinder(country, city)
{       var url = "http://reservations.bookhostels.com/lifttowoopwoop.com/";
            if (country == "southafrica") {
                country = "south+africa";
            }
            if (country == "newzealand") {
                country = "new+zealand";
            }
	if (city == "Anywhere") {            
            url = "http://reservations.bookhostels.com/lifttowoopwoop.com/countrylist.php?ChosenCountry="+country;
        }  else {
            url = "http://reservations.bookhostels.com/lifttowoopwoop.com/findabed.php?ChosenCountry="+country+"&ChosenCity="+city;
        }
        if (country == "europe") {
            url = "http://reservations.bookhostels.com/lifttowoopwoop.com/";
        }
        if (country == "help") {
            url = "http://www.reservations.bookhostels.com/lifttowoopwoop.com/supportcentre.php";
        }
        newwindow=window.open(url,'name','height=500,width=720,resizable=1,scrollbars=1,location=1');
	if (window.focus) {newwindow.focus()}
}
