/*
 * Common functions for the site
 */

var loader = '<img src="/img/loading.gif">';
var localDivs = 'Hello world';
var debug = false;
var activeButton = null;
var div_name = null;
var form_name;
var editor_id = null;
var company_data = new Array();
var contact_data = new Array();
var working_divs = new Array();
var lookup_fallback_function = new Array();
var safe_form_name = null;
var loaded = false;

function load_box( url, panel, msg ) {
	e = document.getElementById( panel );
	
	if ( msg != null ) {
		msg = loader + msg;
	} else {
		msg = loader;
	}

	if ( e != null ) {
		new Ajax.Updater(
			panel,
			url,
			{
				method:		"GET",
				evalScripts: true,
				onLoading:	e.innerHTML = msg
			}
		);
	}
}

function send_form( fN, divN, url ) {
	dati = $( fN ).serialize();
	e = document.getElementById( divN );
	
	if ( loader != '' ) {
		loader = '<center>' + loader + '</center>';
	} else {
		loader = '';
	}
	
	new Ajax.Updater( divN, url, {
		method:			"POST",
		evalScripts:	true,
		onLoading:		e.innerHTML = loader,
		postBody:		dati
	});
}

function HideMessageDiv() {
	divN = document.getElementById( "message" );
	divN.style.visibility = "hidden";
	divN.style.display = "none";
}

function toggleDivDisplay( divN ) {
	e = document.getElementById( divN );
	if ( e.style.visibility == "hidden" ) {
		divShow( divN );
	} else {
		divHide( divN );
	}
	
	e = null;
	return true;
}

function divHide( divN ) {
	e = document.getElementById( divN );
	e.style.visibility = "hidden";
	e.style.display = "none";
	return true;
}

function divShow( divN ) {
	if ( debug == true ) alert( "Going to show " + divN );
	e = document.getElementById( divN );
	e.style.visibility = "visible";
	e.style.display = "block";
	return true;
}

function dropShadow() {
	divShow( "overlay" );
	new Effect.Appear( overlay, { duration: 0.5,  to: 0.8 } );
}
	
function loadDialog( dUrl ) {
	dPanel = "dialogBox";
	dropShadow();
	divShow( dPanel );
	load_box( dUrl, dPanel );
}

function initDialogBox() {
	container = document.body;
	this.container = $(container);
	this.overlay = $('overlay');
	this.dialog = $('dialogBox');
	Event.observe( this.overlay, 'click', function(event) { unloadDialog() } );
	Event.observe( this.dialog, 'click',  function(event) { event.stop() } );
}

function unloadDialog() {
	document.getElementById( "dialogBox" ).innerHTML = "";
	divHide( "dialogBox" );
	divHide( "overlay" );
}

function fixDialogBox() {
	if ( $(document.viewport).getHeight() < $("dialogBox").getHeight() ) {
		var nHeight = $(document.viewport).getHeight() - 32;
		$( "dialogBox" ).setStyle( { height: nHeight } );
	}
	
	var nTop = Math.round( ( $(document.viewport).getHeight() - $("dialogBox").getHeight() ) / 2 );
	$( "dialogBox" ).setStyle( { top: nTop } );
}

function hideDivs() {
	i = 0;
	while ( i < localDivs.length ) {
		e = document.getElementById( localDivs[ i ] );
		if ( e != null ) {
			e.style.visibility = "hidden";
			e.style.display = "none";
		}
		
		i++;
	}
}

function showLoader() {
}

function hideLoader() {
}

function dropDownHeight( ddName, refId ) {
	$( ddName ).setStyle( { height: 320 } );
	alert( $( refId ).getHeight() );
}

function dropDownUnload( ddName ) {
	if ( $( ddName ).visible() == true ) {
		Effect.SlideUp( ddName, { duration: 0.5, scaleFrom: 100, scaleTo: 0 } );
	}
}

function toggleContextMenu( dName ) {
	$( dName ).toggle();
}

function dropDownLoad( ddName, url ) {
	loaded = false;
	dropDownUnload( ddName );
	
	setTimeout( function() {
		new Ajax.Updater(
			ddName,
			url,
			{
				method:			"GET",
				evalScripts: 	true,
				onLoading:		showLoader(),
				onComplete:		function() {
					loaded = true;
					hideLoader();
					Effect.SlideDown( ddName, { duration: 1, scaleFrom: 0, scaleTo: 100 } );
				}
			}
		);
	}, 550 );
}



