/**
 * @author joachim.kliemann
 */

if (!YAHOO.hmmh) YAHOO.namespace("hmmh.infoToggleBilder");
YAHOO.hmmh.infoToggleBilder = function() {
	return { 
		init: function() {
			var moreInfoButton = $D.get('infoClick');
			$E.on(moreInfoButton, 'click', this.toggleElements, moreInfoButton, true);
			
		},
		toggleElements: function (ev, elm) {
			var toggleInfo = this.nextSibling.nextSibling;
			if ($D.hasClass(this, "infoClose")) {
				$D.removeClass(this, "infoClose");
				$D.addClass(this, "infoOpen");
				$D.setStyle(toggleInfo, "display", "block");
				if (!(YAHOO.env.ua.ie >0) && toggleInfo.offsetWidth <= 290) {
					$D.addClass(toggleInfo, "smallToggle");
				}
			} else {
				$D.removeClass(this, "infoOpen");
				$D.addClass(this, "infoClose");
				$D.setStyle(toggleInfo, "display", "none");
				if (!(YAHOO.env.ua.ie >0)) {
					$D.removeClass(toggleInfo, "smallToggle");
				}
			}
		},
		resizeDescriptionForIE: function  (size) {
			// IE workaround for right size
			if(YAHOO.env.ua.ie >0) {
				if(size< 470) {
						$D.setStyle('detailBeschreibung','width',(750 - size) + "px");
						$D.setStyle('aufloesungInfo','width',(740 - size) + "px");
						$D.setStyle('detailContentImage','table-layout','fixed');
					}
				
			}
		}
	};
}();

var tempArray = new Array();
var picturesDetailsHelperSearchString = '';
if (!YAHOO.hmmh) YAHOO.namespace("hmmh.keywordsToSearch");
YAHOO.hmmh.keywordsToSearch = function() {

	return {
		init: function() {
			if (document.getElementById("imageKeywords")) {
					var keywordsId = document.getElementById("imageKeywords");
			} else {
				var keywordsId = document.getElementById("keywordLayer");
			}
			if(null != keywordsId) {
				var keywords = keywordsId.getElementsByTagName("input");
				for (i=0, j=keywords.length; i<j; i++) {
					$E.on(keywords[i], 'click', this.toggleKeywords, keywords[i], true);
				}
				var kwInput = null;
				if(document.getElementById('erweitertesuche') != null && document.getElementById('erweitertesuche').style.visibility == 'visible'){
					kwInput = $D.get('img.search.keyword.extended');
					
				}else{
					kwInput = $D.get('img.search.keyword');
				}
				if(null != kwInput) {
					picturesDetailsHelperSearchString = kwInput.value;	
				}
			}
		},
		toggleKeywords: function (ev, elm) {
			var nodes = YAHOO.util.Selector.query('input.count-checkbox:checked');
            tempArray = [];
            
            tempArray.push(picturesDetailsHelperSearchString);
            for(x=0;x<nodes.length;x++) {
            	if(nodes[x] && trim(nodes[x].nextSibling.title).length > 0 && trim(nodes[x].nextSibling.title) != 'undefined'){
            		tempArray.push(nodes[x].nextSibling.title);
            	}
            }
			//document.getElementById("img.search.keyword").value = tempArray.join(", ")
			var myInputSearchFields = document.getElementsByName('img.search.keyword'); // Kompakt- und Erweiterte Suche
			for(var index=0; index<myInputSearchFields.length; index++) {
				myInputSearchFields[index].value  = tempArray.join(", ");
			}
			
			
		},
		submitKeywords: function() { 
			document.keywordSearch.submit();
		},
		
	 // trim functions
	 leftTrim : function(txt)
	  {
	    //Match spaces at beginning of text and replace with a null string
	    return txt.replace(/^\s+/,'');
	  },
	  rightTrim : function(txt)
	  {
	    //Match spaces at end of text and replace with a null string
	    return txt.replace(/\s+$/,'');
	  },
	  trim : function(txt)
	  {
	    //Remove spaces at beginning and end of text
	    return(YAHOO.hmmh.keywordsToSearch.leftTrim(v.rightTrim(txt)));
	  }
	};
}();
$E.on(window, 'load', YAHOO.hmmh.keywordsToSearch.init, YAHOO.hmmh.keywordsToSearch, true);

if (!YAHOO.hmmh) YAHOO.namespace("hmmh.resizeImageTabsDetail");

/**
 * @deprecated
 * replaced by tabHelper::YAHOO.hmmh.resizeDefaultTabsDetail 
 */
