/*
 * Dropdown menu functions
 */
var timeout    = 500;
var closetimer = 0;
var ddmenuitem = 0;

var domain_row = 0;

function jsddm_open()
{  jsddm_canceltimer();
   jsddm_close();
   ddmenuitem = $(this).find('ul').css('visibility', 'visible');}

function jsddm_close()
{  if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');}

function jsddm_timer()
{  closetimer = window.setTimeout(jsddm_close, timeout);}

function jsddm_canceltimer()
{  if(closetimer)
   {  window.clearTimeout(closetimer);
      closetimer = null;}}

$(document).ready(function()
{  $('#jsddm > li').bind('mouseover', jsddm_open)
   $('#jsddm > li').bind('mouseout',  jsddm_timer)});

document.onclick = jsddm_close;

/*
 * PinkTutu Ajax functions 
 */
function do_ajax_call(parameters, callback)
{
	// Posts the parameters supplied to the ajaxbridge and then calls the callback function with the returned data
	$.post('/ajaxbridge', parameters, function(data)
			{
				callback(data);
			}, "json");
}

var $dialog;

/*
Domain edit functions
*/
function init_domain_edit()
{
	// Bind special domain edit functionality to ready event
	$(document).ready(function()
	{
		var end_date_part = $('#end_date_id').val();
		$('#datepicker').datetimepicker( { hourText:'Uur:', minuteText:'Minuten:', timeText:'Tijd:', currentText:'Nu', closeText:"Klaar" } );
		var year = end_date_part.substr(0,4);
		var month = parseInt(end_date_part.substr(5, 2)) - 1;
		var day = end_date_part.substr(8,2);
		var hour = end_date_part.substr(11,2);
		var minute = end_date_part.substr(14,2);
		$('#datepicker').datetimepicker('setDate', new Date(year, month, day, hour, minute));
		
		// Catch submit action
		$('#edit_form').submit(function(event)
				{
					event.preventDefault();
					save_domain();
				}
		);

		// Create a standard dialog to show any errors that occur 
		$dialog = $('<div style="color: red; font-weight: 800; text-align: center"></div>')
		.html('This dialog will show every time!')
		.dialog({
			autoOpen: false,
			title: 'Foutmelding',
			modal: true
		});		
		
	});
}

function init_domain_standard_edit()
{
	// Bind special domain edit functionality to ready event
	$(document).ready(function()
	{
		$('#edit_form').submit(function(event)
				{
					event.preventDefault();
					save_domain();
				}
		);

		// Create a standard dialog to show any errors that occur 
		$dialog = $('<div style="color: red; font-weight: 800; text-align: center"></div>')
		.html('This dialog will show every time!')
		.dialog({
			autoOpen: false,
			title: 'Foutmelding',
			modal: true
		});		
		
	});
}


function save_domain()
{
	var form_values = $('#edit_form').serialize();
	var ajax_request = { command:'save_domain', parameters:form_values };
	do_ajax_call(ajax_request, handle_save_domain);
}

function save_live_domain()
{
	var form_values = $('#edit_form').serialize();
	var ajax_request = { command:'save_live_domain', parameters:form_values };
	do_ajax_call(ajax_request, handle_save_domain);	
}

function handle_save_domain(data)
{
	if (data.error == true)
	{
		// There was an error!
		$dialog.html(data.error_msg + "<br /><br /><input type=\"button\" value=\"OK\" onclick=\"$dialog.dialog('close');\" />");
		$dialog.dialog('open');
	}
	else
	{
		// All was correct; redirect to management page
		document.location.href = '/manage/domeinenmanagement/success';
	}
}

function auction(domain_id)
{
	var url = '/manage/wijzig_live_domein/' + domain_id;		
	document.location.href = url;
}

function place_bid(domain_id)
{
	var bid_id = '#bid_' + domain_id;
	var bid_val = $(bid_id).val();
	var ajax_request = { 'command':'place_bid', 'domain_id':domain_id, 'bid_val':bid_val };	
	do_ajax_call(ajax_request, handle_place_bid);
}

function handle_place_bid(data)
{
	var status = data.status;
	if (status == 'success')
	{
		var bid = data.bid;
		var bid_id = '#bid_' + data.domain_id;
		$(bid_id).val(bid);
	}
	else
	{
		alert('U dient ingelogd te zijn om te kunnen bieden op een domein.');
	}
}

function init_live_edit()
{
	// Bind special domain edit functionality to ready event
	$(document).ready(function()
	{
		var end_date_part = $('#end_date_id').val();
		$('#datepicker').datetimepicker( { hourText:'Uur:', minuteText:'Minuten:', timeText:'Tijd:', currentText:'Nu', closeText:"Klaar" } );
		var year = end_date_part.substr(0,4);
		var month = parseInt(end_date_part.substr(5, 2)) - 1;
		var day = end_date_part.substr(8,2);
		var hour = end_date_part.substr(11,2);
		var minute = end_date_part.substr(14,2);
		$('#datepicker').datetimepicker('setDate', new Date(year, month, day, hour, minute));
		
		// Catch submit action
		$('#edit_form').submit(function(event)
				{
					event.preventDefault();
					save_live_domain();
				}
		);

		// Create a standard dialog to show any errors that occur 
		$dialog = $('<div style="color: red; font-weight: 800; text-align: center"></div>')
		.html('This dialog will show every time!')
		.dialog({
			autoOpen: false,
			title: 'Foutmelding',
			modal: true
		});		
		
	});
}

function add_domain_row()
{
	domain_row = domain_row + 1;
	var iHtml = $('#base_data').html();
	$('#domain_table tr:last').after('<tr><td valign="top" align="left"><input type="text" name="domainname_' + domain_row + '" /></td><td valign="top" align="left"><input type="text" size="5" name="domainprice_' + domain_row + '" /></td><td valign="top" align="left"><select style="width: 150px" name="domaincategory_' + domain_row + '">' + iHtml + '</select></td></tr>');
	return false;
}

function save_domains()
{
	$('#domain_form').submit();
}

function place_bids()
{
	if (confirm('Weet je zeker dat je deze biedingen wilt plaatsen?'))
	{
		$('#bid_form').submit();
	}
}

function are_you_sure()
{
	if (confirm('Weet u het zeker?')) return true;
	else return false;
}

