// Forms
var formRules = 
{
	start: function()
	{
		
		if ($('login_button')) {
			$('login_button').addEvent('mouseover', function(){ 
				this.src = this.src.replace('logout_a','logout_b'); 
			});
			$('login_button').addEvent('mouseout',  function(){ this.src = this.src.replace('logout_b','logout_a'); });
		}
		
		$$('.gradient').addEvent(
			'mouseover', function(){
				this.addClass('hover');
			}
		);
		$$('.gradient').addEvent(
			'mouseout', function(){
				this.removeClass('hover');
			}
		);
		
		$$('#intercom a').addEvent(
			'click', function(e) {
			e = new Event(e).stop();
			// show popup form
			$('feedback').empty();
			$('freeform').reset();
			$('pm_form').style.display='block';
			$$('#message_popup .bot').removeClass('confirm');
			$('message_popup').style.display='block';
		});
		
		$$('#intercom a.guest').addEvent(
			'click', function(e) {
			e = new Event(e).stop();
			location.href='/mededeling/';
		});
		
		$$('#msg').addEvent(
			'click', function(e) {
			e = new Event(e).stop();
			// show popup form
			$('feedback').empty();
			$('freeform').reset();
			$('pm_form').style.display='block';
			$$('#message_popup .bot').removeClass('confirm');
			$('message_popup').style.display='block';
		});
		
		$$('#message_popup .close').addEvent(
			'click', function(e) {
			e = new Event(e).stop();
			// show popup form
			$('message_popup').style.display='none';
		});
		
		// prep forms
		if ($('contact_form')) addSubmitEvent($('contact_form'));
		if ($('register_member_form')) addSubmitEvent($('register_member_form'));
		if ($('member_login_form')) addSubmitEvent($('member_login_form'));
		if ($('forgot_password_form')) addSubmitEvent($('forgot_password_form'));
		if ($('logout_form')) addSubmitEvent($('logout_form'));
		if ($('mailinglist_form')) addSubmitEvent($('mailinglist_form'));
		if ($('update_email_form')) addSubmitEvent($('update_email_form'));
		
		if ($('freeform')) addSubmitEvent($('freeform'));
		
		// submit form
		function addSubmitEvent(el) {
			el.addEvent('submit', function(e) {
				new Event(e).stop();
				if ($('feedback')) $('feedback').empty();
				el.send({
					onSuccess: function() {
						testResponse(this.response.text);
					}
					//,
					//onFailure: function() {
					//	alert('error');
					//}
				});
			});
		} //END
		
		// evaluate response
		function testResponse(html) {
			// test for messages from language files
			if ( html.test("You are now logged in") || html.test("Je bent nu ingelogd") ) {
				//updateLog("Je bent nu ingelogd.");
				// done, redirect or fadeout modal layer
				location.href="/profiel/";
			} else if ( html.test("404") ) {
				updateLog("Er is een onbekende fout opgetreden.");
				// done
			} else if ( html.test("pm_sent") ) {
				$('pm_form').style.display='none';
				// $('message_popup').style.display='none';
				$$('#message_popup .bot').addClass('confirm');
				updateLog("Je bericht is verstuurd.");
				setTimeout("$('message_popup').style.display='none'", 3000); // 5 seconds
				// done
			} else if ( html.test("You are now logged out") || html.test("Je bent nu uitgelogd") ) {
				//updateLog("Je bent nu uitgelogd.");
				// done, continue
				l=location.href;
				location.href=l;
			} else if ( html.test("Your email message has been sent") || html.test("Je e-mail is verstuurd") ) {
				updateLog("Je e-mail is verstuurd.");
				// done, continue
			} else if ( html.test("email address updated") || html.test("Je e-mailadres is aangepast") ) {
				//updateLog("Je e-mailadres is aangepast.");
				// done, continue
				location.href="/mijn_profiel/";
			} else if ( html.test("Instructions for resetting your password have just been emailed to you") || html.test("Instructies om je wachtwoord te veranderen") ) {
				updateLog("Instructies om je wachtwoord te veranderen zijn naar je gemaild.");
				// done, continue
			} else if ( html.test("Your registration has been successfully completed") || html.test("Je registratie is succesvol voltooid") ) {
				updateLog("Je registratie is succesvol voltooid.<br /><br />Er is zojuist een email naar je gestuurd met verdere instructies.");
				// done, continue
			} else if ( html.test("You have been sent a confirmation email") || html.test("Er is een bevestiging naar je email adres toegestuurd") ) {
				updateLog("Er is een bevestiging naar je email adres toegestuurd.<br /><br />Klik op de link in je email om uw toevoeging aan de mailinglist te bevestigen.");
				// done, continue
			} else {
				// show_user_error message
				html = html.split("<ul>");
				html = html[1].split("<\/ul>");
				updateLog(html[0],1);
			}
		} //END
		
		// update user feedback log
		function updateLog(msg,list) {
			if (list) {
				log = "<ul>"+msg+"<\/ul>";
			} else {
				log = "<ul><li>"+msg+"<\/li><\/ul>";
			}
			if ($('feedback')) $('feedback').setHTML(log);
		} // END
		
	}
};

