//
// 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)
//
//
// File   msd.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
//
var trackurl="http://report.msd.de/MSDdeTrack/track?site=";

// Product websites
var productsites=new Array ("asthma","bluthochdruck","cholesterin","gelenkschmerz","migraene","osteoporose","prohaar");
var productsites_text=new Array ("Asthma","Bluthochdruck","Cholesterin","Gelenkschmerz","Migräne","Osteoporose","ProHaar");
var productindex=4;
/// the actual folder-structure
var folderlist=new Array("wissen","aktiv","behandlung","tippsservice","sitemap","kontakt");
// the logical navigationstructure  (if different from the folderstructure)
var imagelist=new Array("wissen","aktiv","behandlung","tippsservice","meta_sitemap","meta_kontakt","meta_uebermsd");
// 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 = "/images/navi/";
// imagetype (gif, jpg, png ...)

var type = "gif";
// highlight extention
var highlight = "_hi";
// rollover extention
var rollover = "_hi";
// the path of the html-file (with folder structure)
var loc = window.location.pathname;

var hl_position = -1;

//-----------------------------------------------------------------------------------------------------------------
// 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";
// Callback Button fuer Kontakt
var onCallbackImg = new Image();
onCallbackImg.src = "/images/kontakt/button_geklickt.gif";
var outCallbackImg = new Image();
outCallbackImg.src = "/images/kontakt/button.gif";


//-----------------------------------------------------------------------------------------------------------------
// highlight
//-----------------------------------------------------------------------------------------------------------------
function getProductname() {
	host=location.host;
	host=host.replace(/www\./,"");
	host=host.replace(/\.msd\.de/,"");
	host=host.replace(/\.avinci.*/,"");
	host=host.replace(/de-ut.merck.com/,"");
	return host;
}

function metanavi(text,link) {
 if (document.location.pathname.indexOf("/"+text.toLowerCase()+"/")==-1) {
 	return('<a href="'+link+'" class="metanavi">'+text+'</a>');	
 } else {
 	return('<span class="metanavi">'+text+'</span>');	
 }
}

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);
	}
	host=getProductname();
	for (i=0;i<productsites.length;i++) {
 		var product=productsites[i];
 		var prodl=product.toLowerCase();
 		if (prodl==host) {
			productindex=i;
		}
	}	
}

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;
	} 
}

//---------------------------------------------------------------------------------------------------------------
// 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,'popup',sTmp);
    }
	window.popWin.focus();
}

		
	
function pic_popup(pic,text,x,y,title,alt,yoffset) {
	var wx=x+20;
	var wy=y+(yoffset?yoffset:86);
	var pop=window.open('about:blank','pic_pop','height='+wy+',width='+wx+',menubar=no,resizable=no,scrollbars=no,status=no');
	pop.document.writeln('<html><head><title>'+title+'</title></head><body marginwidth="10" marginheight="10" topmargin="10" leftmargin="10">');
	pop.document.writeln('<div align="center" valign="top"><img src="'+pic+'" border="0" alt="'+alt+'" width="'+x+'" height="'+y+'"></div>');
	pop.document.writeln('<img src="/images/tab.gif" border="0" alt="" height="8" width="8"><br>');
	pop.document.writeln('<table border="0" width="'+x+'" bgcolor="#dbd9d8" cellspacing="0" cellpadding="4"><tr><td style="background-color:#dbd9d8;font-family:Verdana,Arial,Helvetica;font-size:9px;line-height:12px;color:#000000;">'+text+'</td></tr></table>');
	pop.document.writeln('<img src="/images/tab.gif" border="0" alt="" height="8" width="8"><br>');
	pop.document.writeln('<table border="0" width="'+x+'"><tr><td bgcolor="#ffffff" align="left" width="50%"><a href="javascript:window.print();"><img src="/images/content/drucken_button.gif" border="0"></a></td><td align="right" width="50%"><a href="" onclick="window.close();"><img src="/images/content/schliessen.gif" border="0"></a></td></tr></table>');
	pop.document.writeln('</body></html>');
	pop.document.close();
	pop.focus();
}

function swap_service_on(i) {
	document.images[i].src=inimg.src;
}
function swap_service_off(i) {

	document.images[i].src=outimg.src;
}


//-----------------------------------------------------------
// open search popup window
//-----------------------------------------------------------
function openSearch() {
	targetvalue=encodeURI("/MSDdeSearch/MSDdeSearchServlet");
	colvalue=encodeURI(document.forms.query.col.value);
	qpvalue=encodeURI("+url:"+getProductname()+".msd.de -url:*print.html");
	lavalue=encodeURI(document.forms.query.la.value);
	qtvalue=encodeURI(document.forms.query.qt.value);
	url = targetvalue + "?col=" + colvalue + "&qp=" + qpvalue + "&la=" + lavalue + "&qt=" + qtvalue;
	mywin = window.open(url, 'winsuche', 'width=608,height=550,scrollbars,resizable=yes');
	mywin.focus();
}


function doNothing() {}

//***************************************************************
// Product select creation and calling
//***************************************************************
function writeProducts() {
	host=getProductname();
	for (i=0;i<productsites.length;i++) {
 		var product=productsites[i];
 		var prodl=product.toLowerCase();
 		if (prodl!=host) {
			l=location.host;
			l=l.replace(host,prodl);
			document.writeln('<option value="'+l+'">'+productsites_text[i]+'</option>');
 		} else {
			productindex=i;
		}
	}	
}
function productChanged(site) {
	if (site) {
		location.href="http://"+site+"/";
 	}
}

//***************************************************************
// 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));
}

//**************************************************************
// Tracking
//**************************************************************
function track_explicit(url) {
	unc=getCookie('unique_visitor');
	if (unc) {
		img=new Image();
		img.src=trackurl+window.location.host+"&url="+url+"&unc="+unc;
	}
}

function msdtrack() {
	i=window.location.search.indexOf("referrer=");
	amp=window.location.search.indexOf("&",i);
	if (amp < 0) { 
 		amp=window.location.search.length;
	}
 	referrer="";
 
	if (i!=-1) {
		referrer="&referrer="+window.location.search.substring(i+9,amp);
	} else {
	 	if ((window.document.referrer != '') && (window.document.referrer.indexOf(window.document.location.host) == -1)) {
			if (window.document.referrer.search(/\.ua-s\.de|\.dnsalias\.com|-ut\.merck\.com/) == -1) {
				e=/^http[s]?:\/\/(.*?)\//
				e.exec(window.document.referrer);
				referrer="&referrer="+RegExp.$1;
			}
		}
	}

	unc=getCookie('unique_visitor');
	img=new Image();
	img.src=trackurl+window.location.host+"&url="+loc+"&unc="+unc+referrer;
}
// Tracking aufrufen
	msdtrack();

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();
	track_explicit(path+"/"+flash);
}


// 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;
}
