
function cleanLegend(field, legend)
{
    if(field.value == legend)
        field.value='';
    else if(field.value == '')
        field.value= legend;
}

function regexmail(mail) 
{
	var regexist = false;
	var res = false;
	if(typeof(RegExp) == 'function') 
	{
		var testregex = new RegExp('abc');
			if(testregex.test('abc') == true)
			{
				regexist = true;
			}
		}
	if(regexist == true) 
	{
		reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)(\\@)([a-zA-Z0-9\\-\\.]+)(\\.)([a-zA-Z]{2,4})$');
		res = (reg.test(mail));
		} 
	else 
		{
			res = (mail.search('@') >= 1 && mail.lastIndexOf('.') > mail.search('@') && mail.lastIndexOf('.') >= mail.length-5)
		}
		return(res);
}	

function validate(form, messageDiv)
{
    var message = "";
    var status = true;
    
	var FieldsMandatory = new Array();
	FieldsMandatory["gender"] = {"highlight":"#990000", "error": "Bitte füllen Sie alle Pflichtfelder aus.\n","default": "Anrede*"};
	FieldsMandatory["firstname"] = {"highlight":"#990000", "error": "Bitte füllen Sie alle Pflichtfelder aus.\n","default": "Vorname*"};
	FieldsMandatory["lastname"]  = {"highlight":"#990000", "error": "Bitte füllen Sie alle Pflichtfelder aus.\n","default": "Nachname*"};
	FieldsMandatory["company"]  = {"highlight":"#990000", "error": "Bitte füllen Sie alle Pflichtfelder aus.\n","default": "Firma*"};
	FieldsMandatory["email"]     = {"highlight":"#990000", "error": "Ihre angegebene E-Mailadresse ist nicht gültig. Bitte überprüfen Sie die Schreibweise nocheinmal! ","default": "E-Mail*"};

	FieldsMandatory["zip"]       = {"highlight":"#990000", "error": "Bitte füllen Sie alle Pflichtfelder aus.\n","default": "PLZ*"};
	FieldsMandatory["city"]      = {"highlight":"#990000", "error": "Bitte füllen Sie alle Pflichtfelder aus.\n","default": "Ort*"};
	FieldsMandatory["region"]    = {"highlight":"#990000", "error": "Bitte füllen Sie alle Pflichtfelder aus.\n","default": "Bitte wählen Sie Ihr Land *"};
	FieldsMandatory["street"]    = {"highlight":"#990000", "error": "Bitte füllen Sie alle Pflichtfelder aus.\n","default": "Strasse*"};
	FieldsMandatory["region"]    = {"highlight":"#990000", "error": "Bitte füllen Sie alle Pflichtfelder aus.\n","default": "Land*"};

	FieldsMandatory["disclaimer"]    = {"highlight":"#990000", "error": "Bitte akzeptieren Sie den Disclaimertext.\n","default": "Disclaimer*"};

	switch(form.id) {
	case "contactform-general":
		FieldsMandatory["telephone"]    = {"highlight":"#990000", "error": "Bitte füllen Sie alle Pflichtfelder aus.\n","default": "Telefonnummer*"};
		FieldsMandatory["productservice"]    = {"highlight":"#990000", "error": "Bitte füllen Sie alle Pflichtfelder aus.\n","default": "Produkte / Services*"};
		break;
	case "contactform-subscription":
		if(showSubscriptionAddress)
		{
			FieldsMandatory["newzip"]       = {"highlight":"#990000", "error": "Bitte füllen Sie alle Pflichtfelder aus.\n","default": "Neue Postleitzahl*"};
			FieldsMandatory["newcity"]      = {"highlight":"#990000", "error": "Bitte füllen Sie alle Pflichtfelder aus.\n","default": "Neue Stadt*"};
			FieldsMandatory["newregion"]    = {"highlight":"#990000", "error": "Bitte füllen Sie alle Pflichtfelder aus.\n","default": "Bitte wählen Sie Ihr Land*"};
			FieldsMandatory["newstreet"]    = {"highlight":"#990000", "error": "Bitte füllen Sie alle Pflichtfelder aus.\n","default": "Neue Adresse*"};
		}
		else if(showSubscriptionOrdernum)
		{
			FieldsMandatory["ordernum"]     = {"highlight":"#990000", "error": "Bitte füllen Sie alle Pflichtfelder aus.\n","default": "Anzahl der benötigten Kopien*"};
		}
		break;
	case "contactform-pti":
		FieldsMandatory["product"]    = {"highlight":"#990000", "error": "Bitte füllen Sie alle Pflichtfelder aus.\n","default": "Produkt*"};
		FieldsMandatory["service"]    = {"highlight":"#990000", "error": "Bitte füllen Sie alle Pflichtfelder aus.\n","default": "Service*"};
		break;
	case "contactform-transformer":
		FieldsMandatory["PowerT"]      = {"highlight":"#990000", "error": "Bitte wählen Sie Ihre gewünschten Themen.\n","default": "Topics*"};
		FieldsMandatory["HVDC"]    	   = {"highlight":"#990000", "error": "Bitte wählen Sie Ihre gewünschten Themen.\n","default": "Topics*"};
		FieldsMandatory["Reactors"]    = {"highlight":"#990000", "error": "Bitte wählen Sie Ihre gewünschten Themen.\n","default": "Topics*"};
		FieldsMandatory["PST"]    	   = {"highlight":"#990000", "error": "Bitte wählen Sie Ihre gewünschten Themen.\n","default": "Topics*"};
		FieldsMandatory["OIT"]    	   = {"highlight":"#990000", "error": "Bitte wählen Sie Ihre gewünschten Themen.\n","default": "Topics*"};
		FieldsMandatory["EACT"]    	   = {"highlight":"#990000", "error": "Bitte wählen Sie Ihre gewünschten Themen.\n","default": "Topics*"};
		FieldsMandatory["EAFS"]    	   = {"highlight":"#990000", "error": "Bitte wählen Sie Ihre gewünschten Themen.\n","default": "Topics*"};
		FieldsMandatory["DCEA"]    	   = {"highlight":"#990000", "error": "Bitte wählen Sie Ihre gewünschten Themen.\n","default": "Topics*"};
		FieldsMandatory["RT"]    	   = {"highlight":"#990000", "error": "Bitte wählen Sie Ihre gewünschten Themen.\n","default": "Topics*"};
		FieldsMandatory["CT"]    	   = {"highlight":"#990000", "error": "Bitte wählen Sie Ihre gewünschten Themen.\n","default": "Topics*"};
		FieldsMandatory["LFT"]    	   = {"highlight":"#990000", "error": "Bitte wählen Sie Ihre gewünschten Themen.\n","default": "Topics*"};
		FieldsMandatory["DT"]    	   = {"highlight":"#990000", "error": "Bitte wählen Sie Ihre gewünschten Themen.\n","default": "Topics*"};
		FieldsMandatory["GEAFOL"]      = {"highlight":"#990000", "error": "Bitte wählen Sie Ihre gewünschten Themen.\n","default": "Topics*"};
		FieldsMandatory["LDT"]    	   = {"highlight":"#990000", "error": "Bitte wählen Sie Ihre gewünschten Themen.\n","default": "Topics*"};
		FieldsMandatory["VR"]    	   = {"highlight":"#990000", "error": "Bitte wählen Sie Ihre gewünschten Themen.\n","default": "Topics*"};
		FieldsMandatory["TT"]    	   = {"highlight":"#990000", "error": "Bitte wählen Sie Ihre gewünschten Themen.\n","default": "Topics*"};
		FieldsMandatory["TLM"]    	   = {"highlight":"#990000", "error": "Bitte wählen Sie Ihre gewünschten Themen.\n","default": "Topics*"};
		FieldsMandatory["CAD"]    	   = {"highlight":"#990000", "error": "Bitte wählen Sie Ihre gewünschten Themen.\n","default": "Topics*"};
		FieldsMandatory["OM"]    	   = {"highlight":"#990000", "error": "Bitte wählen Sie Ihre gewünschten Themen.\n","default": "Topics*"};
		FieldsMandatory["CE"]    	   = {"highlight":"#990000", "error": "Bitte wählen Sie Ihre gewünschten Themen.\n","default": "Topics*"};
		FieldsMandatory["MLEP"]    	   = {"highlight":"#990000", "error": "Bitte wählen Sie Ihre gewünschten Themen.\n","default": "Topics*"};
		FieldsMandatory["SPA"]    	   = {"highlight":"#990000", "error": "Bitte wählen Sie Ihre gewünschten Themen.\n","default": "Topics*"};
		FieldsMandatory["TIC"]    	   = {"highlight":"#990000", "error": "Bitte wählen Sie Ihre gewünschten Themen.\n","default": "Topics*"};
		break;
	case "contactform-excitation":
		break;
	}

    topiccount = 0;
	for(var field_temp in FieldsMandatory)
    {
		if
		((
		field_temp == 'PowerT' || 
		field_temp == 'HVDC' || 
		field_temp == 'Reactors' || 
		field_temp == 'PST' || 
		field_temp == 'OIT' || 
		field_temp == 'EACT' || 
		field_temp == 'EAFS' || 
		field_temp == 'DCEA' || 
		field_temp == 'RT' || 
		field_temp == 'CT' || 
		field_temp == 'LFT' || 
		field_temp == 'DT' || 
		field_temp == 'GEAFOL' || 
		field_temp == 'LDT' || 
		field_temp == 'VR' || 
		field_temp == 'TT' || 
		field_temp == 'TLM' || 
		field_temp == 'CAD' || 
		field_temp == 'OM' || 
		field_temp == 'CE' || 
		field_temp == 'MLEP' || 
		field_temp == 'SPA' || 
		field_temp == 'TIC')
		&& form.elements[field_temp].checked == true)
		{
			topiccount = topiccount +1;
		} 
			
	}
	for(var field in FieldsMandatory)
    {
        if(form.elements[field] && field != 'all' && form.elements[field].style) {
            if( (field == 'email' && !regexmail(getElementText(form.elements[field]))) ||
                (field != 'email' && getElementText(form.elements[field]) == FieldsMandatory[field]['default'] || getElementText(form.elements[field]) == '') )
            {
                form.elements[field].style.color = FieldsMandatory[field]['highlight'];
                error = FieldsMandatory[field]['error'];
                if(message.indexOf(error) < 0)
                    message += error;
                status = false;
            }
            else if(field == 'disclaimer' && form.elements[field].checked == false)
            {
            	var selector = 'form#' + form.id + ' div.disclaimer';
            	$$(selector).each(function(item){item.addClassName('errorfield')});
            	
                form.elements[field].style.color = FieldsMandatory[field]['highlight'];
            	error = FieldsMandatory[field]['error'];
            	if(message.indexOf(error) < 0)
                    message += error;
            	status = false;
            }
            else if(form.id == 'contactform-transformer')
			{
				if(
				(
				field == 'PowerT' || 
				field == 'HVDC' || 
				field == 'Reactors' || 
				field == 'PST' || 
				field == 'OIT' || 
				field == 'EACT' || 
				field == 'EAFS' || 
				field == 'DCEA' || 
				field == 'RT' || 
				field == 'CT' || 
				field == 'LFT' || 
				field == 'DT' || 
				field == 'GEAFOL' || 
				field == 'LDT' || 
				field == 'VR' || 
				field == 'TT' || 
				field == 'TLM' || 
				field == 'CAD' || 
				field == 'OM' || 
				field == 'CE' || 
				field == 'MLEP' || 
				field == 'SPA' || 
				field == 'TIC'
				) && topiccount == 0)
				{
					var selector = 'form#' + form.id + ' div.topic';
					$$(selector).each(function(item){item.addClassName('errorfield')});
            	
					form.elements[field].style.color = FieldsMandatory[field]['highlight'];
					error = FieldsMandatory[field]['error'];
					if(message.indexOf(error) < 0)
						message += error;
					status = false;
				}
			}
			else if(form.elements[field].type == 'hidden')
            {
            	var selector = '';
        		switch(form.elements[field].name)
        		{
        		case 'gender':
        			selector = 'contact-gender' + '-' + form.id.split('-')[1];
        			break;
        		case 'productservice':
        			selector = 'contact-productservice';
        			break;
        		default:
        			selector = form.elements[field].name + '-' + form.id.split('-')[1];;
        			break;
        		}
        		
            	if(form.elements[field].value == '')
            	{
            		$(selector).down('p').down('a').style.color=FieldsMandatory[field]['highlight'];
            		error = FieldsMandatory[field]['error'];
                	if(message.indexOf(error) < 0)
                        message += error;
            		status = false;
            	}
            	else
            	{
            		$(selector).down('p').down('a').style.color='#333333';
            	}
            }
            else
            {
                form.elements[field].style.color = '#333333';
                
                $$('div.disclaimer').each(function(item){item.removeClassName('errorfield')});
            }
        }
    }
    document.getElementById(messageDiv).innerHTML = message;    
    return status;
}
function getElementText(element)
{
    if(element.type == 'text')
        return element.value;
    if(element.type == 'select')
        return element.options[element.selectedIndex].text;
}

var showSubscriptionAddress = false;
var showSubscriptionOrdernum = true;

function showOrdernum(show)
{
	if(show == 1)
	{
		$('ordernumset').show();
		$$('fieldset.changeaddress').each(function(item){item.hide();});
		showSubscriptionAddress = false;
		showSubscriptionOrdernum = true;
	}
	else if(show == 2)
	{
		$('ordernumset').hide();
		$$('fieldset.changeaddress').each(function(item){item.show();});
		showSubscriptionAddress = true;
		showSubscriptionOrdernum = false;
	}
	else
	{
		$('ordernumset').hide();
		$$('fieldset.changeaddress').each(function(item){item.hide();});
		showSubscriptionAddress = false;
		showSubscriptionOrdernum = false;
	}
}
