///////////////////// CONFIG VARS ///////////////////////////

//var for flashsider
var defaultFlashWidth = 630;
var defaultFlashHeight = 460;
var minFlashWidth = 590;
var minFlashHeight = 431;

// vars for flashsider inne i vitenprogram
var defaultHeaderHeight = 150;
var minHeaderHeight = 30;

//vars for alle sider inne i vitenprogram
var menuWidth = 164;

// vars for flashsider standAlone og pop-up
var headerHeight_standAlone = 22;
var standAloneVmarg=15;

//vars for alle sider unntatt flash standAlone
var maxVmarg = 100;
var startExpandVmarg=800;

///////////////////// CONFIG END ////////////////////////////

var scrollerbarWidth=20;
// OBS! Noen nettlesere inkluderer bredden til scrollbaren,
// så vi trekker fra 20 for å være på den sikre siden. Dette skal bli
// fikset i prototype.js 2.x

var commonVars = {hspaltehoyde:0, flashHeight:0, flashWidth:0, marg:0};
// commonVars er variabler som blir brukt av calcsize og deretter trengs videre i scaleflash


function calcsize(for_vitenprogram) {
	if (for_vitenprogram) {

		// Spesialvariant for å få størst mulige flasher når vi ser på vitenprogram
	    var skjermbredde = document.viewport.getWidth() - scrollerbarWidth;
	    var skjermhoyde = document.viewport.getHeight() - scrollerbarWidth;

	    var flashProp = defaultFlashWidth / defaultFlashHeight;
	    commonVars.hspaltehoyde = skjermhoyde - minHeaderHeight;
	    var hspaltebredde = skjermbredde<defaultFlashWidth + menuWidth ? skjermbredde : skjermbredde - menuWidth;
	    // Når vindusbredde er under produksjonsstørrelsen (defaultFlashWidth) foretrekkes
	    // at brukeren scroller til høyre, men at størrelsen på flashen da ikke er
	    // større enn at hele flashen får plass

	    if(skjermbredde < minFlashWidth || commonVars.hspaltehoyde<minFlashHeight){
	      //console.log("høyde eller bredde er under minstestørrelse");
	      commonVars.flashWidth = minFlashWidth;
	      commonVars.flashHeight = Math.floor(commonVars.flashWidth / flashProp);
	    } else if(hspaltebredde / commonVars.hspaltehoyde >= flashProp){
	      //console.log("høyde er begrensende");
	      commonVars.flashWidth = Math.floor(commonVars.hspaltehoyde * flashProp);
	      commonVars.flashHeight = commonVars.hspaltehoyde;
	    } else{
	      //console.log("bredde er begrensende");
	      commonVars.flashWidth = hspaltebredde;
	      commonVars.flashHeight = Math.floor(commonVars.flashWidth / flashProp);;
	    }

	    // sett inn venstre marg (opp til maxVmarg) hvis plass
	    commonVars.marg = skjermbredde - commonVars.flashWidth - menuWidth;
	    if (commonVars.marg <= 0) {
	        $("vitenbody").setStyle({'backgroundPosition': '-' + maxVmarg + 'px 0px'});
	        commonVars.marg = 0;
	    } else if (commonVars.marg > 0 && commonVars.marg < maxVmarg) {
	        var vmarg=Math.ceil(commonVars.marg / 2);
	        var logoposition = maxVmarg - vmarg;
	        $("vitenbody").setStyle({'backgroundPosition': '-' + logoposition + 'px 0px'});
	        commonVars.marg = vmarg;
	    } else {
	        $("vitenbody").setStyle({'backgroundPosition': '0px 0px'});
	        commonVars.marg = maxVmarg;
	    }
	    $("vitenpage").setStyle({'marginLeft': commonVars.marg + 'px'});

	} else {

		// Skalering for alle andre sider
		var skjermbredde = document.viewport.getWidth();
	    var skjermhoyde = document.viewport.getHeight();
	    var disponibel_marg = skjermbredde - startExpandVmarg;
	    var marg = Math.ceil(disponibel_marg / 2);
	    if (marg <= 0) {
	        $("vitenbody").setStyle({'backgroundPosition': '-' + maxVmarg + 'px 0px'});
	        $("vitenpage").setStyle({'marginLeft': '0px'});
	    } else if (marg > 0 && marg < maxVmarg) {
	        var logoposition = maxVmarg - marg;
	        $("vitenbody").setStyle({'backgroundPosition': '-'+logoposition + 'px 0px'});
	        $("vitenpage").setStyle({'marginLeft': marg + 'px'});
	    } else {
	        $("vitenbody").setStyle({'backgroundPosition': '0px 0px'});
	        $("vitenpage").setStyle({'marginLeft': maxVmarg + 'px'});
	    }
	}
}

