var xmlHttp = ajaxBrowserCheck();

/* Ajax Pager Functions */
function ajaxBrowserCheck() {
  try
    {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
  }
  catch (e)
  {
  // Internet Explorer
    try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
      try
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (e)
      {
      alert("Your browser does not support AJAX!");
      return false;
      }
    }
  }
  return xmlHttp;
}
/*
function ajaxRequest() {
  var tourCountry = document.applicationForm.tourCountry.value;
  var title = checkradio(document.applicationForm.title);
  var firstname = document.applicationForm.firstname.value;
  var lastname = document.applicationForm.lastname.value;
  var mm = document.applicationForm.mm.value;
  var dd = document.applicationForm.dd.value;
  var yyyy = document.applicationForm.yyyy.value;
  var address = document.applicationForm.address.value;
  var addressAddon = document.applicationForm.addressAddon.value;
  var zip = document.applicationForm.zip.value;
  var place = document.applicationForm.place.value;
  var country = document.applicationForm.country.value;
  var email = document.applicationForm.email.value;
  var phone = document.applicationForm.phone.value;
  var motivation = document.applicationForm.motivation.value;
  
  if (document.applicationForm.uploadVideo)
    var uploadVideo = document.applicationForm.uploadVideo.value;
  else var uploadVideo = '';
  
  if (document.applicationForm.uploadPhoto)
    var uploadPhoto = document.applicationForm.uploadPhoto.value;
  else var uploadPhoto = '';
  
  var motivation = document.applicationForm.motivation.value;
  var terms = document.applicationForm.terms.checked;
  var captcha = document.applicationForm.captcha.value;
  
  //document.forms['applicationForm'].target = 'upload_target'; //'upload_target' is the name of the iframe
  //document.forms['applicationForm'].submit(); 
  
  if(checkFields()) {
	  var myurl = "/sendApplication.php";
	  var passData = "tourCountry="+tourCountry+"&title="+title+"&firstname="+firstname+"&lastname="+lastname;
	      passData+= "&mm="+mm+"&dd="+dd+"&yyyy="+yyyy+"&address="+address+"&addressAddon="+addressAddon+"&zip="+zip+"&place="+place;
	      passData+= "&country="+country+"&email="+email+"&phone="+phone+"&motivation="+motivation;
	      passData+= "&video="+video+"&photo="+photo+"&motivation="+motivation+"&terms="+terms+"&captcha="+captcha;
	  
	  xmlHttp.open("POST", myurl, true);
	  xmlHttp.setRequestHeader("Content-length", passData.length);
	  xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	  //xmlHttp.setRequestHeader("Content-type", "multipart/form-data"); 
	  xmlHttp.onreadystatechange = useHttpResponse;
	  xmlHttp.send(passData);
  }
}
*/
function useHttpResponse() {
  if (xmlHttp.readyState == 4) {
    responseText = '(' + xmlHttp.responseText + ')';
    var respJsonObj = eval(responseText);
    if (respJsonObj.captcha == false) {
      reloadCaptcha();
    } else {
      document.getElementById('headlinePic').src = respJsonObj.headlinePic;
      document.getElementById('appFormHeadlineText').innerHTML = respJsonObj.headline;
      document.getElementById('appFormContent').innerHTML = respJsonObj.content;
    }
  }
}

function checkradio(feld){
  for (i=0; i<feld.length; i++){
      if(feld[i].checked == true){
        return feld[i].value;
      }
  }
}

