// Neues Fenster öffnen
function open_function(url,width,height,options) {
  self.name = "myOpener";
  self.msgWindow = open(url, "Window", "width=" + width + ",height=" + height
    + ",screenX=" + (screen.width-width)/2
    + ",screenY=" + (screen.height-height)/2
    + ",dependent=yes"
    + ",left=" + (screen.width-width)/2
    + ",top=" + (screen.height-height)/2
    + options
    );
  if (self.msgWindow) {
    self.msgWindow.focus();
    if (self.msgWindow.opener == null) self.msgWindow.opener = self;
  }
}

// Inhalt des Hauptfensters aus einem Popup ändern
function opener_redirect(url) {
  if(self.opener) {
    opener.location.href=url;
    self.close();
  }
}


// Handler für Mailadressen
function noSpam(account,domain) {
  var myURL = "mailto:"+account+"@"+domain;
  window.location.href = myURL;
}


// Handler für Anklicken des offenen AccordionPanels
var meClosed=0;
function nextPanel() {
  if(meClosed==0) {
    Accordion1.openNextPanel();
    meClosed = 1;
  } else {
    meClosed = 0;
    return;
  }
}

/**
*
* Form Validation
* 
**/

var isFormValide = false;

function validateContactForm(myForm) {		
	// Element validation
	// Element Standard Kontaktfelder
	isFormValide = true;
	var message = "";
	var lang = myForm.lang.value;
	
	
	validate(myForm.from_name);
	validate(myForm.email);
        validate(myForm.mailtext);
        validate(myForm.captcha);
	
	validate(myForm.email);
	if (!checkEmail(myForm.email.value)) {
		highlightElement(myForm.email);
		isFormValide = false;
		if (lang == 'ger')
			message += '\nBitte geben Sie eine gueltige E-Mailadresse ein.';
		else
			message += '\nPlease enter a valid email address.';
	}
	
	// message+= validateAdditionalFields(myForm);
	
	// Error handling
	if (!isFormValide) {
		if (lang == 'ger')
			alert('Bitte fuellen Sie alle Pflichtfelder aus.' + message);
		else
			alert('Please fill out all required fields.' + message);
		return false;
	}
	
	return true;
	
}

function validateSeminarForm(myForm) {		

	isFormValide = true;
	var message = "";
	var lang = myForm.lang.value;
	
	validate(myForm.first_name1);
	validate(myForm.last_name1);
	
	validate(myForm.firm);
	validate(myForm.contact);
	validate(myForm.street);
	validate(myForm.plz);
	validate(myForm.place);
	validate(myForm.tel);
	
	validate(myForm.email);
	
	if (!checkEmail(myForm.email.value)) {
		highlightElement(myForm.email);
		isFormValide = false;
		if (lang == 'ger')
			message += '\nBitte geben Sie eine gueltige E-Mailadresse ein.';
		else
			message += '\nPlease enter a valid email address.';
	}
	
	// Error handling
	if (!isFormValide) {
		if (lang == 'ger')
			alert('Bitte fuellen Sie alle Pflichtfelder aus.' + message);
		else
			alert('Please fill out all required fields.' + message);
		return false;
	}
	
	return true;
}

// Highlights a required field
function highlightElement(el) {
	el.style.backgroundColor = "#FFFF99";
	el.style.border = "1px solid red";
}

// Validates the given input field
function validate(el) {
	if (el.value == "") {
		highlightElement(el)
		isFormValide = false;
	} 		
}

function validateSelect(el) {
	if (el.selectedIndex == 0) {
		highlightElement(el);
		isFormValide = false;
	}
}

// Validates the given email address
function checkEmail(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,4})$');
		res = (reg.test(s));
	} else {
		res = (s.search('@') >= 1 &&
			s.lastIndexOf('.') > s.search('@') &&
			s.lastIndexOf('.') >= s.length-5)
	}
	
	return(res);
}