function initXMLHttpClient() {
  var xmlhttp;
  try {
         xmlhttp = new XMLHttpRequest();
      } catch (e) {
          var XMLHTTP_IDS = new Array('MSXML2.XMLHTTP.5.0',
                                    'MSXML2.XMLHTTP.4.0',
                                    'MSXML2.XMLHTTP.3.0',
                                    'MSXML2.XMLHTTP',
                                    'Microsoft.XMLHTTP' );
         var success = false;
         for (var i=0;i < XMLHTTP_IDS.length && !success; i++) {
             try {
                  xmlhttp = new ActiveXObject(XMLHTTP_IDS[i]);
                     success = true;
               } catch (e) {}
         }
         if (!success) {
             throw new Error('Cannot make request.');
         }
   }
   return xmlhttp;
}


//Formularze

function check_email(field) {
	 var testresults = false;
	 var str = document.getElementById(field).value;
	 var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	 if (filter.test(str)) {
	    testresults = true; 
	 } else {
	    testresults = false;
	 }
	return (testresults);
}

function send_book_form(lng) {
    var event = document.getElementById('event').options[document.getElementById('event').selectedIndex].value;
    var guests = document.getElementById('guests').value;
    var event_date = document.getElementById('event_date').value;
    var message = document.getElementById('message').value;
    var firstname = document.getElementById('firstName').value;
    var lastname = document.getElementById('lastName').value;
    var street = document.getElementById('street').value;
    var city = document.getElementById('city').value;
    var state = document.getElementById('state').value;
    var zip = document.getElementById('zip').value;
    var email = document.getElementById('email').value;
    var phone = document.getElementById('phone').value;
    
    var post_data = '';
    var lang = lng;
    
    var ev = false;
    var gu = false;
    var ed = false;
    var ms = false;
    var fn = false;
    var ln = false;
    var st = false;
    var ct = false;
    var se = false;
    var zp = false;
    var em = false;
    var ph = false;
    
    if(event != '' && event != 'Choose type of event' && event != 'Vyber typ akce') {
       ev = true;
    } else {
       document.getElementById('event').className = 'text1_error';
    }
    
    if(guests != '' && guests != 'Guests number:' && guests != 'Hosté') {
       gu = true;
    } else {
       document.getElementById('guests').className = 'text3_error';
    }
    
    if(event_date != '' && event_date != 'Date:' && event_date != 'Datum') {
      ed = true;
    } else {
      document.getElementById('event_date').className = 'text3_error';
    }
    
    if(message != '' && message != 'Your message:' && message != 'Vaše zpráva') {
       ms = true;
    } else {
       document.getElementById('message').className = 'texterror';
    }
    
    if(firstname != '' && firstname != 'First name' && firstname != 'Jméno') {
        fn = true;
    } else {
        document.getElementById('firstName').className = 'text1_error';
    }
	   
    if(lastname != '' && lastname != 'Last name' && lastname != 'Příjmení') {
        ln = true;
    } else {
        document.getElementById('lastName').className = 'text1_error';
    }
    
    if(street != '' && street != 'Street Adress' && street != 'Ulice') {
        st = true;
    } else {
       document.getElementById('street').className = 'text2_error';
    }
	   
    if(city != '' && city != 'City' && city != 'Město') {
        ct = true;
    } else {
        document.getElementById('city').className = 'text1_error';
    }

    if(state != '' && state != 'State' && state != 'Provincie') {
        se = true;
    } else {
        document.getElementById('state').className = 'text3_error';
    }
	   
    if(zip != '' && zip != 'Zip Code' && zip != 'PSČ') {
        zp = true;
    } else {
        document.getElementById('zip').className = 'text3_error';
    }
	   
    if(email != '' && email != 'Your email address' && email != '' && email != 'Vaše e-mailová adresa') {
       if(check_email('email') == true) {
            em = true;
        } else {
            document.getElementById('email').className = 'text1_error';
        }
    } else {
       document.getElementById('email').className = 'text1_error';
    }
    
    if(phone != '' && phone != 'Your phone number' && phone != '') {
       ph = true;
    } else {
       document.getElementById('phone').className = 'text1_error';
    }
    
    
    if(ev == true && gu == true && ed == true && ph == true && fn == true && ln == true && st == true && ct == true && se == true && zp == true && em == true && ms == true){
        post_data = 'ev='+encodeURIComponent(event)+'&gu='+encodeURIComponent(guests)+'&ed='+encodeURIComponent(event_date)+'&ph='+encodeURIComponent(phone)+'&fn='+encodeURIComponent(firstname)+'&ln='+encodeURIComponent(lastname)+'&st='+encodeURIComponent(street)+'&ct='+encodeURIComponent(city)+'&se='+encodeURIComponent(state)+'&zp='+encodeURIComponent(zip)+'&em='+encodeURIComponent(email)+'&ms='+encodeURIComponent(message)+'&lng='+encodeURIComponent(lang);
		
        var req = initXMLHttpClient();
        req.onreadystatechange = function() {
           if(req.readyState == 1){
              document.getElementById('sendform').innerHTML = '<div class="sending"><img src="http://www.bohemiannationalhall.com/images/sending_'+lang+'.gif" width="180" height="30" alt="Sending" />';
            }
	  
            if(req.readyState == 4) {
               if(req.status == 200) {
	               if(req.responseText == 'ok'){
	            	  document.getElementById('sendform').innerHTML = '<div class="sending"><img src="http://www.bohemiannationalhall.com/images/confirm_'+lang+'.gif" width="270" height="50" /></div>';  
	               }else{
	            	  document.getElementById('sendform').innerHTML = '<div class="sending"><img src="http://www.bohemiannationalhall.com/images/error_'+lang+'.gif" width="330" height="50" /></div>';
	               }
                } else {
	              alert('Load error: ['+req.status+'] '+req.statusText);
	           }
            }
        };
        req.open('POST','http://www.bohemiannationalhall.com/email/book',true);
        req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;charset=UTF-8;');
        req.send(post_data);
    } else {
       if(lang == 'en') {
         alert('Please fill form correctly');
       } else {
         alert('Please fill form correctly');
       }
    }

}

