function isEmail(str) {
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}

function validate_mail(form) {
  if (form.subject.value == "") {
	switch(form.i18n.value){
		case "en_US": 
		  	alert ("Please enter a subject!");
			break;
		case "gm_GM": 
		  	alert ("Was ist der Grund Ihres Schreibens?\nBitte füllen Sie die Betreffzeile aus.");
			break;
	}  
	form.subject.focus();
  	return false;
 } 

 if (form.message.value == "") {
	switch(form.i18n.value){
		case "en_US": 
			alert ("Please enter your message!");
			break;
		case "gm_GM": 
		  	alert ("Bitte geben Sie Ihre Nachricht ein.");
			break;
	}  
  form.message.focus();
  return false;
 } 

	if (form.ch  && form.ch.value == "") {
		switch(form.i18n.value){
			case "en_US": 
				alert ("Please enter the transaction code!\nThe transaction code is the white letters within the blue image.");
				break;
			case "gm_GM": 
				alert ("Bitte tragen Sie den Prüfcode ein!\nDer Prüfcode ist in die weiße Ziffernfolge im blauen Kasten.");
				break;
		}  
		form.ch.focus();
		return false;
	}	
	if (form.ch  && form.ch.value.length != 4) {
		switch(form.i18n.value){
			case "en_US": 
				alert ("The transaction code does have 4 characters!");
				break;
			case "gm_GM": 
				alert ("Der Prüfcode hat 4 Zeichen!");
				break;
		}  
		form.ch.focus();
		return false;
	}		 
// if everything is ok proceed the form

 return true;
}

function validate_mail_ads(form) {

  if (form.subject.value == "") {
  	alert ("Please enter a subject!");
	form.subject.focus();
  	return false;
 } 

 
  if (form.name.value == "") {
  	alert ("Please enter a name!");
	form.name.focus();
  	return false;
 } 

 // email empty?
 if (form.email.value == "") {
  alert ("Please enter your e-mail adress!");
  form.email.focus();
  return false;
 } 	
 // email valid?
 if (!isEmail(form.email.value)) {
  alert ("Please enter a valid e-mail address");
  form.email.focus();
  return false;
 }   
  
 if (form.message.value == "") {
  alert ("Please enter your message!");
  form.message.focus();
  return false;
 } 
	if (form.ch  && form.ch.value == "") {
		switch(form.i18n.value){
			case "en_US": 
				alert ("Please enter the transaction code!\nThe transaction code is the white letters within the blue image.");
				break;
			case "gm_GM": 
				alert ("Bitte tragen Sie den Prüfcode ein!\nDer Prüfcode ist in die weiße Ziffernfolge im blauen Kasten.");
				break;
		}  
		form.ch.focus();
		return false;
	}	
	if (form.ch  && form.ch.value.length != 4) {
		switch(form.i18n.value){
			case "en_US": 
				alert ("The transaction code does have 4 characters!");
				break;
			case "gm_GM": 
				alert ("Der Prüfcode hat 4 Zeichen!");
				break;
		}  
		form.ch.focus();
		return false;
	}	
// if everything is ok proceed the form

 return true;
}

// sponsored links form check
function validate_sl(form) {
  if (form.first_name.value == "") {
	switch(form.i18n.value){
		case "en_US": 
		  	alert ("Please enter the destination.");
			break;
		case "gm_GM": 
		  	alert ("Bitte geben Sie die URL an, auf die Ihr Link verweisen soll (www.beispiel.com).");
			break;
	}  
	form.first_name.focus();
  	return false;
  }  	
  if (form.last_name.value == "") {
	switch(form.i18n.value){
		case "en_US": 
		  	alert ("Please enter the text.");
			break;
		case "gm_GM": 
		  	alert ("Bitte geben Sie den text für Ihren Link an.");
			break;
	}  
	form.last_name.focus();
  	return false;
  }    
  if (form.company.value == "") {
	switch(form.i18n.value){
		case "en_US": 
		  	alert ("Please enter your company name!");
			break;
		case "gm_GM": 
		  	alert ("Bitte geben Sie den Namen Ihrer Firma an.");
			break;
	}  
	form.company.focus();
  	return false;
  } 
  if (form.name.value == "") {
	switch(form.i18n.value){
		case "en_US": 
		  	alert ("Please enter your name.");
			break;
		case "gm_GM": 
		  	alert ("Bitte geben Sie Ihren Namen an.");
			break;
	}  
	form.name.focus();
  	return false;
  }  
  if (form.email.value == "") {
	switch(form.i18n.value){
		case "en_US": 
		  	alert ("Please enter your e-mail address!");
			break;
		case "gm_GM": 
		  	alert ("Bitte geben Sie Ihre e-mail Adresse an.");
			break;
	}  
	form.email.focus();
  	return false;
  }  
  if (!isEmail(form.email.value)) {
	switch(form.i18n.value){
		case "en_US": 
		  	alert ("It seems that you have mistyped your email address.");
			break;
		case "gm_GM": 
		  	alert ("In Ihre e-mail Adresse scheint sich ein Tippfehler eingeschlichen zu haben.");
			break;
	}  
	form.email.focus();
  	return false;  
  }
  if (form.title_tag.value == "") {
	switch(form.i18n.value){
		case "en_US": 
		  	alert ("Please enter a mouse over tag for your link.");
			break;
		case "gm_GM": 
		  	alert ("Bitte geben Sie einen Titel für \"mouse over\" an.");
			break;
	}  
	form.title_tag.focus();
  	return false;
  }  
  
}