// -----------------------------------------------------------------------------
// cvpopup.js
//
// Tomas Eklund, tomas@eklund.com, 2010-04-10
//
// Öppnar en modal popup-dialogruta i vilken gränssnittet till CV-databasen
// visas.
//
// Utvecklad för och testad med
// - MooTools Core 1.2.4
// - MooTools More 1.2.4.4
// - Clientcide 2.2.0 (StickyWin)
//
// Implementerar egen modalitetsfunktionalitet eftersom StickyWin.Modal endast
// klarade av att maskera från dokumentets topp ned till "the fold" av någon
// mystisk anledning.
//
// Att göra: anpassa storleken av popup-rutan till mindre webbläsarfönster.
// -----------------------------------------------------------------------------

var cvPopupWin = null;

function cvpopup(url) {

	// ---------------------------------------------------------------------------
	// Variabel för att lagra flash-videospelaren som måste döljas eftersom den
	// annars lyser igenom modal-masken
	// ---------------------------------------------------------------------------
	var videoPlayer = null;

	// ---------------------------------------------------------------------------
	// Hjälpfunktion som återställer dokumentet när popup-dialogrutan stängts
	// - Ta bort masken som gör popupen modal
	// - Återställ rullningslisterna i dokumentet
	// - Återställ videospelaren
	// ---------------------------------------------------------------------------
  function restore() {
	  if ( $('modal_mask') ) $('modal_mask').dispose();
    $(document.body).setStyle('overflow', 'auto');
	  if ( videoPlayer && $('video_latest') ) videoPlayer.inject($('video_latest'), 'top');
  }

	// ---------------------------------------------------------------------------
	// Förbered dokumentet för att visa popup-dialogrutan med CV-databasen:
	// - Dölj rullningslisterna i dokumentet (eftersom det är störande att
	//   dokumentet rullas när man har en modal dialogruta). Tyvärr hjälper detta
	//   inte helt. Exempelvis kan dokumentet rullas med hjälp av musens rullhjul
	//   i Opera. Har inte hittat någon fix för detta.
	// - Skapa en mörk mask som skymmer dokumentet.
	// - Ta bort och spara undan flash-videospelaren eftersom den inte skyms av
	//   masken utan lyser igenom. I Opera lyser den dessutom igenom dialogrutan
	//   vilket förstås blir oerhört fult.
	// ---------------------------------------------------------------------------
  $(document.body).setStyle('overflow', 'hidden');
  var modalMask = new Element('div', {id: 'modal_mask'});
  modalMask.setStyles({
		'position': 'absolute',
		'left': 0,
		'top': 0,
		'width': '100%',
		'height': $(document.body).getScrollSize().y,
		'background-color': 'black',
		'z-index': 9000
	});
	modalMask.set('opacity','.6');
	modalMask.inject($(document.body), 'top');
	if ( $('video_player_wrapper') )
	{
		videoPlayer = $('video_player_wrapper').dispose();
	}
  if (!url) url = '/cv-databas/login.php';

	// ---------------------------------------------------------------------------
	// Skapa ett nytt "StickyWin" som laddar en iframe i vilken CV-databasen visas
	// ---------------------------------------------------------------------------
	var WindowSize = $(document.body).getSize();
	var width = Math.min(880, Math.floor(WindowSize.x * 0.9));
	var height = Math.min(600, Math.floor(WindowSize.y * 0.9));
  cvPopupWin = new StickyWin({
    width: (width+2) + 'px',
    height: (height+2) + 'px',
    zIndex: 10000,
    closeClassName: 'cvdb_close',
    allowMultiple: false,
    hideOnClick: false,
    onClose: restore,
    closeOnEsc: true,
    destroyOnClose: true,
    content: '<div style="width: ' + width + 'px; height: ' + height + 'px; border: 1px solid black; background-color: white; background-image: url(/cv-databas/images/bg.jpg); background-repeat: repeat-y;">'
    	+ '<div class="cvdb_close" style="background-image: url(/cv-databas/images/close.gif); width: 31px; height: 17px; position: absolute; right: 10px; top: 10px; cursor: pointer;"></div>'
    	+ '<div id="cvdb_logo" style="background-image: url(/cv-databas/images/cv-databas.gif); width: 254px; height: 38px; position: absolute; left: 80px; top: 20px;"></div>'
    	+ '<iframe src="' + url + '" frameborder="0" marginwidth="0" marginheight="0" scrolling="auto" style="width: ' + (width-80) + 'px; height: ' + (height-100) + 'px; border-style: none; position: absolute; left: 80px; top: 100px;"></iframe>'
    	+ '</div>'
  }).pin();

	return false;
}
