var activeImage = 0;
var posOld = 0;
var scrolling = false;
var projectsToClose = 0;
var projectsClosed = 1;
var lastNr = 0;
var oldValue = '';
var fileRemoved = false;
var transit = false;

function UnCryptMailto( s, sh ) {
		var n = 0;
		var r = "";
		for( var i = 0; i < s.length; i++)
		{
				n = s.charCodeAt( i );
				if( n >= 8364 )
				{
						n = 128;
				}
				r += String.fromCharCode( n - sh );
		}
		return r;
}
	
function lnkTrans(s, sh)	{
	location.href = 'mailto:'+UnCryptMailto(s, sh);
}

function checkMail(s) {
	var a = false;
	var res = false;
	if(typeof(RegExp) == 'function') {
		var b = new RegExp('abc');
		if(b.test('abc') == true){a = true;}
	}

	if(a == true)	{
		reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
								 '(\\@)([a-zA-Z0-9\\-\\.]+)'+
								 '(\\.)([a-zA-Z]{2,5})$');
		res = (reg.test(s));
	}
	else {
		res = (s.search('@') >= 1 &&
			s.lastIndexOf('.') > s.search('@') &&
			s.lastIndexOf('.') >= s.length-5)
	}
	return(res);
}

function pageOffset(win)
{
    if(!win) win = window;
    var pos = {left:0,top:0};

    if(typeof win.pageXOffset != 'undefined')
    {
         // Mozilla/Netscape
         pos.left = win.pageXOffset;
         pos.top = win.pageYOffset;
    }
    else
    {
         var obj = (win.document.compatMode && win.document.compatMode == "CSS1Compat") ?
         win.document.documentElement : win.document.body || null;

         pos.left = obj.scrollLeft;
         pos.top = obj.scrollTop;
    }
    return pos;
}

function getClientHeight() {

	if (window.innerWidth) { 
		h = window.innerHeight; 
		w = window.innerWidth; 
	} 	
	else if(document.body) {
		h = document.body.clientHeight;
		w = document.body.clientWidth;
		if (document.body.offsetHeight == h && document.documentElement && document.documentElement.clientHeight)  {
			h = document.documentElement.clientHeight;
			w = document.documentElement.clientWidth;
		}
	}	
	return Array(w,h);	
}

function rand( min, max ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Leslie Hoare
    // +   bugfixed by: Onno Marsman
    // *     example 1: rand(1, 1);
    // *     returns 1: 1
    var argc = arguments.length;
    if (argc == 0) {
        min = 0;
        max = 2147483647;
    } else if (argc == 1) {
        throw new Error('Warning: rand() expects exactly 2 parameters, 1 given');
    }
    return Math.floor(Math.random() * (max - min + 1)) + min;
}

function setCenter(obj) {
	hw = getClientHeight();
	
	pageH = hw[1]
	pageW = hw[0];
	
	if (pageW>1008)
		pageW = 1008;
		
	obj.style.display = 'block';	
	obj.style.top = ((pageH/2)-(parseInt(obj.offsetHeight)/2))+'px';
	obj.style.left = ((pageW/2)-(parseInt(obj.offsetWidth)/2))+'px';
	
}

	
function nav_mo(objImg){

	if (objImg.src.indexOf('_active.')>0 && objImg.parentNode.parentNode.className.indexOf('navSelected')<0 && (objImg.parentNode.parentNode.className.indexOf('selected')<0 || objImg.parentNode.parentNode.className.indexOf('unselected')>=0))
		objImg.src = objImg.src.replace(/_active\./,".");
	else if (objImg.parentNode.parentNode.className.indexOf('navSelected')<0 && (objImg.parentNode.parentNode.className.indexOf('selected')<0 || objImg.parentNode.parentNode.className.indexOf('unselected')>=0))
		objImg.src = objImg.src.replace(/\.gif/,"_active.gif");

	return true;
}
		
function imgMO(objImg){

	if (!objImg.src)	 
		objImg = objImg.getElementsByTagName('IMG')[0];

	if (objImg.src.indexOf('_01.')>0)
		objImg.src = objImg.src.replace(/_01\./,"_02.");
	else if (objImg.src.indexOf('_02.')>0)
		objImg.src = objImg.src.replace(/_02\./,"_01.");
	

	return true;
}

function imgTitle_mo(obj,over) {
	tmp = obj.getElementsByTagName('span')[0];
	if (tmp) 
		if (over)
			tmp.style.display='block';
		else
			tmp.style.display='none';	
}
	
	
function switchImages() {

	if ($('imageList') && $('imageList').childNodes.length>1) {
		setTimeout('nextImage()',1000);
		setInterval('nextImage()',4000);
	}
}


function nextImage() {
		
	for (i=0;i<$('imageList').childNodes.length;i++) {		
		if (i==(activeImage+1)) {
		
			//$('imageList').childNodes[i].appear();
			new Effect.Appear($('imageList').childNodes[i]);
			activeImage++;	
			break;
		}	
		else {
			if (i==(activeImage)) {
				
				//$('imageList').childNodes[i].fade();
				new Effect.Fade($('imageList').childNodes[i]);
				if ((i+1)==$('imageList').childNodes.length) {
					$('imageList').childNodes[0].appear();
						activeImage=0;						
				}					 
			}					
		}			
	}

}

function showStep(obj,step) {
	tmp = $$('li.step_1');
	for (i=0;i<tmp.length;i++) 
		tmp[i].style.display='none';		
	tmp = $$('div.step_2');
	for (i=0;i<tmp.length;i++) 
		tmp[i].style.display='none';
	
	tmp = $$('div.step_'+step);
	tmp2 = $$('li.step_'+step);
	tmp = tmp.concat(tmp2);
	for (i=0;i<tmp.length;i++) 
		tmp[i].style.display='block';
	
	for (i=0;i<obj.parentNode.childNodes.length;i++) 	
		obj.parentNode.childNodes[i].className = obj.parentNode.childNodes[i].className.replace(/nlTabActive/,'');
	obj.className = obj.className+' nlTabActive';

}
	
	
	
