function isEmail(feld){
   var supported = 0;
   if(window.RegExp)
     {
      var tempStr = "a";
      var tempReg = new RegExp(tempStr);
       if (tempReg.test(tempStr)) { supported = 1; }
	 }
   if (!supported) { return (feld.indexOf(".") > 2) && (feld.indexOf("@") > 0); }
   var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
   var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$");
   return (!r1.test(feld) && r2.test(feld));
}
function showHint(nr,text) {
	var field;
	if(nr === 0) { field = document.getElementById("hintfield"); }
	else { field = document.getElementById("hintfield"+nr); }
	if(field){
		field.innerHTML = text;
	}
}
function hideHint(nr) {
	var field;
	if(nr === 0) { field = document.getElementById("hintfield"); }
	else { field = document.getElementById("hintfield"+nr); }
	if(field){
		field.innerHTML = '&nbsp;';
	}
}
function checkFieldForLength(hintNr,whatYouTyped,maxLeng) {
	var txt = whatYouTyped.value; 
	if (!maxLeng) { maxLeng = 2; }
	if (txt.length >= maxLeng) {
		whatYouTyped.style.backgroundColor = "#ACDDF5";
		hideHint(hintNr);
		return true;
	}
	else {
		whatYouTyped.style.backgroundColor = "#F7C488";
		return false;
	}
}
function checkAll(chkField) {
	for(var i = 1; i <= 20; i++){
		var chk = document.getElementById("p"+i);
		if(chkField.checked){
			chk.checked = true;
		} else {
			chk.checked = false;
		}
	}
}
String.prototype.chunk = function(n) {
if (typeof n=='undefined') n=2;
return this.match(RegExp('.{1,'+n+'}','g'));
};
function showControlHint(hintId,prefix) {
	/*var hint = document.getElementById(hintId); 
	var txt = whatYouTyped.value; 
	if(hintId == 'controlTelCCode' && txt != ''){
		hint.innerHTML = '+' + txt;
	} else 
	if(hintId == 'controlTelACode' && txt != '') {
		hint.innerHTML = '(' + txt + ')';
	} else
	if(hintId == 'controlTelExt' && txt != '') {
		hint.innerHTML = '-' + txt;
	} else {
		if(txt != ''){
		var a = txt.chunk(3); 
		var str = '';
		for (var i = 0; i < a.length; i++){
			str = ((i == (a.length-1)) && (txt.length%3==1)) ? str + a[i] : str + ' ' + a[i];
		}
		hint.innerHTML = str;
		}
	}*/
	var hiddenField = document.getElementById(prefix+"TelNumber"); 
	var tCCode = document.getElementById(prefix+"TelCCode"); 
	var tACode = document.getElementById(prefix+"TelACode"); 
	var tLNumber = document.getElementById(prefix+"TelLNumber"); 
	var tExt = document.getElementById(prefix+"TelExt"); 
	if (tLNumber.value != '' && tACode.value != '' && tCCode.value != '') {
		var num = tLNumber.value; 
		var a = num.chunk(3); 
		var str = '';
		for (var i = 0; i < a.length; i++){
			str = ((i == (a.length-1)) && (num.length%3==1)) ? str + a[i] : str + ' ' + a[i];
		}
		txtExt = (tExt.value != '') ? '-' + tExt.value : '';
		hiddenField.value = '+' + tCCode.value + ' (' + tACode.value + ') ' + str + txtExt;
	}
}
function trackKeys(evnt,regEx) {
   	var keyCode = evnt.keyCode ? evnt.keyCode : evnt.which;
 	return !!String.fromCharCode(keyCode).match(regEx) || keyCode>36 && keyCode<41 || keyCode==8 || keyCode==9 || keyCode==46 || keyCode==13;
}
function checkEmail(hintNr,whatYouTyped) {
	var txt = whatYouTyped.value;
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(txt)) {
		whatYouTyped.style.backgroundColor = "#ACDDF5";
		hideHint(hintNr);
		return true;
	} else {
		whatYouTyped.style.backgroundColor = "#F7C488";
		return false;
	}
}
			function chkFormular(formName,formType)
				{ 
					var hintNr;
					if(formType === 0 || formType == 1 || formType == 3) { hintNr = 0; } else { hintNr = 1; }
					var form = document.forms[formName];
					if ((formType === 0) && form.Purpose.selectedIndex === 0)
						{
							showHint(0,'Please indicate the purpose of your request!');
							form.Purpose.focus();
							return false;
						}
					if ((formType === 0 || formType == 1 || formType == 3) && form.Represents.selectedIndex === 0)
						{
							showHint(0,'Please select if you are a Medical Distributor or End-user!');
							form.Represents.focus();
							return false;
						}
					if ((formType === 0 || formType == 1 || formType == 3) && (form.Title.value === '' || !checkFieldForLength(hintNr,form.Title,2)))
						{
							showHint(0,'Please enter your Title!');
							checkFieldForLength(hintNr,form.Title,2);
							form.Title.focus();
							return false;
						}
					if ((formType == 3) && (form.Name.value === '' || !checkFieldForLength(hintNr,form.Name,2)))
						{
							showHint(0,'Please enter your Name!');
							checkFieldForLength(hintNr,form.Name,2);
							form.Name.focus();
							return false;
						}
					if ((formType === 0 || formType == 1)   && (form.First_Name.value === '' || !checkFieldForLength(hintNr,form.First_Name,2)))
						{
							showHint(0,'Please enter your First Name!');
							checkFieldForLength(hintNr,form.First_Name,2);
							form.First_Name.focus();
							return false;
						}
					if ((formType === 0 || formType == 1)   && (form.Last_Name.value === '' || !checkFieldForLength(hintNr,form.Last_Name,2)))
						{
							showHint(0,'Please enter your Last Name!');
							checkFieldForLength(hintNr,form.Last_Name,2);
							form.Last_Name.focus();
							return false;
						}
 					if ((formType === 0 || formType == 1 || formType == 3) && (form.Company_Institution.value === '' || !checkFieldForLength(hintNr,form.Company_Institution,2)))
						{
							showHint(0,'Please enter the name of your Company or Institution!');
							checkFieldForLength(hintNr,form.Company_Institution,2);
							form.Company_Institution.focus();
							return false;
						}
 					if ((formType === 0 || formType == 1) && (form.Street.value === '' || !checkFieldForLength(hintNr,form.Street,3)))
						{
							showHint(0,'Please enter Street name and Number!');
							checkFieldForLength(hintNr,form.Street,3);
							form.Street.focus();
							return false;
						}
 					if ((formType === 0 || formType == 1) && (form.ZIP_Code.value === '' || !checkFieldForLength(hintNr,form.ZIP_Code,3)))
						{
							showHint(0,'Please enter the ZIP code!');
							checkFieldForLength(hintNr,form.ZIP_Code,3);
							form.ZIP_Code.focus();
							return false;
						}
 					if ((formType === 0 || formType == 1) && (form.City.value === '' || !checkFieldForLength(hintNr,form.City,2)))
						{
							showHint(0,'Please enter the City!');
							checkFieldForLength(hintNr,form.City,2);
							form.City.focus();
							return false;
						}
 					if ((formType === 0 || formType == 1) && (form.State_Region.value === '' || !checkFieldForLength(hintNr,form.State_Region,2)))
						{
							showHint(0,'Please enter State or Region!');
							checkFieldForLength(hintNr,form.State_Region,2);
							form.State_Region.focus();
							return false;
						}
					if ((formType === 0 || formType == 1 || formType == 3) && (form.Country.value === '' || !checkFieldForLength(hintNr,form.Country,2)))
						{
							showHint(0,'Please enter the Country!');
							checkFieldForLength(hintNr,form.Country,2);
							form.Country.focus();
							return false;
						}
					if ((formType === 0 || formType == 1 || formType == 3) && (form.TelCCode.value === '' || !checkFieldForLength(hintNr,form.TelCCode,1)))
    					{
     						showHint(0,'Please enter country code!');
							checkFieldForLength(hintNr,form.TelCCode,1);
     						form.TelCCode.focus();
     						return false;
    					}
					if ((formType === 0 || formType == 1 || formType == 3) && (form.TelACode.value === '' || !checkFieldForLength(hintNr,form.TelACode,2)))
    					{
     						showHint(0,'Please enter area code!');
							checkFieldForLength(hintNr,form.TelACode,2);
     						form.TelACode.focus();
     						return false;
    					}
					if ((formType === 0 || formType == 1 || formType == 3) && (form.TelLNumber.value === '' || !checkFieldForLength(hintNr,form.TelLNumber,4)))
    					{
     						showHint(0,'Please enter local number!');
							checkFieldForLength(hintNr,form.TelLNumber,4);
     						form.TelLNumber.focus();
     						return false;
    					}
					if ((formType === 0 || formType == 1 || formType == 3) && !checkEmail(hintNr,form.Email))
    					{
     						showHint(hintNr,'Please enter your Email address!');
							checkEmail(hintNr,form.Email);
     						form.Email.focus();
     						return false;
    					}
					if ((formType === 1) && form.Purpose.selectedIndex === 0)
						{
							showHint(0,'Please indicate the purpose of your request!');
							form.Purpose.focus();
							return false;
						}
					if (formType == 2 && (form.Company_Trade_or_business_name.value === '' || !checkFieldForLength(1,form.Company_Trade_or_business_name,2)))
						{
							showHint(1,'Please enter trade or business name of your company!');
							checkFieldForLength(1,form.Company_Trade_or_business_name,2);
							form.Company_Trade_or_business_name.focus();
							return false;
						}
 					if (formType == 2 && (form.Company_Addr_Street.value === '' || !checkFieldForLength(1,form.Company_Addr_Street,3)))
						{
							showHint(1,'Please enter Street!');
							checkFieldForLength(1,form.Company_Addr_Street,3);
							form.Company_Addr_Street.focus();
							return false;
						}
 					if (formType == 2 && (form.Company_Addr_ZIP_Code.value === '' || !checkFieldForLength(1,form.Company_Addr_ZIP_Code,3)))
						{
							showHint(1,'Please enter ZIP Code!');
							checkFieldForLength(1,form.Company_Addr_ZIP_Code,3);
							form.Company_Addr_ZIP_Code.focus();
							return false;
						}
 					if (formType == 2 && (form.Company_Addr_City.value === '' || !checkFieldForLength(1,form.Company_Addr_City,2)))
						{
							showHint(1,'Please enter City!');
							checkFieldForLength(1,form.Company_Addr_City,2);
							form.Company_Addr_City.focus();
							return false;
						}
 					if (formType == 2 && (form.Company_Addr_State_Region.value === '' || !checkFieldForLength(1,form.Company_Addr_State_Region,2)))
						{
							showHint(1,'Please enter State/Region!');
							checkFieldForLength(1,form.Company_Addr_State_Region,2);
							form.Company_Addr_State_Region.focus();
							return false;
						}
 					if (formType == 2 && (form.Company_Addr_Country.value === '' || !checkFieldForLength(1,form.Company_Addr_Country,2)))
						{
							showHint(1,'Please enter Country!');
							checkFieldForLength(1,form.Company_Addr_Country,2);
							form.Company_Addr_Country.focus();
							return false;
						}
					if (formType == 2 && (form.TelCCode.value === '' || !checkFieldForLength(hintNr,form.TelCCode,1)))
    					{
     						showHint(1,'Please enter country code!');
							checkFieldForLength(hintNr,form.TelCCode,1);
     						form.TelCCode.focus();
     						return false;
    					}
					if (formType == 2 && (form.TelACode.value === '' || !checkFieldForLength(hintNr,form.TelACode,2)))
    					{
     						showHint(1,'Please enter area code!');
							checkFieldForLength(hintNr,form.TelACode,2);
     						form.TelACode.focus();
     						return false;
    					}
					if (formType == 2 && (form.TelLNumber.value === '' || !checkFieldForLength(hintNr,form.TelLNumber,4)))
    					{
     						showHint(1,'Please enter local number!');
							checkFieldForLength(hintNr,form.TelLNumber,4);
     						form.TelLNumber.focus();
     						return false;
    					}
 					if (formType == 2 && (form.Company_Field_of_business.value === '' || !checkFieldForLength(2,form.Company_Field_of_business,3)))
						{
							showHint(2,'Please enter your company\'s field of business!');
							checkFieldForLength(2,form.Company_Field_of_business,3);
							form.Company_Field_of_business.focus();
							return false;
						}
 					if (formType == 2 && (form.Company_Geographic_area.value === '' || !checkFieldForLength(2,form.Company_Geographic_area,2)))
						{
							showHint(2,'Please enter the geographical area in which your company is doing business!');
							checkFieldForLength(2,form.Company_Geographic_area,2);
							form.Company_Geographic_area.focus();
							return false;
						}
					if (formType == 2 && (form.First_Name.value === '' || !checkFieldForLength(3,form.First_Name,1)))
    					{
     						showHint(3,'Please enter your first name!');
							checkEmail(3,form.First_Name);
     						form.First_Name.focus();
     						return false;
    					}
					if (formType == 2 && (form.Last_Name.value === '' || !checkFieldForLength(3,form.Last_Name,1)))
    					{
     						showHint(3,'Please enter your last name!');
							checkEmail(3,form.Last_Name);
     						form.Last_Name.focus();
     						return false;
    					}
					if (formType == 2 && (form.DirectTelCCode.value === '' || !checkFieldForLength(3,form.DirectTelCCode,1)))
    					{
     						showHint(3,'Please enter country code!');
							checkFieldForLength(3,form.DirectTelCCode,1);
     						form.DirectTelCCode.focus();
     						return false;
    					}
					if (formType == 2 && (form.DirectTelACode.value === '' || !checkFieldForLength(3,form.DirectTelACode,2)))
    					{
     						showHint(3,'Please enter area code!');
							checkFieldForLength(3,form.DirectTelACode,2);
     						form.DirectTelACode.focus();
     						return false;
    					}
					if (formType == 2 && (form.DirectTelLNumber.value === '' || !checkFieldForLength(3,form.DirectTelLNumber,4)))
    					{
     						showHint(3,'Please enter local number!');
							checkFieldForLength(3,form.DirectTelLNumber,4);
     						form.DirectTelLNumber.focus();
     						return false;
    					}
					if (formType == 2 && !checkEmail(3,form.Contact_Email))
    					{
     						showHint(3,'Please enter your email address!');
							checkEmail(3,form.Contact_Email);
     						form.Contact_Email.focus();
     						return false;
    					}
					if (formType == 2 && form.Attentively_by_Select.selectedIndex === 0)
						{
							showHint(4,'Please select where you heard about us?');
							form.Attentively_by_Select.focus();
							return false;
						}
					if(formType == 1 && form.Product.value == '#')
						{
							showHint(0,'Please select the product(s)! Hold CTRL for multiple choice');
							form.Product.focus();
							//document.Contact.Represents.focus();
							return false;
						}
					if (formType == 1 && form.Question.value === '')
						{
							showHint(0,'Please enter your question(s)!');
							form.Question.focus();
							return false;
						}
 					if (formType == 3 && (form.Proposed_Date.value === '' || !checkFieldForLength(hintNr,form.Proposed_Date,2)))
						{
							showHint(hintNr,'Please enter the date you proposed for an appointment!');
							checkFieldForLength(hintNr,form.Proposed_Date,2);
							form.Proposed_Date.focus();
							return false;
						}
 					if (formType == 3 && (form.Proposed_Time.value === '' || !checkFieldForLength(hintNr,form.Proposed_Time,2)))
						{
							showHint(hintNr,'Please enter the time you proposed for an appointment!');
							checkFieldForLength(hintNr,form.Proposed_Time,2);
							form.Proposed_Time.focus();
							return false;
						}
   					else
   	 					{
     						return true;
    					}
  				}

function timedClose(inSec)
{
	var t;
	t = setTimeout("self.parent.tb_remove()", inSec);
}


