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

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 switchImage(dir) {
	if (!freeQueue)
		return;
	if ($('galImageContainer') && $$('.galImages').length>1) {
		nextImage = parseInt($F('galImageActive'))+dir;
		
		if (nextImage<=0)
			nextImage = $$('.galImages').length;
		else if (nextImage>$$('.galImages').length)	
			nextImage = 1;
		freeQueue = false;
		new Effect.Appear($('galImg_'+nextImage), { duration: 0.8, afterFinish:function() {freeQueue=true} });
		new Effect.Fade($('galImg_'+$F('galImageActive')), { duration: 0.8, afterFinish:function() {freeQueue=true} });
		var activeStr = nextImage;
		if (activeStr<=9)
			activeStr = '0'+activeStr;
		$('galImgRecent').innerHTML = activeStr;
		$('galImageActive').value = nextImage;
		
	}
}

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('org')) {
		//oldValue = obj.name.replace(/cmt/,'');
		if (obj.getAttribute('name')=='password' && !Prototype.Browser.IE)
			obj.setAttribute('type','password');
		oldValue = obj.getAttribute('org');
		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 += 'Please fill in "'+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 invalid.'+"\n";
			}
		}
	}
	return error;
}
 
 
		
 
 

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);
}