function doResize(flashobj){
  flashobj.setAttribute('width', commonVars.flashWidth + 'px');
  flashobj.setAttribute('height', commonVars.flashHeight + 'px');
}

function scaleflash(standAlone){
  if(standAlone){ // og standalone
    var skjermbredde = document.viewport.getWidth() - scrollerbarWidth;
    var skjermhoyde = document.viewport.getHeight() - headerHeight_standAlone - scrollerbarWidth;

    var flashProp = defaultFlashWidth / defaultFlashHeight;
    var vmarg=0;
    if(skjermhoyde<minFlashHeight || skjermbredde<minFlashWidth){
      //console.log("høyde eller bredde er under minstestørrelse");
      commonVars.flashWidth = minFlashWidth;
      commonVars.flashHeight = minFlashHeight;
      if(skjermbredde - commonVars.flashWidth>standAloneVmarg+scrollerbarWidth) vmarg=standAloneVmarg;
    } else if(skjermbredde / skjermhoyde >= flashProp){
      //console.log("høyde er begrensende");
      commonVars.flashWidth = Math.floor(skjermhoyde * flashProp);
      commonVars.flashHeight = skjermhoyde;
      if(skjermbredde - commonVars.flashWidth>standAloneVmarg+scrollerbarWidth) vmarg=standAloneVmarg;
    } else{
      //console.log("bredde er begrensende");
      commonVars.flashWidth = skjermbredde;
      commonVars.flashHeight = Math.floor(skjermbredde / flashProp);
    }
    $("mainRight").setStyle({'position': 'absolute'});
    $("mainRight").setStyle({'left': vmarg + 'px'});

  } else{ // inne i et vitenprogram

    $("footer").setStyle({'display': 'none'}); // hindrer unødvendig vscroller IE?

    // øk flashens topMargin, slik at flashen flyttes nedover hvis plass
    var flash_marginTop = 0;
    var availableTopHeight = defaultHeaderHeight - minHeaderHeight;
    if(commonVars.hspaltehoyde > commonVars.flashHeight){
      var availableBottomHeight = commonVars.hspaltehoyde - commonVars.flashHeight;
      if(availableBottomHeight > availableTopHeight){
        flash_marginTop = availableTopHeight;
      } else{
        flash_marginTop = availableBottomHeight;
      }
    }

    $("mainRight").setStyle({'position': 'absolute'});
    $("mainRight").setStyle({'left': (menuWidth+commonVars.marg) + 'px'});
    $("mainRight").setStyle({'top': defaultHeaderHeight + 'px'});
      // (A) dette er lagt inn fordi flashene hopper undermenyen i IE6 ved visse størrelser

    $("mainRight").setStyle({'marginTop': '-' + (availableTopHeight) + 'px'});
      // (B) dette er lagt inn fordi flashene forsvinner i IE6 når de flytter seg oppover

    $("flashCont").setStyle({'marginTop': flash_marginTop + 'px'});
      // pga (B) gir flash_marginTop positive verdier i motsetning til tidligere versjon av skriptet
  }

  // felles for både standAlone og inne i Vitenprogram
  if ($("flashCont")) {
  	$("flashCont").setStyle({'width': commonVars.flashWidth + 'px'});
  }

  if($("flashenembed")) {
    doResize($("flashenembed"));

    setTimeout("doResize($('flashenembed'))", 50);
    // sikrer at objekt vises i Opera, men forutsetter fortsatt forrige linje med doResize

  } else {
	if ($('flashenobj')) {
    	setTimeout("doResize($('flashenobj'))", 50); // for å få skalering ved onload IE
	}
  }
}



