/*
 In dieser Datei sind Funktionen, die gleich am Anfang in das HTML eingebunden werden.
 Grundsätzlich sollten das so wenige sein wie irgend möglich, da es den Aufbau des HTML bremst.
*/

// Standard Object. wird u.a. für die Auslieferung von Werbung benötigt
// ***********************************************************************

// alte Globale, die in den unteren Fkt benutzt werden., teilweise auch bei Partnern.
var gsFAZNET = "www.faz.net";
var gsPrefix = "/IN/INtemplates/faznet/";
var gsDefPrefix = gsPrefix + "default.asp?tpl=";
var oLocation = window.location;
var ad; // Video-Werbung
var sHost = window.location.host;
var sHref = '';
  
	if (!sHost.match(/^((www|t4?[abh]1?)\.(faz|fazjob)\.net|1[79]|t3t|t3l|t3h|tx|utilwww|wsfem|pc11|nbfem|femdev|localhost)/i)
		|| oLocation.toString().match(/common(~S|\/)form|register\.aspx/i)) {
		sHref = "http://"+ gsFAZNET;
   }

// wird z.B. bei der TopGrafik benötigt. Sollte aber besser mootools-Browser-Checks benutzt werden.
is = new Browser();
function Browser(){
	var b=navigator.appName;
	
	if (b.indexOf('Netscape')!=-1)
		this.b="ns";
	else if ((b=="Opera") || (navigator.userAgent.indexOf("Opera")>0))
		this.b="opera";
	else if (b=="Microsoft Internet Explorer")
		this.b="ie";
	
	this.useragent=navigator.userAgent.toLowerCase();
	this.version=navigator.appVersion;
	this.v=parseInt(this.version);
	this.ns=(this.b=="ns" && this.v>=4);
	this.ns4=(document.layers)?1:0;
	this.ns6=(this.b=="ns" && this.v==5);
	this.ie=(this.b=="ie" && this.v>=4);
	this.ie4=(this.version.indexOf('MSIE 4')>0);
	this.ie5=(this.version.indexOf('MSIE 5')>0);
	this.ie55=(this.version.indexOf('MSIE 5.5')>0);
	this.ie6=(this.version.indexOf('MSIE 6.0')>0);
	this.win=(this.version.indexOf("Windows")>0);
  this.fire=(this.useragent.indexOf("firefox")>-1);
	this.opera=(this.useragent.indexOf("opera")>-1);
	this.dom=(document.createElement)?1:0;

	if (this.useragent.indexOf("win")>-1) 
	  this.platform="win32";
	else if (this.useragent.indexOf("mac")>-1) 
	  this.platform="mac";
	else this.platform="other";

  this.ver4=(this.ie4 || this.ns4 || this.dom) ? 1 : 0;
}


// 08.01.06 sb: 
//   Alte Flash-Funktionen deaktiviert.
//   Werden nicht mehr benötigt, da jetzt hoffentlich überall swfobject.js benutzt wird.
//   In D, IN oder bei Partnern könnten diese Funktionen noch aufgerufen werden,
//   deshalb nicht komplett gelöscht.
// 16.01.06 rl:
// grrrr. nur das Sie nicht mehr funktionieren. Partner nutzen diese Funktionen unter /js/faznet.js
// da Diese Js später includet wird, werden KEINE flash mehr ausgeliefert. deshalb hier wieder entfernt.
//function fnGetFlashVersion () { return 0;}
//function fnGetFlashObject () {}
//function fnDetectAndShowFlash() {}
//function fnGotoNextImg() {}



function makeImgSrcTag (sRelSrc) {
	if (sRelSrc.indexOf ("http:") == 0) 
	    return sRelSrc;

	var oLocation = window.location;
	var sProtocol = oLocation.protocol;
	if (sProtocol!="http:" && sProtocol!="https:") sProtocol = "http:";

	if (sRelSrc.indexOf ("/") != 0) sRelSrc = gsPrefix + sRelSrc; 
	if (!sHref && sProtocol == "http:") return sRelSrc;
	return sProtocol +"//"+ gsFAZNET + sRelSrc;
}

