window.addEvent('domready', function() {
	
	if ($('keyword')) {
		$('keyword').addEvent('keydown', function(event) {
			event = new Event(event);
			if (event.key == 'enter') {
				event.stop();
				searchUser(this.value);
				return false;
			}
		});	
	}
	
});

function toggle(el) {
	if ($(el).getStyle('display') == 'block') {
		$(el).setStyle('display', 'none');
	} else {
		$(el).setStyle('display', 'block');	
	}	
}

function checkAddUser() {
	// Contact persoon
	var bedrijfsnaam = $('bedrijfsnaam').value;
	var contactpers  = $('c_contactpersoon').value;
	var telefoonnr   = $('c_telefoonnummer').value;
	var email		 = $('c_email').value;
	var adres		 = $('c_adres').value;
	
	// Factuur checkbox
	var factuurgegevens = $('factuurCheck').checked;
	
	// Factuur gegevens
	var fcontactpers  = $('f_contactpersoon').value;
	var ftelefoonnr   = $('f_telefoonnummer').value;
	var femail		 = $('f_email').value;
	var fadres		 = $('f_adres').value;
	
	var returnValue = true;
	
	if (bedrijfsnaam == '' || contactpers == '' || telefoonnr == '' || email == '' || adres == '') {
		returnValue = false;		
	} else {
		returnValue = true;	
	}
	
	if (returnValue) {
		if (factuurgegevens == false) {
			if (fcontactpers == '' || ftelefoonnr == '' || femail == '' || fadres == '') {
				returnValue = false;
			} else {
				returnValue = true;	
			}
		}	
	}
	
	if (returnValue) {
		$('action').value = 'save';
		document.adminAction.submit();	
	} else {
		alert('Vul alle gegevens in!');	
	}
	
	
}

function deleteHuurder(id) {
	var k = confirm('Wilt u deze huurder verwijderen?');
	if (k) {
		$('action').value = 'delete';
		$('actionid').value = id;
		document.adminAction.submit();
	}
}

function editHuurder(id) {
	$('action').value = 'edit';
	$('actionid').value = id;
	document.adminAction.submit();
}

function searchUser(key) {
	if (key.indexOf(':') != -1) {
		var key = key.split(':');	
		key = key[1]+'&idsearch=true';
	}
	var postBody = 'ajaxRequest=1&action=searchUser&keyword='+key;
	var request = new Ajax(window.location, {method: 'post', postBody: postBody, onComplete: parseSearchUser}).request();	
}

var huurderContract;
function fetchContractsHuurder(huurder) {
	huurderContract = huurder;
	if (huurder != '') {
		var postBody = 'ajaxRequest=1&action=fetchContracts&huurder='+huurder;
		var request = new Ajax(window.location, {method: 'post', postBody: postBody, onComplete: parseContracts}).request();	
	}	
}

function parseContracts(response) {
	$('huurderContracten').innerHTML = response;
}

function setLocation(value) {
	if (value != 'false') {
		
	} else {
		$('c_ruimte').set('disabled', 'disabled');	
	}
}

function parseSearchUser(response) {
	if (response != 'false') {
		$('huurder').length = 0;
		response = response.split('***');
		response.each(function(item, key) {
			if (item != '') {
				item = item.split('||');
				var bedrijfsNaam = item[0];
				var huurderId = item[1];
	
				var newOption = new Element('option');
				newOption.setProperty("value", huurderId);
	      		newOption.setHTML(bedrijfsNaam); 
				$('huurder').adopt(newOption);
				
				if ($('fetchContracts')) {
					$('fetchContracts').disabled = false;
					$('newContract').disabled = false;
				} else {
					if ($('makeBill')) {
						$('makeBill').disabled = false;	
					}
				}
				$('huurder').disabled = false;
				
			}
		});
	} else {
		$('huurder').length = 0;
		$('huurder').disabled = true;
		if ($('fetchContacts')) {
			$('fetchContracts').disabled = true;
			$('newContract').disabled = true;
		} else {
			$('makeBill').disabled = true;	
		}
		var newOption = new Element('option');
  		newOption.setHTML('Geen huurders gevonden...'); 
		$('huurder').adopt(newOption);
	}
}

function opEtScharmDomme(text) {
	alert(text);	
}

function editContract(id) {
	$('action').value = 'edit';
	$('actionid').value = id;
	document.adminAction.submit();	
}

function deleteContract(id) {
	var k = confirm('Wilt u dit contract verwijderen?');
	if (k) {
		var postBody = 'ajaxRequest=1&action=deleteContract&contractId='+id;
		var request = new Ajax(window.location, {method: 'post', postBody: postBody, onComplete: function(response) {
			fetchContractsHuurder(huurderContract);
		}}).request();
	}
}

function newContractHuurder(huurder) {
	$('actionid').value = huurder;
	$('action').value = 'new';
	document.adminAction.submit();	
}

