
function ClickToCallCall() {
	// update call button
	$('#click-to-call-window-call').unbind('click');
	$('#click-to-call-window-call').click(function() {
		ClickToCallHangup();
	});
	$('#click-to-call-window-call').text('Hangup');
	$('#click-to-call-window-call').removeClass().addClass('click-to-call-window-hangup');

	// connect call
	Twilio.Device.connect();
}

function ClickToCallHangup() {
	// update call button
	$('#click-to-call-window-call').unbind('click');
	$('#click-to-call-window-call').click(function() {
		ClickToCallCall();
	});
	$('#click-to-call-window-call').text('Call');
	$('#click-to-call-window-call').removeClass().addClass('click-to-call-window-call');

	// disconnect call
	try {
		Twilio.Device.disconnectAll();
	}
	catch (e) {
		// nothing to do
	}
}

var clickToCallWindow = false;

function ClickToCallOpen() {
	if (false == clickToCallWindow) {

		if (false == clickToCallHasFlash) {
			$('#click-to-call-no-flash').css({
				'display': 'block'
			});
			$('#click-to-call-instructions').css({
				'display': 'none'
			});
		}

		$('#click-to-call-window-bg').css({
			'opacity': '0.7'
		});

		$('#click-to-call-window-call').text('Call');
		$('#click-to-call-window-call').removeClass().addClass('click-to-call-window-call');

		$('#click-to-call-window-bg').fadeIn('slow');
		$('#click-to-call-window').fadeIn('slow');
		clickToCallWindow = true;
	}
}

function ClickToCallClose() {
	if (true == clickToCallWindow) {
		ClickToCallHangup();
		$('#click-to-call-window-bg').fadeOut('slow');
		$('#click-to-call-window').fadeOut('slow');
		clickToCallWindow = false;
	}
}

function ClickToCallCenter() {
	var width = document.documentElement.clientWidth;
	var height = document.documentElement.clientHeight;
	var popWidth = $('#click-to-call-window').width();
	var popHeight = $('#click-to-call-window').height();

	$('#click-to-call-window').css({
		'position': 'fixed',
		'top': height/2 - popHeight/2,
		'left': width/2 - popWidth/2
	});

	$('#click-to-call-window-bg').css({
		'height': height
	});
}

// setup click to call window
$(document).ready(function() {
	$('#click-to-call-window-start').click(function() {
		ClickToCallCenter();
		ClickToCallOpen();
	});

	$('#click-to-call-window-close').click(function() {
		ClickToCallClose();
	});

	$('#click-to-call-window-call').click(function() {
		ClickToCallCall();
	});

});


