/**
 *
 * Javascript Site-Toolbox
 *
 * Authors:
 *  Michael Hoffmann (hoffmann@henworx.de)
 */

// General Init Code +++++++++++++++++++++++++++++++++++++++++++++++++++++++

// bekommt der Gecko eigene Stylesheets? (_gecko.css)

var geckocss = true;
var cssdebug = false; // Information ueber erkannte Browser und geladene CSS

// Variable fuer Menuezustand
var menuoffen = 0;
var picdirprefix = '';

// Voraussetzung ist, das die Bezeichnung der aktivierten Images (img name=) identisch mit den
// Dateinamen der Bilder ist.
// Name der zu erst aktivierten Bildes
var my_sperrname = '';

// Verzeichniss der passiven Bildvariante
var p_picdir = '/_pic/nav/';
var p_ext = '_p.gif';
// Verzeichniss der Mouseover Bildvariante
var m_picdir = '/_pic/nav/';
var m_ext = '_a.gif';

// Verzeichniss der aktiven Bildvariante
var apicdir = '/_pic/nav/';
var a_picdir = '/_pic/nav/';
var a_ext = '_a.gif';

var mylocation = '';


// Image Preloader +++++++++++++++++++++++++++++++++++++++++++++++++++++++

// intern benoetigte Parameter
var load_next = 500; // Zeit in ms zwischen zwei Ladevorgaengen
var pos_array = 0;



// Standardwert der Variable do_reload fuer die Funktion k6_fensterreload setzen.
// do_reload=1: k6_fensterreload wird ausgefuehrt
// do_reload=0: k6_fensterreload wird nicht ausgefuehrt
var do_reload = 1;
//alert("do_reload vor Funktionsaufruf:----"+do_reload+"----");

/*

   DynAPI Distribution
   Browser Class
   The DynAPI Distribution is distributed under the terms of the GNU LGPL license.

*/

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.version=navigator.appVersion;
   this.v=parseInt(this.version);
   this.ns=(this.b=="ns" && this.v>=4);
   this.ns4=(this.b=="ns" && this.v==4);
   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.opera=(this.b=="opera");
   this.gecko=(navigator.product == "Gecko");
   this.dom=(document.createElement && document.appendChild && document.getElementsByTagName)?true:false;
   this.def=(this.ie||this.dom); // most used browsers, for faster if loops
   var ua=navigator.userAgent.toLowerCase();
   if (ua.indexOf("win")>-1) this.platform="win32";
   else if (ua.indexOf("mac")>-1) this.platform="mac";
   else this.platform="other";
}

is=new Browser();

function initJS() {

   // alert("ie:"+is.ie+"   ns:"+is.ns+"   opera:"+is.opera+"   version:"+is.v+"   dom:"+is.dom+"   def:"+is.def);
   if(window.picebene) {
      for(a=0;a < picebene; a++)
         picdirprefix += '../';
   }

   p_picdir = picdirprefix + p_picdir;
   m_picdir = picdirprefix + m_picdir;
   a_picdir = picdirprefix + a_picdir;

   preload_start();

}



// Welcher Stylesheet? ++++++++++++++++++++++++++++++++++++++++++++++

function getStyleName(path,name) {
   var style = '';

   if(cssdebug)
	   alert("ie:"+is.ie+"   ns:"+is.ns+"   opera:"+is.opera+"   version:"+is.v+"  platform:"+is.platform+"   dom:"+is.dom+"   gecko:"+is.gecko+"  def:"+is.def+"  Vers:--"+is.version+"--");

   if(geckocss && is.gecko) {
      style = path+name+'_gecko.css';
   } else if((is.ie && is.v >= 4) || (is.ns && is.v >= 5))
      style = path+name+'_ie.css';
   else if (is.opera)
      style = path+name+'_opera.css';
   else
      style = path+name+'_ns.css';

   if(cssdebug)
	  alert('Lade CSS:__'+style+'__');

   return(style);

}

// mouseover Funktionen +++++++++++++++++++++++++++++++++++++++++++++++++++++++

function ChangeImage(sName, picdir, picname) {
   document.images[sName].src = picdir+picname;
}



function moPathImage(sName, pic) {
   document.images[sName].src = p_picdir+pic+m_ext;
}

function pasPathImage(sName, pic) {
   document.images[sName].src = p_picdir+pic+p_ext;
}



function pasImage2(sName,picdir,moImage) {
   if(picdir)
      loc_picdir=picdir;
   else
      loc_picdir=p_picdir;
   if(sName != my_sperrname)
     document.images[sName].src = loc_picdir+sName+p_ext;
}

function moImage2(sName,picdir,moImage) {
   //alert(picdir+moImage+m_ext);

   if(picdir)
      loc_picdir=picdir;
   else
      loc_picdir=m_picdir;
   if(sName != my_sperrname)
     document.images[sName].src = loc_picdir+moImage+m_ext;

}




function pasImageJpg(sName,picdir) {
   if(picdir)
      loc_picdir=picdir;
   else
      loc_picdir=p_picdir;
   if(sName != my_sperrname)
     document.images[sName].src = loc_picdir+sName+"_p.jpg";
}

function moImageJpg(sName,picdir) {
   //alert(sName)
   if(picdir)
      loc_picdir=picdir;
   else
      loc_picdir=m_picdir;
   if(sName != my_sperrname)
     document.images[sName].src = loc_picdir+sName+"_a.jpg";

   //alert(loc_picdir+sName+"_a.jpg")

}