function clearField( obj ) {
	if (obj.value == obj.getAttribute('label')) {
		//oldValue = obj.name.replace(/cmt/,'');
		if (obj.getAttribute('name')=='password' && !Prototype.Browser.IE)
			obj.setAttribute('type','password');
		oldValue = obj.getAttribute('label');
		obj.value = "";  
		obj.focus();
	}
}  
 	
function clearFieldDefault( obj ) {
	if (!obj.cleared) {
		oldValue = obj.value;		
		obj.value = "";  
	}
} 

function resetField( obj ) {
  
	if (oldValue != "" && obj.value == "") {
		if (obj.getAttribute('name')=='password' && !Prototype.Browser.IE)
			obj.setAttribute('type','text');	
		obj.value = oldValue;
		obj.cleared = false;		
	}   
}  

 
function checkForm(frmId) {
	elems = $(frmId).getElements();
	errCnt = 0;
	error = '';
	for (i=0;i<elems.length;i++) {
		if (elems[i].className.indexOf('validate')>=0) {
		
			tmp = elems[i].getAttribute('label');
			
			if ($F(elems[i])=='' || $F(elems[i])==tmp) {
				
				error += 'Bitte füllen Sie folgendes Feld aus: "'+tmp+' "'+"\n";
				errCnt++;
			
				elems[i].style.backgroundColor = '#ffdddd';			
			}
		}
		if (elems[i].className.indexOf('email')>=0 && ($F(elems[i])!='' && $F(elems[i])!='E-Mail')) {
			if (!checkMail($F(elems[i]))) {
				errCnt++;
				elems[i].style.backgroundColor = '#ffdddd';
				error += 'E-mail ungültig.'+"\n";
			}
		}
	}
	return error;
}
 
 
 
function initTransition(obj) {
	elemArr = Element.select(obj,'li');
	Element.setStyle(elemArr[0], {zIndex: 1});
	for (iii=1;iii<elemArr.length;iii++) {		
		elemArr[iii].setOpacity(0);
	}
	setTimeout(function() {
		doTransition(elemArr,0);
	},3000);
}
function doTransition(elemArr,ii) {
	new Effect.Opacity(elemArr[ii], {from: 1, to: 0, duration: 1.4, objekt:elemArr[ii], afterFinish:function(){this.objekt.style.visibility = 'hidden';}});
	Element.setStyle(elemArr[ii], {zIndex: 0});
	var next = ii+1;
	if (elemArr.length<=next)
		next = 0;
	new Effect.Opacity(elemArr[next], {from: 0, to: 1, duration: 1.4});
	Element.setStyle(elemArr[next], {zIndex: 1,visibility:'visible'});
	setTimeout(function() {doTransition(elemArr,next);},8000);
} 
		
function doTransitionOnce(active) {
	if (transit)
		return;
	transit = true; 
	activeId = active.id.split('_')[1];
	elemArr = $$('.content_image li');
	oldHeight = false;
	for (i=0;i<elemArr.length;i++) {
		if ((!elemArr[i].style.opacity || elemArr[i].style.opacity>0) && activeId!=i+1) {			
			new Effect.Opacity(elemArr[i], {from: 1, to: 0, duration: 0.5, objekt:elemArr[i], afterFinish:function(){this.objekt.style.zIndex=0;this.objekt.style.visibility = 'hidden';}});
			oldHeight = parseInt(elemArr[i].offsetHeight);
		}	
		else if (activeId==i+1) {
			activeObj = elemArr[i];
		}	
	}	
	activeObj.style.visibility = 'visible';
	if (oldHeight!=parseInt(activeObj.offsetHeight)) {
		
		new Effect.Morph(activeObj.parentNode,{
			style:'height:'+parseInt(activeObj.offsetHeight)+'px',
			duration:0.4,
			delay: 0.4		
		});	
		new Effect.Opacity(activeObj, {from: 0, to: 1, duration: 1, delay:0.6, objekt:activeObj, afterFinish:function(){this.objekt.style.zIndex=1;transit = false; }});
	}
	else {
		new Effect.Opacity(activeObj, {from: 0, to: 1, duration: 1.0, objekt:activeObj, afterFinish:function(){this.objekt.style.zIndex=1;transit = false; }});
		
	}
	active.adjacent('.active')[0].removeClassName('active');
	active.addClassName('active');

}  
testing = true;
if (navigator.userAgent.indexOf('MSIE 7')>0) {
	$$('ul.nav_normal li').each(
		function(elem) {
			elem.observe('mouseenter', function() { testing = clearTimeout(testing); Element.addClassName(this,'hover'); });
			elem.observe('mouseleave', function() { elem2 = this; testing = setTimeout(function(elem2){Element.removeClassName(elem2,'hover'); },0);});
		}
	); 
}	
 
 
function formatTitle(title, currentArray, currentIndex, currentOpts) {
    return '<div>' + (title && title.length ? '' + title + ' &ndash; ' : '' ) + (currentIndex + 1) + ' / ' + currentArray.length + '</div>';
}
 
 
 

function show_exception( requestObject, ex) {
	if (Prototype.Browser.IE) {
		alert('Bitte aktivieren Sie "ActiveX-Steuerlemente" in ihren Browsereinstellungen.');
	}
	else
		alert("Keine AJAX-Anfrage an " + requestObject.url + " moeglich: " + ex);
}

function show_failure( requestObject ) {
	alert("Error from Server:" + requestObject.statusText);
}
