// JavaScript Document
function suchen(sSuche, sModul) {
	if(sSuche.length >= 3) {
		//alert("Suche in Arbeit\ngesucht nach "+sSuche+" in "+sModul);
		self.location.href="{tmpl_var name='sJavaPfad'}&q="+sSuche+"&sSuche="+sSuche+"&sModul="+sModul;
	} else {
		alert('Suche muss xy');
	}
}

function domMenuSet(){
	domMenu_settings.set('domMenu_main', new Hash_DomLib(
		'subMenuWidthCorrection', -1,
		'verticalSubMenuOffsetX', -1,
		'verticalSubMenuOffsetY', -1,
		'horizontalSubMenuOffsetX', 1,
		'openMouseoverMenuDelay', 0,
		'closeMouseoutMenuDelay', 1
	));
}

function selectChange(event) {
     var el = event.element();
$(el.id+'Label').update(el[el.selectedIndex].innerHTML);
}

function checkboxChange(event) {
     var el = event.element();
 if(el.checked){

el.parentNode.style.backgroundPosition='center bottom';
 }else{

el.parentNode.style.backgroundPosition='center top';
 }
}


$$('select').each(function(n) {
     $(n).observe('change', selectChange);
});

$$('input').each(function(n) {
if(n.type == 'checkbox'){
     $(n).observe('click', checkboxChange);

}
});


/* ########################### CSS IMPORT PER JAVASCRIPT ############################## */
/*
(function () {
	var head = document.getElementsByTagName("head")[0];
	if (head) {
		var scriptStyles = document.createElement("link");
		scriptStyles.rel = "stylesheet";
		scriptStyles.type = "text/css";
		scriptStyles.href = "css.css";
		head.appendChild(scriptStyles);
	}
}()
);
*/

function setFocus(id) {
	
	if($(id)) {
		if($(id).type == 'text' || $(id).type == 'password') {
			$(id).focus();
			focused = true;
		    return true;
		}
	}
	return false;
}

function sendForm(ajaxLink, formId, onSuccess) {
    new Ajax.Request(ajaxLink,
	{
		method: 'post',
		asynchronous : true,
        parameters: $(formId).serialize(true),
		onSuccess: onSuccess
	}
	);
    return false;
}

errorIds = new Array();
errorIdClasses = new Array();

function cleanErrors() {
	
	for(i=0; i < errorIds.length; i++) {
		if($('error_'+errorIds[i])) {
			$('error_'+errorIds[i]).remove();
		}
		
		
		if($(errorIds[i])) {
			if(errorIdClasses[errorIds[i]]) {
				$(errorIds[i]).className = errorIdClasses[errorIds[i]];
			} else {
				$(errorIds[i]).className = '';
			}
		}
	}
	
	errorIds = new Array();
	errorIdClasses = new Array();

}

