// accipiter v0.1
// front-end javascript functions
// by aquila solutions
// http://aquila-solutions.hu

/* CONTENT VARS */
var runningAnimation = false;
var effectDone;
var loadDone;
var loadDiv;
var language = 'en';
var languages = Array( 'en' );
var responseText;
var loadedContent = 'index';
var tripToLoad = 0;

function requestContent( lang, content, params, div ) {
	if( runningAnimation ) {
		return;
	}

	params = params || {};
	loadDiv = div || 'content'
	
	runningAnimation = true;
	effectDone = false;
	loadDone = false;
	responseText = '';
	
	url = '/ajax/';
	if( lang ) {
		language = lang;
	} else {
		possibleLang = window.location.pathname.substr( 1 );
		for ( i = 0; i < languages.length; i++ ) {
			if ( languages[i] === possibleLang ) {
				language = possibleLang;
			}
		}
	}
	url = url + language + "/";
	if( content ) {
		url = url + content + "/";
	}	
	
	hideEffect( loadDiv, {
		afterFinish: function() {
			effectDone = true;
			loadText();
		}
	});
	new Ajax.Request( url, 
		{
			method: 'post',
			parameters: params,
			onSuccess: function(transport) {
				responseText = transport.responseJSON;
				loadDone = true;
				loadText();
			}
		}	
	);	
}

function requestSpecialContent( type, scid, params, div ) {
	if( runningAnimation ) {
		return;
	}

	params = params || {};
	loadDiv = div || 'content'
	
	runningAnimation = true;
	effectDone = false;
	loadDone = false;
	responseText = '';
	
	url = '/ajax/';
	url = url + language + "/specialContent/" + type + '/' + scid + '/';
	
	hideEffect( loadDiv, {
		afterFinish: function() {
			effectDone = true;
			loadText();
		}
	});
	new Ajax.Request( url, 
		{
			method: 'post',
			parameters: params,
			onSuccess: function(transport) {
				responseText = transport.responseJSON;
				loadDone = true;
				loadText();
			}
		}	
	);	
}

function contentClicked( content ) {
	if( runningAnimation ) {
		return;
	}
	requestContent( null, content );
}

function languageClicked( language ) {
	if( runningAnimation ) {
		return;
	}
	requestContent( language, responseText.contentId );
}

function loadText() {
	if( effectDone && loadDone ) {
		galleryListItem = 0;
		galleryImageListItem = 0;
	
		loadedContent = responseText.url;
		$( loadDiv ).innerHTML = responseText.content;
		if( loadedContent == 'gallery' ) {
//			Shadowbox.gallery = Shadowbox.gallery.slide( 0, Shadowbox.gallery.length );
			Shadowbox.init({ skipSetup: true }); Shadowbox.setup();
		}
		showEffect( loadDiv, {
			afterFinish: function() {
				runningAnimation = false;
				eval( responseText.js );
				
				if( tripToLoad != 0 && loadedContent == 'index' ) {
					openTrip( tripToLoad, true );
				}
				
			}
		});
	}
}

function openTrip( tripNumber, scroll ) {
	if( loadedContent != 'index' ) {
		tripToLoad = tripNumber;
		requestContent( null, 'index' );
		return;
	}
	
	tripToLoad = 0;
	
	if( scroll ) {
		new Effect.ScrollTo( 'box_tours', { duration: 0.25 } );
	}

	shown = 0;
	for( i = 1; i < 5; i++ ) {
		divName = 'trip' + i;
		if( $( divName ).style.display != 'none' ) {
			shown = i;
		}
	}
	if( tripNumber == shown ) {
		return;
	}
	divName  = 'trip_header' + shown;
	divName2 = 'trip_header' + tripNumber;
	$( divName  ).innerHTML = 'Show';
	$( divName2 ).innerHTML = '&nbsp;';
	$( divName  ).className = 'box_header_right right_green';
	$( divName2 ).className = 'box_header_right right_red';

	divName  = 'trip' + shown;
	divName2 = 'trip' + tripNumber;
	new Effect.Parallel([
		new Effect.BlindDown( divName2 ),
		new Effect.BlindUp( divName )
	]);
}
