var xmlHttp;

function createXMLHttpRequest() {
    if (window.ActiveXObject) {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    } 
    else if (window.XMLHttpRequest) {
        xmlHttp = new XMLHttpRequest();
    }
}

function checkLogin() {
    createXMLHttpRequest();
    xmlHttp.onreadystatechange = handleCheckLogin;
    xmlHttp.open("GET", "/json/util/login", true);
    xmlHttp.send(null);
}

function handleCheckLogin() {  
    if(xmlHttp.readyState == 4) {
        if(xmlHttp.status == 200) {
        	txt = xmlHttp.responseText;
                
          if (txt!=null) {
            var doc = eval('(' + xmlHttp.responseText + ')');
            if (!doc.success) {
              el = document.getElementById("loginform"); if(el!=null){ el.style.display="block"; }
              el = document.getElementById("logout"); if(el!=null){ el.style.display="none"; }
            }
            if (doc.success) {
              el = document.getElementById("logout"); if(el!=null){ el.style.display="block"; }
              el = document.getElementById("loginform"); if(el!=null){ el.style.display="none"; }
              el = document.getElementById("loginfailure"); if(el!=null){ el.style.display="none"; }
            }
          }
        }
    }
}


function setCookie(c_name,value,expiredays){
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : "; expires="+exdate.toGMTString())+ "; path=/";
}

function logout() {
  setCookie("userkey", "", -1);
  window.location=window.location;
}

   
function startLoginRequest() {
		var account = document.getElementById("account").value;
		var loginid = document.getElementById("loginid").value;
		var pw = document.getElementById("password").value;
		var remember = document.getElementById("remember").checked;
    var param = '?admin='+account+'&loginid='+loginid+'&password='+pw+"&remember="+remember;
    $(".loginloader").show();
    createXMLHttpRequest();
    xmlHttp.onreadystatechange = handleLoginStateChange;
    xmlHttp.open("GET", "/json/util/login"+(param!=null?param:""), true);
    xmlHttp.send(null);
}
    
function handleLoginStateChange() {
    
    if(xmlHttp.readyState == 4) {
        if(xmlHttp.status == 200) {
          var doc = eval('(' + xmlHttp.responseText + ')');
          if (!doc.success) {
             el = document.getElementById("loginform"); if(el!=null){ el.style.display="block"; }
             el = document.getElementById("logindocs"); if(el!=null){ el.style.display="none"; }
             el = document.getElementById("logout"); if(el!=null){ el.style.display="none"; }
             el = document.getElementById("loginfailure"); if(el!=null){ el.style.display="block"; }
              $(".loginloader").hide();
          }
          if (doc.success) {
            setCookie("userkey", doc.user.userkey);

             el = document.getElementById("logout"); if(el!=null){ el.style.display="block"; }
             el = document.getElementById("loginform"); if(el!=null){ el.style.display="none"; }
             el = document.getElementById("loginfailure"); if(el!=null){ el.style.display="none"; }
             // if (doc.authorized.roles.join().indexOf("Partner")>=0) {
               el = document.getElementById("logindocs"); if(el!=null){ el.style.display="block"; }
             // }
              $(".loginloader").hide();
             // refresh
             // window.location=window.location;

          }


        	if (false) {
        		var doc = eval('(' + xmlHttp.responseText + ')'); 
        		// var rememberme = document.getElementById("rememberme").value;
        		
						var account = document.getElementById("account").value;
						var loginid = document.getElementById("loginid").value;
						var pw = document.getElementById("password").value;
						var screenheight	= (screen.height);
	 					var screenwidth		= (screen.width);
						var NS = (navigator.appName=="Netscape")?true:false; 
	 					var windowwidth		= (NS)?window.innerWidth:document.body.clientWidth; 
	 					var windowheight	= (NS)?window.innerHeight:document.body.clientHeight;
	 					//
	 					if (document.getElementById("screenheight")!=null) {
							document.getElementById("screenheight").value = screenheight; 
	 						document.getElementById("screenwidth"	).value = screenwidth;	
	 						document.getElementById("windowwidth"	).value = windowwidth;	 
	 						document.getElementById("windowheight").value = windowheight; 
	 					}
	 					//
						// var action = document.getElementById("loginForm").action;
          	// window.location = action + '?&admin='+account+'&loginid='+loginid+'&password='+pw+'&screenheight='+screenheight+'&screenwidth='+screenwidth+'&windowwidth='+windowwidth+'&windowheight='+windowheight;
          	// window.location = action;
          	
          	document.getElementById("loginForm").submit();
          	
          	document.getElementById("onLoginFailure").style.display="none";
						document.getElementById("notloggedin").style.display="block";

                $(".loginloader").hide();
          	
          }
          
          
        }
    }
}


