/**
 * JS für Besichtigungsterminmanager
 * 
 * @author	Alexander Schwenn <schwenn@silpion.de>
 * @version	$Id: immo.btmanager.js 3704 2009-09-24 03:55:54Z schwenn $
 */

var msgTemplate = "<h2>#{head}</h2><p>#{msg}</p><div class=\"appointment_right\">"
		+ "<div class=\"white_box_bottom_left\">&nbsp;</div><div class=\"white_box_bottom_left\">"
		+ "<input type=\"button\" id=\"btcontentclose\" value=\"schließen\""
		+ "onclick=\"$('#btcontent#{meetingid}').hide();$('#btcontent').hide()\" class=\"button_mein_konto\" /></div></div>";

var slideSpeed = 500;
var btListUpdateFunction = function() {};

var tenderingstartUrl = '/expose/ajax/tenderingstartdate?exposeid='+exposeId;
var statusUrl = '/expose/ajax/status?exposeid='+exposeId;

function btListOfParticipants(meeting_id) {
	fenster = window.open("/expose/participantlist/print/"
			+ meeting_id, "Teilnehmerliste",
			"width=750,height=680,status=yes,scrollbars=yes,resizable=yes,menubar");
	fenster.focus();
}

function btContentClose() {
	/*
	$('.btcontentarea').slideUp(slideSpeed);
	$('#btnewmeeting').show();
	$('.btcontentmsg').empty();
	*/
	$("#meetings_edit_bottom_container").hide();
}

function updateList() {
	$("#meetings_edit_list_container").load("/btmanager/index/list?exposeid="+exposeId, btInit2);
	$(".bt_edit_freeslots").load("/btmanager/index/freeslots?exposeid="+exposeId);
	$("#btmanagercontainer").load("/btmanager/index/box?exposeid="+exposeId);
	//$('#tenderingstartdatetime').load(tenderingstartUrl);
	$('#myExposeStaus').load(statusUrl);
}

function showMsgDlg(data) {
	$('#btmsgdlgcontent').html(data.msg);
	$('#btmsgdlg').dialog('option', 'title', data.head);
	$('#btmsgdlg').dialog('open');
}

function showErrorDlg(data) {
	$('#bterrordlgcontent').html(data.msg);
	$('#bterrordlg').dialog('option', 'title', data.head);
	$('#bterrordlg').dialog('open');
}

function rescheduleResponse(data) {
	if (data.status != 'OK') {
		$('#reschedulemsg-' + data.meetingid).html(data.msg);		
		showErrorDlg(data);
	} else {
        showMsgDlg(data);
		btContentClose();
		updateList();
	}
}

function expansionResponse(data) {
	if (data.status != 'OK') {
        showErrorDlg(data);
		$('#expansionmsg-' + data.meetingid).html(data.msg);
	} else {
        showMsgDlg(data);
		btContentClose();
		updateList();
	}
}

function signupResponse(data) {
	if (data.status != 'OK') {
        showErrorDlg(data);
		$('#signupmsg-' + data.meetingid).html(data.msg);
	} else {
		updateList();
        showMsgDlg(data);
		btContentClose();
		$('#btcontent' + data.meetingid).html($.tmpl(msgTemplate, data));
		$('#btcontent' + data.meetingid).show();

		$('.btActionForm').hide();
		$('#btActionForm_' + data.meetingid).show();
		$('.btsignoffaction').show();
		$('.btsignupaction').hide();
	}
}

function createResponse(data) {
	
	if (data.status != 'OK') {
        showErrorDlg(data);
	} else {
        showMsgDlg(data);
		btContentClose();
		updateList();
		$('#btnewmeetingform').resetForm();
	}
}

function deleteResponse(data) {
	btContentClose();
	updateList();
	showMsgDlg(data);
}

function signoff(meeting_id) {
	$.post("/btmanager/index/signoff", {
		meetingid :meeting_id
	});
	$('.btActionForm').show();
	$('.btsignoffaction').hide();
	$('.btsignupaction').show();
	$('.btactionbutton').show();
}

function actionRequest(formData, jqForm, options) {
	btContentClose();
	action = formData[1]['value'];
	meeting_id = formData[0]['value'];
	if (action == 'signoff') {
		signoff(meeting_id);
	} else if (action == 'new') {
		$('#btcontent'+meeting_id).html($('#btnewform')).slideDown(slideSpeed);
	} else {
		$('#bt' + action + '-' + meeting_id).slideDown(slideSpeed);
	}
	
	return false;
}

function signoffResponse(data) {
	if (data.status == 'OK') {
		$('.btsignoffform').hide();
		$('.btsignupform').show();
		$('.participation_not_allowed').hide();
		updateList();
	}
	showMsgDlg(data);
}

