var HTTP_ROOT = document.fumanHttpRoot.replace('admin/','');

window.onresize = function() {
	handleResize(null);
};

var bg,im, activeSubItemId;

function handleResize(evt) {
	if (getIeVersion() <= 6) {
		return;
	}
	if(!bg) {
		bg = AJS.$('background_wrapper');
	}
	if (!im) {
		im = AJS.$('background_image');
	}
	if(bg==null || im==null){
		return; 
	}
	var winW = window.innerWidth  || document.documentElement.clientWidth;
	var winH = window.innerHeight || document.documentElement.clientHeight;
	var res = new Array(winW,calcImg(winW,orgW,orgH),calcImg(winH,orgH,orgW),winH);
	var key = (winW > winH) ? ((res[1] > winH)? 0: 2) :((res[2] > winW) ? 2:0);
	im.width = res[key];
	im.height = res[key+1];
	bg.style.width = winW+'px';
	bg.style.height = winH+'px';
	var d = AJS.getRequest(HTTP_ROOT + "setImageSession.php?width="+res[key]+"&height="+res[key+1]+'&wheight='+winH+'&wwidth='+winW);
	d.sendReq()
}

function calcImg(arg,arg2,arg3) {
	return Math.round(arg3 * (1 / arg2 * arg));
}

var showMaterialDetailImages = [];
function showMaterialDetail(i, path, desc, url) {
	var load = function() {
		$$('#subScrollNavigation .content_image_container').destroy();
		if (activeSubItemId == i && (activeSubItemId = -1))return;
		activeSubItemId = i;
		desc = String(desc).split(':$:');
		desc.each(function(item, i, arr) {
			arr[i] = '<span>' + item + '</span>';
		});
		desc = desc.join('');
		var cont = new Element('div', {
			'class':'content_image_container'
		}).inject($('subScrollNavigation')).addEvent('click', function() {
				cont.destroy();
				activeSubItemId = -1
			});
		var w = this.width;
		var h = this.height;
		if(w>300){h = (300*h/w);w=300;}
		this.setStyles({'width':w,'height':h}).inject(cont);
		new Element('div', {
			'class':'content_image_description',
			html: desc
		}).inject(cont).addEvent('click', function() {
				window.location = url
			});
		new Element('div', {
			'class':'close_image'
		}).inject(cont);
	}
	for(var y = 0;y<showMaterialDetailImages.length;y++){
		if(showMaterialDetailImages[y].src==path){
			load.apply(showMaterialDetailImages[y]);
			return;
		}
	}
	showMaterialDetailImages.push(Asset.image(path,{
		'onload': load
		, 'class': 'content_image'
	}));
}

function getIeVersion() {
	if (AJS.isIe() ) {
		var ua = navigator.userAgent;
		var MSIEOffset = ua.indexOf('MSIE ');
		var v = parseFloat(ua.substring(MSIEOffset + 5, ua.indexOf(";", MSIEOffset)));
		return v;
	}
	return 10;
}
window.addEvent('domready', function(){
	/*privat*/
	var level = 2, scrollRoundValue = 8;
	var outerwrapper = $('header');

	/*methode*/
	this.ie6Fix = function(){
		this.ie6ResizeFix()
		this.ie7Fix();
	}
	this.ie6ResizeFix = function(){
		/*element kürzen, view reseten, element neu setzen*/
		var elmCollection = $$('#scrollNavigation .container','#scrollNavigation');
		elmCollection.setStyle('width',1);
		//outerwrapper.addClass('askljflasjkfsjfaslkdf').removeClass('askljflasjkfsjfaslkdf');
		elmCollection.setStyle('width',outerwrapper.getStyle('width'));
	}
	this.ie7Fix = function(){
		var i, elems = AJS.flattenList(this.getChildElementsFromLevel(AJS.$('navigation'), 'li', level));
		var parent = null, oldParent = null;
		for(i = 0;i<elems.length;i++){
			parent = this.getParentByTag(elems[i], 'ul');
			if(parent != oldParent){
				AJS.setWidth(parent,parent.offsetWidth);
				oldParent = parent;
			}
		}
	}
	this.getChildElementsFromLevel = function(parent, tagName, level){
		if(level == 0)return this.getChildElementsByTag(parent,tagName);
		var i,reElems = [], elems = this.getChildElementsByTag(parent,tagName);
		level--;
		for(i = 0;i<elems.length;i++)
			reElems[i] = this.getChildElementsFromLevel(elems[i],tagName,level);
		return reElems;
	}
	this.getChildElementsByTag = function(parent, tagName){
		var reElems = [], node = parent.getElementsByTagName(tagName), i = 0;
		if(node.length < 1)return reElems;node = node[0]
		reElems[i++] = node;
		while((node = AJS.getNextSiblingBytc(node,tagName))!= null)
			reElems[i++] = node;
		return reElems;
	}
	this.getParentByTag = function(node, tag){
		while((node.parentNode && (node.tagName.toLowerCase() != tag)))node = node.parentNode;
		return node;
	}
	this.createContentScroller = function(strId, wrapper, blnResize){
		/*todo: knop modifizieren mit fx morph oder ähnliches*/
		if($(strId)){
			var horizontalScroll, contentScroller;
			wrapper = wrapper?wrapper:$(strId);
			//Standart Scrollbalkengrösse auskorrigieren
			var x = $(strId);
			x.setStyle('height',(x.getStyle('height').toInt()-7));
			x = $$('#'+strId+' .container')[0];
			x.setStyle('height',(x.getStyle('height').toInt()-7));

			blnResize = blnResize?true:false;
			horizontalScroll = new UvumiScrollbar(x);
			var scrollBar = $$('#'+strId+' .scrollBar')[0];
			contentScroller = new Scroller(x,{
				area: Math.round(wrapper.getWidth().toInt()/scrollRoundValue),
				velocity: .1,
				onChange: function(x, y){
					horizontalScroll.scrollHorizontal(x-horizontalScroll.el.getScroll().x);
				}
			}).start();
			//horizontalScroll.wrapper.setStyle('height',horizontalScroll.wrapper.getStyle('height').toInt()-1);
			if(blnResize)window.addEvent('resize', function(){
				var value = wrapper.getWidth().toInt();
				scrollBar.setStyle('width',value);
				horizontalScroll.dimensions.x = value;
				horizontalScroll.update();
				contentScroller.options.area = Math.round(value/scrollRoundValue);
				if(getIeVersion()<7)ie6ResizeFix();
			});
		}
	}
	/*have fun*/
	handleResize(null);
	if(getIeVersion()<8)getIeVersion()<7?this.ie6Fix():this.ie7Fix();
	this.createContentScroller('scrollNavigation',outerwrapper,true);
	this.createContentScroller('subScrollNavigation');
	
	
	//fix some gui issues
	if (document.id('maincontent')) {
			var cfiles = document.id('maincontent').getElement('.content_files');
			if (cfiles) {
					var c = cfiles.getPrevious();
					var p = c.getElement('p.hasfiles');
					var h = c.getElement('h1');
					if (p && h) {
							var cy = c.getSize().y;
							var py = p.getSize().y;
							var fy = cfiles.getSize().y + h.getSize().y + 5;
							if (cy < (py + fy)) {
									c.setStyle('height', cy + (fy - (cy - py)));
							}
					}
			}
	}
});













