
// Separator Zeichen
var SEPARATOR = ";";
var oCMenu = null;

/*
 * 
 */
function tooltipVisibility(id, vis) {
	var dddd;
	
	if (document.getElementById) {
		dddd=document.getElementById(id).style;
	 	if (dddd)
	 		dddd.visibility = vis ? "visible":"hidden";
	}//else if
	else if(document.all) {
		dddd=document.all[id].style;
	 	if (dddd) dddd.visibility = vis ? "visible":"hidden";
	}//else if
	else if(document.layers) {
		dddd=document.layers[id];
	 	if (dddd)
	 		dddd.visibility = vis ? "show":"hide";
	} 
	
	return false;
}


/**
 *
 */
function readCookie(cookieName) {
  	var docCookies = document.cookie;
  	var startIndex = docCookies.indexOf(cookieName);
  	if (startIndex == -1) {
  		return false;
  	}
  	startIndex += cookieName.length + 1;
  	var endIndex = docCookies.indexOf(";",startIndex);
  	if (endIndex == -1) {
  		endIndex = docCookies.length;
  	}
  	var cookieValue = docCookies.substring(startIndex, endIndex);
  	
  	return unescape(cookieValue);
}
	
function hide(id) {
	var elem = document.getElementById(id);
	if (null!=elem)
		elem.style.display = "none";
}

function show(id) {
	var elem = document.getElementById(id);
	if (null!=elem){
		if (document.all) {
			elem.style.display = "block";
		}else{
			var elType = elem.tagName;
			switch (elType) {
				case "TR":
					elem.style.display = "table-row";
					break;
				case "TD":
					elem.style.display = "table-cell";
					break;
				case "TABLE":
					elem.style.display = "table";
					break;
				default:
					elem.style.display = "block";
			}
		}
	}
}
		
function updateVisibleParts() {
	var left = readCookie('leftBar');
	var right = readCookie('rightBar');
	if (left == 'hide')
  		hide('leftCol');
	else
		show('leftCol');
		
  	if (right == 'hide')
  		hide('rightCol');
	else
		show('rightCol');
		
  	
  	return true;
}
		
function toggleBars(left, right) {
 	if (left == 'show') {
  		show('leftCol');
    	document.cookie="leftBar=show";
  	}
  	else {
    	hide('leftCol');
    	document.cookie="leftBar=hide";
  	}
  
  	if (right == 'show') {
    	show('rightCol');
    	document.cookie="rightBar=show";
  	}
  	else {
    	hide('rightCol');
    	document.cookie="rightBar=hide";
  	}
}

/**
 * .
 */
function disableAllActions() {
	// Menu
	disableMenu();
	// Buttons
	disableButtons();
	// Links
	disableLinks();
	return true;
}

function disableButtons() {
	// IE + Firefox
	var buttonElements = document.getElementsByTagName("button");
	for(var i=0; i<buttonElements.length; i++) {
		buttonElements[i].disabled = true;
	}//for		
	
	buttonElements = document.getElementsByTagName("input");
	for(var i=0; i<buttonElements.length; i++) {
		if (isButton(buttonElements[i].type)) {
			buttonElements[i].disabled = true;
		}//if
	}//for
	
	// img
	buttonElements = document.getElementsByTagName("img");
	for(var i=0; i<buttonElements.length; i++) {
		if (buttonElements[i].onclick) {
			buttonElements[i].onclick = noop;
		}//if
	}//for
}

function isButton(type) {
	if (type.toLowerCase()=='button' || type.toLowerCase()=='submit' || type.toLowerCase()=='reset')
		return true;
		
	return false;
}


/*
 *
 */
function disableLinks() {
	arrLinks = document.links;
	for (var i = 0; i < arrLinks.length; i++) {
		arrLinks[i].href = "#";
		arrLinks[i].onclick = noop;
	}//for
}

/*
 *
 */
function disableMenu() {
	if (null!=oCMenu) {
		oCMenu.onclck = noop;
		oCMenu.showsub = noop;
		oCMenu.mout = noop;
	}
	else {
		//alert("The menu can not disabled, because no menu found! (lp-components.js)");
	}
}

/**
 * Leere Methode, wird f?r das disablen verwendet.
 */
function noop() {
	return false;
}

/**
* 
*/
function getSelectedCheckboxValues(form, groupName) {
	var s = "";
	for(var i = 0; i < form.length; i++) {
		if ((form.elements[i].name==groupName) && (form.elements[i].checked==true)) {
			if (s.length > 0)
				s += SEPARATOR;
				
			s += form.elements[i].value;
		}
	}//for
	return s;
}

/**
 * Alle Checkboxen mit angegebenen Namen, die in der angebenen Form enthalten sind werden selectiert (true|false).
 */
