function showButton(object, id, objectName) {
  var ddtable;
	var typename;
	if (!objectName) objectName = "";
	switch (object) {
	  case "CAT":
		ddtable = "708";
		typename = "Die Produktgruppe ";
		break;
	  case "COM":
		ddtable = "303";
		typename = "Die Firma ";
		break;
	  case "PRD":
		ddtable = "304";
		typename = "Das Produkt ";
		break;
	}
	typename += "<font style=\"color:#CD251C;\">" + objectName + "</font>";
	document.getElementById("myDyn").innerHTML = '<a href=\"/dyn/pdc/my/default.jsp?site=6&add=true&ddtable=' + ddtable + '&id=' + id + '\">' + typename + ' zu meinen Favoriten hinzufügen:<br><img src=\"/6/homepage/00/01/02/myais_add_klein.gif\"></a>';
}

function exchangeVisibility(hideElId, showElId) {
  YUI({combine: true, timeout: 10000}).use("node", function(Y) {
    Y.one(hideElId).setStyle('display', 'none');
    Y.one(showElId).setStyle('display', 'block');
    console.log("hideElId: " + hideElId + "; showElId=" + showElId);
  });
  return false;
}

function exchangeVisibility3(hideElId1, hideElId2, showElId) {
  YUI({combine: true, timeout: 10000}).use("node", function(Y) {
    Y.one(hideElId1).setStyle('display', 'none');
    Y.one(hideElId2).setStyle('display', 'none');
    Y.one(showElId).setStyle('display', 'block');
  });
  return false;
}

