/**
 * 
 */
 
 // for Internet Explorer (using conditional comments)
/*@cc_on @*/
/*@if (@_win32)
document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
var script = document.getElementById("__ie_onload");
script.onreadystatechange = function() {
  if (this.readyState == "complete") {
    addaptAllSubmenu(); // call the onload handler
  }
};
/*@end @*/

 
 if (/WebKit/i.test(navigator.userAgent)) { // sniff
  var _timer = setInterval(function() {
    if (/loaded|complete/.test(document.readyState)) {
      clearInterval(_timer);
      addaptAllSubmenu(); // call the onload handler
    }
  }, 10);
}

function facebook(){
    
    //erstellen des requests
    var req = null;
    
    try{
      req = new XMLHttpRequest();
    }
    catch (ms){
      try{
        req = new ActiveXObject("Msxml2.XMLHTTP");
      }
      catch (nonms){
        try{
          req = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (failed){
          req = null;
        }
      }  
    }
    //anfrage erstellen (GET, url ist localhost,
    //request ist asynchron      
    req.open("GET", 'fileadmin/templates/facebook.txt', true);
    
    //Beim abschliessen des request wird diese Funktion ausgeführt
    req.onreadystatechange = function(){            
    switch(req.readyState) {
      case 4:
      //schreibe die antwort in den div container mit der id content
      if(req.status==200)document.getElementById('facebookIframe').innerHTML = req.responseText;                            
      break;
      
      default:
      return false;
      break;     
    }
  };
  
  req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  req.send(null);
}
 

 function addaptAllSubmenu(){

	var submenus = getElementsByClassName("submenu","ul", null)

	for( var k=0; k<submenus.length; k++ ) {
		//console.log("		Adapt call" + submenus[ k ]);
		addaptSize(submenus[ k ] );
	}
	
	var rightsubmenus = getElementsByClassName("rightsubmenu","ul", null)

	for( var k=0; k<rightsubmenus.length; k++ ) {
		//console.log("		Adapt call" + rightsubmenus[ k ]);
		addaptrightSize(rightsubmenus[ k ] );
	}
	
 }

 var sm_ih = 112;
var sm_iw = 152;
var sm_ic = 4;
 
 
function addaptSize(item) {

	var obj_height = 0;
	obj_height = parseInt(getStyle(item, 'height'));
	obj_width = parseInt(getStyle(item, 'width'));
	//console.log("addaps size for object with height: '" + obj_height + "' and width: '" + obj_width + "'");

	var ch = sm_ih * sm_ic + 50;
	
	//console.log('check height is : ' + ch);
	
	if(obj_height > ch && obj_width < (sm_iw + 50)){
	//console.log('\telement height of ' + obj_height + ' is heighet than allowd');
		
		var new_width = (parseInt((obj_height / ch)) + 1) * sm_iw;
		item.style.width = new_width + "px";
		item.style.maxHeight = (ch + 50) + "px";
	}
	return true;
}


function addaptrightSize(item) {

	var obj_height = 0;
	obj_height = parseInt(getStyle(item, 'height'));
	if(obj_height > 470){
		
		//alert("	Object height  " + obj_height);
		
		
		var new_width = (parseInt((obj_height / 350)) + 1) * sm_iw;

		//alert("	New " + parseInt((obj_height / 350) ) + " news width " + new_width);
		
		item.style.width = new_width + "px";
		item.style.left = -(new_width) + "px";
		item.style.maxHeight = "455px";
		
	}
	return true;
}

function getStyle(e, p) {
			e = typeof e == 'object' ? e : get_Id_Element(e);
			//return e.currentStyle ? e.currentStyle[p] : 
			/*
			console.log("Style call for elemet " + e + " attribute '" + p + "'");
			e.currentStyle ? console.log("		document.defaultView " + document.defaultView) : console.log("");
			e.currentStyle ? console.log("		e.currentStyle[p] " + e.currentStyle[p]) : console.log("");
			e.currentStyle ? console.log("		e.currentStyle.width " + e.currentStyle.width) : console.log("");
			e.currentStyle ? console.log("		e.currentStyle.height " + e.currentStyle.height) : console.log("");
			e.currentStyle ? console.log("		e.offsetWidth " + e.offsetWidth) : console.log("");
			e.currentStyle ? console.log("		e.offsetHeight " + e.offsetHeight) : console.log("");*/
if(document.defaultView != null){
	return document.defaultView.getComputedStyle(e, null).getPropertyValue(p);
}else{
	if(p == 'height') return e.offsetHeight;
	else if (p == 'width') return e.offsetWidth;
	else return  e.currentStyle[p];
}

			/*return document.defaultView != null ? 
			document.defaultView.getComputedStyle(e, null).getPropertyValue(p) : 
			e.currentStyle ? e.currentStyle[p] : document.defaultView.getComputedStyle(e, null).getPropertyValue(p);*/
			
			//return document.defaultView.getComputedStyle(e, null).getPropertyValue(p);
		}
		
		
		
/*
	Developed by Robert Nyman, http://www.robertnyman.com
	Code/licensing: http://code.google.com/p/getelementsbyclassname/
*/	
var getElementsByClassName = function (className, tag, elm){
	if (document.getElementsByClassName) {
		getElementsByClassName = function (className, tag, elm) {
			elm = elm || document;
			var elements = elm.getElementsByClassName(className),
				nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
				returnElements = [],
				current;
			for(var i=0, il=elements.length; i<il; i+=1){
				current = elements[i];
				if(!nodeName || nodeName.test(current.nodeName)) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	else if (document.evaluate) {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = "",
				xhtmlNamespace = "http://www.w3.org/1999/xhtml",
				namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
				returnElements = [],
				elements,
				node;
			for(var j=0, jl=classes.length; j<jl; j+=1){
				classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
			}
			try	{
				elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
			}
			catch (e) {
				elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
			}
			while ((node = elements.iterateNext())) {
				returnElements.push(node);
			}
			return returnElements;
		};
	}
	else {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = [],
				elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
				current,
				returnElements = [],
				match;
			for(var k=0, kl=classes.length; k<kl; k+=1){
				classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
			}
			for(var l=0, ll=elements.length; l<ll; l+=1){
				current = elements[l];
				match = false;
				for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
					match = classesToCheck[m].test(current.className);
					if (!match) {
						break;
					}
				}
				if (match) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	return getElementsByClassName(className, tag, elm);
};

function adaptObjectAndEmbed(){
//console.log('object and embedd call ' );
	var obj = document.getElementsByTagName('object');
	var l = obj.length, x = 0;
	for (x; x < l; x++) {
		if(obj[x] != null)
			{//i.setAttribute('wmode', 'opaque');
				var z = document.createAttribute('wmode');
				z.value = 'opaque';
				obj[x].setAttributeNode(z)
			}				
	}	
	var emb = document.getElementsByTagName('embed');
	var l = emb.length, x = 0;
	for (x; x < l; x++) {
		if(emb[x] != null)
			{//i.setAttribute('wmode', 'opaque');
				var z = document.createAttribute('wmode');
				z.value = 'opaque';
				emb[x].setAttributeNode(z)
			}				
	}	
}

function removeFalseFont() {
	var oP = document.body.getElementsByTagName("font");
	
	for( var k=0; k<oP.length; k++ ) {
		oP[ k ].removeAttribute("size");
		oP[ k ].removeAttribute("face");
		oP[ k ].removeAttribute("color");
	}
}