function setContractType(type) {
	if (type == 'f') {
		$('c_eind').disabled = false;	
	} else {
		$('c_eind').disabled = true;	
		$('c_eind').value = '';
	}
}

function formatDate(field) {
	var date = field.value;
	if (date.indexOf('-') != -1) {
		date = date.split('-');
		if (date.length == 3) {
			var day = date[0];
			var month = date[1];
			var year = date[2];
			var returnValue = true;
			if (day < 1 || day > 31) {
				returnValue = false;
			} else if (month < 1 || month > 12) {
				returnValue = false;
			} else if (year < 1000 || year > 9999) {
				returnValue = false;	
			}
			var newDate = '';
			if (returnValue == true) {
				if (day.length == 1) {
					day = '0'+day;
				}
				if (month.length == 1) {
					month = '0'+month;
				}
				newDate = day+'-'+month+'-'+year;
				field.value = newDate;
				return true;
				
			} else {
				alert('U heeft geen correcte datum ingevoerd. (dd-mm-jjjj)');	
			}
		} else {
			alert('Het juiste datum formaat is: dd-mm-jjjj');	
		}	
	} else {
		alert('Het juiste datum formaat is: dd-mm-jjjj');	
	}
	return false;
}

function checkAddContract() {
	var returnValue = 'true';
	if (!formatDate($('c_start'))) {
		returnValue = 'false';
	}
	
	if ($('h_type').value == 'f') {
		if (!formatDate($('c_eind'))) {
			returnValue = 'false';	
		}
	}
	
	if ($('c_declareerbaar').value == '') {
		returnValue = 'false';	
	}
	
	if ($('c_personen').value == '') {
		returnValue = 'false';	
	}

	if (returnValue == 'true') {
		$('action').value = 'save';
		var request = new Ajax(window.location, {method: 'post', postBody: $('adminAction').toQueryString()+'&ajaxRequest=1&action=addContract', onComplete: function(response) {
			$('actionid').value = parseFloat(response);
			$('button_save').setStyle('display', 'none');
			$('contractAdded').setStyle('display', 'block');
			
			// Disable upper fields
			$('c_start').disabled = true;
			$('c_eind').disabled = true;
			$('c_personen').disabled = true;
			$('c_declareerbaar').disabled = true;
			$('h_type').disabled = true;
			$('c_locatie').disabled = true;
			$('c_frequentie').disabled = true;
			$('c_commercieel').disabled = true;
			
			
		}}).request();
	} else {
		alert('Formulier is niet correct ingevuld.');	
	}	
}

function fetchProducts(id) {
	
	var request = new Ajax(window.location, {method: 'post', postBody: 'ajaxRequest=1&action=fetchProducts&id='+id, onComplete: function(response) {
		
		var products = response.split('***');
		
		$('productsInCat').length = 1;
		var found = false;
		products.each(function(item, key) {
			if(item != '') {
				found = true;
				var productOptions = item.split('||');
				var productId = productOptions[0];
				var productName = productOptions[1];
				var productPrice = productOptions[2];
				
				var newOption = new Element('option');
				newOption.setProperty("value", productId+'||'+productPrice);
	      		newOption.setHTML(productName); 
				$('productsInCat').adopt(newOption);
					
			}
		});
		if (found == true) {
			$('productsInCat').disabled = false;		
		} else {
			$('productsInCat').disabled = true;	
				var newOption = new Element('option');
				newOption.setProperty("value", 'false');
	      		newOption.setHTML('Selecteer een categorie...'); 
				$('productsInCat').adopt(newOption);
		}
	}}).request();
}

function addProduct() {
	
	var prod = $('productsInCat').value;
	var aantal = $('aantal').value;
	var contract = $('actionid').value;
	var price = $('prodPrice').value;

	if (aantal == '' || price == '' || prod == 'false' || prod == '') {
		alert('Vul aantal/prijs/product in!');	
	} else {
		prod = prod.split('||');
		prod = prod[0];
		var request = new Ajax(window.location, {method: 'post', postBody: 'ajaxRequest=1&action=addProduct&prodid='+prod+'&aantal='+aantal+'&price='+price+'&contract='+contract, onComplete: function(response) {
			fetchContractDetails(contract);
		}}).request();
	}
	
}

function fetchContractDetails(id) {
	$('actionid').value = id;
	var request = new Ajax(window.location, {method: 'post', postBody: 'ajaxRequest=1&action=fetchContractDetails&contract='+id, onComplete: function(response) {
		$('contractRegels').innerHTML = response;
	}}).request();
	
}

function givePrice(value) {
	if (value != 'false') {
		value = value.split('||');
		$('prodPrice').value = value[1];	
	}
}

function deleteProduct(id) {
	var k = confirm('Wilt u deze regel verwijderen?');
	if (k) {
		var request = new Ajax(window.location, {method: 'post', postBody: 'ajaxRequest=1&action=deleteContractEntry&entryid='+id, onComplete: function(response) {
			fetchContractDetails($('actionid').value);
		}}).request();	
	}
}