function checkFields() {
    
  var tourCountry = document.applicationForm.tourCountry.value;
  var title = checkradio(document.applicationForm.title);
  var firstname = document.applicationForm.firstname.value;
  var lastname = document.applicationForm.lastname.value;
  var mm = document.applicationForm.mm.value;
  var dd = document.applicationForm.dd.value;
  var yyyy = document.applicationForm.yyyy.value;
  var address = document.applicationForm.address.value;
  var addressAddon = document.applicationForm.addressAddon.value;
  var zip = document.applicationForm.zip.value;
  var place = document.applicationForm.place.value;
  var country = document.applicationForm.country.value;
  var email = document.applicationForm.email.value;
  var phone = document.applicationForm.phone.value;
  var motivation = document.applicationForm.motivation.value;
  
  //if (document.applicationForm.video)
    var video = document.applicationForm.video.value;
  //else var video = '';
  
  //if (document.applicationForm.photo)
    var photo = document.applicationForm.photo.value;
  //else var photo = '';

  var motivation = document.applicationForm.motivation.value;
  var terms = document.applicationForm.terms.checked;
  var captcha = document.applicationForm.captcha.value;
      
  /** Generell Errors **/
  var errorAboutMe = false;
  var errorBirthday = false;
  var errorMotivation = false;
  var errorUpload = false;
  var errorTerms = false;
  var errorCaptcha = false;
  
  /** Specific Errors **/
  if (!title) {
    document.getElementById('title').className+=" error";
    errorAboutMe = true;
  } else { 
    document.getElementById('title').className="formLeft";
  }
  if(!firstname || firstname=='') {
    document.getElementById('firstname').className+=" error";
    document.applicationForm.firstname.className+=" errorField";
    errorAboutMe = true;
  } else { 
    document.getElementById('firstname').className="formLeft";
    document.applicationForm.firstname.className="inputLong";
  }
  if(!lastname || lastname=='') { 
    document.getElementById('lastname').className+=" error";
    document.applicationForm.lastname.className+=" errorField";
    errorAboutMe = true;
  } else {
    document.getElementById('lastname').className="formLeft";
    document.applicationForm.lastname.className="inputLong";
  }
  if (mm=='-1' || dd=='-1' || yyyy=='-1') { 
    document.getElementById('birthday').className+=" error";
    errorAboutMe = true;
  } else {
    document.getElementById('birthday').className="formLeft";
  }
  if (mm!='-1' && dd!='-1' && yyyy!='-1') {
    if (!isOver21()) {
		    document.getElementById('birthday').className+=" error";
		    //document.getElementById('age').className+=" error";
		    errorAboutMe = true;
		    errorBirthday = true;
		} else if (!isDate(dd,mm,yyyy)){ 
		    document.getElementById('birthday').className+=" error";
		    errorAboutMe = true;
		} else {
		    document.getElementById('birthday').className="formLeft";
		    //document.getElementById('age').className="left tip";
		}
	}
  if(!address || address=='') { 
    document.getElementById('address').className+=" error";
    document.applicationForm.address.className+=" errorField";
    errorAboutMe = true;
  } else {
    document.getElementById('address').className="formLeft";
    document.applicationForm.address.className="inputLong";
  }
   if(!zip || zip=='') { 
    document.getElementById('zip').className+=" error";
    document.applicationForm.zip.className+=" errorField";
    errorAboutMe = true;
  } else {
    document.getElementById('zip').className="";
    document.applicationForm.zip.className="inputShort left";
  }
  var regzip = /(^[a-zA-Z0-9\-]+)$/i;
  if (!regzip.test(zip)) {
    document.getElementById('zip').className+=" error";
    document.applicationForm.zip.className+=" errorField";
  }
  if(!place || place=='') {
    document.getElementById('place').className+=" error";
    document.applicationForm.place.className+=" errorField";
    errorAboutMe = true;
  } else {
    document.getElementById('place').className="";
    document.applicationForm.place.className="inputMiddle left";
  }
  if(country=='-1') { 
    document.getElementById('country').className+=" error";
    errorAboutMe = true;
  } else {
    document.getElementById('country').className="formLeft";
  }
  var regEmail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  if(!email || email=='' || !regEmail.test(email)) {
    document.getElementById('emailTxt').className+=" error";
    errorAboutMe = true;
    document.applicationForm.email.className+=" errorField";
  } else {
    document.getElementById('emailTxt').className="formLeft";
    document.applicationForm.email.className="inputLong";
  }
  if(!phone || phone==''){  
    document.getElementById('phone').className+=" error";
    errorAboutMe = true;
    document.applicationForm.phone.className+=" errorField";
  } else {
    document.getElementById('phone').className="formLeft";
    document.applicationForm.phone.className="inputLong";
  }
  var regphone = /(^[0-9()\-\+\s]+)$/i;
  if (!regphone.test(phone)) {
    errorAboutMe = true;
    document.getElementById('phone').className+=" error";
    document.applicationForm.phone.className+=" errorField";
  }
  if(!motivation || motivation=='') {
    document.getElementById('motivation').className+=" error";
    errorMotivation = true;    
  } else {
    document.getElementById('motivation').className="";
  }
  if((photo=='') && (video=='')) {
    document.getElementById('video').className+=" error";
    document.applicationForm.video.className+=" errorField";
    errorUpload = true;
  } else {
    document.getElementById('video').className="";
    document.applicationForm.video.className="inputFile";
  }
  if(!terms) {  
    document.getElementById('terms').className+=" error";
    document.getElementById('termsLink').style.color = "#ff0000";
    errorTerms = true;    
  } else {
    document.getElementById('terms').className="left tip";
    document.getElementById('termsLink').style.color = "#000000";
  }
  if(!captcha) {  
    document.getElementById('captchaTip').className+=" error";
    document.getElementById('captcha').className="errorField";
    errorCaptcha = true;
  } else {
    document.getElementById('captcha').className="";
    document.getElementById('captchaTip').className="";
  }
  
  if(errorAboutMe) document.getElementById('errorAboutMe').style.display = 'block';
  else document.getElementById('errorAboutMe').style.display = 'none';
  
  if(errorBirthday) document.getElementById('errorBirthday').style.display = 'block';
  else document.getElementById('errorBirthday').style.display = 'none';
  
  if(errorMotivation) document.getElementById('errorMotivation').style.display = 'block';
  else document.getElementById('errorMotivation').style.display = 'none';
  
  if(errorUpload) document.getElementById('errorUpload').style.display = 'block';
  else document.getElementById('errorUpload').style.display = 'none';
  
  if(errorTerms) document.getElementById('errorTerms').style.display = 'block';
  else document.getElementById('errorTerms').style.display = 'none'; 
    
  if (errorAboutMe == false && errorBirthday == false && errorMotivation == false && errorUpload == false && errorCaptcha == false && errorTerms == false) {    
    document.forms['applicationForm'].submit(); 
  }  
  else return false;
    
}

