/*******************************************************************/
function addAddress(form){
	// formcheck
	return1 = normalRequired(document.forms["receivers"].name,       document.images["name_image"]);
	return2 = normalRequired(document.forms["receivers"].address2,   document.images["address2_image"]);
	return3 = normalRequired(document.forms["receivers"].city,       document.images["city_image"]);
	return4 = normalRequired(document.forms["receivers"].country_id, document.images["country_image"]);

	if(return1 && return2 && return3 && return4){
		if($('action').value != 'update') {
		// toevoegen adres
			new Ajax.Request('/site/ajax/address_actions.php', {
				asynchronous: true,
				method: 'post',
				parameters: Form.serialize(form),
				onComplete: function(result){

					newNode = $('addresses_lines').insert({top: result.responseText}); // het result is al een complete div

					$('name').clear();
					$('address1').clear();
					$('address2').clear();
					$('extraline').hide();
					$('zip').clear();
					$('city').clear();

					Effect.Fade('name_image');
					Effect.Fade('address2_image');
					Effect.Fade('city_image');
					Effect.Fade('country_image');

		//			$('extraline').hide();
					$('action').value = 'add';

					oddEven();

					//Effect.Appear(newNode); // DOBZ: misschien ooit eens werkend maken
				}
			});
			return false;
		} else {

			el = "addressbook_id_"+$('edit_id').value+"_parent";
			new Ajax.Updater(el,'/site/ajax/address_actions.php', {
				asynchronous: true,
				parameters: Form.serialize(form),
				onComplete: function() {
				// 080911 Daan - web2.0 effecten toegevoegd
					$('name').clear();
					$('address1').clear();
					$('address2').clear();
					$('extraline').hide();
					$('zip').clear();
					$('city').clear();

					Effect.Fade('name_image');
					Effect.Fade('address2_image');
					Effect.Fade('city_image');
					Effect.Fade('country_image');

		//			$('extraline').hide();
					$('action').value = 'add';

					var id = $('edit_id').value;
					$(id+'_more').style.display = 'block';
					$(id+'_toggle').src   = '/site/img/buttons/arrow_adres_down.gif';
					imgPath = '/site/img/buttons/but_adrestoevoegen_green_'+lang+'.gif';
//					imgPath = '/site/img/buttons/but_adrestoevoegen_green_nl.gif';
					$('adres_button').src = imgPath;

				}
			});
		}
	}
}
/*******************************************************************/
function showFullAddress(id) {

	toggle    = id+"_toggle";
	more_info = id+"_more";

	display = $(more_info).getStyle('display');
	if(display=="none") {
		$(toggle).src = "/site/img/buttons/arrow_adres_down.gif";
		Effect.SlideDown(more_info,{ duration: 0.15 });
	}

}
/*******************************************************************/
function toggleFullAddress(id) {

	toggle    = id+"_toggle";
	more_info = id+"_more";

	display = $(more_info).getStyle('display');
	if(display=="none") {
		$(toggle).src = "/site/img/buttons/arrow_adres_down.gif";
		Effect.SlideDown(more_info,{ duration: 0.15 });
	} else {
		$(toggle).src = "/site/img/buttons/arrow_adres_right.gif";
		Effect.SlideUp(more_info,{ duration: 0.15 });
	}

}
/*******************************************************************/
function editAddress(addressbook_id,id){

	// tijdelijk aan omdat de juist image er nog niet is!
	imgPath = '/site/img/buttons/but_adresaanpassen_orange_'+lang+'.gif';
//	imgPath = '/site/img/buttons/but_adresaanpassen_orange_nl.gif';
	$('adres_button').src = imgPath;

	new Ajax.Request('/site/ajax/address_actions.php', {
		method: 'get',
		parameters: {
			action: 'edit',
			addressbook_id: addressbook_id,
			id: id
		},
		onComplete: function(transport){
			var data = transport.responseText.split("|~~|");
			$('name').value       = data[0];
			$('address1').value   = data[1];
			$('address2').value   = data[2];
			$('zip').value        = data[3];
			$('city').value       = data[4];
			$('country_id').value = data[5];
			$('edit_id').value    = addressbook_id;
			$('action').value     = 'update';

			if(data[1] != ''){
				$('extraline').show();
			}

			$('country_id').childElements().each(function(country){
				country.removeAttribute('selected');
			});
			$(data[5]).writeAttribute('selected','selected');

		}
	});
}
/*******************************************************************/