var accordion;
// var accordion1;
var accordionRules = 
{
	start: function()
	{
		$$('div.element').setStyle('display','block');
		
		 accordion = new Accordion('.toggler', 'div.element', {
			opacity: false,
			alwaysHide: true,
			// display: 0,
			show: -1,
			onActive: function(toggler, element){
				toggler.addClass('selected');
			},
			
			onBackground: function(toggler, element){
				toggler.removeClass('selected');
			}
		}, $('accordion'));
		
		
		// $$('div.element1').setStyle('display','block');
		// 
		//  accordion1 = new Accordion('.toggler1', 'div.element1', {
		// 	opacity: false,
		// 	alwaysHide: true,
		// 	// display: 0,
		// 	show: -1,
		// 	onActive: function(toggler, element){
		// 		toggler.addClass('selected');
		// 	},
		// 	
		// 	onBackground: function(toggler, element){
		// 		toggler.removeClass('selected');
		// 	}
		// }, $('accordion1'));
		
		
		var current_url = '';
		
		$$('#product_icons .row a').addEvent('click', function(e) {
			
			e = new Event(e).stop();
			
			var url = this.rel;
			var log = this.className;
			
			var image = this.firstChild;
			// $(image) = this.firstChild;
			image = $(image); // needed for IE
			
			if(image.hasClass('sale-img')) {
				image = this.childNodes[1];
				// image = $(this.childNodes[1]);
				// image = this.getChildren()[1];
			}
			if($(image).hasClass('sale-img')) {
				$(image) = this.childNodes[1];
				// image = $(this.childNodes[1]);
				// image = this.getChildren()[1];
			} 
			
			var imgCoords = image.getCoordinates();
			var refCoords = $('product_icons').getCoordinates();
			
			// var progressCoords = $('progress').getCoordinates();
			// alert(progressCoords.top);
			// alert(progressCoords.left);
			
			$$('.log').setHTML('');
			
			prog_pos = imgCoords.bottom-21;
			
			var pos = (imgCoords.left - refCoords.left - 27) + (imgCoords.width/2);
			pos = Math.round(pos);
			
			if (current_url != url) {
				
				// image.setStyle('cursor','wait');
				$('progress').setStyle('top', prog_pos+'px');
				$('progress').setStyle('display','block');
				
				new Ajax(url, {
					method: 'get',
					onComplete: function () {
						image.setStyle('cursor','pointer');
						$$('.triangle').setStyle('background-position', pos +'px 0px');
						$('progress').setStyle('display','none');
					},
					onFailure: function () { alert('Pagina niet gevonden!'); },
					update: $(log)
				}).request();
				
				// $(log).setStyle('display','block');
				current_url = url;
			}
			else
			{
				current_url = '';
			}
			
			//
		});
		
	}
	
};

