
<!-- //

/**
 *	seso media group <www.seso.at>
 *
 *	$URL: https://seso1.unfuddle.com/svn/seso1_a1portaldevelopment/js/util.js $
 *	$Date: 2009-06-22 11:36:01 +0200 (Mo, 22 Jun 2009) $
 *	$Revision: 951 $
 *	$Author: simon $
 */



/*******************************************************************************
	LOGGER
*******************************************************************************/

var BOOLEAN = 'boolean',
	NUMBER = 'number',
	STRING = 'string',
	OBJECT = 'object';


// do not change this parameter!!
var debug = false;


function log (msg, clear) {
	
	if (debug === true) {
	
		var logger = document.getElementById('logger');
		
		if (!logger) {
			
			logger = document.createElement('DIV');
			logger.id = 'logger';
			logger.className = 'logger';
			
			document.getElementsByTagName('BODY')[0].appendChild(logger);
			
			logger = document.getElementById('logger');
		}
		
		if (clear === true) logger.innerHTML = '';
		
		if (typeof msg == 'object') {
			
			for (m in msg) {
				
				logger.innerHTML += m + ' => ' + msg[m]+'<br>';
			}
		}
		
		else logger.innerHTML += msg+'<br>';
	}
}

function printError(e) {
 	
 	var r = "";

 	r += "<strong>"+e.name+"</strong>";
 	r += "<p>"+e.fileName + " ["+e.lineNumber+"]</p>";
 	r += "<p><b>"+e.message+"</b></p>";
 	r += "<pre>"+e.stack+"</pre><hr>";
 	
 	return r;
}



/*******************************************************************************
	UTIL
*******************************************************************************/

var utilFired = false;

function util() {
	
		
	/* CONFIG-PARAMETERS */
	
	this.config = {};
	this.config.speed = 30;
	this.config.frames = 10;
	this.config.doAnimation = true;

	/* IMAGE-PATHS */
	
	this.images = {};
	this.images.blank = "../imgs/global/blank.gif";/**$$ABSOLUT_PATH$$**/ 
	this.images.printBtn = "../imgs/global/btn_drucken.png";/**$$ABSOLUT_PATH$$**/ 

	
	var self = this;

	this.init = function() {

		if (utilFired === false) {
			
			utilFired = true;
		
			try {
				
				util.fixMainNav();
				
				util.fixPNGs(document.getElementsByTagName('DIV')[0], true);
			
				for (u in this) {
		
					if (u != 'init' && self[u]['init'])
						eval('util.'+u+'.init();');
				}
			}
			
			catch(e) {
	
				log(printError(e));
			}
		}
	};
	

	
	this.fixPNGs = function(div, check) {
		
		if (env.browser == 'ie6') {
			
			var imgs = div.getElementsByTagName('IMG');
			
			for (var i=0; i<imgs.length; i++) {

				if (imgs[i].src.indexOf('.png') != -1 && (!check || imgs[i].className.indexOf("leapPNG") == -1)) {

					imgs[i].runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+imgs[i].src+"', sizingMethod='scale')";
					imgs[i].src = util.images.blank;
				}
			}
			
			
			var inp = div.getElementsByTagName('INPUT');
			
			for (var i=0; i<inp.length; i++) {

				if (inp[i].type == 'image' && inp[i].src.indexOf('.png') != -1 && (!check || inp[i].className.indexOf("leapPNG") == -1)) {

					inp[i].runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+inp[i].src+"', sizingMethod='crop')";
					inp[i].src = util.images.blank;
				}
			}
			
		}
	};
	
	
	this.fixMainNav = function() {
		
		if (env.browser == 'ie6') {
			
			var nav = document.getElementById('mainNav');
			
			if (nav) {
				
				var links = nav.getElementsByTagName('A');
				
				for (var i=0; i<links.length; i++) {
					
					if (links[i].parentNode.className != 'act') {
						
						links[i].attachEvent("onmouseover", function(e){e.srcElement.style.backgroundPosition='bottom left';});
						links[i].attachEvent("onmouseout", function(e){e.srcElement.style.backgroundPosition='top left';});
					}
				}
			}
		}
	};
	
};




/*******************************************************************************
	TAB-BOX
*******************************************************************************/

util.prototype.tabBox = {
	
	cache : [],
	property : [],
	
	
	setProperty : function(key, value) {
		
		this.property[key] = value;		
	},
	
	
	init : function() {

		if (this.cache.length > 0) {
			
			var d, a, bgl, bgr, bgm;
		
			for (var t=0; t<this.cache.length; t++) {
				
				d = document.createElement('DIV');
				d.className = "tabHead";
				d.id = "tabHead_"+t;
				
				/* 
				bgl = document.createElement('SPAN');
				bgl.className = "bgl"; 
				
				d.appendChild(bgl);
				*/
	
				bgm = document.createElement('SPAN');
				bgm.className = "bgm";
				
				a = document.createElement('a');
				a.setAttribute("href", "javascript:util.tabBox.selectTab("+t+");");
				a.setAttribute("onclick", "this.blur();");
				
				var title = document.getElementById(this.cache[t].title);
				
				a.appendChild(document.createTextNode(title.firstChild.nodeValue));
				
				title.parentNode.removeChild(title);
				
				bgm.appendChild(a);
				
				d.appendChild(bgm);
				
				/*
				bgr = document.createElement('SPAN');
				bgr.className = "bgr";
				
				d.appendChild(bgr);
				*/
				
				document.getElementById(this.property['headContainer']).appendChild(d);
			}
			
			d = document.createElement('DIV');
			d.className = "clear";
			
			document.getElementById(this.property['headContainer']).appendChild(d);
			
			if (!this.property.activeTab || this.property.activeTab > this.cache.length) this.property.activeTab = 0;
			
			this.selectTab(this.property.activeTab);
		}
	},

	
	addTab : function(title, container) {
		
		var tab = {};
			tab.title = title;
			tab.container = container;
			
		this.cache.push(tab);
	},


	selectTab : function(index) {

		if (this.activeTab != undefined) {

			document.getElementById("tabHead_"+this.activeTab).className = "tabHead";
			
			document.getElementById(this.cache[this.activeTab].container).style.display = 'none';
		}

		document.getElementById("tabHead_"+index).className += " act";
		
		document.getElementById(this.cache[index].container).style.display = 'block';
		
		this.activeTab = index;
		
		try {

			setCurrentMap(index);
		}

		catch (e) {}
	}

}


var util = new util();

// -->