/* draeger.js */
/* Dräger specific package */
var draeger;
if (!draeger) {
	draeger = {}
	}
	
$.extend(draeger, {
	init: function() {
				
		// show all stuff which uses js
		$('.jsinline').css('display', 'inline')
		$('.jsblock').css('display', 'block')
		
		// init mainmenu
		$('.mainmenu>ul>li').hover(
			function() {
				$(this).addClass('open')
			},
			function() {
				$(this).removeClass('open')				
			}
		)		
		
		// init flaps 
		$('.context .flaps').flaps()
		$('.m-feature .flaps').flaps({accordion: true})
		
		// init tabsets
		$('.m-rnav-active, .m-select1').tabset()
		$('.m-rnav-inactive').tabset({inactive: true})

		// init countries in meta
		$('.countries ul').compactLinks({
			handleContentSelector: 'b',
			handleClass: 'countries-handle',
			hoverClass: 'countries-hover'
			}
		)
		$('.simpleselect').compactLinks({
			handleClass: 'simpleselect-handle',
			hoverClass: 'simpleselect-hover'
			}
		)
			
		$('.lightbox-content .close').click(tb_remove)
			
		// init links to exp search
		$('.lnk-exp').each(function() {
			var a = $(this)
			var t = $(a.attr('href'))
			if (t.length) {
				a.click(function() {
					t.slideToggle()
				})
			}
		})
				
		// init select boxes
		$('.m-select1 select, .m-select2 select').selectbox()


		// init click on text field emptying it or restre the initial value
		$('.m-form .text, .form .text').each(function() {
			var i = $(this)
			var initialValue = i.attr('value')
			if (initialValue) {
				i.focus(function(){
					var v = i.attr('value')
					if (v == initialValue) {
						i.attr('value', '')
					}
				})
				i.blur(function(){
					var v = i.attr('value')
					if (!v) {
						i.attr('value', initialValue)
					}
				})
			}
		})

		// product fields should be links completely
		$('.products').each(function(){
			var p = $(this)
			var href = $('h3 a', p).attr('href')
			p.css('cursor', 'pointer')			
			// is not called when click on clipboard, see before
			p.click(function() {
				document.location = href
			})
		})			

		// add mouseover for IE < 7
		if ($.browser.msie && parseInt($.browser.version) < 7) {

			// fix IE6 z-index <select>s
			$('.mainmenu .block, .mainmenu .no-blocks').bgiframe();

			// submit buttons
			$('.m-form input.button, .context input.button').hover(
				function(){
					$(this).addClass('button-over')
				},
				function(){
					$(this).removeClass('button-over')
				}
			)
			// clipboard buttons
			$('.clipboard').hover(
				function(){
					$(this).addClass('clipboard-over')
				},
				function(){
					$(this).removeClass('clipboard-over')
				}
			)			
			// flaps
			$('.flaps dt').hover(
				function(){
					$(this).addClass('flap-over')
				},
				function(){
					$(this).removeClass('flap-over')
				}
			)			
			// product fields
			$('.products').hover(
				function(){
					$(this).addClass('products-over')
				},
				function(){
					$(this).removeClass('products-over')
				}
			)			
			// product fields
			$('.collect').hover(
				function(){
					$(this).addClass('collect-over')
				},
				function(){
					$(this).removeClass('collect-over')
				}
			)			
		}	
		
	}
})
/* page load */
$(draeger.init)
/* toolbox.js */
/* 
 * JS Logik für Draeger Toolbox (Clipboard, Merkzettel, Downloadliste)
 * created by Christian Beyer (e7)
 */

// URL Webservice und Imagepfad hier setzen
//var sendPath="http://80.77.215.31:8008/draeger_new/";
//var clipboardImgPath="http://80.77.215.31:8008/draeger_new/productImages_kachel/";

// Namen der Cookies und Domain hier setzen
var cookieNames= new Array("draeger_clipboardlist","draeger_downloadlist","draeger_merklist","draeger_joblist");
var cookieDomain="";
var cookieExpire=356;

//0 -> Clipboard, 1 -> Downloads, 2 -> Merkzettel
var sendIds= new Array("","","","");
var cookieInfo= new Array("","","","");

/*
 * Cookies werden anhand von Parametern gesetzt
 */