function refreshComments(url,entry_id) {
	if (url != "" && entry_id != "") {
		current_id = entry_id;
		new Ajax(url, {
			method: 'POST',
			evalScripts: true,
			data: 'entry_id='+entry_id,
			onComplete: function () {
				// nothing
			},
			onFailure: function () { 
				//alert('Pagina niet gevonden!'); 
			},
			update: $('comments_container')
		}).request();
	}
	setTimeout("refreshComments('"+url+"','"+entry_id+"')", 5000); // 5 seconds
}

function refreshAppletalk() {
	new Ajax('/appletalk/latest_comment_inc/', {
		method: 'GET',
		evalScripts: true,
		onComplete: function () {
			// nothing
		},
		onFailure: function () { 
			//alert('Pagina niet gevonden!'); 
		},
		update: $('appletalk_container')
	}).request();
	setTimeout("refreshAppletalk()", 10000); // 5 seconds
}
function refreshCounters() {
	new Ajax('/includes/status_screen_inc/', {
		method: 'GET',
		evalScripts: true,
		onComplete: function () {
			// nothing
		},
		onFailure: function () { 
			//alert('Pagina niet gevonden!'); 
		},
		update: $('status_screen')
	}).request();
	setTimeout("refreshCounters()", 5000); // 5 seconds
}

function loadEditPage(url) {
	if (url != "") {
		new Ajax(url, {
			method: 'get',
			onComplete: function () {
				$('edit_buttons').setStyle('display','none');
				$('editable').setStyle('display','none');
				if ($('entryform')) submitEvent($('entryform'));
			},
			onFailure: function () { alert('Pagina niet gevonden!'); },
			update: $('editableregion')
		}).request();
	}
}

function loadPage(url,action) {
	if (url != "") {
		new Ajax(url, {
			method: 'get',
			onComplete: function () {
				// done
			},
			onFailure: function () { alert('Pagina niet gevonden!'); },
			update: $('log')
		}).request();
	}
}

function loadPM(url,el) {
	$$('#private_messages a').removeClass('current');
	el.addClass('current');
	if (url != "") {
		url=url.replace('bericht','inbox_inc');
		new Ajax(url, {
			method: 'get',
			onComplete: function () {
				// none
			},
			onFailure: function () { 
				alert('Pagina niet gevonden!'); 
			},
			update: $('private_massage')
		}).request();
	}
}
function deletePM(id) {
	if (id != "") {
		url='/confirm/delete_pm/'+id+'/';
		new Ajax(url, {
			method: 'get',
			update: $('private_massage'),
			onComplete: function () {
				// redirect
				location.href='/profiel/';
			},
			onFailure: function () { 
				alert('Pagina niet gevonden!'); 
			}
		}).request();
	}
}

function popClose() {
	$('message_popup').style.display='none';
	
}
function reactiePop(sub) {
	formRules.start();
	
	$('feedback').empty();
	$('freeform').reset();
	$('msg_subject').value='Re: '+sub;
	$('pm_form').style.display='block';
	$$('#message_popup .bot').removeClass('confirm');
	$('message_popup').style.display='block';
}

function selectMenuItem(el) {
	accordion.options.duration = 0;
	accordion.display($(el));
	resetDuration.delay(1000); //wait a second
}

function selectFirstMenuItem() {
	accordion.options.duration = 0;
	accordion.display(0);
	resetDuration.delay(1000); //wait a second
}

function resetDuration() {
	accordion.options.duration = 500;
}

// submit product edit form
function submitEvent(el) {
	el.addEvent('submit', function(e) {
		// new Event(e).stop();
		if ($('prijs')) {
			if( ! $('prijs').value.match(/^[0-9]*$/)) {
				new Event(e).stop();
				// alert('Je hebt een ongeldig bedrag ingevoerd.');
				if ($('feedback')) {
					$('feedback').style.display='inline';
					$('feedback').setHTML('alleen getallen invullen s.v.p.');
				}
				// return 0;
			}
		}
	});
} //END

