    var RformmailIT_DE_index = 'de';
    var RformmailIT_EN_index = 'en';
    var RformmailIT_FR_index = 'fr';
    var RformmailIT_IT_index = 'it';

    var RformmailIT_Fallbacklocale = 'de';
    
    var RformmailIT_DebugHostName1 = 'bb.rit';
    var RformmailIT_DebugHostName2 = 'bb.rit';
    var requiredFieldTexts = new Array();
    var subjectTexts = new Array();
    var ritPrefix = 'RformmailIT';
    
    function RformmailIT_GetLocale()
    {
        var location = new String(window.location.pathname);
        //alert(location);

        var searchTerm = '/language/';
        var pos = location.indexOf(searchTerm);
        
        if (pos < 0) return RformmailIT_Fallbacklocale;
        
        pos = pos + searchTerm.length -1;
        
        if (location.length <= pos)
            return RformmailIT_Fallbacklocale;

        var possibleLocale = location.substr(pos,4);
        
        switch(possibleLocale)
        {
            case '/de-':
                return RformmailIT_DE_index;
                break;
            case '/en-':
                return RformmailIT_EN_index;
                break;
            case '/fr-':
                return RformmailIT_FR_index;
                break;
            case '/it-':
                return RformmailIT_IT_index;
                break;
            default:
                return RformmailIT_Fallbacklocale;
        }
    }

    var RformmailIT_locale = RformmailIT_GetLocale();


    function RformmailIT_CreateLanguageArray()
    {
        // required field texts
        requiredFieldTexts['Name'] = new Array();
        requiredFieldTexts['Name'][RformmailIT_DE_index] = 'Name fehlt';
        requiredFieldTexts['Name'][RformmailIT_EN_index] = 'Name is required';
        requiredFieldTexts['Name'][RformmailIT_FR_index] = 'Le nom manque';
        requiredFieldTexts['Name'][RformmailIT_IT_index] = 'Mancano il nome';

        requiredFieldTexts['FirstName'] = new Array();
        requiredFieldTexts['FirstName'][RformmailIT_DE_index] = 'Vorname fehlt';
        requiredFieldTexts['FirstName'][RformmailIT_EN_index] = 'First name is required';
        requiredFieldTexts['FirstName'][RformmailIT_FR_index] = 'Le prenom manque';
        requiredFieldTexts['FirstName'][RformmailIT_IT_index] = 'Mancano il cognome';

        requiredFieldTexts['Street'] = new Array();
        requiredFieldTexts['Street'][RformmailIT_DE_index] = 'Strasse fehlt';
        requiredFieldTexts['Street'][RformmailIT_EN_index] = 'Street is required';
        requiredFieldTexts['Street'][RformmailIT_FR_index] = 'La rue manque';
        requiredFieldTexts['Street'][RformmailIT_IT_index] = 'Mancano dei dati! Via';

        requiredFieldTexts['PostalCodeAndPlace'] = new Array();
        requiredFieldTexts['PostalCodeAndPlace'][RformmailIT_DE_index] = 'PLZ + Ort fehlt';
        requiredFieldTexts['PostalCodeAndPlace'][RformmailIT_EN_index] = 'ZipCode and City is required';
        requiredFieldTexts['PostalCodeAndPlace'][RformmailIT_FR_index] = 'CP/Ville manque';
        requiredFieldTexts['PostalCodeAndPlace'][RformmailIT_IT_index] = 'Mancano dei dati! CAP e Citta';

        requiredFieldTexts['PhoneHome'] = new Array();
        requiredFieldTexts['PhoneHome'][RformmailIT_DE_index] = 'Telefon privat fehlt';
        requiredFieldTexts['PhoneHome'][RformmailIT_EN_index] = 'Private phone is required';
        requiredFieldTexts['PhoneHome'][RformmailIT_FR_index] = 'Le numero telephone manque';
        requiredFieldTexts['PhoneHome'][RformmailIT_IT_index] = 'Mancano dei dati! Telefono personale';

        requiredFieldTexts['EMail'] = new Array();
        requiredFieldTexts['EMail'][RformmailIT_DE_index] = 'EMail fehlt / EMail ungueltig';
        requiredFieldTexts['EMail'][RformmailIT_EN_index] = 'EMail is required / EMail invalid';
        requiredFieldTexts['EMail'][RformmailIT_FR_index] = 'EMail manque ou incorrect';
        requiredFieldTexts['EMail'][RformmailIT_IT_index] = 'Mancano dei dati! EMail';

    }

    RformmailIT_CreateLanguageArray();
    

	function RIT_CheckSend() 
	{
	  var theForm = document.getElementById('Form');
	  
	  if (theForm == null) return false;
	  
	  // call customer specific procedure
	  SetCustomerSpecificData(ritPrefix);

    // submit language
	  var theLanguageField = document.getElementById(ritPrefix + 'SelectedLanguage');
	  if (theLanguageField != null)
	    theLanguageField.value = RformmailIT_locale
	  
	  
	  var theRequiredField = document.getElementById(ritPrefix + 'RequiredFields');
	  
	  if (theRequiredField == null) RIT_Send(theForm);
	  
	  if (theRequiredField.value == '') RIT_Send(theForm);
	  
	  var arrRequiredFields = theRequiredField.value.split(';');
	  
	  for (var i = 0; i < arrRequiredFields.length; i++)
	  {
		arrRequiredFields[i] = arrRequiredFields[i].replace(/^\s*|\s*$/g,''); //trim()
		var theField = theForm[ritPrefix + arrRequiredFields[i]];
		if (theField != null)
		{
            if (theField.value.replace(/^\s*|\s*$/g,'') == '')
            {
                window.alert(requiredFieldTexts[arrRequiredFields[i]][RformmailIT_locale]);
                theField.focus();
                theField.select();
                return false;
            }
            
            if (arrRequiredFields[i].toUpperCase() == 'EMAIL')
            {
                var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
                if(!reg.test(theField.value))
                {
                    window.alert(requiredFieldTexts[arrRequiredFields[i]][RformmailIT_locale]);
                    theField.focus();
                    theField.select();
                    return false;
                }
            }
		}
	  }	      
      //alert(document.getElementById(ritPrefix + 'RedirectionInfo').value);
	  RIT_Send(theForm);
	  
	  return true;    
	}
	
	function RIT_Send(theForm) 
	{
	  if (theForm == null) return;
	  
	  theForm.action = 'http://www.swisscms.ch/RformmailIT/RformmailIT.ashx';
	  theForm.submit();
  }	
	
	function SetCustomerSpecificData(ritPrefix)
	{
		var theRedirectionInfoField = document.getElementById(ritPrefix + 'RedirectionInfo');
		if (theRedirectionInfoField == null) return;

		theRadioButtonFields = document.getElementsByName(ritPrefix + 'Documentation'); 
		if (theRadioButtonFields == null) return;

		for (var i=0; i < theRadioButtonFields.length; i++)
		{
			if (theRadioButtonFields[i].checked)
			{

				var selectedValue = theRadioButtonFields[i].value;
				switch(selectedValue)
				{
					case 'Keine-Unterlagen/No documentation':
					    RformmailIT_AddQuerystringParamToField(theRedirectionInfoField, 'aw', 'none');
						break;
						
					case 'Unternehmensverkauf/Company sale':
					    RformmailIT_AddQuerystringParamToField(theRedirectionInfoField, 'aw', 'seller');
						break;
						
					case 'Unternehmenskauf/Company purchase':
					    RformmailIT_AddQuerystringParamToField(theRedirectionInfoField, 'aw', 'buyer');
						break;
						
					case 'Unternehmensbewertung/Company valuation':
					    RformmailIT_AddQuerystringParamToField(theRedirectionInfoField, 'aw', 'valuation');
						break;
						
					case 'Verkauf-Liegenschaften/Comercial Real Estate':
					    RformmailIT_AddQuerystringParamToField(theRedirectionInfoField, 'aw', 'estate');
						break;

					default:
					    RformmailIT_AddQuerystringParamToField(theRedirectionInfoField, 'aw', 'none');
						//theRedirectionInfoField.value = 'aw=none';
						break;
				}
			}
		}
	}
	
	function RformmailIT_AddQuerystringParamToField(paramObject, paramKey, paramValue)
	{
	    if (paramObject == null) return;
	    //alert('before: ' + paramObject.value + '; to be added:' + paramKey + '=' + paramValue);
	    
        var objField = new Object();
        paramObject.value.replace(
            new RegExp( "([^?=&]+)(=([^&]*))?", "g" ),
            function( $0, $1, $2, $3 ){
            objField[ $1 ] = $3;
            }
        );
        
        var newString = '';
        
        var i = 0;
        var isAdded = false;
	      for (var strKey in objField)
        {
            if (i>0) newString += '&';
            newString += strKey + '=';
            if (strKey == paramKey)
            {
                newString += paramValue;
                isAdded = true;
            }
            else
                newString += objField[strKey];
            i++;
        }
        if (!isAdded)
        {
            if (i>0) newString += '&';
            newString += paramKey + '=' + paramValue; 
        }
	    paramObject.value = newString;
	    //alert('after: ' + paramObject.value);
	}
	
    function RformmailIT_HandleUrlParameters()
    {
        // Build an empty URL structure in which we will store
        // the individual query values by key.
        var objURL = new Object();

        // Use the String::replace method to iterate over each
        // name-value pair in the query string. Location.search
        // gives us the query string (if it exists).
        window.location.search.replace(
            new RegExp( "([^?=&]+)(=([^&]*))?", "g" ),

            // For each matched query string pair, add that
            // pair to the URL struct using the pre-equals
            // value as the key.
            function( $0, $1, $2, $3 ){
            objURL[ $1 ] = $3;
            }
        );

        var theRedirectionInfoField = document.getElementById(ritPrefix + 'RedirectionInfo');
	
        for (var strKey in objURL)
        {
           // alert(strKey + ' = ' + objURL[strKey]);
            if (strKey == 'ct') // contact type
            {
                var objRadio;
                if (objURL[strKey] == 'sell')
                {
                    objRadio = document.forms[0].RformmailITDocumentation[0];
                    objRadio.checked = true;
                    RformmailIT_AddQuerystringParamToField(theRedirectionInfoField, strKey, objURL[strKey]); // strKey == 'ct'
                }
                else if (objURL[strKey] == 'buy')
                {
                    objRadio = document.forms[0].RformmailITDocumentation[1];
                    objRadio.checked = true;
                    RformmailIT_AddQuerystringParamToField(theRedirectionInfoField, strKey, objURL[strKey]); // strKey == 'ct'
                }
                else if (objURL[strKey] == 'val')
                {
                    objRadio = document.forms[0].RformmailITDocumentation[2];
                    objRadio.checked = true;
                    RformmailIT_AddQuerystringParamToField(theRedirectionInfoField, strKey, objURL[strKey]); // strKey == 'ct'
                }
                else if (objURL[strKey] == 'est')
                {
                    objRadio = document.forms[0].RformmailITDocumentation[3];
                    objRadio.checked = true;
                    RformmailIT_AddQuerystringParamToField(theRedirectionInfoField, strKey, objURL[strKey]); // strKey == 'ct'
                }
                //alert(strKey + ' = ' + objURL[strKey] + ' value of objRadio = ' + objRadio.value);

            }
            else
            {
                RformmailIT_AddQuerystringParamToField(theRedirectionInfoField, strKey, objURL[strKey]); // strKey == '??'
            }
        }
    }

    function RformmailIT_InitializeRadioButtons()
    {
        //alert('RformmailIT_InitializeRadioButtons');
        RformmailIT_HandleUrlParameters();
    }
	
	
	RformmailIT_InitializeRadioButtons();