function ajaxFormComplete(response) {
	json = response.responseText;
	obj = eval("("+json+")");
    anz = obj.error_anz;
    focusedElement = null;

    setError = false;
    
    if(obj.error == 'true') {
    	cleanErrors();

    	focused = false;
		for(i = 0; i < anz; i++) {    	
			var ids = obj['errors'][i].id.split('|');
			var id = ids[0];
	    	var msg = obj['errors'][i].errorMsg;
	    	
	    	
	    	var length = ids.length;
	    	for(j = 0; j < ids.length; j++) {
	    		
    	
	    		if(errorIds.indexOf(ids[j]) == -1) {
	    			
	    			if(length != 1) {
		    			if(j != 0) {
				    		var errorDiv = new Element('div');
					    	errorDiv.className = 'error';
					    	errorDiv.writeAttribute('id', 'error_'+ids[j]);
					    	errorDiv.update(msg);
					    	if($('span_'+id)) {
					    		$('span_'+id).insert({before: errorDiv});
					    		
					    		if(setError == false) {
									errorDiv.insert('<a name="error"></a>');
									setError = true;
								}
					    		
					    	}
			    		}
	    			} else {
	    				var errorDiv = new Element('div');
				    	errorDiv.className = 'error';
				    	errorDiv.writeAttribute('id', 'error_'+id);
				    	errorDiv.update(msg);
				    	if($('span_'+id)) {
				    		$('span_'+id).insert({before: errorDiv});
				    		
				    		if(setError == false) {
								errorDiv.insert('<a name="error"></a>');
								setError = true;
							}
				    		
				    	}
	    			}
	    			
		    		errorIds.push(ids[j]);
		    		
		    		if(focused != true) {		    			
		    			doFocus = setFocus(ids[j]);
		    			focusedElement = ids[j];
					}

		    		if($(ids[j])) {	
		    			
		    			if($(ids[j]).className) {
		    				errorIdClasses[ids[j]] = $(ids[j]).className;
		    			}
		    			
			    		if($(ids[j]).type == 'text') {
			    			$(ids[j]).className = 'formTextinputError';
			    		} else if($(ids[j]).nodeName.toLowerCase() == 'select') {
			    			$(ids[j]).className = 'formSelectError';							
			    		} 
			    		
		    		}

	    		}	    			
	    	}
	    	
		}
		
		
		self.location.href = '#error'
		if(focusedElement != '') {
			if($(focusedElement)) {
				$(focusedElement).focus();
			}
		}

		
		//captacha on input
		if(obj.placeCaptcha) {
			id = obj.placeCaptcha;
			
			if($('private_key'+id) == null) {
				
				var img = new Element('img');
				img.setAttribute('id', 'secureImage'+id);
				img.setAttribute('alt', 'secure');
				img.style.width ='140px';
				img.style.marginBottom = '10px';
				img.style.border = 'none';

				$('secure'+id).insert({before: img});
				
				var span = new Element('span');
				span.setAttribute('id', 'span_private_key'+id);
				span.insert('<br />');
				$('secure'+id).insert({before: span});				
				var secureInput = new Element('input');
				secureInput.setAttribute('type', 'text');
				secureInput.setAttribute('maxlength', '6');
				secureInput.setAttribute('size', '6');
				secureInput.style.width ='130px';
				secureInput.value = 'Sicherheitscode';
				
				secureInput.onclick = function () {
					checkEmptyInput('private_key'+id);
				}
				secureInput.onclick.id = id;
				
				secureInput.setAttribute('id', 'private_key'+id);
				secureInput.setAttribute('name', 'private_key');
				
				$('secure'+id).insert({before: secureInput});
				
				var hidden1 = new Element('input');				
				hidden1.setAttribute('type', 'hidden');
				hidden1.setAttribute('id', 'hncaptcha'+id);
				hidden1.setAttribute('name', 'hncaptcha');
				$('secure'+id).insert({before: hidden1});
						
				var hidden2 = new Element('input');				
				hidden2.setAttribute('type', 'hidden');
				hidden2.setAttribute('id', 'public_key'+id);
				hidden2.setAttribute('name', 'public_key');
				$('secure'+id).insert({before: hidden2});
				
				
			}
			
			$('hncaptcha'+id).value = obj.hncaptcha;
			$('public_key'+id).value = obj.key;
			$('secureImage'+id).src = obj.image;

			
		} else {
			//captcha
			if(obj.newCaptcha) {
				if(obj.newCaptcha == 1) {
					$('hncaptcha').value = obj.hncaptcha;
					$('public_key').value = obj.key;
					$('secureImage').src = obj.image;
				}
			}
		}
		
    	
    } else {
    	
    	if(obj.redirect) {
			self.location.href = obj.redirect;
		}
    	
    }
}

function resizeDiv(){
	document.getElementById('firstStartDiv').style.height='0px';
	document.getElementById('firstStartDiv').style.display='none';
	document.getElementById('infoBox').style.top='235px';
}



//image preloader
//array of images 
var imgs = new Array(); 
imgs.push(sPfadRoot +"includes/1/design/1/ui/icons/arrow_hover.gif"); 
imgs.push(sPfadRoot +"includes/1/design/1/ui/icons/stair2.png"); 
imgs.push(sPfadRoot +"includes/1/design/1/podcast_hover.jpg"); 
imgs.push(sPfadRoot +"includes/1/design/1/moreevents_hover.jpg"); 
imgs.push(sPfadRoot +"includes/1/design/1/morevids_hover.jpg"); 
imgs.push(sPfadRoot +"includes/1/design/1/ui/mpbg_hover.png"); 
imgs.push(sPfadRoot +"includes/1/design/1/ui/icons/arrow_small_red.png"); 


// preload the images 
function preloadImages() { 
 var tmp = null; 
 for (var j = 0; j < imgs.length; j++) { 
   tmp = imgs[j]; 
   imgs[j] = new Image(); 
   imgs[j].src = tmp; 
 } 
}
preloadImages();


var emptyInputArray = new Array();
function checkEmptyInput(id) {
	if(emptyInputArray.indexOf(id) == '-1') {
		$(id).value = '';
		emptyInputArray.push(id);
	}
}

function showFrame(url, width, height) {
	var link = new Element('a');
	link.setAttribute('href', url);
	link.setAttribute('rel', 'lyteframe');
	link.setAttribute('rev', 'width: '+width+'px; height: '+height+'px; scrolling: no;');
	myLytebox.start(link, false, true);
	
}