/*******************************************************************/
function removeAddress(addressbook_id,id){

	new Ajax.Request('/site/ajax/address_actions.php', {
		asynchronous: true,
		parameters: {
			action: 'remove',
			addressbook_id: addressbook_id,
			id: id
		},
		onComplete: function(result){
				fadeId = "addressbook_id_"+addressbook_id;
				Effect.Fade(fadeId);
				oddEven();
		}
	});

}
/*******************************************************************/
function selectAddressLetter(letter){

	new Ajax.Updater('addresses_lines','/site/ajax/address_actions.php', {
		asynchronous: true,
		parameters: {
			action: 'select',
			letter: letter
		},
		onComplete: function() {
			$('extraline').hide();
			$('action').value = 'select';
		}
	});
}
/*******************************************************************/

/*******************************************************************/

/*******************************************************************/


/*******************************************************************/
// RECEIVER FUNCTIONS
/*******************************************************************/
function addReceiver(form){

	new Ajax.Updater('receivers','/site/ajax/receiver_add.php', {
		asynchronous: true,
		parameters: Form.serialize(form),
		onComplete: function() {
		// 080911 Daan - web2.0 effecten toegevoegd
			$('name').clear();
			$('address1').clear();
			$('address2').clear();
			$('zip').clear();
			$('city').clear();

			Effect.Fade('name_image');
			Effect.Fade('address2_image');
			Effect.Fade('city_image');
			Effect.Fade('country_image');

			$('extraline').hide();
			$('action').value = 'add';
		}
	});
}

/*******************************************************************/
function delReceiver(address_id,id){

	// 080910 Daan - web2.0 effecten toegevoegd
	new Ajax.Request('ajax/receiver_add.php', {
		asynchronous: true,
		parameters: {
			action: 'remove',
			address_id: address_id,
			id: id
		},
		onComplete: function(result){
				fadeId = "receiver_"+address_id
				Effect.Fade(fadeId);
				setTimeout("Element.remove('"+fadeId+"');",765); // prototype standaard timeout is 255, Fade doet er 3x255 over om te faden
		}
	});

}

/*******************************************************************/
function formCheck(form) {
	return1 = normalRequired(document.forms["receivers"].name,       document.images["name_image"]);
	return2 = normalRequired(document.forms["receivers"].address2,   document.images["address2_image"]);
	return3 = normalRequired(document.forms["receivers"].city,       document.images["city_image"]);
	return4 = normalRequired(document.forms["receivers"].country_id, document.images["country_image"]);
	if(return1 || return2 || return3){
		if(return1 && return2 && return3 && return4){
			addReceiver(form);
			return true;
		}else{
			return false;
		}
	} else {
		if($('receiverscontainer')){
			if($('receiverscontainer').childElements() == 0){
				return false;
			}else{
				return true;
			}
		}else{
			return false;
		}
	}
}