function gotoGeotrackWeb() {
	var screenheight	= (screen.height);
	var screenwidth		= (screen.width);
	var windowwidth		= document.body.clientWidth;
	var windowheight	= document.body.clientHeight;
	// var action = document.getElementById("loginForm").action;
	var action = "http://web.geotrack.nl";
 	window.location = action + '?screenheight='+screenheight+'&screenwidth='+screenwidth+'&windowwidth='+windowwidth+'&windowheight='+windowheight;
}

function startEmailSubscription() {
    var emailname = document.getElementById("emailname").value;
    var emailemail = document.getElementById("emailemail").value;
    if ((emailname.length > 1) && (emailemail.length > 5) && (emailname != "Uw naam") && (emailemail != "Uw e-mailadres")) {
        
        $(".newsletterloader").show();

        var param = '?path=/contactformulieren/'; 
        param += "&name="+emailemail;
        param += "&type=Aanmelding nieuwsbrief";
        param += "&mailto=e.de.vries@geotrack.nl";
        param += "&mailcc=eeuwe@geotrack.nl";
        param += "&mailbcc=e.de.vries@ixps.nl";
        param += "&content=";
        param += "{";
          param += "email:"+emailemail +",";
          param += "name:"+emailname;
        param += "}";
        param += "&mailto=dennis@geotrack.nl";

        createXMLHttpRequest();
        xmlHttp.onreadystatechange = handleEmailSubscription;
        xmlHttp.open("GET", "/json/cms/contactform/"+(param!=null?param:""), true);
        xmlHttp.send(null);

    } else {
       $("#suberrortxt").html("Vul beide velden volledig in!");
       $("#subscriptionerror").show();
       $(".newsletterloader").hide();
    }
}


function handleEmailSubscription() {
    if(xmlHttp.readyState == 4) {
        if(xmlHttp.status == 200) {
          var doc = eval('(' + xmlHttp.responseText + ')');
          if (!doc.success) {
             if (doc.errors.reason == "content excists") {
                  $("#suberrortxt").html("Deze aanmelding bestaat al!");
                  $("#subscriptionerror").show();
                  $(".newsletterloader").hide();
             } else {
                  $("#suberrortxt").html("Onbekende fout, probeer het later weer eens!");
                  $("#subscriptionerror").show();
                  $(".newsletterloader").hide();
             }
          }
          if (doc.success) {
             $("#subscriptionerror").hide();
             $(".newsletterloader").hide();
             $("#subscriptionform").hide();
             $("#subscriptionsuccess").show();
             
          }
        } else {
              $("#suberrortxt").html("Onbekende fout, probeer het later weer eens!");
              $("#subscriptionerror").show();
              $(".newsletterloader").hide();
        }
    }
    
}

function startEmailContact() {

    var lastname = document.getElementById("lastname").value;
    var email = document.getElementById("email").value;
    var company = document.getElementById("company").value;
    var telnr = document.getElementById("telnr").value;
    var message = document.getElementById("message").value;

    if ((lastname.length > 1) && (email.length > 5) && (lastname != "Uw naam") && (email != "Uw e-mailadres")) {

        $(".newsletterloader").show();

        var param = '?path=/contactformulier/';
        param += "&name="+email;
        param += "&content=";
        param += "{";
          param += "email:"+email +",";
          param += "company:"+company +",";
          param += "telnr:"+telnr +",";
          param += "message:"+message +",";
          param += "name:"+lastname;
        param += "}";
        param += "&mailto=dennis@geotrack.nl";

        createXMLHttpRequest();
        xmlHttp.onreadystatechange = handleEmailContact;
        xmlHttp.open("GET", "/json/cms/contactform/"+(param!=null?param:""), true);
        xmlHttp.send(null);

    } else {
       $("#suberrortxt").html("Vul (*) informatie volledig in!");
       $("#contacterror").show();
       $(".newsletterloader").hide();
    }
}

