//
// Last changes: showLayers(), checkCookies() (Marat Saitov, 10.03.2004)
// Last changes: einbindung Usertracking (Henning Busacker 25.03.2004)
// Last changes: Korrekturen(Hostname,Kontakt,Search,aktivierung Usertracking) (Henning Busacker 22.07.2004)
// Last changes: Entfernen Webtrends tracking, USetracking hinzu
// Last changes: aufgeraeumt , flash_popup hinzu (Henning Busacker 17.05.2006)
//
// File   msd_scriptlib.js   
// 
// Purpose: 
// For the use in the product-pages of msd.de
//
// Contents:
// navigation-highlight script
// Respective to the path of a html-page, the highlight-images of the navigation are set
//
// include stylesheet script
// Respective to the browser the right stylesheet is included


// the logical navigationstructure  (if different from the folderstructure)
var imagelist=new Array("hintergrund", "produktprofil","wirksamkeit","studiendaten","news_service","meta_kontakt","meta_uebermsd","meta_sitemap","meta_h_kontakt");
// image-preload arrays
var buttons_in=new Array();
var buttons_out=new Array();
var buttons_rollover=new Array();
var trenner=new Array();
// imagepath
var gfxsrc = "/legacy/images/navi/";
// imagetype (gif, jpg, png ...)
var type = "gif";
// highlight extention
var highlight = "_hi";
// rollover extention
var rollover = "_rollover";
// the path of the html-file (with folder structure)
var loc = window.location.pathname;

var hl_position = -1;

//--------------------------------------------------------------------------------------------------------------------
// set stylesheet
//--------------------------------------------------------------------------------------------------------------------
document.open();
document.write("<LINK rel='stylesheet' type='text/css' href='/legacy/css/msd.css'>");
document.close();
//-----------------------------------------------------------------------------------------------------------------
// preload Images
//-----------------------------------------------------------------------------------------------------------------
for (i=0;i<(imagelist.length);i++){
	buttons_in[i]=new Image();
	buttons_out[i]=new Image();
	buttons_rollover[i]=new Image();
	buttons_in[i].src=gfxsrc+imagelist[i]+highlight+"."+type;
	buttons_out[i].src=gfxsrc+imagelist[i]+"."+type;
	buttons_rollover[i].src=gfxsrc+imagelist[i]+rollover+"."+type;
}
trenner[0]=new Image();
trenner[0].src=gfxsrc+"trenner.gif";
trenner[1]=new Image();
trenner[1].src=gfxsrc+"trenner_hi.gif";

function loadimages(){
	for (i=0;i<(folderlist.length);i++){
		if (loc.indexOf(folderlist[i]) != -1 && document.images["button"+i]) {
			hl_position = i;
			if (document.images["button"+i]) {document.images["button"+i].src=buttons_in[i].src}
			if (i <= "4") {
				if (document.images["tre"+i]) {document.images["tre"+i].src=trenner[0].src}
			}
			if (hl_position!=-1 && document.images["button"+hl_position]) {
				document.images["button"+hl_position].src=buttons_in[hl_position].src;
				if (hl_position <= "4") {
					document.images["tre"+hl_position].src=trenner[1].src;
					if (document.images["tre"+(hl_position+1)]) { document.images["tre"+(hl_position+1)].src=trenner[1].src;}
				}
			}
			break;
		}
	}
	if (window.location.search !="" && window.location.search.indexOf("?request_url")!=-1) {		
		document.forms["yahoo"].request_url.value=window.location.search.substring(13,window.location.search.length);
	}	
}

function change_over(i){ 
	if ((i != hl_position)){
		document.images["button"+i].src=buttons_rollover[i].src;
	} 
} 

function change_out(i){
	if (i!= hl_position) { 
		document.images["button"+i].src=buttons_out[i].src;
	} 
}

//***************************************************************
// Checks cookies out
//***************************************************************
function cookieCheck(name) {
	 if(document.cookie && document.cookie.match(name)) {
		return true;
	 } else {
		return false;
	 }
}

//***************************************************************
// Read cookies
//***************************************************************
function getCookie(name) {
	var start = document.cookie.indexOf(name+"=");
	var len = start+name.length+1;
	if ((!start) && (name != document.cookie.substring(0,name.length))) return null;
	if (start == -1) return null;
	var end = document.cookie.indexOf(";",len);
	if (end == -1) end = document.cookie.length;
	return unescape(document.cookie.substring(len,end));
}

function doNothing() {}


//---------------------------------------------------------------------------------------------------------------
// open pop-up window
//---------------------------------------------------------------------------------------------------------------
function open_popup(sUrl,width,heigth,scroll,x,y) {
	sTmp = "width=" + width + ",height=" + heigth + ",scrollbars=" + scroll + ",status=0" + ",left=" + x + ",top=" + y + ",resizable=no";
		
    popupref=open('','popup','top=-999,left=-999,screenX=-999,screenY=-999,width=100,height=100');
	if(self.popupref && !popupref.closed) popupref.close();	
	
	if(!window.popWin)
	{
		window.popWin = window.open(sUrl,'popup',sTmp);
	}
    else if(window.popWin.closed)
	{
		window.popWin = window.open(sUrl,'popup',sTmp);
	}
    else
    {
		if (window.popWin) window.popWin.close();
		window.popWin = null;             
		window.popWin = window.open(sUrl,'Reg',sTmp);
    }
	window.popWin.focus();
}


//**************************************************************
// scripts for displaying active content as suggested by Adobe
//**************************************************************


// open Poup with Flash application
function flash_popup(path,flash,title,width,height,bgcolor) {
	var base=document.location.protocol+"//"+document.location.host+path+"/";
	var pop=window.open('about:blank','flash_pop','height='+height+',width='+width+',menubar=no,resizable=no,scrollbars=no,status=no');
	pop.document.writeln('<html><head><base href="'+base+'">');
	pop.document.writeln('<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>'+title+'</title></head><body marginwidth="0" marginheight="0" topmargin="0" leftmargin="0" style="padding:0px;background-color:'+bgcolor+'">');
	pop.document.writeln('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="'+width+'" height="'+height+'" id="film" align="middle">');
	pop.document.writeln('<param name="allowScriptAccess" value="sameDomain" />');
	pop.document.writeln('<param name="movie" value="'+flash+'" />');
	pop.document.writeln('<param name="quality" value="high" />');
	pop.document.writeln('<param name="bgcolor" value="'+bgcolor+'" />');
	pop.document.writeln('<embed src="'+flash+'" quality="high" bgcolor="'+bgcolor+'" width="'+width+'" height="'+height+'" name="film" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />');
	pop.document.writeln('</object>');
	pop.document.writeln('</body></html>');
	pop.document.close();
	pop.focus();
}


// scripts for flash and shockwave integration

function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';

//	window.alert(str);
  document.write(str);
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
			case "style":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "id":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}


// generic scripts for ActiveX-Controls
function AC_AX_RunContent(){
  var ret = AC_AX_GetArgs(arguments);
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_AX_GetArgs(args){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "pluginspage":
      case "type":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "data":
      case "codebase":
      case "classid":
      case "id":
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  return ret;
}
