//-------------------------------------------------------------------------------------------------
// Geert Dekkers Web Studio 2008, 2009
// _do.js for protonconferentie.nl
//-------------------------------------------------------------------------------------------------
// AJAX worker functions
// Generics
function reportError(request) 

	//generic prototype helpers
	// error message in an alert
	
	{
		$('debug').innerHTML = "An error occurred...";
	}


var myGlobalHandlers = {
	onCreate: function(){
		Element.show('systemWorking');
	},

	onComplete: function() {
		if(Ajax.activeRequestCount == 0){
			Element.hide('systemWorking');
		}
	}
};

//-------------------------------------------------------------------------------------------------
// Specific

function doSend(action){

	var url = "doSend.php";
	var pars = "from_name=" + $F('senderName') + "&from_email=" + $F('senderEmail') + "&to_name=" + $F('recipientName') + "&to_email=" + $F('recipientEmail') + "&action=" + action;
	var mAjax = new Ajax.Updater(
		{success: 'responseContainer'}, 
		url,
		{
			method: 'get', 
			parameters: pars,
			onFailure: reportError,
			onCreate: function(){Element.clonePosition('spinner', 'responseContainer');}
			
		});

}

// Simulate pages ---------------------------------------------------------------------------------


function fireEvent(element,event){
    if (document.createEventObject){
        // dispatch for IE
        var evt = document.createEventObject();
        return element.fireEvent('on'+event,evt);
    }else{
		// for firefox and safari
			simulateEvent(element);
    }
}


function simulateEvent(targetElement) {
		// simulate click event for firefox and safari
	targetElement = $(targetElement);
       event = document.createEvent("MouseEvents");
       event.initMouseEvent('click', true, true, window, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
	targetElement.dispatchEvent(event);
         
   
}


// Simulate bookmarks

function simulateBookmark(address, page){

if (window.external) { 
	window.external.AddFavorite(address,page);
	}else if(window.sidebar){
		window.sidebar.addPanel(page,address,'');
	} else { 
		alert("Het spijt ons! Uw webbrowser ondersteunt deze mogelijkheid niet! Wel kunt u een bookmark maken voor de homepage van deze site");
}
}


// Other

function toggleElement(element, caller, show, hide){
	
	// Generic show/hide function
	// Hides or shows a div, adds appropriate prompts
	
	element = $(element);
	caller = $(caller);
	
	if (element.visible() == true){
		element.hide();
		caller.update(show);
	}else{
		element.show();
		caller.update(hide);
	}
}


function doShowStickies(gallery, dir, element){
	
	
	var mAjax = new Ajax.Updater(
		{success: element}, 
		'doShowGallery.php',
		{
			method: 'get', 
			parameters: 'gallery=' + gallery + 'dir=' + dir,
			onFailure: reportError,
			onCreate: function(){Element.clonePosition('spinner', element);},
			onComplete: function(){
				myLightWindow._setupLinks();
				}
			
		});
		


}


function preflightGallery(){
	
	$('galerij').hide();
	$('gallery-back-button').hide();	

}

function postflightGallery(dir){
	
	
	$('galerij').appear();	
	$('current_gallery').appear();
	if($('current_gallery')){
		$('current_gallery').update(dir.replace('-',' '));
	}
	
	setTimeout(function(){$('gallery-back-button').appear();}, 500);

	
}





function doShowGallery(gallery, dir, element, visible, image){
	//
	
	if(gallery == 'fotogalerij'){
		preflightGallery();
	}
	
	var mAjax = new Ajax.Updater(
		{success: element}, 
		'doShowGallery.php',
		{
			method: 'get', 
			parameters: 'gallery=' + gallery + '&dir=' + dir + '&visible=' + visible,
			onFailure: reportError,
			onCreate: function(){Element.clonePosition('spinner', element);},
			onComplete: function(){
				// Empty all galleries before repopulating, otherwise galleries will concatentate
				myLightWindow.galleries = [];
				myLightWindow._setupLinks();
				}
			
		});

	if(gallery == 'fotogalerij'){
		postflightGallery(dir);
	}
	



}

function doShowCats(gallery, element){
	var mAjax = new Ajax.Updater(
		{success: element}, 
		'doShowCats.php',
		{
			method: 'get', 
			parameters: 'gallery=' + gallery,
			onFailure: reportError,
			onCreate: function(){Element.clonePosition('spinner', element);}
			
		});
		

}

function fireObj(obj){
	
	Event.observe(obj,'click',function(event){doClick(event);});
	fireEvent(obj,'click');
	
	
	
	
}