/*******************************************************************/
function editReceiver(address_id,id){
	new Ajax.Request('/site/ajax/receiver_add.php', {
		method: 'get',
		parameters: {
			action: 'edit',
			address_id: address_id,
			id: id
		},
		onComplete: function(transport){
			var data = transport.responseText.split("|~~|");
			$('name').value     = data[0];
			$('address2').value = data[1];
			$('address1').value = data[2];
			$('zip').value      = data[3];
			$('city').value     = data[4];
			$('edit_id').value  = address_id;
			$('action').value   = 'update';

			$('name_image').setStyle({display:'none'});
			$('address2_image').setStyle({display:'none'});
			$('city_image').setStyle({display:'none'});
			$('country_image').setStyle({display:'none'});

			$('country_id').childElements().each(function(country){
				country.removeAttribute('selected');
			});
			$(data[5]).writeAttribute('selected','selected');
			if(data[2] != '') $('extraline').show();
		}
	});
}
/*******************************************************************/
function checkReceivers(job_id){
	if( (document.getElementById('name').value == '') && (document.getElementById('address2').value == '') && (document.getElementById('city').value == '') ){

		newLocation     = '/site/?action=cart&action2=show&action3=receivers_submit&job_id='+job_id;
		window.location = newLocation;

	} else {
		formCheck(document.receivers)
	}
}
/*******************************************************************/
function addressbookPopupShow() {
	showOverlay('loginbox');

	$('overlay').onclick = function(e) {
		if (!e) var e = window.event;
		var clickObj = Event.element(e).id;
		if (clickObj == 'overlay') {
			popupAddressbookClose();
		}
	};

	var popupWidth        = $('addressbook_popup').getWidth();
	var popupHeight       = $('addressbook_popup').getHeight();
	var viewportWidth     = document.viewport.getWidth();
	var viewportHeight    = document.viewport.getHeight();
	var scrolloffsetLeft  = document.viewport.getScrollOffsets()[0];
	var scrolloffsetRight = document.viewport.getScrollOffsets()[1];

	var popupLeft = ((viewportWidth / 2) - (popupWidth / 2)) + scrolloffsetLeft;
	var popupTop  = ((viewportHeight / 2) - (popupHeight / 2)) + scrolloffsetRight;

	if(popupLeft < 0) { popupLeft = 0; }
	if(popupTop < 0)  { popupTop  = 0; }


	$('addressbook_popup').setStyle({
		zIndex: 99999,
		position: 'absolute',
		left: popupLeft + 'px',
		top: popupTop + 'px'
	});

	// resetten alle checkboxes
	divs = $('addresses_lines').getElementsByTagName('div');
	for(i=0;i<divs.length;i++) {
		if (divs[i].checked==1) {
			addressSelect(divs[i]);
		}
	}

	$('addressbook_popup').show();
}
/*******************************************************************/
function popupAddressbookClose(){
	$('overlay').hide();
	$('addressbook_popup').hide();
	//$('leavingdesignalert').hide();
	//$('err_msg').hide();
}

/*******************************************************************/
function addressSelect(obj) {
	if (obj.checked==1) {
		obj.getElementsByTagName('input')[0].checked = false;
		obj.checked=0;
		obj.setStyle({
			backgroundColor: obj.oldColor
		});
	} else {
		//obj.getElementsByTagName('input').checked = true;
		obj.oldColor = obj.getStyle("background-color");
		obj.checked=1;
		obj.setStyle({
			backgroundColor: '#ccc'
		});
	}
}

/*******************************************************************/
function addSelectedAdresses() {

	arrAddReceivers = new Array();
	divs = $('addresses_lines').getElementsByTagName('div');

	for(i=0;i<divs.length;i++) {
		if (divs[i].checked==1) {
			addressSelect(divs[i]);
			arrAddReceivers[arrAddReceivers.length] = divs[i].id;
		}
	}

	if(arrAddReceivers.length>0) {
		arrAddReceivers = arrAddReceivers.join();
		new Ajax.Request('/site/ajax/receiver_add_multiple.php', {
			method: 'get',
			parameters: {
				arrAddReceivers: arrAddReceivers
			},
			onComplete: function(transport){
				var data = transport.responseText;
				$('receivers').update(data);
				popupAddressbookClose();
			}
		});
	}

}

/*******************************************************************/
function oddEven() {
    $$('table#evenodd tbody > tr:nth-child(odd)').each(function(s) {
        s.addClassName('odd');
    });
    $$('table#evenodd tbody > tr:nth-child(even)').each(function(s) {
        s.addClassName('even');
    });

    $$('table#none tbody > tr:nth-child(odd)').each(function(s) {
        s.removeClassName('odd');
    });

};
/*******************************************************************/