function signupResponse2(data) {
	if (data.status == 'OK') {

		updateList();
		showMsgDlg(data);
		$('.btsignupform').hide();
		$('#btsignoffform_'+data.meetingid).show();
		$('.participation_not_allowed').show();
		$('#participation_not_allowed'+data.meetingid).hide();
	} else {
		showErrorDlg(data);
	}
	
}

function getBtFormData()
{
	var tmpData = $("#slot").val().split("_");
	var formData = new Array();
	formData[0] = {value: tmpData[1]};
	formData[1] = {value: tmpData[0]};

	return formData;
}

function submitMultiSignupForm()
{
	formData = getBtFormData();
	showSignupConfirmDlg(formData, null, null);
}

function showSignupConfirmDlg(formData, jqForm, options) {
	slot_id = formData[0]['value'];
	meeting_id = formData[1]['value'];
	
	signUpData.slot_id = slot_id;
	signUpData.meeting_id = meeting_id;
	
	//console.log("open "+meeting_id);
	$('#btpartidlg'+meeting_id).dialog('open');
	
	/*
	$('#btpartidlg'+meeting_id+" .ui-dialog-right .submit_form_big").click(
		function () {
			$.post("/btmanager/index/signup",{slot:slot_id, meetingid:meeting_id}, signupResponse2, 'json');
			$('#btpartidlg'+meeting_id).dialog('close');
		}
	);
	*/
	$('#btpartidlg'+meeting_id+" .ui-dialog-right .submit_form_big").unbind('click', signUpHandler);
	$('#btpartidlg'+meeting_id+" .ui-dialog-right .submit_form_big").bind('click', signUpHandler);
	
	$('#btpartidlg'+meeting_id+" .ui-dialog-right .submit_form_small").click(function(){
		$('#btpartidlg'+meeting_id).dialog('close');
		return false;
	});
	return false;
}

function signUpHandler()
{
	//console.log("close "+signUpData.meeting_id);
	$('#btpartidlg'+signUpData.meeting_id).dialog('close');
	$('.btpartidlg'+signUpData.meeting_id).dialog('close');
	$.post("/btmanager/index/signup",{slot:signUpData.slot_id, meetingid:signUpData.meeting_id}, signupResponse2, 'json');
}

var signUpData = {
	slot_id:null,
	meeting_id:null
};

var actionOptions = {
	beforeSubmit :actionRequest
};

var createOptions = {
	success :createResponse,
	url :'/btmanager/index/create?exposeid='+exposeId,
	type :'post',
	dataType :'json'
};
var deleteOptions = {
	success :deleteResponse,
	url :'/btmanager/index/delete',
	type :'post',
	dataType :'json'
};

var rescheduleOptions = {
	success :rescheduleResponse,
	url :'/btmanager/index/reschedule',
	type :'post',
	dataType :'json'
};

var expansionOptions = {
	success :expansionResponse,
	url :'/btmanager/index/expansion',
	type :'post',
	dataType :'json'
};


var signupOptions = {
	beforeSubmit : showSignupConfirmDlg
};


var signoffOptions = {
	success : signoffResponse,
	url :'/btmanager/index/signoff',
	type :'post',
	dataType :'json'
};

function btInit2() {
	btListUpdateFunction();
	
	$('.btActionForm').ajaxForm(actionOptions);

	$('#btnewmeetingform').ajaxForm(createOptions);

	$('.btdeleteform').ajaxForm(deleteOptions);

	$('.btrescheduleform').ajaxForm(rescheduleOptions);

	$('.btexpansionform').ajaxForm(expansionOptions);

	//$('.btsignupform').ajaxForm(signupOptions);
	
	$('.btsignoffform').ajaxForm(signoffOptions);

	$('.btclose').click(btContentClose);

	$('#btnewmeeting').click( function() {
		btContentClose();
		$('#btnewmeeting').hide();
		$('#btnewform').slideDown(slideSpeed);
	});

	$('#btobserve').click( function() {
		$.post("/btmanager/index/observe?exposeid="+exposeId);
		$('#btobservermsg').show();
		$('#btobserve').hide();
	});
	
	$(".date").datepicker( {
		"years" :"1",
		"dateFormat" :"dd.mm.yy"
	});
	
	$("#btshowexpired").click( function() {
		$('.btexpired').show();
		$("#btshowexpired").hide();
	});
	
	$('#btmsgdlg .ui-dialog-right .submit_form_big').click(function(){
		$("#btmsgdlg").dialog('close');
		// Reload page, so that expose is viewed according to new status (e.g. full address is displayed)
		document.location.href='/expose/'+exposeId;
		return false;
	});

	$('#bterrordlg .ui-dialog-right .submit_form_big').click(function(){
		$("#bterrordlg").dialog('close');
		return false;
	});
}

function btInit(lstUpdtFunc) {

 $(".btloading").bind("ajaxSend", function(){
   $(this).show();
 }).bind("ajaxComplete", function(){
   $(this).hide();
 });


	btListUpdateFunction = lstUpdtFunc;

	btInit2();
}