function checkContactFields() {
  
  var title = checkradio(document.contactForm.title);
  var firstname = document.contactForm.firstname.value;
  var lastname = document.contactForm.lastname.value;
  var address = document.contactForm.address.value;
  var addressAddon = document.contactForm.addressAddon.value;
  var zip = document.contactForm.zip.value;
  var place = document.contactForm.place.value;
  var country = document.contactForm.country.value;
  var email = document.contactForm.email.value;
  var phone = document.contactForm.phone.value;
  var message = document.contactForm.message.value;
      
  /** Generell Errors **/
  var errorContact = false;
  
  /** Specific Errors **/
  if (!title) {
    document.getElementById('title').className+=" error";
    errorContact = true;
  } else { 
    document.getElementById('title').className="formLeft";
  }
  if(!firstname || firstname=='') {
    document.getElementById('firstname').className+=" error";
    document.contactForm.firstname.className+=" errorField";
    errorContact = true;
  } else { 
    document.getElementById('firstname').className="formLeft";
    document.contactForm.firstname.className="inputLong";
  }
  if(!lastname || lastname=='') { 
    document.getElementById('lastname').className+=" error";
    document.contactForm.lastname.className+=" errorField";
    errorContact = true;
  } else {
    document.getElementById('lastname').className="formLeft";
    document.contactForm.lastname.className="inputLong";
  }
  if(!address || address=='') { 
    document.getElementById('address').className+=" error";
    document.contactForm.address.className+=" errorField";
    errorContact = true;
  } else {
    document.getElementById('address').className="formLeft";
    document.contactForm.address.className="inputLong";
  }
   if(!zip || zip=='') { 
    document.getElementById('zip').className+=" error";
    document.contactForm.zip.className+=" errorField";
    errorContact = true;
  } else {
    document.getElementById('zip').className="";
    document.contactForm.zip.className="inputShort left";
  }
  var regzip = /(^[a-zA-Z0-9\-]+)$/i;
  if (!regzip.test(zip)) {
    document.getElementById('zip').className+=" error";
    document.contactForm.zip.className+=" errorField";
  }
  if(!place || place=='') {
    document.getElementById('place').className+=" error";
    document.contactForm.place.className+=" errorField";
    errorContact = true;
  } else {
    document.getElementById('place').className="";
    document.contactForm.place.className="inputMiddle left";
  }
  if(country=='-1') { 
    document.getElementById('country').className+=" error";
    errorContact = true;
  } else {
    document.getElementById('country').className="formLeft";
  }
  var regEmail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  if(!email || email=='' || !regEmail.test(email)) {
    document.getElementById('emailTxt').className+=" error";
    errorContact = true;
    document.contactForm.email.className+=" errorField";
  } else {
    document.getElementById('emailTxt').className="formLeft";
    document.contactForm.email.className="inputLong";
  }
  if(!phone || phone==''){  
    document.getElementById('phone').className+=" error";
    errorContact = true;
    document.contactForm.phone.className+=" errorField";
  } else {
    document.getElementById('phone').className="formLeft";
    document.contactForm.phone.className="inputLong";
  }
  var regphone = /(^[0-9()\-\+\s]+)$/i;
  if (!regphone.test(phone)) {
    errorContact = true;
    document.getElementById('phone').className+=" error";
    document.contactForm.phone.className+=" errorField";
  }
  if(!message || message=='') {
    document.getElementById('message').className+=" error";
  } else {
    document.getElementById('message').className="";
  }
    
  if(errorContact) document.getElementById('errorContact').style.display = 'block';
  else document.getElementById('errorContact').style.display = 'none';
    
  if (errorContact == false) {    
    return true;
  }  
  else return false;
    
}

