﻿  
var divid = 'msg';
var loadingmessage = '';

//-------------------------------------------------------------

 function onOver(nupp){
document.getElementById(nupp).style.color="#A6906E";
}
 function onRelease(nupp){
 document.getElementById(nupp).style.color="#98085D";
}



function AJAX(){
	
	var xmlHttp;
	try{
	xmlHttp=new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari
	return xmlHttp;
	}
	catch (e){
	try{
	xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
	return xmlHttp;
	}
	catch (e){
	try{
	xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
     return xmlHttp;
	}
	catch (e){
	alert("Your browser does not support AJAX!");
	return false;
	}
	}
	}

}
//----------Chek e-mail and phone-----

function checkform(){
document.getElementById("check_phone").innerHTML="";
document.getElementById("wrong_email").innerHTML="";
var email=document.getElementById("email").value;
var lang=document.getElementById("lang").value;
if(lang == "" || lang == null || lang.charAt(0) == ' '){lang="et"}
switch (lang) {
    case 'et': { var chEmail="Palun, kontrollige e-maili!"; var chPhone="Palun, kirjutage oma telefoni numbrit!"; var wrPhone="Palun, kirjutage õige number!"; break;}
    case 'en':  {var chEmail="Please, check your e-mail!"; var chPhone="Please, write your telephone!"; var wrPhone="Please, enter a Valid Phone Number!"; break;}
    case 'lv': { var chEmail="Lūdzu pārbaudiet jusu e-pasta adresi!"; var chPhone="Lūdzu uzrakstiet Jūsu telefona numuru!"; var wrPhone="Please, enter a Valid Phone Number!"; break;}
    case 'de':  {var chEmail="Please, check your e-mail!"; var chPhone="Please, write your telephone!"; var wrPhone="Please, enter a Valid Phone Number!";  break;}
    case 'ru':  {var chEmail="Пожалуйста, проверте адрес эл.почты!"; var chPhone="Пожалуйста, напишите свой тел. номер!"; var wrPhone="Пожалуйста, напишите правильный тел.номер! "; break;}
    case 'fi':  {var chEmail="Oleka hyvä tarkistakaa oma sähkoposti!";  var chPhone="Kirjoillakaa oma puhelin numero!"; var wrPhone="Please, enter a Valid Phone Number!"; break;}
}

//if(checkmydates('date11','date22','wrong_dates')){
if(validatePhone()){
		if (echeck(email)){
		return true; 
  } else{
  document.getElementById("check_phone").innerHTML="";
  $("#wrong_email").append(chEmail); return false;
}
}


}

//--------------Check dates------------
function checkmydates(d1, d2, msg){
var date1=document.getElementById(d1);
var date2=document.getElementById(d2);
var lang=document.getElementById("lang").value;
if(lang == "" || lang == null || lang.charAt(0) == ' '){lang="et"}
switch (lang) {
    case 'et': { var chDate1="Palun, kontrollige saabumispäev.";  var chDate2="Palun, kontrollige lahkumispäev."; var fillDates="Palun, valige kuupäevad."; break;}
    case 'en': { var chDate1="Please, check your arrival day!";  var chDate2="Please, check your departure day."; var fillDates="Please, choose the dates"; break;}
    case 'lv': { var chDate1="Lūdzu pārbaudiet plānoto iebraukšanas!";  var chDate2="Lūdzu pārbaudiet plānoto izbraukšanas datumu!"; var fillDates="Lūdzu izvelaties datumus"; break;}
    case 'de': { var chDate1="Please, check your arrival day!";  var chDate2="Please, check your departure day."; var fillDates="Please, choose the dates"; break;}
    case 'ru': { var chDate1="Пожалуйста, проверте дату прибытия.";  var chDate2="Пожалуйста, проверте дату отъезда."; var fillDates="Пожалуйста, выберите даты."; break;}
    case 'fi': { var chDate1="Tarkistakaa saapumis päivä!";  var chDate2="Tarkistakaa palupäivä!"; var fillDates="Valitkaa kuukauden päivat"; break;}	
}

var msgbar=document.getElementById(msg);

 $(msgbar).text('');
 var arrDate1 = date1.value.split(".");
 var arrDate2 = date2.value.split(".");
 var useDate1 = new Date(arrDate1[2],arrDate1[1]-1, arrDate1[0]); // yyyy/mm/dd
 var useDate2 = new Date(arrDate2[2],arrDate2[1]-1, arrDate2[0]); // yyyy/mm/dd
 var today=new Date();

var day=today.getDay()-2;
var month=today.getMonth();
var year=today.getFullYear();
var newToday= new Date(year,month,day);

 if(useDate1<newToday){

 $(msgbar).append(chDate1);
 return false;
  }
  if (useDate1!='Invalid Date' && useDate2!="Invalid Date"){
	if(useDate2 < useDate1){
	$(msgbar).append(chDate2);
		}else return true;
  
  }
  else{ $(msgbar).append(fillDates); return false;}
  
 
     }