function handleEmailContact() {
    if(xmlHttp.readyState == 4) {
        if(xmlHttp.status == 200) {
          var doc = eval('(' + xmlHttp.responseText + ')');
          if (!doc.success) {
             if (doc.errors.reason == "content excists") {
                  $("#suberrortxt").html("Aanvraag bestaat al!");
                  $("#contacterror").show();
                  $(".newsletterloader").hide();
             } else {
                  $("#suberrortxt").html("Onbekende fout, neem telefonisch contact op!");
                  $("#contacterror").show();
                  $(".newsletterloader").hide();
             }
          }
          if (doc.success) {
             $("#contacterror").hide();
             $(".newsletterloader").hide();
             $("#contactform").hide();
             $("#contactsuccess").show();

          }
        } else {
              $("#suberrortxt").html("Onbekende fout, probeer het later weer eens!");
              $("#contacterror").show();
              $(".newsletterloader").hide();
        }
    }

}


function startEmailContactDemo() {

    var lastname = document.getElementById("lastname-demo").value;
    var email = document.getElementById("email-demo").value;

    if ((lastname.length > 1) && (email.length > 5) && (lastname != "Naam") && (email != "E-mailadres")) {

        $(".newsletterloader").show();

        var param = '?path=/contactformulier/';
        param += "&name="+email;
        param += "&content=";
        param += "{";
          param += "subject:Demo,";
          param += "email:"+email +",";
          param += "name:"+lastname;
        param += "}";
        param += "&mailto=dennis@geotrack.nl";

        createXMLHttpRequest();
        xmlHttp.onreadystatechange = handleEmailContactDemo;
        xmlHttp.open("GET", "/json/cms/contactform/"+(param!=null?param:""), true);
        xmlHttp.send(null);

    } else {
       $("#suberrortxt").html("Vul (*) informatie volledig in!");
       $("#contacterror").show();
       $(".newsletterloader").hide();
    }
}

function handleEmailContactDemo() {
    if(xmlHttp.readyState == 4) {
        if(xmlHttp.status == 200) {
          var doc = eval('(' + xmlHttp.responseText + ')');
          if (!doc.success) {
             if (doc.errors.reason == "content excists") {
                  $("#suberrortxt").html("Aanvraag bestaat al!");
                  $("#contacterror").show();
                  $(".newsletterloader").hide();
             } else {
                  $("#suberrortxt").html("Onbekende fout, neem telefonisch contact op!");
                  $("#contacterror").show();
                  $(".newsletterloader").hide();
             }
          }
          if (doc.success) {
             $("#contacterror").hide();
             $(".newsletterloader").hide();
             $("#contactform-demo").hide();
             $("#contactsuccess").show();

          }
        } else {
              $("#suberrortxt").html("Onbekende fout, probeer het later weer eens!");
              $("#contacterror").show();
              $(".newsletterloader").hide();
        }
    }
}


function startEmailContactOfferte() {

    var lastname = document.getElementById("lastname-offerte").value;
    var email = document.getElementById("email-offerte").value;

    if ((lastname.length > 1) && (email.length > 5) && (lastname != "Naam") && (email != "E-mailadres")) {
        $(".newsletterloader").show();

        var param = '?path=/contactformulier/';
        param += "&name="+email;
        param += "&content=";
        param += "{";
          param += "subject:Offerte,";
          param += "email:"+email +",";
          param += "name:"+lastname;
        param += "}";
        param += "&mailto=dennis@geotrack.nl";

        createXMLHttpRequest();
        xmlHttp.onreadystatechange = handleEmailContactOfferte;
        xmlHttp.open("GET", "/json/cms/contactform/"+(param!=null?param:""), true);
        xmlHttp.send(null);

    } else {
       $("#suberrortxt").html("Vul (*) informatie volledig in!");
       $("#contacterror").show();
       $(".newsletterloader").hide();
    }
}

function handleEmailContactOfferte() {
    if(xmlHttp.readyState == 4) {
        if(xmlHttp.status == 200) {
          var doc = eval('(' + xmlHttp.responseText + ')');
          if (!doc.success) {
             if (doc.errors.reason == "content excists") {
                  $("#suberrortxt").html("Aanvraag bestaat al!");
                  $("#contacterror").show();
                  $(".newsletterloader").hide();
             } else {
                  $("#suberrortxt").html("Onbekende fout, neem telefonisch contact op!");
                  $("#contacterror").show();
                  $(".newsletterloader").hide();
             }
          }
          if (doc.success) {
             $("#contacterror").hide();
             $(".newsletterloader").hide();
             $("#contactform-offerte").hide();
             $("#contactsuccess").show();

          }
        } else {
              $("#suberrortxt").html("Onbekende fout, probeer het later weer eens!");
              $("#contacterror").show();
              $(".newsletterloader").hide();
        }
    }
}