function sendEmail() {
  
  var title = checkradio(document.contactForm.title);
  var firstname = document.contactForm.firstname.value;
  var lastname = document.contactForm.lastname.value;
  var address = document.contactForm.address.value;
  var addressAddon = document.contactForm.addressAddon.value;
  var zip = document.contactForm.zip.value;
  var place = document.contactForm.place.value;
  var country = document.contactForm.country.value;
  var email = document.contactForm.email.value;
  var phone = document.contactForm.phone.value;
  var message = document.contactForm.message.value;
  var lang = document.contactForm.lang.value;
  
  if(checkContactFields()) {
    var myurl = "/register/sendEmail.php";
    var passData = "title="+title+"&firstname="+firstname+"&lastname="+lastname;
        passData+= "&address="+address+"&addressAddon="+addressAddon+"&zip="+zip+"&place="+place;
        passData+= "&country="+country+"&email="+email+"&phone="+phone+"&message="+message+"&lang="+lang;
    
    xmlHttp.open("POST", myurl, true);
    xmlHttp.setRequestHeader("Content-length", passData.length);
    xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlHttp.onreadystatechange = useHttpResponseEmail;
    xmlHttp.send(passData);
  }
}

function useHttpResponseEmail() {
  var data = {};
  if (xmlHttp.readyState == 4) {
    responseText = '(' + xmlHttp.responseText + ')';
    var respJsonObj = eval(responseText);
    document.getElementById('headlinePic').src = respJsonObj.feedback.headlinePic;
    document.getElementById('contactHeadlineText').innerHTML = respJsonObj.feedback.headline;
    document.getElementById('contactContent').innerHTML = respJsonObj.feedback.content;
  }
}

function sendReminder() {
  
  var title = checkradio(document.reminderForm.title);
  var firstname = document.reminderForm.firstname.value;
  var lastname = document.reminderForm.lastname.value;
  var email = document.reminderForm.email.value;
  var infos = document.reminderForm.infos.checked ? 1 : 0;
  var lang = document.reminderForm.lang.value;
   
  if(checkReminderFields()) {
    var myurl = "/register/sendReminderEmail.php";
    var passData = "title="+title+"&firstname="+firstname+"&lastname="+lastname;
        passData+= "&email="+email+"&infos="+infos+"&lang="+lang; 
    xmlHttp.open("POST", myurl, true);
    xmlHttp.setRequestHeader("Content-length", passData.length);
    xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlHttp.onreadystatechange = useHttpResponseEmail;
    xmlHttp.send(passData);
  }
}