function clickImage(sName)
{

   // deactiveate last checked
   if(my_sperrname && my_sperrname != sName)
      document.images[my_sperrname].src = p_picdir+my_sperrname+p_ext;

   document.images[sName].src = a_picdir+sName+a_ext;
   my_sperrname=sName;

}





function showLarge(sName) {
   if(sName != my_sperrname)
     document.images[sName].src = 'pic/'+sName+'_a.jpg';
     document.images["large"].src = 'pic/'+sName+'_bg.jpg';

}



// Image Preloader +++++++++++++++++++++++++++++++++++++++++++++++++++++++

// Ladefunktion

function preload()
{
  // Naechstes Bild laden
  var new_image = new Image()
  new_image.src = preload_images[pos_array]
   // alert("Load--"+new_image.src+"--");
  // Noch Bilder zu laden?
  pos_array++
  if(pos_array < preload_images.length)
    setTimeout('preload()', load_next);
}

// Start der Vorladefunktion
function preload_start()
{
  // Bilder vorhanden?
  if(!window.preload_images || preload_images.length == 0)
    return
  // Pruefroutine starten
  setTimeout('preload()', load_next)

}



function showorhide1(x, f){
   if(f){visi="visible";}

   else{visi="hidden";}

   if(document.layers){
      document.layers[x].visibility=visi;
   }

   if(document.all){
      document.all[x].style.visibility=visi;
   }

   if(document.getElementById){
      document.getElementById(x).style.visibility=visi;
   }

}



// Normales Extrafenster +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function NeuFenster(myurl,mywidth,myheight,title,scroll,resize) {
	 var browserWidth;
	 var setLeft;

   if(!mywidth)
      mywidth=300
   if(!myheight)
      myheight=180
   if(!title)
      title='Fenster'
   if(!scroll)
      scroll='no'

	// resize sollte als standard-wert 1 enthalten
   if(!resize && resize != 0)
      resize=1


	//alert(par);

	 // Höhe und Breite ermitteln
	 screenHeight = screen.availHeight;
	 screenWidth = screen.availWidth;

	 //alert('Breite: '+screenWidth);
	 // Abstand des popUp's von links setzen
	 setLeft = eval(((screenWidth - 800)/2)+3);

	 //alert('setLeft: '+setLeft);

	 par = '"toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=' + scroll + ',resizable=yes,copyhistory=0,left=' + setLeft + ',top=150,width=' + mywidth + ',height=' + myheight + '"'
	 //alert(par);

	 newWin = window.open(myurl,title,par);



//   newWin.moveTo(100,200);

   if (resize)
	   newWin.resizeTo(parseInt(mywidth), parseInt(myheight)+10);
   newWin.focus();

}


/*
	Ruben, 12.03.2007
	CSS-Switch und Cookies
*/

var today = new Date();
var expires = new Date();
expires.setTime(today.getTime()+1000*60*60*24*365);

function setCSS(sheet,obj) {
	var i, a;
	for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
		if(a.getAttribute("rel") && a.getAttribute("title") && (a.getAttribute("title") != 'contrast') ) {
			a.disabled = true;
			if(a.getAttribute("title") == sheet){
				a.disabled = false;
				SetCookie('hensheet',sheet,expires,'/');
			}
		}
	}
	obj.blur();
	return false;
}


function setContrast(obj) {
	var i, a;
	a = document.getElementById("contrastsheet");

	if( a.href.indexOf("basis_contrast.css")==-1 ){
		a.href = '/css/basis_contrast.css';
		SetCookie('hencontrast', 'aberbitte', expires);
	}else{
		a.href = '/css/basis_empty.css';
		SetCookie('hencontrast', '', expires,'/');
	}

	obj.blur();
	return false;
}



function getCookieVal (offset){
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1) endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}


function GetCookie (name){
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while(i<clen){
		var j=i+alen;
		if(document.cookie.substring(i, j) == arg) return getCookieVal (j);
		i=document.cookie.indexOf(" ", i) + 1;
		if(i<=0)break;
	}
	return null;
}


function SetCookie (name, value){

	var argv = SetCookie.arguments;
	var argc = SetCookie.arguments.length;
	var expires = (argc > 2) ? argv[2] : null;
	var path = (argc > 3) ? argv[3] : null;
	var domain = (argc > 4) ? argv[4] : null;
	var secure = (argc > 5) ? argv[5] : false;

	document.cookie = name + "=" + escape (value) + ((expires == null) ? "" : ("; expires="+expires.toGMTString())) + ((path == null) ? "; path=/" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain)) + ((secure == true) ? "; secure" : "");

}



function enableActiveX (containerID){
	if (getInternetExplorerVersion () != -1){
		$('div.flash').attr('innerHTML', function(){ return '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="798" height="169"><param name="movie" value="/flash/header.swf" /><param name="quality" value="high" /></object>'; });
		var container = document.getElementById ('flashheader');
		if(!container){return false;}
        	var html = container.innerHTML;
        	container.innerHTML = html;
    	}
}

function getInternetExplorerVersion()
// Returns the version of Internet Explorer or a -1
// http://msdn.microsoft.com/workshop/author/dhtml/overview/browserdetection.asp
{
    var rv = -1; // Return value assumes failure
    if (navigator.appName == 'Microsoft Internet Explorer'){
        var ua = navigator.userAgent;
        var re  = new RegExp ("MSIE ([0-9]{1,}[\.0-9]{0,})");
        if (re.exec (ua) != null){
        	rv = parseFloat (RegExp.$1);
        }
    }
    return rv;
}

$(window).bind('load', function(){ enableActiveX(); } );
