function signupButton()
{
    $("button.signup").click(function(){
	    var data=$(this).attr('name');
	    parsed=data.split("%");
	    host=parsed[0];
	    meeting_id=parsed[1];
	    $("input#meeting_id").val(meeting_id);
	    $("input#host").val(host);
	    showSignupDialog();
	});
}

function mySignups()
{
    if(mySignupsTabIndex==null)
	{
     	    $tabs.tabs('add','php/content.php?page=signups', 'My Signups');
	    mySignupsTabIndex=$tabs.tabs('length')-1;
      	    $tabs.tabs('select', mySignupsTabIndex); 	    
	}
    else
	{
	    $tabs.tabs('url',mySignupsTabIndex,'php/content.php?page=signups');
	    $tabs.tabs('load',mySignupsTabIndex);
	    $tabs.tabs('select', mySignupsTabIndex); 
	}

}

function manageSignups()
{
    if(meetingTabIndex==null)
	{
     	    $tabs.tabs('add','php/content.php?page=manageSignups', 'Manage Signups');
	    meetingTabIndex=$tabs.tabs('length')-1;
      	    $tabs.tabs('select', meetingTabIndex); 	    
	}
    else
	{
	    $tabs.tabs('url',meetingTabIndex,'php/content.php?page=manageSignups');
	    $tabs.tabs('load',meetingTabIndex);
	    $tabs.tabs('select', meetingTabIndex); 
	}

}

function meetingSignupClicked(name, id)
{
    if(signupTabIndex==null)
	{
     	    $tabs.tabs('add','php/content.php?page=signup&meeting_id='+id, 'Signup!');
	    signupTabIndex=$tabs.tabs('length')-1;
	    $tabs.tabs('select', signupTabIndex); 	    
	}
    else
	{
	    $tabs.tabs('url',signupTabIndex,'php/content.php?page=signup&meeting_id='+id);
	    $tabs.tabs('select', signupTabIndex); 
	}

}

function signupClicked(name, id, slotNum, starttime, endtime)
{
    if(authenticated=="")
	showLoginForm();
    else
	{
	    $("form#signupForm").append("<input type='hidden' id='signupSlotNumber' name='signupSlotNumber' value='"+slotNum+"'>");
	    $("form#signupForm").append("<input type='hidden' id='signupHost' name='host' value='"+name+"'>");
	    $("form#signupForm").append("<input type='hidden' id='signupMeetingID' name='meeting_id' value='"+id+"'>");
	    $("form#signupForm").append("<input type='hidden' id='signupStarttime' name='starttime' value='"+starttime+"'>");
	    $("form#signupForm").append("<input type='hidden' id='signupEndtime' name='endtime' value='"+endtime+"'>");
	    showSignupDialog();
	}
}

function searchClicked()
{
    var term=$('#search_term').val();
    var variables="page=searchMeetings&search_term="+term;
    $.post("php/content.php", variables, function(response){
	    $("div#searchResults").html(response);
	    $tabs.tabs('select', '#searchResults'); //select the search results tab
	    //	    signupButton();
	});
}

function manageClicked(id)
{
    $tabs.tabs('url',meetingTabIndex,"php/content.php?page=manageMeeting&meeting_id="+id);
    $tabs.tabs('load',meetingTabIndex);
}