function setAllCheckboxSelected(form, name, selected) {
	for(var i = 0; i < form.length; i++) {
		if (form.elements[i].name==name)
			form.elements[i].checked=selected;
	}//for
}

function toggleAll(cbx, name) {
	selected = cbx.checked;
	aForm = cbx.form;
	for(var i = 0; i < aForm.elements.length; i++) {
		if (aForm.elements[i].name==name)
			aForm.elements[i].checked=selected;
	}//for
}

/**
 * Setzen der angegebenen Style-Klasse f?r das Element mit angegebener Id	
 */
function setStyleClass(elementId, styleClass) {
	var element = document.getElementById(elementId);
	if (element!=null)
		element.className = styleClass;
}

/**
 * Setzen der angegebenen Style-Klasse f?r das Element mit angegebener Id	
 */
function setElementDisabled(elementId, disabled) {
	var element = document.getElementById(elementId);
	if (element!=null) {
		element.disabled = disabled;
	}
}

/**
 * Fuegt dem angegebenen Objekt/Element ein EventListener hinzu.
 */
function addEvent(obj, eventType, functn) { 
	if (obj.addEventListener){ 
		obj.addEventListener(eventType, functn, false); 
		return true; 
	} else if (obj.attachEvent){ 
		var r = obj.attachEvent("on"+eventType, functn); 
		return r; 
	} else { 
		alert('not supported');
 			return false; 
	} 
}



function dateFormat(aDate, displayPat){
    /********************************************************
    *   Valid Masks:
    *   !mmmm = Long month (eg. January)
    *   !mmm = Short month (eg. Jan)
    *   !mm = Numeric date (eg. 07)
    *   !m = Numeric date (eg. 7)
    *   !dddd = Long day (eg. Monday)
    *   !ddd = Short day (eg. Mon)
    *   !dd = Numeric day (eg. 07)
    *   !d = Numeric day (eg. 7)
    *   !yyyy = Year (eg. 1999)
    *   !yy = Year (eg. 99)
   ********************************************************/

    intMonth = aDate.getMonth();
    intDate = aDate.getDate();
    intDay = aDate.getDay();
    intYear = aDate.getFullYear();

    var months_long =  new Array ('January','February','March','April',
       'May','June','July','August','September','October','November',
       'December')
    var months_short = new Array('Jan','Feb','Mar','Apr','May','Jun',
       'Jul','Aug','Sep','Oct','Nov','Dec')
    var days_long = new Array('Sunday','Monday','Tuesday','Wednesday',
       'Thursday','Friday','Saturday')
    var days_short = new Array('Sun','Mon','Tue','Wed','Thu','Fri',
        'Sat')

    var mmmm = months_long[intMonth]
    var mmm = months_short[intMonth]
    var mm = intMonth < 9?'0'+ (1 + intMonth) + '':(1+intMonth)+'';
    var m = 1+intMonth+'';
    var dddd = days_long[intDay];
    var ddd = days_short[intDay];
    var dd = intDate<10?'0'+intDate+'':intDate+'';
    var d = intDate+'';
    var yyyy = intYear;

    century = 0;
    while((intYear-century)>=100)
        century = century + 100;

    var yy = intYear - century
    if(yy<10)
        yy = '0' + yy + '';

    displayDate = new String(displayPat);

    displayDate = displayDate.replace(/!mmmm/i,mmmm);
    displayDate = displayDate.replace(/!mmm/i,mmm);
    displayDate = displayDate.replace(/!mm/i,mm);
    displayDate = displayDate.replace(/!m/i,m);
    displayDate = displayDate.replace(/!dddd/i,dddd);
    displayDate = displayDate.replace(/!ddd/i,ddd);
    displayDate = displayDate.replace(/!dd/i,dd);
    displayDate = displayDate.replace(/!d/i,d);
    displayDate = displayDate.replace(/!yyyy/i,yyyy);
    displayDate = displayDate.replace(/!yy/i,yy);

    return displayDate;
}

function getViewPortDimensions() {
	var viewportwidth;
	var viewportheight;
	if (typeof window.innerWidth != 'undefined') {
		viewportwidth = window.innerWidth,
		viewportheight = window.innerHeight
	} else if (typeof document.documentElement != 'undefined'
			&& typeof document.documentElement.clientWidth !=
			'undefined' && document.documentElement.clientWidth != 0) {
		viewportwidth = document.documentElement.clientWidth,
		viewportheight = document.documentElement.clientHeight
	} else {
		viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
		viewportheight = document.getElementsByTagName('body')[0].clientHeight
	}
	return {width: viewportwidth, height: viewportheight};
}

