

	// ========
	// Settings
	// ========

	var nFixedHeight              = 550;
	var nDefaultPanelWidth        = 280;
	var nDefaultTabsWidth         = 25;
	var nDefaultNavigationHeight  = 25;
	
	var sImagePath                = '/components/com_vitrine/images/';

  // Globals
  var sThemeId                  = '';
  var iMyExpositionId			= 0;




  // =======================================
  // Opens new window with the theme gallery
  // =======================================
  
  function openGalleryPopup(sUrl) {

    var sProperties = 'toolbar=no,location=no,status=yes,menubar=no,scrollbars=no,resizable=yes';
    var iWidth      = screen.availWidth - 50;
    var iHeight     = screen.availHeight - 200;
    var iLeft       = (screen.availWidth - iWidth) / 2;
    var iTop        = (screen.availHeight - iHeight) / 2;
    var sProperties = 'height=' + iHeight + ',width=' + iWidth + ',top=' + iTop + ',left=' + iLeft + ',' + sProperties;
    var oWin        = window.open(sUrl, 'vitrine', sProperties);
    oWin.focus();

  }


  // =================================
  // Display flash/javascript message?
  // =================================

  function flashCheckMessage() {

    var oMessageJavaScript = document.getElementById('message_javascript');
    oMessageJavaScript.style.display = 'none';

    var oMessageFlash = document.getElementById('message_flash');
    oMessageFlash.style.display = 'block';

  }


  // ============================
  // Builds the gallery interface
  // ============================

  function createGallery(s1) {

    // Set global
    sThemeId = s1;

    var sXmlPath = sLiveSite + '/index.php?option=com_vitrine&Itemid=' + sItemid + '&task=galleryxml&theme_id=' + sThemeId;

  	var oFlash = new SWFObject(sComponentPath + 'flash/gallery.swf', 'flash_gallery', '100%', '100%', '8', '#ffffff');
  	oFlash.addVariable('xmlpath', escape(sXmlPath));
    oFlash.addParam('scaleMode', 'noScale');
    oFlash.addParam('align', 'TL');
  	oFlash.addParam('loop', 'false');
  	oFlash.addParam('menu', 'false');
  	oFlash.addParam('swliveconnect', 'true');
  	// !!! DIT GEEFT VEEL VERTRAGING, BOVENDIEN WERKT SCROLLWIEL DAN NIET
  	//oFlash.addParam('wmode', 'transparent');
  	oFlash.write('gallery');
  	
  	window.document.flash_gallery.focus();

  }

  // ============================
  // Builds the gallery interface
  // ============================

  function createGalleryMyExpositions(s1) {

    // Set global
    iMyExpositionId = s1;

    var sXmlPath = sLiveSite + '/index.php?option=com_vitrine&Itemid=' + sItemid + '&task=galleryxmlMyExpositions&my_exposition_id=' + iMyExpositionId;

  	var oFlash = new SWFObject(sComponentPath + 'flash/gallery_my_webcollection.swf', 'flash_gallery', '100%', '100%', '8', '#ffffff');
  	oFlash.addVariable('xmlpath', escape(sXmlPath));
    oFlash.addParam('scaleMode', 'noScale');
    oFlash.addParam('align', 'TL');
  	oFlash.addParam('loop', 'false');
  	oFlash.addParam('menu', 'false');
  	oFlash.addParam('swliveconnect', 'true');
  	// !!! DIT GEEFT VEEL VERTRAGING, BOVENDIEN WERKT SCROLLWIEL DAN NIET
  	//oFlash.addParam('wmode', 'transparent');
  	oFlash.write('gallery');
  	
  	window.document.flash_gallery.focus();

  }



  // ========================================================================
  // Sets dimensions of all objects in the page based on the frame dimensions
  // ========================================================================

  function updateInterface() {

  	// Set dimensions of the frame
  	var aFrameDimensions          = getFrameDimensions();
  	var nFrameWidth               = aFrameDimensions[0];
  	var nFrameHeight              = aFrameDimensions[1];
  	
  	//alert(nFixedHeight + 'px');
                                  
    // Objects                    
    var oDivGallery               = document.getElementById('gallery');
    var oDivBrowser               = document.getElementById('browser');
  	var oDivViewer                = document.getElementById('viewer');
  	var oTableNavigation          = document.getElementById('navigation');
  	var oDivPanel                 = document.getElementById('panel');
  	var oDivTabs                  = document.getElementById('tabs');

  	// Some shortcuts...          
  	var bDivPanelVisible          = (oDivPanel.style.display != 'none');

  	// Set styles
  	oDivGallery.style.height      = nFixedHeight + 'px';
  	oDivGallery.style.top         = Math.floor((nFrameHeight - nFixedHeight) / 2) + 'px';
  	oDivBrowser.style.height      = nFixedHeight + 'px';
  	oDivBrowser.style.top         = oDivGallery.style.top

  	oDivViewer.style.width        = bDivPanelVisible ? (nFrameWidth - nDefaultPanelWidth - nDefaultTabsWidth + 'px') : (nFrameWidth - nDefaultTabsWidth + 'px');
    oDivViewer.style.top          = '0px';
    oDivViewer.style.height       = nFixedHeight - nDefaultNavigationHeight + 'px';
  	oTableNavigation.style.top    = oDivViewer.style.height;
  	oTableNavigation.style.width  = bDivPanelVisible ? (nFrameWidth - nDefaultPanelWidth - nDefaultTabsWidth + 'px') : (nFrameWidth - nDefaultTabsWidth + 'px');
  	oDivPanel.style.left          = nFrameWidth - nDefaultPanelWidth - nDefaultTabsWidth + 'px';
  	oDivPanel.style.width         = nDefaultPanelWidth + 'px';
  	oDivPanel.style.height        = nFixedHeight + 'px';
  	oDivTabs.style.left           = nFrameWidth - nDefaultTabsWidth + 'px';
    oDivTabs.style.width          = nDefaultTabsWidth + 'px';  	
    oDivTabs.style.height         = nFixedHeight + 'px';


  }


  // ===========================
  // Get dimensions of the frame
  // ===========================

  function getFrameDimensions() {

  	var nFrameWidth;
  	var nFrameHeight;

  	if (self.innerWidth) {
  		nFrameWidth = self.innerWidth;
  		nFrameHeight = self.innerHeight;
  	}	else if (document.documentElement && document.documentElement.clientWidth) 	{
  		nFrameWidth = document.documentElement.clientWidth;
  		nFrameHeight = document.documentElement.clientHeight;
  	} else if (document.body) {
  		nFrameWidth = document.body.clientWidth;
  		nFrameHeight = document.body.clientHeight;
  	}

  	var aFrameDimensions = new Array(nFrameWidth, nFrameHeight);
  	return aFrameDimensions;

  }


  // ===========================================
  // Open photo browser for the specified record
  // ===========================================

  function openBrowser (sPageNumber) {
    // Hide gallery, show browser
    var oDivGallery = document.getElementById('gallery');
    var oDivBrowser = document.getElementById('browser');

    oDivGallery.style.visibility = 'hidden';
    oDivBrowser.style.visibility = 'visible';
    setPage(sPageNumber);

  }


  
  // ===========================================
  // Open photo browser for the specified record
  // ===========================================

  function openBrowserMyExposition (sPageNumber, iPhotoId) {
    // Hide gallery, show browser
    var oDivGallery = document.getElementById('gallery');
    var oDivBrowser = document.getElementById('browser');

    oDivGallery.style.visibility = 'hidden';
    oDivBrowser.style.visibility = 'visible';

    setPageMyExpositions(iPhotoId);

  }
  
  
  
  // ===================
  // Close photo browser
  // ===================

  function closeBrowser () {

    var oDivGallery = document.getElementById('gallery');
    var oDivBrowser = document.getElementById('browser');

    oDivBrowser.style.visibility = 'hidden';
    oDivGallery.style.visibility = 'visible';
    
  	window.document.flash_gallery.focus();

  }


  // ==============================
  // Open the specified page/spread
  // ==============================

  function setPage(sPageNumber) {

  	var sViewerUrl = sLiveSite + '/index.php?option=com_vitrine&theme_id=' + sThemeId + '&task=viewerxml&cp=' + sPageNumber + '&Itemid=' + sItemid;
    var sPagerUrl  = sLiveSite + '/index.php?option=com_vitrine&theme_id=' + sThemeId + '&task=pagerxml&cp=' + sPageNumber + '&Itemid=' + sItemid;

  	var oFlash = new SWFObject(sComponentPath + 'flash/topview.swf', 'flash_topview', '100%', '100%', '8', '#cccccc');
  	oFlash.addVariable('xmlpath', escape(sViewerUrl));
    oFlash.addParam('scaleMode', 'noScale');
    oFlash.addParam('align', 'TL');
  	oFlash.addParam('loop', 'false');
  	oFlash.addParam('menu', 'false');
  	oFlash.addParam('swliveconnect', 'true');
  	// !!! DIT GEEFT VEEL VERTRAGING, BOVENDIEN WERKT SCROLLWIEL DAN NIET
  	//oFlash.addParam('wmode', 'transparent');
  	oFlash.write('viewer');

  	window.document.flash_topview.focus();


  	importXML(sPagerUrl, 'createPager');
  	
  	createTabContent(sPageNumber);

  }
  
  
  
  
  
  
  // ==============================
  // Open the specified page/spread
  // ==============================

  function setPageMyExpositions(sPageNumber) {
	// smurf hier gebleven
  	var sViewerUrl = sLiveSite + '/index.php?option=com_vitrine&my_exposition_id=' + iMyExpositionId + '&task=viewerxmlMyExpositions&cp=' + sPageNumber + '&Itemid=' + sItemid;
    var sPagerUrl  = sLiveSite + '/index.php?option=com_vitrine&my_exposition_id=' + iMyExpositionId + '&task=pagerxmlMyExpositions&cp=' + sPageNumber + '&Itemid=' + sItemid;
	var oFlash = new SWFObject(sComponentPath + 'flash/topview.swf', 'flash_topview', '100%', '100%', '8', '#cccccc');
  	oFlash.addVariable('xmlpath', escape(sViewerUrl));
    oFlash.addParam('scaleMode', 'noScale');
    oFlash.addParam('align', 'TL');
  	oFlash.addParam('loop', 'false');
  	oFlash.addParam('menu', 'false');
  	oFlash.addParam('swliveconnect', 'true');
  	// !!! DIT GEEFT VEEL VERTRAGING, BOVENDIEN WERKT SCROLLWIEL DAN NIET
  	//oFlash.addParam('wmode', 'transparent');
  	oFlash.write('viewer');

  	window.document.flash_topview.focus();


  	importXML(sPagerUrl, 'createPagerMyExposition');
  	
  	createTabContentMyExpositions(sPageNumber);

  }


  // ================
  // Open/close panel
  // ================

  function togglePanel() {

    var oDivPanel = document.getElementById('panel');

    if (oDivPanel.style.display != 'none') {
      hidePanel();
    } else {
      showPanel();
    }

  }


  // ==========
  // Hide panel
  // ==========

  function hidePanel() {

  	// Set dimensions of the frame
  	var aFrameDimensions          = getFrameDimensions();
  	var nFrameWidth               = aFrameDimensions[0];
  	var nFrameHeight              = aFrameDimensions[1];

    var oDivPanel                 = document.getElementById('panel');
    var oDivViewer                = document.getElementById('viewer');
    var oTableNavigation          = document.getElementById('navigation');
    var oImgToggle                = document.getElementById('toggle');
    
    oDivPanel.style.display       = 'none';
    oDivViewer.style.width        = nFrameWidth - nDefaultTabsWidth + 'px';
    oTableNavigation.style.width  = nFrameWidth - nDefaultTabsWidth + 'px';
    oImgToggle.src                = sImagePath + 'icon_panel_show.gif';

  }


  // ==========
  // Show panel
  // ==========
  
  function showPanel() {

  	// Set dimensions of the frame
  	var aFrameDimensions          = getFrameDimensions();
  	var nFrameWidth               = aFrameDimensions[0];
  	var nFrameHeight              = aFrameDimensions[1];

    var oDivPanel                 = document.getElementById('panel');
    var oDivViewer                = document.getElementById('viewer');
    var oTableNavigation          = document.getElementById('navigation');
    var oImgToggle                = document.getElementById('toggle');
    
    oDivPanel.style.display       = '';
    oDivViewer.style.width        = nFrameWidth - nDefaultPanelWidth - nDefaultTabsWidth + 'px';
    oTableNavigation.style.width  = nFrameWidth - nDefaultPanelWidth - nDefaultTabsWidth + 'px';
    oImgToggle.src                = sImagePath + 'icon_panel_hide.gif';

  }


  // =======================
  // Create/update the pager
  // =======================

  function createPager(oXml) {

  	if(oXml.documentElement.tagName == 'error') {

  		/*
  		sError = oXml.documentElement.firstChild.nodeValue;
  		alert(sError);
  		prevLink = '';
  		nextLink = '';
  		sCenterfooter = '';
  		sHeader = '# ERROR #'
  		*/

  	} else {

  		var iTotal              = oXml.documentElement.getElementsByTagName('total')[0].firstChild              ? parseInt(oXml.documentElement.getElementsByTagName('total')[0].firstChild.nodeValue) : 0;
      var iFirst              = oXml.documentElement.getElementsByTagName('first')[0].firstChild              ? parseInt(oXml.documentElement.getElementsByTagName('first')[0].firstChild.nodeValue) : 0;
      var iLast               = oXml.documentElement.getElementsByTagName('last')[0].firstChild               ? parseInt(oXml.documentElement.getElementsByTagName('last')[0].firstChild.nodeValue) : 0;
      var iCurrent            = oXml.documentElement.getElementsByTagName('current')[0].firstChild            ? parseInt(oXml.documentElement.getElementsByTagName('current')[0].firstChild.nodeValue) : 0;
      var sPageNumber         = oXml.documentElement.getElementsByTagName('pagenumber')[0].firstChild         ? oXml.documentElement.getElementsByTagName('pagenumber')[0].firstChild.nodeValue : '';

    	var oTdNavigationLeft   = document.getElementById('navigation_left');
    	/// var oTdNavigationCenter = document.getElementById('navigation_center');
    	var oTdNavigationRight  = document.getElementById('navigation_right');

    	var sLinkFirst    = (iCurrent == iFirst) ? '<img class="navicon" src="' + sImagePath + 'pn_icon_first_disabled.gif" alt="' + aLanguage['VITRINE_FIRST'] + '" />'    : '<a href="javascript:setPage(\'1\');" title="' + aLanguage['VITRINE_FIRST'] + '"><img class="navicon" src="' + sImagePath + 'pn_icon_first.gif" alt="' + aLanguage['VITRINE_FIRST'] + '" /></a>';
    	var sLinkPrevious = (iCurrent == iFirst) ? '<img class="navicon" src="' + sImagePath + 'pn_icon_previous_disabled.gif" alt="' + aLanguage['VITRINE_PREVIOUS'] + '" />' : '<a href="javascript:setPage(\'' + (iCurrent - 1) + '\');" title="' + aLanguage['VITRINE_PREVIOUS'] + '"><img class="navicon" src="' + sImagePath + 'pn_icon_previous.gif" alt="' + aLanguage['VITRINE_PREVIOUS'] + '" /></a>';
    	var sLinkNext     = (iCurrent == iLast)  ? '<img class="navicon" src="' + sImagePath + 'pn_icon_next_disabled.gif" alt="' + aLanguage['VITRINE_NEXT'] + '" />'   : '<a href="javascript:setPage(\'' + (iCurrent + 1) + '\');" title="' + aLanguage['VITRINE_NEXT'] + '"><img class="navicon" src="' + sImagePath + 'pn_icon_next.gif" alt="' + aLanguage['VITRINE_NEXT'] + '" /></a>';
    	var sLinkLast     = (iCurrent == iLast)  ? '<img class="navicon" src="' + sImagePath + 'pn_icon_last_disabled.gif" alt="' + aLanguage['VITRINE_LAST'] + '" />'    : '<a href="javascript:setPage(\'' + iLast + '\');" title="' + aLanguage['VITRINE_LAST'] + '"><img class="navicon" src="' + sImagePath + 'pn_icon_last.gif" alt="' + aLanguage['VITRINE_LAST'] + '" /></a>';

    	///oTdNavigationLeft.innerHTML   = sLinkFirst + sLinkPrevious;
    	///oTdNavigationCenter.innerHTML = '<table style="margin: 0px auto 0px auto;"><tr><td style="color: #ffffff; vertical-align: middle;">' + iCurrent + ' van ' + iTotal + '</td><td><a href="javascript:closeBrowser();" title="' + aLanguage['VITRINE_BACKTOGALLERY'] + '"><img style="margin: 0px 0px 0px 10px;" src="' + sImagePath + 'pn_icon_back.gif" alt="' + aLanguage['VITRINE_BACKTOGALLERY'] + '" class="navicon" alt="" /></a></td></tr></table>';
    	///oTdNavigationRight.innerHTML  = sLinkNext + sLinkLast;

    	oTdNavigationLeft.innerHTML   = sLinkFirst + sLinkPrevious + sLinkNext + sLinkLast;
    	oTdNavigationRight.innerHTML  = '<span>' + iCurrent + ' ' + aLanguage['VITRINE_OF'] + ' ' + iTotal + '</span><a href="javascript:closeBrowser();" style="margin-left: 15px;">' + aLanguage['VITRINE_BACKTOGALLERY'] + '</a>';


  	}

  }


  // =======================
  // Create/update the pager
  // =======================

  function createPagerMyExposition(oXml) {

  	if(oXml.documentElement.tagName == 'error') {
  		/*
  		sError = oXml.documentElement.firstChild.nodeValue;
  		alert(sError);
  		prevLink = '';
  		nextLink = '';
  		sCenterfooter = '';
  		sHeader = '# ERROR #'
  		*/

  	} else {
  	  var iTotal              = oXml.documentElement.getElementsByTagName('total')[0].firstChild              ? parseInt(oXml.documentElement.getElementsByTagName('total')[0].firstChild.nodeValue) : 0;
      var iFirst              = oXml.documentElement.getElementsByTagName('first')[0].firstChild              ? parseInt(oXml.documentElement.getElementsByTagName('first')[0].firstChild.nodeValue) : 0;
      var iLast               = oXml.documentElement.getElementsByTagName('last')[0].firstChild               ? parseInt(oXml.documentElement.getElementsByTagName('last')[0].firstChild.nodeValue) : 0;
      var iCurrent            = oXml.documentElement.getElementsByTagName('current')[0].firstChild            ? parseInt(oXml.documentElement.getElementsByTagName('current')[0].firstChild.nodeValue) : 0;
      var iPrevious           = oXml.documentElement.getElementsByTagName('previous')[0].firstChild            ? parseInt(oXml.documentElement.getElementsByTagName('previous')[0].firstChild.nodeValue) : 0;
      var iNext            	  = oXml.documentElement.getElementsByTagName('next')[0].firstChild            ? parseInt(oXml.documentElement.getElementsByTagName('next')[0].firstChild.nodeValue) : 0;
      var sPageNumber         = oXml.documentElement.getElementsByTagName('pagenumber')[0].firstChild         ? oXml.documentElement.getElementsByTagName('pagenumber')[0].firstChild.nodeValue : '';
      var icurPhotoId         = oXml.documentElement.getElementsByTagName('curPhotoId')[0].firstChild         ? oXml.documentElement.getElementsByTagName('curPhotoId')[0].firstChild.nodeValue : '';

    	var oTdNavigationLeft   = document.getElementById('navigation_left');
    	/// var oTdNavigationCenter = document.getElementById('navigation_center');
    	var oTdNavigationRight  = document.getElementById('navigation_right');

    	var sLinkFirst    = (icurPhotoId == iFirst) ? '<img class="navicon" src="' + sImagePath + 'pn_icon_first_disabled.gif" alt="' + aLanguage['VITRINE_FIRST'] + '" />'    : '<a href="javascript:setPageMyExpositions(\'' + iFirst + '\');" title="' + aLanguage['VITRINE_FIRST'] + '"><img class="navicon" src="' + sImagePath + 'pn_icon_first.gif" alt="' + aLanguage['VITRINE_FIRST'] + '" /></a>';
    	var sLinkPrevious = (icurPhotoId == iFirst) ? '<img class="navicon" src="' + sImagePath + 'pn_icon_previous_disabled.gif" alt="' + aLanguage['VITRINE_PREVIOUS'] + '" />' : '<a href="javascript:setPageMyExpositions(\'' + iPrevious + '\');" title="' + aLanguage['VITRINE_PREVIOUS'] + '"><img class="navicon" src="' + sImagePath + 'pn_icon_previous.gif" alt="' + aLanguage['VITRINE_PREVIOUS'] + '" /></a>';
    	var sLinkNext     = (icurPhotoId == iLast)  ? '<img class="navicon" src="' + sImagePath + 'pn_icon_next_disabled.gif" alt="' + aLanguage['VITRINE_NEXT'] + '" />'   : '<a href="javascript:setPageMyExpositions(\'' + iNext + '\');" title="' + aLanguage['VITRINE_NEXT'] + '"><img class="navicon" src="' + sImagePath + 'pn_icon_next.gif" alt="' + aLanguage['VITRINE_NEXT'] + '" /></a>';
    	var sLinkLast     = (icurPhotoId == iLast)  ? '<img class="navicon" src="' + sImagePath + 'pn_icon_last_disabled.gif" alt="' + aLanguage['VITRINE_LAST'] + '" />'    : '<a href="javascript:setPageMyExpositions(\'' + iLast + '\');" title="' + aLanguage['VITRINE_LAST'] + '"><img class="navicon" src="' + sImagePath + 'pn_icon_last.gif" alt="' + aLanguage['VITRINE_LAST'] + '" /></a>';

    	///oTdNavigationLeft.innerHTML   = sLinkFirst + sLinkPrevious;
    	///oTdNavigationCenter.innerHTML = '<table style="margin: 0px auto 0px auto;"><tr><td style="color: #ffffff; vertical-align: middle;">' + iCurrent + ' van ' + iTotal + '</td><td><a href="javascript:closeBrowser();" title="' + aLanguage['VITRINE_BACKTOGALLERY'] + '"><img style="margin: 0px 0px 0px 10px;" src="' + sImagePath + 'pn_icon_back.gif" alt="' + aLanguage['VITRINE_BACKTOGALLERY'] + '" class="navicon" alt="" /></a></td></tr></table>';
    	///oTdNavigationRight.innerHTML  = sLinkNext + sLinkLast;

    	oTdNavigationLeft.innerHTML   = sLinkFirst + sLinkPrevious + sLinkNext + sLinkLast;
    	oTdNavigationRight.innerHTML  = '<span>' + iCurrent + ' ' + aLanguage['VITRINE_OF'] + ' ' + iTotal + '</span><a href="javascript:closeBrowser();" style="margin-left: 15px;">' + aLanguage['VITRINE_BACKTOGALLERY'] + '</a>';


  	}

  }


  // ===========================
  // Create content for all tabs
  // ===========================

  function createTabContent(sPageNumber) {

    var sUrl = sLiveSite + '/index.php?option=com_vitrine&Itemid=' + sItemid + '&theme_id=' + sThemeId + '&task=tab_beschrijving&cp=' + sPageNumber;
    dojo.widget.getWidgetById('panel_beschrijving').setUrl(sUrl);

  }

  
  // ===========================
  // Create content for all tabs
  // ===========================

  function createTabContentMyExpositions(sPageNumber) {
    var sUrl = sLiveSite + '/index.php?option=com_vitrine&Itemid=' + sItemid + '&my_exposition_id=' + iMyExpositionId + '&task=tab_beschrijving_my_expositions&cp=' + sPageNumber;
    dojo.widget.getWidgetById('panel_beschrijving').setUrl(sUrl);

  }


  // =======================
  // Opens 'webwinkel'-popup 
  // =======================
  
  function addToCart(sUrl) {

    var sProperties = 'toolbar=no,location=no,status=yes,menubar=no,scrollbars=yes,resizable=yes';
    var iWidth      = 800;
    var iHeight     = 600;
    var iLeft       = (screen.availWidth - iWidth) / 2;
    var iTop        = (screen.availHeight - iHeight) / 2;
    var sProperties = 'height=' + iHeight + ',width=' + iWidth + ',top=' + iTop + ',left=' + iLeft + ',' + sProperties;
    var oWin        = window.open(sUrl, 'webwinkel', sProperties);
    oWin.focus();

  }


  // =============================
  // Opens record detail in opener
  // =============================
  
  function showDetail(sHref) {
    
    var oWindow = window.opener;
    oWindow.location = sHref;
    oWindow.focus();
    
  }
  
  // =============================
  // Opens record detail in opener
  // =============================
  
  function showDetailNewWindow(sHref) {
    
    var oWindow = window.opener;
    oWindow.window.open(sHref, 'newwindow');
    oWindow.focus();
    
  }

