if (typeof addscrolltop == 'undefined') {
	addscrolltop = 0;
}

$(document).ready(function() {
	jQuery(".addlink").live("click", openUrlInBox);
	jQuery("form[name=addreservation]").live("submit", checkForms);
});

function openUrlInBox(event)
{
	event.preventDefault();

	var link_href = jQuery(this).attr("href");
	var rel = jQuery(this).attr("rel");

	var addTarget = jQuery(this).attr("addsite:target");
	var addBlock = jQuery(this).attr("addsite:block");

	/*
	alert("href = " + link_href);
	alert("addsite:target = " + addTarget);

	var addstatus = jQuery(obj).attr("addsite:status");
	addsite:target="addkalenders"
	*/

	// controle of er een blockid voorkomt in de rel attribuut van de link
	// anders controleer of er een blockid voorkomt in .addsitewidget

	var addWidget = jQuery(this).closest('.addsitewidget');

	if (addTarget) {
		var updatebox = jQuery('#' + addTarget);
	} else {
		if (addWidget.length > 0) {
			var updatebox = addWidget;
		}
	}

	if (!addBlock) {
		addBlock = addWidget.attr("addsite:block");
	}

	if (updatebox) {
		getAjaxPage(link_href,updatebox,addBlock);
	} else {
		location.href = link_href;
	}
}

function getAjaxPage(link_href,boxid,blockid)
{
	if (link_href.indexOf("?") > -1) {
		var url = link_href;
	} else {
		var url = link_href + '?';
	}

	url = url + '&blockid=' + blockid;
	url = url + '&jsoncallback=?';

	//alert(url);

	jQuery.getJSON( url,
		function(json)
		{
			if (json.isOK)
			{
				if (json.blockhtml != null)
				{
					if (json.blockhtml != '')
					{
						jQuery(boxid).html(json.blockhtml);
					}

					var pos = jQuery(boxid).offset();
					window.scrollTo(0,pos.top);

					//var pos = jQuery(boxid).offset();
					//alert(pos);

					if (jQuery('#addform'))
					{
						//alert('Formulier');
					}
					
					//jQuery('#addform').ajaxForm({ dataType: 'json', success: saveFormOK });
				}
			}
			else
			{
				checkError(json);
			}
		}
	);
}

function checkForms(event)
{
	event.preventDefault();

	if (document.addreservation.step !== undefined) {
		if (document.addreservation.step.value == '') {
			return false;
		}
	}

	var url = jQuery(this).attr("action");
	var velden = jQuery(this).serialize();

	var addTarget = jQuery(this).attr("addsite:target");
	var addBlock = jQuery(this).attr("addsite:block");

	// controle of er een blockid voorkomt in de rel attribuut van de link
	// anders controleer of er een blockid voorkomt in .addsitewidget

	var addWidget = jQuery(this).closest('.addsitewidget');

	if (addTarget) {
		var updatebox = jQuery('#' + addTarget);
	} else {
		if (addWidget.length > 0) {
			var updatebox = addWidget;
		}
	}

	if (!addBlock) {
		addBlock = addWidget.attr("addsite:block");
	}

	//url = url.substr(0,url.indexOf("&jsoncallback="));
	url = url + '?' + velden;
	url = url + '&blockid=' + addBlock;
	url = url + '&addform=post&jsoncallback=?';
	//alert(url);

	jQuery.getJSON( url,
		function(json)
		{
			if (json.isOK)
			{
				if (json.blockhtml != null)
				{
					jQuery(updatebox).html(json.blockhtml);
					var pos = jQuery(updatebox).offset();
					window.scrollTo(0,pos.top - addscrolltop);
				}
			}
			else
			{
				checkError(json);
			}
		}
	);
}

function setButton(obj,s,direction,url,blockid)
{
	if (s == 'boeken') {
		jQuery(obj).attr('disabled', 'disabled');
		//jQuery(obj).val('Submitting...');
	}

	var addWidget = jQuery(obj).closest('.addsitewidget');

	if (blockid && blockid != '') {
		var addBlock = blockid;
	} else {
		var addBlock = addWidget.attr("addsite:block");
	}

	if (url && url != '') 
	{
		if (addWidget.length > 0 && addBlock) {
			getAjaxPage(url,addWidget,addBlock);
		} else {
			location.href = url;
		}
	}
	else
	{
		document.addreservation.step.value = s;
		document.addreservation.direction.value = direction;

		if (addWidget.length > 0 && addBlock) {
			var formObj = jQuery(obj).closest('#addform');
			$(formObj).submit();
		} else {
			document.addreservation.submit();
		}
	}
}

function togglePriceBox(obj,direction)
{
	var current = jQuery(obj).closest('.priceperiod');

	if (direction == 'next') {
		var check = current.next('.priceperiod');
	} else if (direction == 'prev') {
		var check = current.prev('.priceperiod');
	}

	if (check.length == 1) {
		current.hide();
		check.show();
	}
}