YUI({combine: true, timeout: 10000}).use("event", "io-base", "io-form", "node", "anim", "cookie", "datasource", "gallery-ac-widget-v2", "gallery-ac-plugin-v2", "gallery-overlay-extras", function(Y) {
  
  var changeImage = function(e) {
    var elem = e.target;
    var urlEl = Y.one("#galleryThumbnailSrc" + elem.get("id"));
    var copyrightEl = Y.one("#galleryThumbnailCopyright" + elem.get("id"));
    var url = urlEl.get('innerHTML');
    Y.one("#bigImageEl").set("src", url);
    Y.one("#bigImageEl").set("title", elem.get("title"));
    Y.one("#bigImageEl").set("alt", elem.get("alt"));
    Y.one("#copyright").set("innerHTML", copyrightEl.get("innerHTML"));
    Y.one("#text").set("innerHTML", elem.get("alt"));
  }
  Y.on("available", function() { Y.on("click", changeImage, ".galleryThumbnail") }, ".galleryThumbnail");
  
  function checkLoginCookie () {
    var myLoginCookie = readCookie("myusidflog");
  	if (myLoginCookie != "" && myLoginCookie != "0") {
  		var myLoginDiv = Y.one(".myLoginDiv");
  		myLoginDiv.setStyle("display", "none");
  		//Y.Event.purgeElement(".myLoginDiv"); 
  		var name = readCookie("RFINAME");
  	  while (name.indexOf("%2B") != -1) name = name.replace("%2B","xxy");
  	  name = unescape(name);
  	  while (name.indexOf("+") != -1) name = name.replace("+"," ");
  	  while (name.indexOf("xxy") != -1) name = name.replace("xxy","+");
  	  var myLoggedInDiv = Y.Node.create('<span class="myLoggedInDiv"><strong><a href="/dyn/pdc/my/default.jsp?site=6" class="myLoginout">Angemeldet als ' + name + '</a></strong> (<a href="/dyn/pdc/logout.jsp?site=6&my=true&LOCATION=' + document.URL + '" class="myLoginout">Logout</a>)</span>');
      //myLoginDiv.setContent("<strong><a href=\"/dyn/pdc/my/default.jsp?site=6\" class=\"myLoginout\">Angemeldet als " + name + "</a></strong> (<a href=\"/dyn/pdc/logout.jsp?site=6&my=true&LOCATION=" + document.URL + "\" class=\"myLoginout\">Logout</a>)");
  	  myLoginDiv.get('parentNode').insert(myLoggedInDiv);
    }
  }
  
  var textBoxFocus = function(e) {
    var elem = e.target;
    if (elem.get("value") == elem.get("defaultValue")) {
      elem.set("value", "")
      if (elem.get("className") == "searchInput") {
        elem.set("className", "searchInputFocus");
      } else {
        elem.set("className", "searchInput");
      }
    }
  }
  
  var textBoxBlur = function(e) {
    var elem = e.target;
    if (elem.get("value") == '') {
      elem.set("value", elem.get("defaultValue"))
      if (elem.get("className") == "searchInputFocus") {
        elem.set("className", "searchInput");
      } else {
        elem.set("className", "searchInputFocus");
      }
    }
  }
  
  var checkSearchForm = function (e) {
  	var elem = Y.get(".searchInput");
  	if (elem == null) elem = Y.get(".searchInputFocus");
    elemValue = elem.get("value");
    elemDefaultValue = elem.get("defaultValue");
    if (elemValue == elemDefaultValue) {
      e.preventDefault();
      alert("Bitte geben Sie ein Suchwort ein.");
    }
  }
  
  function makeNaviCloseable () {
    Y.one(".navi").setStyle("borderRight", "solid 1px #CDCBCE");
    Y.one(".navi").setStyle("width","0px");
    Y.one(".content").setStyle("width","916px");
    Y.one(".content").setStyle("left","8px");
    Y.one(".closeNavi").setStyle("background", "url(/6/graphics/catalog/6/openclose.png) no-repeat 0 0");
    var toggleNavi = function(e) {
        e.preventDefault();
        var naviEl = Y.one(".navi");
        var contentEl = Y.one(".content");
        var closeNaviEl = Y.one(".closeNavi");
        var width = naviEl.getStyle("width");
        if (width.indexOf("0.0") != -1 || width == "0px") {
          naviEl.setStyle("width","221px");
          contentEl.setStyle("width","695px");
          closeNaviEl.setStyle("backgroundPosition", "-15px 0");
        } else {
          naviEl.setStyle("width","0px");
          contentEl.setStyle("width","916px");
          closeNaviEl.setStyle("backgroundPosition", "0 0");
        }
        
    };
    Y.get('.closeNavi').on('click', toggleNavi);
  }
  
  var openLogin = function(e) {
    e.preventDefault();
    var myLoginForm = Y.get("#myLoginForm");
    myLoginForm.setStyle("display", "block");
    var loginHandler = {
		  complete: function(id, o, args) {
        Y.get("#myLoginForm").setContent(o.responseText);
        Y.get("#myLoginLocation").set("value", document.URL);
		  }
		};
		var cfgLogin = {
			on: {
				complete: loginHandler.complete
			},
			context: loginHandler
		};
		var request = Y.io("/myLoginForm.inc?time=" + new Date().getTime(), cfgLogin);
  };
  
  function loadExtSearch () {
    var extSearchHandler = {
		  complete: function(id, o, args) {
        Y.one("#extSearch").setContent(o.responseText);
        extSearchContentLoaded = true;
		  },
		  failure: function(id, o, args) {
        extSearchContentLoaded = false;
		  },
		  end: function(id, o, args) {
        if(extSearchContentLoaded == false) loadExtSearch();
		  }
		};
		var cfgExtSearch = {
			on: {
				complete: extSearchHandler.complete,
				failure: extSearchHandler.failure,
				end: extSearchHandler.end
			},
			context: extSearchHandler,
			timeout: 2000
		};
		var request = Y.io("/extSearch.inc?time=" + new Date().getTime(), cfgExtSearch);
  };
  
  var animExtSearchClose = new Y.Anim({
      node: '#extSearchToggle',
      to: { height: 0 }
  });
  var animExtSearchOpen = new Y.Anim({
      node: '#extSearchToggle',
      to: { height: 226 }
  });
  var toggleExtSearch = function(e) {
    var extSearchEl = Y.one("#extSearchToggle");
    var extSearchStatusEl = Y.one("#extSearchStatus");
    var extSearchContent = Y.one("#extSearch");
    if (e != null) e.preventDefault();
    var height = extSearchEl.getStyle("height");
    if (height.indexOf("0.0") != -1 || height == "0px" || height == "") {
      extSearchContent.setStyle("display", "block");
      animExtSearchOpen.run();
      extSearchStatusEl.setContent("verbergen");
      if (!extSearchContentLoaded) {
        loadExtSearch();
      } else {
        Y.get("#advanced_search_switch").set("value", "true");
      }
    } else {
      animExtSearchClose.run();
      Y.get("#advanced_search_switch").set("value", "false");
      extSearchStatusEl.setContent("anzeigen");
    }
  };

  var extSearchContentLoaded = false;
  
  var setExtSearchFields = function() {
      Y.get("#extSearch" + searchType).set("selected", true);
      Y.get("#extSearchExclude").set("value", excludedKeywords);
      Y.all("[id^=\"site\"]").set("checked", false);
      if (sitesSelected.length > 0) {
        for (i = 0; i < sitesSelected.length; i++) {
          var siteNode = Y.get("#site" + sitesSelected[i]);
          if (siteNode) siteNode.set("checked", "true");
        }
      }
      
      Y.get("#extSearchcategory").set("checked", false);
      Y.get("#extSearchcompany").set("checked", false);
      Y.get("#extSearchproduct").set("checked", false);
      Y.get("#extSearchnews").set("checked", false);
      for (i = 0; i < elementTypesSelected.length; i++) {
        Y.get("#extSearch" + elementTypesSelected[i]).set("checked", "true");
      }
      for (i = 0; i < resourceFileTypesSelected.length; i++) {
        Y.get("#extSearch" + resourceFileTypesSelected[i]).set("checked", "true");
      }
  };
  
  Y.on("available", function() { Y.on("click", openLogin, ".myLoginDiv") }, ".myLoginDiv");
  Y.on("available", function() { Y.on("click", toggleExtSearch, "#extSearchToggler") }, "#extSearchToggler");
  Y.on("available", function() { hbo_stat_pi (document.referrer, document.URL, hbo_timestamp, null) }, "body");
  
  var context = "";
  if (document.referrer.indexOf("google") != -1) {
    context = "google";
  } else if (document.URL.indexOf("origin=news") != -1) {
    context = "newsletter";
  } else if (document.URL.indexOf("origin=aktiv") != -1) {
    context = "ais-aktiv";
  } else if (document.URL.indexOf("org=gooadp") != -1) {
    context = "adwords-pg";
  } else if (document.URL.indexOf("org=gooadc") != -1) {
    context = "adwords-cu";
  } else if (document.referrer == "") {
    context = "direkteinstieg";
  } else {
    context = "null";
  }
  Y.Cookie.set("aiscontextfhz", context, {path:"/"});
  
  Y.on("domready", function () {
  
    //SuggestBox Start
    var searchInputField = Y.one('#searchInput');
    var searchInputFieldX = searchInputField.getX() - 4;
    var searchInputFieldY = searchInputField.getY() + 25;
    var autoComp = new Y.ACWidget2({
  		ac : searchInputField.plug(Y.Plugin.ACPlugin2, {
  			queryTemplate : function (q) { return "keywords="+q; },
  			dataSource : new Y.DataSource.IO({
  				source : '/dyn/pdc/search/suggestbox/db.jsp?site=6&'
  			}).plug({fn : Y.Plugin.DataSourceJSONSchema, cfg : {
  				schema : { resultListLocator : "results", metaFields:{total:"resultCount"} }
  			}})
  		}).ac,
  		zIndex:110,
  		width: "410px",
  		x: searchInputFieldX,
  		y: searchInputFieldY
  	}).render();
  	Y.Global.on("ac:selectedElement",function(data){
      //handleData(data.id,data);
      //Y.one('#searchForm').submit();
    });
  	//SuggestBox End
  
    if (typeof(advancedSearch) != "undefined" && advancedSearch == true) {
      toggleExtSearch();
      Y.on("available", setExtSearchFields, "#site6");
    }
    if (document.URL.indexOf("search/search.jsp") != -1 && typeof searchTerm != "undefined") {
      var searchField = Y.one(".searchInput");
      searchField.set("value", searchTerm);
      searchField.replaceClass("searchInput", "searchInputFocus");
    }
    if (Y.one(".extSearch")) Y.one(".extSearch").setContent("<span class=\"ajaxLoading\"><img class=\"ajaxLoading\" src=\"/6/homepage/00/01/02/my/loading.gif\"><br><br><a href=\"/6/staticpage/00/09/50/index_6.html\">Sehen Sie hier kein Suchformular?<br>Klicken Sie hier, um zur erweiterten Suche zu gelangen.</a></span>");
    Y.on("focus", textBoxFocus, ".searchInput");
    Y.on("blur", textBoxBlur, ".searchInput");
    Y.on("focus", textBoxFocus, ".textInput");
    Y.on("blur", textBoxBlur, ".textInput");
    Y.on("submit", checkSearchForm, "#searchForm");
    Y.all(".rfiHide").setStyle("display", "none");
    
    Y.on("click", function() {
      var submitButton = Y.one("#rfiSubmitButton");
      var submitClone = submitButton.cloneNode();
      submitClone.set("value", "bitte warten...");
      submitClone.set("disabled", "disabled");
      submitButton.insert(submitClone, "after");
      submitButton.setStyle("display", "none");
    }, "#rfiSubmitButton");
    
    Y.all('.accordeon').each(function(node){
      var height = node.getComputedStyle('height');
      height = parseInt(height.replace("px", ""));
      if(height > 150) {
        if (window.console) console.log(height);
        node.setStyle('height', '150px');
        node.setStyle('overflow', 'hidden');
        var afterNode = node.one('.accordeonController');
        node.insert(afterNode, 'after');
        afterNode.setContent('<a href="javascript:void(0)"><i>Alle anzeigen</i></a>');
        afterNode.on("click", function(){
          node.setStyle('height', height);
          this.setContent('');
        });
      }
    });
    
    Y.on("click", function() { Y.all(".rfiHide").setStyle("display", ""); Y.get(".outerBorder").setStyle("height","auto"); }, "#rfiRequestField");
    if (document.URL.indexOf("/pdc/my") != -1 || document.URL.indexOf("/cad/") != -1 || document.URL.indexOf("/ausschreibung/") != -1 || document.URL.indexOf("extranet/stats") != -1 || document.URL.indexOf("service/companystats") != -1) {
      if (Y.one(".navi")) makeNaviCloseable();
    }
    checkLoginCookie();
    
    // layer for on site survey
    /*if (Y.Cookie.get("layeraccessed2") == null || document.URL.indexOf("tmp=testsurvey") != -1) {
      window.setTimeout(function() {
        randomNumber = 1 + 5 * (Math.random());
        randomNumber = Math.round(randomNumber);
        //if (window.console) console.log(randomNumber);
        var pageCounter = Y.Cookie.get("pagecounterforlayer", Number);
        if (pageCounter == null) {
          pageCounter = 0;
        }
        pageCounter++;
        Y.Cookie.set("pagecounterforlayer", pageCounter, {path: "/"});
        if (randomNumber == 5 || document.URL.indexOf("tmp=testsurvey") != -1) {
          if (pageCounter > 2 || document.URL.indexOf("tmp=testsurvey") != -1) {
            docu_stats_bannerview_no_time(3495, null, 6);	// docunet_stats.js must be loaded!
            var now = new Date();
            var nowMilli = now.getTime();
            var layer = new Y.Overlay(
              { 
                centered:true,
      	        visible:true,
      	        zIndex:1500,
      	        height:"380px",
      	        width:"500px",
      	        bodyContent:"<div style='background-color:white'><p><a id='onPageSurveyStart' href='#'><img width='500' src='/6/banner/00/34/95/mafo.jpg?ord=" + nowMilli + "'></a></p><p style='width:100%;text-align:center;margin-top:13px;font-weight:bold'><a href='#' id='onPageSurveyNoParticipation'>Ich möchte nicht teilnehmen<br><br></a></p></div>",
      	        plugins: [
                  { fn: Y.Plugin.OverlayModal },
                  { fn: Y.Plugin.OverlayKeepaligned }
                ]
              }
            );
            layer.render();
            layer.show();
            ET_Event.galleryView('OnPage-Umfrage%20Mrz11%20Anzeige', '');
            Y.one('#onPageSurveyStart').on('click', function() {
              layer.hide();
              ET_Event.click('OnPage-Umfrage%20Mrz11%20Start', '');
              window.open('http://www.heinze.de/umfrage/index.php?sid=88926&lang=de');
            });
            Y.one('#onPageSurveyNoParticipation').on('click', function() {
              layer.hide();
              ET_Event.click('OnPage-Umfrage%20Mrz11%20%22Nicht%20teilnehmen%22', '');
            });
            layer.on('visibleChange', function() {
              Y.Cookie.set("layeraccessed2", "true", {expires: new Date(nowMilli+7776000000), path: "/"});
            });
          }
        }
      }, 2000);
    }*/
    // end layer
    // rfi overlay
    if (document.URL.indexOf("origin=news") != -1 && (document.URL.indexOf("neuheit.html") != -1 || document.URL.indexOf("pdcnewsitem") != -1) && Y.one('#rfiForm') != null) {
      var rfiForm = Y.one('#rfiForm');
      window.setTimeout(function() {
        var now = new Date();
        var nowMilli = now.getTime();
        var layer = new Y.Overlay(
          { 
            centered:true,
  	        visible:true,
  	        zIndex:1500,
  	        height:"511px",
  	        width:"494px",
  	        margin:"30px",
  	        bodyContent:"<div id='overlayInnerForm'>" + rfiForm.get('innerHTML') + "</div>",
  	        plugins: [
              { fn: Y.Plugin.OverlayModal },
              { fn: Y.Plugin.OverlayKeepaligned }
            ]
          }
        );
        layer.render();
        layer.show();
        Y.all('.yui3-widget-bd .rfiHide').setStyle('display', '');
        Y.one('.yui3-widget-bd hr').setStyle('display', 'none');
        Y.one('.yui3-widget-bd p.goToTop').setStyle('display', 'none');
        //Y.all('.yui3-widget-bd td [width="90%"]').removeAttribute('width');
        try {
          Y.one('.yui3-widget-bd input[name="firstname"]').set('value', Y.one('#rfiForm #rfiFirstName').get('value'));
          Y.one('.yui3-widget-bd input[name="lastname"]').set('value', Y.one('#rfiForm #rfiLastName').get('value'));
          Y.one('.yui3-widget-bd input[name="email"]').set('value', Y.one('#rfiForm #rfiEmail').get('value'));
          Y.one('.yui3-widget-bd input[name="company"]').set('value', Y.one('#rfiForm #rfiCompany').get('value'));
          Y.one('.yui3-widget-bd input[name="phone"]').set('value', Y.one('#rfiForm #rfiPhone').get('value'));
          Y.one('.yui3-widget-bd input[name="street"]').set('value', Y.one('#rfiForm #rfiStreet').get('value'));
          Y.one('.yui3-widget-bd input[name="houseno"]').set('value', Y.one('#rfiForm #rfiHouseNo').get('value'));
          Y.one('.yui3-widget-bd input[name="zip"]').set('value', Y.one('#rfiForm #rfiZip').get('value'));
          Y.one('.yui3-widget-bd input[name="city"]').set('value', Y.one('#rfiForm #rfiCity').get('value'));
        } catch (e) {
        }
        var requestElement = Y.one('.yui3-widget-bd textarea[name="request"]');
        var text = 'Bitte senden Sie mir zu oben genannter Neuheit ausführliche Planungsunterlagen zu.';
        requestElement.setStyle('display', 'none');
        requestElement.set('value', text);
        Y.one('.yui3-widget-bd input[name="firstname"]').focus();
        requestElement.insert('Bitte senden Sie mir zu oben genannter Neuheit<br>ausführliche Planungsunterlagen zu.', 'after');
        Y.one('.yui3-widget-bd select[name="rficompanytypeid"]').set('selectedIndex', 1);
        var sendButton = Y.one('.yui3-widget-bd #rfiSubmitButton');
        sendButton.setStyle('display', 'none');
        sendButton.set('id', 'rfiSubmitButtonOld');
        sendButton.insert('<input type="button" value="Senden &gt;&gt;" name="Submit" id="rfiSubmitButton" class="submitButton">', 'after');
        sendButton = Y.one('.yui3-widget-bd #rfiSubmitButton');
        Y.one('#overlayInnerForm').insert('<div id="overlayCloseImage"><img src="/6/graphics/6/closeButton.jpg" id="overlayRfiClose"></div>', 'before');
        ET_Event.galleryView('RFI-Overlay%3A%20Anzeigen', '');
        sendButton.on('click', function() {
          sendButton.set('value', 'Bitte warten...');
          sendButton.set('disabled', 'true');
          var cfg = {
            method: 'POST',
            form: {
                id: Y.one('.yui3-widget-bd form'),
                useDisabled: false
            }
          };
          function complete(id, o, args) {
            var data = o.responseText;
            if (data.indexOf("Sie haben keinen vorgesehenen Wert") != -1 || 
                data.indexOf("Bitte geben Sie eine gültige ") != -1) {
              sendButton.set('value', 'Senden >>');
              sendButton.removeAttribute('disabled');
              Y.one('.yui3-widget-bd input[name="firstname"]').focus();
              alert("Bitte auf fehlende Eingaben überprüfen.");
              ET_Event.click('RFI-Overlay%3A%20Fehlende Daten', '');
            } else {
              layer.hide();
              ET_Event.click('RFI-Overlay%3A%20Absenden', '');
            }
          };
          Y.on('io:complete', complete, Y, { 'foo':'bar' });
          var request = Y.io(Y.one('.yui3-widget-bd form').get('action'), cfg);
        });
        Y.one('#overlayRfiClose').on('click', function() {
          layer.hide();
          ET_Event.click('RFI-Overlay%3A%20Schliessen', '');
        });
      }, 0);
    }
    // end rfi overlay
  });
});