// flash-Schnellstart, siehe auch summary unter StartFlashDirectly
// FlashKickstart ist etwas wie startFlash aber ohne Mootools und Bubbles.
function flashKickstart(elemID) {

  var elm = document.getElementById(elemID);
  var flstart = elm.getAttribute("flashstart");
  
  if (flstart == null || flstart != "1") return;
  
  var s1 = elm.getAttribute("flashInit");
  var inits = s1.split("|");
  
  var version = deconcept.SWFObjectUtil.getPlayerVersion();
  if (version.major < inits[4]) {
    //alert ("Sie haben folgenden Flash Player installiert. Version: "+ version['major'] +"."+ version['minor'] +"."+ version['rev']);
    //Fehlerbehandlung mit bubble erfolgt in startFlash
    return;
  } 
  
  var so = initSWFObject(elm, inits);
  so.write(elemID);

  elm.setAttribute("flashstart", "0");
}


// Diese Funktion wird von speziellen Flashs aufgerufen, z.B. Sport-Ticker Flash. Hardy weiss mehr.
function resizeFlashContent(flashID,h) {
	document.getElementById(flashID).style.height = h + "px";
	document.getElementById(flashID + "_flash").style.height = h + "px"; // height of Embed-Tag
}

function initSWFObject(elm, inits) {
  
  var so = new SWFObject(makeImgSrcTag(inits[0]), inits[1], inits[2], inits[3], inits[4], "#FFFFFF");
      
  so.addParam("wmode", "transparent"); // Kann per Merkmal Automatismen-FlashPara überschrieben werden
	so.addParam("menu", "false"); // dto.
					
  var s2 = elm.getAttribute("flashPara");
  if(s2 != null){
      var vars = s2.split("|");
      for(var i=0; i < vars.length; i++) { 
        var vari = vars[i];
        var ix = vari.indexOf("=");
        if (ix > -1) so.addParam(vari.substr(0, ix), vari.substr(ix+1));
        //alert("Para:" +  vari.substr(0, ix) + "=" + vari.substr(ix+1));
      }     	
  }

  var s3 = elm.getAttribute("flashVar");
  if(s3 != null){
      var vars = s3.split("|");
      for(var i=0; i < vars.length; i++) { 
        var vari = vars[i];
        var ix = vari.indexOf("=");
		if (ix > -1) {
			if (vari.substr(ix+1).indexOf("htmlpara:") > -1) {
				var getHtmparaVar = getQueryParamValue(vari.substr(ix+1).replace("htmlpara:",""));
				if (getHtmparaVar != "") {
					//alert(" Var:" +  vari.substr(0, ix) + "=" + getHtmparaVar + " para= "+getHtmparaVar);
					so.addVariable(vari.substr(0, ix), getHtmparaVar);
				}
			}
			else {
				so.addVariable(vari.substr(0, ix), vari.substr(ix+1));
				//alert("Var:" +  vari.substr(0, ix) + "=" + vari.substr(ix+1));
			}
		}
      }     		
  }
  return so;
}

//print version
//zeigt an stelle des Flash ggf das still, wenn vorhanden
function showAlternative()
{
   
    var mainColumn = $('FazSeiteContent');
    if (!$chk(mainColumn)) 
        return;
        
    var elms = mainColumn.getElements("[flashstart=1]");

    for( var i=0; i<elms.length; i++) { 

        var elm = elms[i];
        var flstart = elm.getAttribute("flashstart");

        if (flstart == null || flstart != "1") 
            return;

        var s1 = elm.getAttribute("flashInit");
        var inits = s1.split("|");

        var stillImage = inits[5];
        var width = inits[6];
        var height = inits[7];
        var alt = inits[1];

        if (stillImage == "")  // Kein Alternativ-Bild 
            continue;

        var sHtml = '<div>' // zentrieren auf Multimediaseite erzielen, durch überschreiben des text-align-Styles
        + '<img id="alt_' + alt + '" src="' +	makeImgSrcTag(stillImage) + '" style="width:' + width +'px;height:'+ height + ';" alt="" >'
        + '</div>';

        elm.innerHTML = sHtml;
    }
}