function setCookie( name, value, expires, path, domain, secure ) {
	var today = new Date();
	today.setTime( today.getTime() );
	if ( expires )	{
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	document.cookie = name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
	( ( path ) ? ";path=" + path : "" ) + 
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}

/*
 * Cookievalues werden anhand des übergebenen Namens ausgelesen
 */
function readCookie(name) { 
        var myCookie = document.cookie; 
        if (myCookie.indexOf(name) == -1) {       
          return null; 
        }
        var start = myCookie.indexOf(name) + name.length + 1;  
        var end = myCookie.indexOf(";", start); 
        if (end == -1) { 
            end = myCookie.length; 
        }
        var length = end-start;
        var result = unescape(myCookie.substr(start,length));
        return result; 
}

/*
 * Produkt zum Clipboard hinzufügen
 */
function addClipboard(elem){
     // Werte auslesen
     var actName="";
     var actId="";
    // SeitenId, URl und Name wird aus Linkparameter gelesen
    var actLink=elem.attr("href").split("?");
    actLink= actLink[actLink.length-1];
    actLink=actLink.split("&");
    for (var i=0;i<actLink.length;i++){
        var param= actLink[i].split("=");
        if (param[0]=="name"){
            actName=param[1];
        }
        if (param[0]=="id"){
            actId=param[1];
        }               
    }
    
     // Wenn Id noch nicht eingetragen
     if (!sendIds[0].match(actId)){
        //Id für Versand  merken
        sendIds[0]+=actId+",";
        //cookie setzen mit ids
        cookieInfo[0]+=actName+";"+actId+"|";
        setCookie(cookieNames[0],cookieInfo[0],0, "/", cookieDomain);
       // alert("Name: "+actName+" ImgPath: "+actImgPath+" actId: "+actId+" gespeicherte Ids: "+sendIds[0]);   
        var prodClip="<div id=ac_"+actId+" class='clearfix'><img src='"+draeger.CLIPBOARD_IMG_PATH+actId+".jpg' alt='' width='65' height='50' /><div><h3 class='sl'>"+actName+"</h3><a class='button removeMe' href='' title=''>"+draeger.TEXT_DELETE+"</a></div></div>";
        $(".clipboardlist").append(prodClip);
        //Event anbringen
        $("#ac_"+actId).children("div").children(".removeMe").click(function(){removeFromClipboard($(this));return false;});
     }
}

/*
 * Produkt aus Clipboard entfernen
 */
function removeFromClipboard(elem){
        elem=elem.parent();
        var actName=elem.children("h3").html();
        elem=elem.parent();
        //original ID hergestellt
        var actId=elem.attr("id").substring(3,elem.attr("id").length);
       
        //Id entfernen
        sendIds[0]=sendIds[0].replace(actId+",","");
         //alert("Sendids: "+sendIds[0]);
        //Info aus cookie entfernen
        cookieInfo[0]=cookieInfo[0].replace(actName+";"+actId+"|","");
         //alert("cookieInfo: "+cookieInfo[0]);
        setCookie(cookieNames[0],cookieInfo[0],0, "/", cookieDomain);
        //HTML entfernen
        elem.remove();
}

/*
 * Element zur Downloadliste hinzufügen 
 */
function addDownload(elem){
    var actName="";
    var actId="";
    var actUrl="";
    
    // SeitenId, URl und Name wird aus Linkparameter gelesen
    var actLink=elem.attr("href").split("?");
    actLink= actLink[actLink.length-1];
    actLink=actLink.split("&");
    for (var i=0;i<actLink.length;i++){
        var param= actLink[i].split("=");
        if (param[0]=="name"){
            actName=param[1];
        }
        if (param[0]=="id"){
            actId=param[1];
        }        
        if (param[0]=="url"){
            actUrl=param[1];
        }        
    }
    // Wenn Id noch nicht eingetragen
    if (!sendIds[1].match(actId)){
      sendIds[1]+=actId+",";
      //cookie setzen mit ids und name
      cookieInfo[1]+=actName+";"+actId+";"+actUrl+"|";
      setCookie(cookieNames[1],cookieInfo[1], cookieExpire, "/", cookieDomain);
      //HTML Rendern
      var downItem="<li id='ad_"+actId+"'><a class='remove removeMe' href='#' title=''><img alt='"+draeger.TEXT_DELETE+"' src='"+draeger.DOCROOT+"/static/img/delete.gif'/></a><a class='toolInfoElem' href="+actUrl+" >"+actName+"</a></li>";
      $(".downloadlist").append(downItem);
       // Liste sichtbar schalten
       $(".downloadlist").removeClass("jsdisplay");
      //Event anbringen
      $("#ad_"+actId).children(".removeMe").click(function(){removeFromDownload($(this));return false;});
      //alert("Download: "+actName+" ID: "+actId+" gesammelte Ids: "+sendIds[1]); 
    }
}

/*
 * Element von Downloadliste entfernen
 */
function removeFromDownload(elem){
    elem=elem.parent();
    var actName=elem.children(".toolInfoElem").html();
    var actHref=elem.children(".toolInfoElem").attr("href");
    var actId=elem.attr("id").substring(3,elem.attr("id").length);
     // link check for IE
    var linkLength=actHref.length-1;
    if (actHref.substr(linkLength, 1)=="/"){
        actHref=actHref.replace(/\/$/,"");
    }
    //Id entfernen
    sendIds[1]=sendIds[1].replace(actId+",","");
    // alert("Name: "+actName+"actHref: "+actHref+"Id: "+actId);    
    //Info aus cookie entfernen
    cookieInfo[1]=cookieInfo[1].replace(actName+";"+actId+";"+actHref+"|","");
    //alert("cookieInfo: "+cookieInfo[1]);
    setCookie(cookieNames[1],cookieInfo[1],cookieExpire, "/", cookieDomain);
    //HTML entfernen
    elem.remove();
    //Sichtbarkeitseinstellungen
    if (sendIds[1]==""){
       $(".downloadlist").addClass("jsdisplay");
   }
}

function removeAllDownloads(){
    $(".downloadlist").html("");
    sendIds[1]="";
    cookieInfo[1]="";
    setCookie(cookieNames[1],cookieInfo[1],cookieExpire, "/", cookieDomain);             
    $(".downloadlist").addClass("jsdisplay");
}


/*
 * Seite zum Merkzettel hinzufügen
 */
function addMerkzettel(elem){
    var actName="";
    var actId="";
    // SeitenId und Name wird aus Linkparameter gelesen
    var actLink=elem.attr("href").split("?");
    actLink= actLink[actLink.length-1];
    actLink=actLink.split("&");
    for (var i=0;i<actLink.length;i++){
        var param= actLink[i].split("=");
        if (param[0]=="name"){
            actName=param[1];
        }
        if (param[0]=="id"){
            actId=param[1];
        }        
    }
    // Wenn Id noch nicht eingetragen
    if (!sendIds[2].match(actId)){
       sendIds[2]+=actId+",";
       //cookie setzen mit ids und name
       cookieInfo[2]+=actName+";"+actId+"|";
       setCookie(cookieNames[2],cookieInfo[2], cookieExpire, "/", cookieDomain);
       //HTML Rendern
       var actPage="<li class='find_me clearfix'><a class='remove removeMe' href='#' title=''><img src='"+draeger.DOCROOT+"/static/img/delete.gif' alt='"+draeger.TEXT_DELETE+"' /></a><a href="+actId+">"+actName+"</a></li>";
       $(".merklist").append(actPage);
       // Liste sichtbar schalten
       $(".merklist").removeClass("jsdisplay");
       
       //Event anbringen 
       $(".find_me").children(".removeMe").click(function(){removeFromMerkzettel($(this));return false;}).removeClass("find_me");
       $(".find_me").removeClass("find_me");
      
      //alert("Pagename: "+actName+" ID: "+actId); 
    }
}

/*
 * Seite vom Merkzettel entfernen
 */
function removeFromMerkzettel(elem){
    elem=elem.next("a");
    var actName=elem.html();
    var actHref=elem.attr("href");
    // link check for IE
    var linkLength=actHref.length-1;
    if (actHref.substr(linkLength, 1)=="/"){
        actHref=actHref.replace(/\/$/,"");
    }
    //Id entfernen
    sendIds[2]=sendIds[2].replace(actHref+",","");
    //Info aus cookie entfernen
    cookieInfo[2]=cookieInfo[2].replace(actName+";"+actHref+"|","");
    setCookie(cookieNames[2],cookieInfo[2],cookieExpire, "/", cookieDomain);
    //HTML entfernen
    elem.parent().remove();
    //Liste verstecken
   if (sendIds[2]==""){
       $(".merklist").addClass("jsdisplay");
   }
}

function removeMerkzettel(){
    $(".merklist").html("");
    sendIds[2]="";
    cookieInfo[2]="";
    setCookie(cookieNames[2],cookieInfo[2],cookieExpire, "/", cookieDomain); 
    //Liste sichtbar schalten
    $(".merklist").addClass("jsdisplay");
   
}


/*
 * Jobangebot zur Liste hinzufügen
 */
function addJob(elem){
     var actName="";
     var actId="";
     // SeitenId und Description wird aus Linkparameter gelesen
     var actLink=elem.attr("href").split("?");
     actLink= actLink[actLink.length-1];
     actLink=actLink.split("&");
     for (var i=0;i<actLink.length;i++){
        var param= actLink[i].split("=");
        if (param[0]=="name"){
            actName=param[1];
        }
        if (param[0]=="id"){
            actId=param[1];
        }        
     }
     // Wenn Id noch nicht eingetragen
     if (!sendIds[3].match(actId)){
        //Id für Versand  merken
        sendIds[3]+=actId+",";
        //cookie setzen mit ids
        cookieInfo[3]+=actName+";"+actId+"|";
        setCookie(cookieNames[3],cookieInfo[3],cookieExpire, "/", cookieDomain);
       // alert("Name: "+actName+" ImgPath: "+actImgPath+" actId: "+actId+" gespeicherte Ids: "+sendIds[0]);   
        var actJob="<div id=aj_"+actId+" class='clearfix'><a class='button removeMe' href='#' title=''></a><h3 class='sl'>"+actName+"</h3></div>";
        $(".joblist").append(actJob);
        //Event anbringen
        $("#aj_"+actId).children(".removeMe").click(function(){removeFromJoblist($(this));return false;});
     }
}

/*
 * Jobangebot aus Liste entfernen
 */
function removeFromJoblist(elem){
        elem=elem.parent();
        var actName=elem.children("h3").html();
        //original ID hergestellt
        var actId=elem.attr("id").substring(3,elem.attr("id").length);
        //alert("Name: "+actName+" Id: "+actId);
        //Id entfernen
        sendIds[3]=sendIds[3].replace(actId+",","");
        //Info aus cookie entfernen
        cookieInfo[3]=cookieInfo[3].replace(actName+";"+actId+"|","");
        setCookie(cookieNames[3],cookieInfo[3],cookieExpire, "/", cookieDomain);
        //HTML entfernen
        elem.remove();
}


/*
 * Id-Liste (Clipboard,Downloads) abschicken
 */
function sendRequest(elem){
    var sendUrl=draeger.SEND_PATH;
    // unterscheiden, ob Download oder Clipboard gesendet wird
    if (elem.hasClass("sendDownload")){
        //url mit Parameter bauen
        sendUrl+="?download="+sendIds[1].substr(0, sendIds[1].length-1);
    }
    if (elem.hasClass("sendClipboard_compare")){
        //url mit Parameter bauen
        sendUrl+="?clipCompare="+sendIds[0].substr(0, sendIds[0].length-1);
    }
    if (elem.hasClass("sendClipboard_offer")){
        //url mit Parameter bauen
        sendUrl+="?clipOffer="+sendIds[0].substr(0, sendIds[0].length-1);
    }
    if (elem.hasClass("sendJoblist")){
        //url mit Parameter bauen
        sendUrl+="?joblist="+sendIds[3].substr(0, sendIds[3].length-1);
    }
    if (elem.hasClass("applyJoblist")){
        //url mit Parameter bauen
        sendUrl+="?applyjob="+sendIds[3].substr(0, sendIds[3].length-1);
    }
    // Request absenden
    window.location.href = sendUrl;
}

/* 
 * Funktionen zur Initialisierung der Toolboxlisten
 */

/*
 * Clipboardliste befüllen
 */
function initClipboard(items) {
    var elem= new Array("","");
   //Items auslesen
   for (var i=0; i<items.length-1;i++){
      elem=items[i].split(";");
      //sendIds und cookieInfo füllen
      cookieInfo[0]+=items[i]+"|";
      sendIds[0]+=elem[1]+",";
      // Html für Element bauen
      var prodClip="<div id=ac_"+elem[1]+" class='clearfix'><img src='"+draeger.CLIPBOARD_IMG_PATH+elem[1]+".jpg' alt='' width='65' height='50' /><div><h3 class='sl'>"+elem[0]+"</h3><a class='button removeMe' href='' title=''>"+draeger.TEXT_DELETE+"</a></div></div>";
      // in Liste einhängen
      $(".clipboardlist").append(prodClip);   
   }
}


/*
 * Dowloadliste befüllen
 */
function initDownloads(items) {
   var elem= new Array("","","");
   //Items auslesen
   for (var i=0; i<items.length-1;i++){
      elem=items[i].split(";");
      //sendIds und cookieInfo füllen
      cookieInfo[1]+=items[i]+"|";
      sendIds[1]+=elem[1]+",";
      // Html für Element bauen
      var downItem="<li id='ad_"+elem[1]+"'><a class='remove removeMe' href='' title=''><img alt='"+draeger.TEXT_DELETE+"' src='"+draeger.DOCROOT+"/static/img/delete.gif'/></a><a class='toolInfoElem' href="+elem[2]+" >"+elem[0]+"</a></li>";
      // in Liste einhängen
      $(".downloadlist").append(downItem);     
   }
   //Liste sichtbar schalten
   if (sendIds[1]!=""){
       $(".downloadlist").removeClass("jsdisplay");
   }
}

/*
 * Merkzettel befüllen
 */
function initMerkzettel(items) {
   var elem= new Array("","");
   //Items auslesen
   for (var i=0; i<items.length-1;i++){
      elem=items[i].split(";");
      //sendIds und cookieInfo füllen
      cookieInfo[2]+=items[i]+"|";
      sendIds[2]+=elem[1]+",";
      // Html für Element bauen
      var actPage="<li class='clearfix'><a class='remove removeMe' href='#'  title=''><img src='"+draeger.DOCROOT+"/static/img/delete.gif' alt='"+draeger.TEXT_DELETE+"' /></a><a href="+elem[1]+">"+elem[0]+"</a></li>";
      // in Liste einhängen
      $(".merklist").append(actPage);   
   }
   //Liste sichtbar schalten
   if (sendIds[2]!=""){
       $(".merklist").removeClass("jsdisplay");
   }
}

/*
 * Jobliste befüllen
 */
function initJoblist(items) {
    var elem= new Array("","");
   //Items auslesen
   for (var i=0; i<items.length-1;i++){
      elem=items[i].split(";");
      //sendIds und cookieInfo füllen
      cookieInfo[3]+=items[i]+"|";
      sendIds[3]+=elem[1]+",";
      // Html für Element bauen
      var actJob="<div id=ac_"+elem[1]+" class='clearfix'><a class='button removeMe' href='' title=''></a><h3 class='sl'>"+elem[0]+"</h3></div>";
      // in Liste einhängen
      $(".joblist").append(actJob);   
   }
}


/*
 * Toolbox initialisieren
 */
function initToolbox() {
   //Wenn Liste vorhanden, sichtbar geschaltet 
   if($(".m-cpl")!=null){
      $(".m-cpl").attr("style","display:block;"); 
   }
   if($(".m-dk")!=null){
      $(".m-dk").attr("style","display:block;");
   }
   if($(".m-mz")!=null){
      $(".m-mz").attr("style","display:block;");   
   }
   if($(".m-cpj")!=null){
      $(".m-cpj").attr("style","display:block;");   
   }
   //Werte der Cookies auslesen
   for (var i=0; i<cookieNames.length;i++){
      var value= readCookie(cookieNames[i]);
      //alert("Value"+value);
      if (value!=null){
        switch (cookieNames[i]){
           case cookieNames[0]: initClipboard(value.split("|"));
                                break;
           case cookieNames[1]: initDownloads(value.split("|"));
                                break;
           case cookieNames[2]: initMerkzettel(value.split("|"));
                                break;
           case cookieNames[3]: initJoblist(value.split("|"));
                                break;                                
        }
      }
   }
}

         

/*
 * Window Onload  - Initialisierung und Events werden angestossen
 */
$().ready(function() {
    // Cookies auslesen und Frontendbereiche laden
    initToolbox(); 
    // Events setzen
    $("a.addClipboard").click(function(){addClipboard($(this));return false;}); 
    $("a.addMerkzettel").click(function(){addMerkzettel($(this));return false;}); 
    $("a.addDownload").click(function(){addDownload($(this));return false;}); 
    $("a.addJob").click(function(){addJob($(this));return false;}); 
   
    $(".clipboardlist a.removeMe").click(function(){removeFromClipboard($(this));return false;});
    $(".downloadlist a.removeMe").click(function(){removeFromDownload($(this));return false;});
    $(".merklist a.removeMe").click(function(){removeFromMerkzettel($(this));return false;});
    $(".joblist a.removeMe").click(function(){removeFromJoblist($(this));return false;});
    
    $("a.removeDownloads").click(function(){ removeAllDownloads();return false;});
    $("a.removeMerkzettel").click(function(){removeMerkzettel();return false;});
    
    $("a.sendDownload").click(function(){if(sendIds[1]!=""){sendRequest($(this));}return false;}); 
    $("a.sendClipboard_compare").click(function(){if(sendIds[0]!=""){sendRequest($(this));}return false;}); 
    $("a.sendClipboard_offer").click(function(){if(sendIds[0]!=""){sendRequest($(this));}return false;}); 
    $("a.sendJoblist").click(function(){if(sendIds[3]!=""){sendRequest($(this));}return false;});
    $("a.applyJoblist").click(function(){if(sendIds[3]!=""){sendRequest($(this));}return false;});    
});