function send_contact_form(lng) {
	var firstname = document.getElementById('firstName').value;
    var lastname = document.getElementById('lastName').value;
	var street = document.getElementById('street').value;
    var city = document.getElementById('city').value;
    var state = document.getElementById('state').value;
    var zip = document.getElementById('zip').value;
    var email = document.getElementById('email').value;
    var message = document.getElementById('message').value;
    
	var post_data = '';
    var lang = lng;
	
	var fn = false;
    var ln = false;
    var st = false;
    var ct = false;
    var se = false;
    var zp = false;
    var em = false;
    var ms = false;
    


    if(firstname != '' && firstname != 'First:' && firstname != 'Jméno:') {
        fn = true;
    } else {
        document.getElementById('firstName').className = 'text1_error';
    }
	   
    if(lastname != '' && lastname != 'Last:' && lastname != 'Příjmení:') {
        ln = true;
    } else {
        document.getElementById('lastName').className = 'text1_error';
    }
	   
    if(street != '') {
        st = true;
    } else {
       document.getElementById('street').className = 'text2_error';
    }
	   
    if(city != '' && city != 'City:' && city != 'Město:') {
        ct = true;
    } else {
        document.getElementById('city').className = 'text1_error';
    }

    if(state != '' && state != 'State:' && state != 'Provincie:') {
        se = true;
    } else {
        document.getElementById('state').className = 'text3_error';
    }
	   
    if(zip != '' && zip != 'Zip Code:' && zip != 'PSČ:') {
        zp = true;
    } else {
        document.getElementById('zip').className = 'text3_error';
    }
	   
    if(email != '' && email != 'Your email address:' && email != '' && email != 'Vaše e-mailová adresa:') {
       if(check_email('email') == true) {
            em = true;
        } else {
            document.getElementById('email').className = 'text2_error';
        }
    } else {
       document.getElementById('email').className = 'text2_error';
    }
    
    if(message != '' && message != 'Your message:' && message != 'Vaše zpráva:') {
        ms = true;
    } else {
        document.getElementById('message').className = 'error';
    }
		 
    if(fn == true && ln == true && st == true && ct == true && se == true && zp == true && em == true && ms == true){
        post_data = 'fn='+encodeURIComponent(firstname)+'&ln='+encodeURIComponent(lastname)+'&st='+encodeURIComponent(street)+'&ct='+encodeURIComponent(city)+'&se='+encodeURIComponent(state)+'&zp='+encodeURIComponent(zip)+'&em='+encodeURIComponent(email)+'&ms='+encodeURIComponent(message)+'&lng='+encodeURIComponent(lang);
		
        var req = initXMLHttpClient();
        req.onreadystatechange = function() {
           if(req.readyState == 1){
              document.getElementById('sendform').innerHTML = '<div class="sending2"><img src="http://www.bohemiannationalhall.com/images/sending_'+lang+'.gif" width="180" height="30" alt="Sending" />';
            }
	  
            if(req.readyState == 4) {
               if(req.status == 200) {
	               if(req.responseText == 'ok'){
	            	  document.getElementById('sendform').innerHTML = '<div class="sending2"><img src="http://www.bohemiannationalhall.com/images/confirm_'+lang+'.gif" width="270" height="50" /></div>';  
	               }else{
	            	  document.getElementById('sendform').innerHTML = '<div class="sending2"><img src="http://www.bohemiannationalhall.com/images/error_'+lang+'.gif" width="330" height="50" /></div>';
	               }
                } else {
	              alert('Load error: ['+req.status+'] '+req.statusText);
	           }
            }
        };
        req.open('POST','http://www.bohemiannationalhall.com/email/contact',true);
        req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;charset=UTF-8;');
        req.send(post_data);
    } else {
       if(lang == 'en') {
         alert('Please fill form correctly');
       } else {
         alert('Please fill form correctly');
       }
    }
} 