function startEmailContactAfspraak() {

    var lastname = document.getElementById("lastname-afspraak").value;
    var email = document.getElementById("email-afspraak").value;

    if ((lastname.length > 1) && (email.length > 5) && (lastname != "Naam") && (email != "E-mailadres")) {

        $(".newsletterloader").show();

        var param = '?path=/contactformulier/';
        param += "&name="+email;
        param += "&content=";
        param += "{";
          param += "subject:Afspraak,";
          param += "email:"+email +",";
          param += "name:"+lastname;
        param += "}";
        param += "&mailto=dennis@geotrack.nl";

        createXMLHttpRequest();
        xmlHttp.onreadystatechange = handleEmailContactAfspraak;
        xmlHttp.open("GET", "/json/cms/contactform/"+(param!=null?param:""), true);
        xmlHttp.send(null);

    } else {
       $("#suberrortxt").html("Vul (*) informatie volledig in!");
       $("#contacterror").show();
       $(".newsletterloader").hide();
    }
}

function handleEmailContactAfspraak() { 
    if(xmlHttp.readyState == 4) {
        if(xmlHttp.status == 200) {
          var doc = eval('(' + xmlHttp.responseText + ')');
          if (!doc.success) {
             if (doc.errors.reason == "content excists") {
                  $("#suberrortxt").html("Aanvraag bestaat al!");
                  $("#contacterror").show();
                  $(".newsletterloader").hide();
             } else {
                  $("#suberrortxt").html("Onbekende fout, neem telefonisch contact op!");
                  $("#contacterror").show();
                  $(".newsletterloader").hide();
             }
          }
          if (doc.success) {
             $("#contacterror").hide();
             $(".newsletterloader").hide();
             $("#contactform-afspraak").hide();
             $("#contactsuccess").show();
          }
        } else {
              $("#suberrortxt").html("Onbekende fout, probeer het later weer eens!");
              $("#contacterror").show();
              $(".newsletterloader").hide();
        }
    }
}


function startEmailInfoForm() {
    var infoname = document.getElementById("infonaam").value;
    var infoemail = document.getElementById("infomail").value;
    var infotele = document.getElementById("infotele").value;
    var infobedrijf = document.getElementById("infobedrijf").value;
    var infovraag = document.getElementById("infovraag").value;
    var infourl = document.getElementById("infourl").value;
    
    var infotype1 = document.getElementById("info1").checked;
    var infotype2 = document.getElementById("info2").checked;
    var infotype3 = document.getElementById("info3").checked;
    


    if ((infoname.length > 1) && (infoemail.length > 5) && (infoname != "Uw naam") && (infoemail != "Uw e-mailadres")) {

        var param = '?path=/informatie/';
        param += "&name="+infoemail;
        param += "&content=";
        param += "{";
        param += "telnr:\""+infotele +"\",";
        param += "company:\""+infobedrijf +"\",";
        param += "email:\""+infoemail +"\",";
        param += "name:\""+infoname +"\",";
        param += "vraag:\""+infovraag +"\",";
        param += "url:\""+infourl +"\"";

        
        if (infotype1) { param += ",meerinfoaanvragen:\"checked\""; }
        if (infotype2) { param += ",demoaanvragen:\"checked\""; }
        if (infotype3) { param += ",afspraakmaken:\"checked\""; }
        

        param += "}";
        param += "&mailto=dennis@geotrack.nl";

        createXMLHttpRequest();
        xmlHttp.onreadystatechange = handleEmailInfoForm;
        xmlHttp.open("GET", "/json/cms/contactform/"+(param!=null?param:""), true);
        xmlHttp.send(null);
        

    } else {
    }
}

function handleEmailInfoForm() {
    if(xmlHttp.readyState == 4) {
        if(xmlHttp.status == 200) {
          var doc = eval('(' + xmlHttp.responseText + ')');
          if (!doc.success) {
          }
          if (doc.success) {
            $("#infoform").hide();
          }
        }
    }

}



function validateEmail(elementValue){
    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
    return emailPattern.test(elementValue);
}