//-----------------Subscribe form--------------
   function formget(f, url) {
var myemail = document.getElementById('myemail').value;
document.getElementById("alert2").innerHTML="";
var lang=document.getElementById("lang").value;
if(lang == "" || lang == null || lang.charAt(0) == ' '){lang="et"}

switch (lang) {
    case 'et':  var chEmail="Palun, kontrollige e-maili!";  break;
    case 'en':  var chEmail="Please, check your e-mail!";   break;
    case 'lv':  var chEmail="Please, check your e-mail!";   break;
    case 'de':  var chEmail="Please, check your e-mail!";   break;
    case 'ru':  var chEmail="Пожалуйста, проверте адрес эл.почты!"; break;
    case 'fi':  var chEmail="Please, check your e-mail!";   break;
}


if(echeck(myemail)){

f=document.getElementById('aForm');

var poststr = getFormValues(f);
	postData(url, poststr);
 }
 else {
 $("#alert2").append(chEmail); return false;
		}

   }

function postData(url, parameters){
var xmlHttp = AJAX();

      xmlHttp.onreadystatechange =  function(){
      if(xmlHttp.readyState > 0 && xmlHttp.readyState < 4){  
			document.getElementById(divid).innerHTML=loadingmessage;  
		}  
            if (xmlHttp.readyState == 4) {
			
         if (xmlHttp.status == 200) {
 				
 		document.getElementById(divid).innerHTML=xmlHttp.responseText;
          
         } else {
            alert('XmlHttpRequest error!');
         }
      } 
      
      }
    
      xmlHttp.open("POST", url, true);
      xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      xmlHttp.setRequestHeader("Content-length", parameters.length);
      xmlHttp.setRequestHeader("Connection", "close");
      xmlHttp.send(parameters);
     

   }

   function getFormValues(fobj)

    {
       var str = "";
       var valueArr = null;
       var val = "";
       var cmd = "";

       for(var i = 0;i < fobj.elements.length;i++)

       {
           switch(fobj.elements[i].type)

           {
               case "text":

                    str += fobj.elements[i].name +
                     "=" + escape(fobj.elements[i].value) + "&";
                     break;

		case "hidden":
                    str += fobj.elements[i].name +
                     "=" + escape(fobj.elements[i].value) + "&";
                     break;
               case "select-one":

                    str += fobj.elements[i].name +
                    "=" + fobj.elements[i].options[fobj.elements[i].selectedIndex].value + "&";
                    break;

           }
       }

       str = str.substr(0,(str.length - 1));

        document.getElementById('myemail').value="";
  	return str;
     
       
       }
 
 //---------Check e-mail---------------
function echeck(str) {

	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
	   return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
	    return false
	}

	 if (str.indexOf(at,(lat+1))!=-1){
	    return false
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
	    return false
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
	    return false
	 }
	
	 if (str.indexOf(" ")!=-1){
	    return false
	 }

		 return true					
}


 //-------------------Chek phone-----------------

// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 4;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}
function trim(s)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not a whitespace, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (c != " ") returnString += c;
    }
    return returnString;
}
function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
var bracket=3
strPhone=trim(strPhone)
if(strPhone.indexOf("+")>1) return false
if(strPhone.indexOf("-")!=-1)bracket=bracket+1
if(strPhone.indexOf("(")!=-1 && strPhone.indexOf("(")>bracket)return false
var brchr=strPhone.indexOf("(")
if(strPhone.indexOf("(")!=-1 && strPhone.charAt(brchr+2)!=")")return false
if(strPhone.indexOf("(")==-1 && strPhone.indexOf(")")!=-1)return false
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function validatePhone(){
var lang=document.getElementById("lang").value;
if(lang == "" || lang == null || lang.charAt(0) == ' '){lang="et"}
switch (lang) {
    case 'et': { var wrPhone="Palun, kontrollige telefoni numbrit!"; break;}
    case 'en': { var wrPhone="Please, check your phone number!"; break;}
    case 'lv': { var wrPhone="Please, check your phone number!"; break;}
    case 'de': { var wrPhone="Please, check your phone number!";  break;}
    case 'ru': { var wrPhone="Пожалуйста, проверте номер телефона!"; break;}
    case 'fi': { var wrPhone="Please, check your phone number!"; break;}
}
	//var Phone=document.frmSample.txtPhone
   var Phone=document.getElementById("phone");
	if ((Phone.value==null)||(Phone.value=="")){
		$("#check_phone").append(wrPhone);
		//alert("Please Enter your Phone Number")
		Phone.focus()
		return false
	}
	if (checkInternationalPhone(Phone.value)==false){
	   $("#check_phone").append(wrPhone);
	//alert("Please Enter a Valid Phone Number");
		Phone.value="";
		Phone.focus();
		return false;
	}
	return true;
 }



 
 
 
 
 
 
 
 
 
 