YAHOO.hmmh.resizeImageTabsDetail = function() {
	
	return { 
		tabCount : 7, // Max amount of visible tabs
		hiddenTabLayer : null,
		init: function() {
			/* Set Position of Thumb on Movieclip Detail Page*/ 
			/*
			var ourDiv = $D.get("liste");
			var getThumb = $D.getElementsByClassName('bgfilmstreifen')
			var getThumbElement = getThumb[0]; 
			var getThumbPosition = $D.getX(getThumbElement);
			if (ourDiv) {
				ourDiv.scrollLeft = getThumbPosition - 550;
			}
			*/
			var hiddenElements = [];
			//var newNodes = [];
			var imageTabHolder = $D.get('tabholderRight');
			//$D.setStyle(imageTabHolder,"visibility","hidden");
			var imageTabs = $D.getElementsByClassName('imagetab');
			
			$D.setStyle(imageTabHolder,"overflow","visible"); // do we need this?
			// Hiding tabs form on left hand side if more than tabCount
			if (imageTabs.length > YAHOO.hmmh.resizeImageTabsDetail.tabCount ) {
				if ($D.get("moreTab") && $D.getStyle("moreTab","display") != "none") return;
				var nodes = new Array();
				for( var i=0,j=imageTabs.length - YAHOO.hmmh.resizeImageTabsDetail.tabCount; i<j ; i++ ) {
					if (!$D.hasClass(imageTabs[i],"aktiv")) {
						hiddenElements.push(imageTabs[i]);
						$D.addClass(imageTabs[i],"hiddenTab");
						nodes.push(imageTabs[i]);
					}
					else {
						// show active tab on right end of tab row
						imageTabs[i].parentNode.appendChild(imageTabs[i]);
						j++; // hide one more tab if active tab is within hiding range
					}
        		}
		
        		if(nodes.length >0) {
        			if(!$D.get("moreTab")) {
	        			var moreTab = document.createElement('li');
				        moreTab.id = 'moreTab';
				        moreTab.innerHTML = "<a href='javascript:;'>...</a>";
						
						$D.insertBefore(moreTab,imageTabs[0].parentNode.firstChild);
						$E.on("moreTab", 'click', YAHOO.hmmh.resizeImageTabsDetail.showHiddenTabLayer, true);
        			}
        			$D.setStyle("moreTab","display","");
        			if(YAHOO.hmmh.resizeImageTabsDetail.hiddenTabLayer == null) {
		        		YAHOO.hmmh.resizeImageTabsDetail.hiddenTabLayer = new YAHOO.widget.Panel("hiddenTabLayer", 
							{ 
							    close: false,
							    underlay: "shadow",  
							    visible: true,  
							    draggable: false,
							    zindex: "125"
							} 
						);
        			}
					//var nodes = YAHOO.util.Selector.query('ul li.hiddenTab');
					YAHOO.hmmh.resizeImageTabsDetail.hiddenTabLayer.setBody("");
					
					for( var i=0; i < nodes.length ; i++ ){
						var aTag = YAHOO.util.Selector.query("a",nodes[i])[0];
						var aTag2 = aTag.cloneNode(true); // make a deep copy of link (does not copy js listeners!)
						$D.setStyle(aTag2,"overflow","visible");
						$D.setStyle(aTag2,"width","auto");
						$D.setStyle(aTag2,"height","");
						$D.setStyle(aTag2,"padding","4px");
						$D.setStyle(aTag2,"display","block");
						$D.setStyle(aTag2,"color","#666666");
						$D.setStyle(aTag2,"text-align","right");
						
	
						YAHOO.hmmh.resizeImageTabsDetail.hiddenTabLayer.appendToBody(aTag2);
					}
        		}	
			} else {
				YAHOO.hmmh.resizeImageTabsDetail.reset();
			}		
			$D.setStyle(imageTabHolder,"visibility","visible"); // show tab layer AFTER rearranging it (performance)
		},
		
		/**
		 * neu anordnen der Tabs
		 */
		refresh:function () {
			YAHOO.hmmh.resizeImageTabsDetail.reset();
			YAHOO.hmmh.resizeImageTabsDetail.init();
			
		},
		
		/**
		 * Alle Tabs wieder anzeigen
		 */
		reset:function () {
			var nodes = YAHOO.util.Selector.query('ul li.hiddenTab');
			if(nodes.length >0) {
				var hiddenTabNodes = YAHOO.util.Selector.query('a',YAHOO.hmmh.resizeImageTabsDetail.hiddenTabLayer.body);
				for( var i=0,j=nodes.length; i<j ; i++ ) {
					$D.removeClass(nodes[i],"hiddenTab");
        		}
			}
			$D.setStyle("moreTab","display","none");
			return true;
		},
		
		showHiddenTabLayer: function(e){ 
			YAHOO.hmmh.resizeImageTabsDetail.hiddenTabLayer.render();
			YAHOO.hmmh.resizeImageTabsDetail.hiddenTabLayer.cfg.setProperty('context',['moreTab', 'tl', 'bl']);
			YAHOO.hmmh.resizeImageTabsDetail.hiddenTabLayer.show();
			
			$E.removeListener("moreTab",'click');
			$E.on("moreTab", 'click', YAHOO.hmmh.resizeImageTabsDetail.hideHiddenTabLayer, true);
			setTimeout(function(){
			    YAHOO.hmmh.resizeImageTabsDetail.hideHiddenTabLayer();
			},5000);
		},	
		hideHiddenTabLayer : function (e) {
			YAHOO.hmmh.resizeImageTabsDetail.hiddenTabLayer.hide();
			YAHOO.util.Event.removeListener("moreTab",'click');
			$E.on("moreTab", 'click', YAHOO.hmmh.resizeImageTabsDetail.showHiddenTabLayer, true);
		},	
			
		getText: function(node){ 
			if(!node.hasChildNodes()){return false;}
			var reg=/^\s+$/;
			var tempObj=node.firstChild;
			while(tempObj.nodeType!=3 && tempObj.firstChild!=null || reg.test(tempObj.nodeValue)){
				tempObj=tempObj.firstChild;
			}
			return tempObj;
		}	
	};
}();

if(YAHOO.env.ua.ie >0) {
	//$E.onContentReady("tabholderRight", YAHOO.hmmh.resizeImageTabsDetail.init, YAHOO.hmmh.resizeImageTabsDetail, true); 
	$E.onContentReady("footer", YAHOO.hmmh.infoToggleBilder.init, YAHOO.hmmh.infoToggleBilder, true);
}
else {
	//$E.on(window, 'load', YAHOO.hmmh.resizeImageTabsDetail.init, YAHOO.hmmh.resizeImageTabsDetail, true); 
	$E.on(window, 'load', YAHOO.hmmh.infoToggleBilder.init, YAHOO.hmmh.infoToggleBilder, true);
}