function checkReminderFields() {
  
  var title = checkradio(document.reminderForm.title);
  var firstname = document.reminderForm.firstname.value;
  var lastname = document.reminderForm.lastname.value;
  var email = document.reminderForm.email.value;
  var terms = document.reminderForm.terms.checked;
      
  /** Generell Errors **/
  var errorReminder = false;
  
  /** Specific Errors **/
  if (!title) {
    document.getElementById('title').className+=" error";
    errorReminder = true;
  } else { 
    document.getElementById('title').className="formLeft";
  }
  if(!firstname || firstname=='') {
    document.getElementById('firstname').className+=" error";
    document.reminderForm.firstname.className+=" errorField";
    errorReminder = true;
  } else { 
    document.getElementById('firstname').className="formLeft";
    document.reminderForm.firstname.className="inputLong";
  }
  if(!lastname || lastname=='') { 
    document.getElementById('lastname').className+=" error";
    document.reminderForm.lastname.className+=" errorField";
    errorReminder = true;
  } else {
    document.getElementById('lastname').className="formLeft";
    document.reminderForm.lastname.className="inputLong";
  }
  var regEmail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  if(!email || email=='' || !regEmail.test(email)) {
    document.getElementById('emailTxt').className+=" error";
    errorReminder = true;
    document.reminderForm.email.className+=" errorField";
  } else {
    document.getElementById('emailTxt').className="formLeft";
    document.reminderForm.email.className="inputLong";
  }

  if(!terms) {  
    document.getElementById('terms').className = "error";
    document.getElementById('termsLink').style.color = "#ff0000";
    errorReminder = true;    
  } else {
    document.getElementById('terms').className="";
    document.getElementById('termsLink').style.color = "#000000";
  }
    
  //if(errorReminder) document.getElementById('errorReminder').style.display = 'block';
  //else document.getElementById('errorReminder').style.display = 'none';
    
  if (errorReminder == false) {    
    return true;
  }  
  else return false;
    
}

/* Check is valid Date */
function isDate(day,month,year) {
  month = month - 1;
  var selectedDate = new Date(year,month,day);
  var todayDate = new Date();
  if (year != selectedDate.getFullYear()) { return false; }
  if (month != selectedDate.getMonth()) { return false; }
  if (day != selectedDate.getDate()) { return false; }
  return true;
}

/* check if user is older than 18 */
function isOver21() {
  
  var mm = document.applicationForm.mm.value;
  var dd = document.applicationForm.dd.value;
  var yyyy = document.applicationForm.yyyy.value;  
  
  var nowDate = new Date(); 
	  var tag = nowDate.getDate();
	  var monat = nowDate.getMonth();
	  var jahr = nowDate.getFullYear();
  
  var minDate = new Date(jahr-18,monat,tag);
  var userDate = new Date(yyyy,mm-1,dd);
    
  if (minDate.getTime() - userDate.getTime() < 0) return false;//then under 18
  else return true; //over 18
}

function reloadCaptcha() {
   img = document.getElementById('captchaImg');
   img.src = '/captchaImage.php?' + Math.random();
}


function useHttpResponseSubmitPhoto2() {
  if (xmlHttp.readyState == 4) {
    responseText = '(' + xmlHttp.responseText + ')';
    var respJsonObj = eval(responseText);
    alert(respJsonObj.headline);
    //document.getElementById('contactHeadlineText').innerHTML = respJsonObj.headline;
  }
}



function createCookie() {
  //create Cookie
    nD = new Date();
    time4Cookie = nD.getTime() + ((365*2) * 24 * 60 * 60 * 1000);
    nD.setTime(time4Cookie);
    document.cookie = 'remember=true;expires=' + nD.toGMTString();
}
         
function checkTheCookie() {
  if (document.cookie) {
    if (document.cookie.indexOf("remember=true") > -1) { 
      location.href="content.php";
    } 
  }
}

function resizeFrame(lang) {  
      //parent.document.getElementById("appFormInner").height = "350px";
      parent.document.getElementById("appFormInner").className = "appFormiFrameFeedback";
      parent.document.getElementById('headlinePic').src = "/register/_img/layer/" + lang + "/thank_you.gif";
}