var activeImage = 0;
var posOld = 0;
var scrolling = false;
var projectsToClose = 0;
var projectsClosed = 1;
var lastNr = 0;
var oldValue = '';
var fileRemoved = 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 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;
}
 
 
 
/**
*
*  AJAX IFRAME METHOD (AIM)
*  http://www.webtoolkit.info/
*
**/
 
AIM = {
 
	frame : function(c) {
		var n = 'f' + Math.floor(Math.random() * 99999);
		var d = document.createElement('DIV');
		d.innerHTML = '<iframe style="display:none" src="about:blank" id="'+n+'" name="'+n+'" onload="AIM.loaded(\''+n+'\')"></iframe>';
		document.body.appendChild(d);
 
		var i = document.getElementById(n);
		if (c && typeof(c.onComplete) == 'function') {
			i.onComplete = c.onComplete;
		}
 
		return n;
	},
 
	form : function(f, name) {
		f.setAttribute('target', name);
	},
 
	submit : function(f, c) {
		AIM.form(f, AIM.frame(c));
		if (c && typeof(c.onStart) == 'function') {
			return c.onStart();
		} else {
			return true;
		}
	},
 
	loaded : function(id) {
		var i = document.getElementById(id);
		if (i.contentDocument) {
			var d = i.contentDocument;
		} else if (i.contentWindow) {
			var d = i.contentWindow.document;
		} else {
			var d = window.frames[id].document;
		}
		if (d.location.href == "about:blank") {
			return;
		}
 
		if (typeof(i.onComplete) == 'function') {
			i.onComplete(d.body.innerHTML);
		}
	}
 
}
 
 
function startCallback() {
	// make something useful before submit (onStart)
	$('loading').style.display='block';
	if ($('specificationsPDFUpload').value=='') {
		alert('Please select a file');
		$('loading').style.display='none';
		return false;
	}
	else
		fileRemoved = true;
		
	return true;
}

function completeCallback(response) {
	$('loading').style.display='none';
	
	if (response) {
		$('uploaded').style.display = 'block';
		if (isNaN(response)) {	
			
			$('uploaded').innerHTML = response.substr(response.indexOf('_')+1);
			$('specificationsPDF').value = response;
			$('specificationsPDFUpload').value = '';
			
			$('uploadBtn').style.display = 'none';
			
			$('specificationsPDFUpload').style.display = 'none';	
			
			elemSpan = document.createElement('div');
			elemTxt = document.createTextNode('remove');
			elemSpan.appendChild(elemTxt);
			elemSpan.className = 'fileUploadLabel imgMo';
			elemSpan.onclick = function () {
				$('uploaded').innerHTML = '&nbsp;';
				$('specificationsPDF').value = '';
				$('uploadBtn').style.display = 'inline';
				$('specificationsPDFUpload').style.display = 'inline';
				$('uploaded').style.display = 'none';
				fileRemoved = true;
			}
			
			$('uploaded').appendChild(elemSpan); 
		}	
		else if (response == 1)
			$('uploaded').innerHTML = '<span class="error">Please use one of the following file formats: <br />.pdf, .doc, .csv, .xls</span>';
		else 
			$('uploaded').innerHTML = '<span class="error">An error occured, please check back later.</span>';
	}
	else
		alert('an error occured');
		
}

		
 
 

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