function createClicked(type)
{
    //general availability meetings don't have a date, so don't do date formatting for them
    if((type=='officeHours')||(type=='oneTime'))
	{
	    var dateValue=$("input#datepicker").val();
	    var dateElements=dateValue.split("/");  //an array of month, day, year values
	    var formattedDate=dateElements[2] + "-" + dateElements[0] + "-" + dateElements[1]; //YYYY-MM-DD format, for great inserting into mysql
	    var starttime=$("input#starttime").val();
	    var starttimeElements=starttime.split(" ");
	    var starttimeTime=starttimeElements[0].split(":");
	    var starttimeHours=parseInt(starttimeTime[0]);
	    var starttimeMinutes=starttimeTime[1];
	    if(starttimeElements[1]=='PM')
		starttimeHours+=12;
	    if((starttimeElements[1]=='AM')&&(starttimeHours==12)) //12:00 AM should be 00:00
		starttimeHours="00";
	    var formattedStarttime=formattedDate+" "+starttimeHours+":"+starttimeMinutes+":00";
	    
	    var endtime=$("input#endtime").val();
	    var endtimeElements=endtime.split(" ");
	    var endtimeTime=endtimeElements[0].split(":");
	    var endtimeHours=parseInt(endtimeTime[0]);
	    var endtimeMinutes=endtimeTime[1];
	    if(endtimeElements[1]=='PM')
		endtimeHours+=12;
	    if((endtimeElements[1]=='AM')&&(endtimeHours==12)) //12:00 AM should be 00:00
		endtimeHours="00";
	    var formattedEndtime=formattedDate+" "+endtimeHours+":"+endtimeMinutes+":00";
	    
	    //$("#createFormattedDate").val(dateElements[2]+"-"+dateElements[0]+"-"+dateElements[1]); //YYYY-MM-DD format, for great inserting into mysql
    
	    $("#createForm").append("<input type='hidden' name='formattedDate' value='"+formattedDate+"'>");
	    $("#createForm").append("<input type='hidden' name='formattedStarttime' value='"+formattedStarttime+"'>");
	    $("#createForm").append("<input type='hidden' name='formattedEndtime' value='"+formattedEndtime+"'>");

	    if(type=='oneTime')
		{
		    var slotTime=parseInt($("input#signupTime").val());
		    var totalMinutes=60*(parseInt(endtimeHours)-parseInt(starttimeHours))+parseInt(endtimeMinutes)-parseInt(starttimeMinutes);
		    var slots=Math.ceil(totalMinutes/slotTime);
		    $("#createForm").append("<input type='hidden' name='slots' value='"+slots+"'>");
		}
	}

    var variables=$("#createForm").serialize();
    variables+="&action=create";
    blankCreateForm();  //set all the values back to defaults;
    $.post("php/siteActions.php", variables, function(response){
	    //		     normalCreateStyles();  //undo any validation styling on the form
	    var variables="page=allMeetings";
	    $.post("php/content.php",variables, function(response){
		    $("div#meetingsPage").html(response);
		    loadCreatePage();  //re-load the initial create splash screen
		    loadMainPage();
		    manageMeetings();
		    $("div#notifications").html("Your meeting has been created");
		    $("div#notifications").show();

		});    
	});    
}

function deleteMeetingClicked(meetingID)
{
    if(confirm("Are you sure you want to delete this meeting?  There is no undo"))
	{
	    var parameters="action=deleteMeeting&meetingID="+meetingID;
	    $.post("php/siteActions.php", parameters, function(response){
		    $("div#notifications").html("Your meeting has been deleted");
		    $("div#notifications").show();
		    var id=jQuery.trim(response);
		    var meetingName="div#meetingManagementDiv"+id;  //the response is the deleted meeting's ID
		    $(meetingName).hide();
		});
	}
}

function acceptSignupClicked(signupID)
{
    var parameters="action=acceptSignup&signupID="+signupID;
    $.post("php/siteActions.php", parameters, function(response){
	    var id=jQuery.trim(response);
	    $("div#notifications").html("signup accepted!");
	    $("div#notifications").show();
	    $("#MeetingSignups"+id).removeClass("unconfirmed rejected cancelled accepted");
	    $("#MeetingSignups"+id).addClass("accepted");
	    $("#meetingStatus"+id).html($("div.allSignups > div.acceptedMessage").html());
	});
}

function refuseSignupClicked(signupID)
{
    var parameters="action=rejectSignup&signupID="+signupID;
    $.post("php/siteActions.php", parameters, function(response){
	    var id=jQuery.trim(response);
	    $("div#notifications").html("signup rejected");
	    $("div#notifications").show();
	    $("#MeetingSignups"+id).removeClass("unconfirmed rejected cancelled accepted");
	    $("#MeetingSignups"+id).addClass("rejected");
	    $("#meetingStatus"+id).html($("div.allSignups > div.rejectedMessage").html());
	});
}

function cancelSignupClicked(signupID)
{
    var parameters="action=cancelSignup&signupID="+signupID;
    $.post("php/siteActions.php", parameters, function(response){
	    var id=jQuery.trim(response);
	    $("div#notifications").html("signup cancelled");
	    $("div#notifications").show();
	    $("#MeetingSignups"+id).removeClass("unconfirmed rejected cancelled accepted");
	    $("#MeetingSignups"+id).addClass("cancelled");
	    $("#mySignupsStatus"+id).html($("div.mySignups > div.cancelledMessage").html());
	});
}