var request;

function NewHTTP() {
    request=null;
    try {
        return new XMLHttpRequest();
    } 
    catch (e) {
        try {
            return new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch(e) {
            return new ActiveXObject('Microsoft.XMLHTTP');
        }
    }
}

/**
* ------------------- LOGIN FUNCTIONS ----------------
*/

function ddlogin() {
    var loginname = document.getElementById("email").value;
    var password = document.getElementById("password").value;
    
    var url = thisdomain + "auth_functions.php";
    var params = "action=log&email=" + loginname + "&password=" + password;

    if (document.forms['loginform'].remember.checked == true) {
        params += "&remember=true";
    }
    request = NewHTTP();
    if (request == null) alert('kan geen verbinding maken');
    request.open("POST",url,true);
    request.onreadystatechange = OnLogin;
    request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    request.send(params);
}


function OnLogin() {
    if (request.readyState==4) {
        var logindiv = document.getElementById("loginlink");
        if (request.status==200) {
            if (request.responseXML != null  ) {
                var xmlDoc = request.responseXML;
                var results = xmlDoc.documentElement.getElementsByTagName("result");
                var result = results[0].firstChild.nodeValue;
                if (result == 'goed') {
                    window.location.reload();
                }
                else {
                    alert('verkeerde username/wachtwoord');
                }
            }
            else {
                logindiv.innerHTML = 'inloggen werkt nu niet';
            }
        }
        else {
            logindiv.innerHTML = 'inloggen werkt nu niet';
        }
    }

}

function ddlogoff() {
    var url = thisdomain + "auth_functions.php?action=logoff";
    
    request = NewHTTP();
    if (request == null) alert('kan geen verbinding maken');
    request.open("GET",url,true);
    request.onreadystatechange = OnLogOff;
    request.send(null);
}

function OnLogOff() {
    if (request.readyState==4) {
        var logindiv = document.getElementById("loginlink");
        
        if (request.status==200) {
            if (request.responseXML != null  ) {
                var xmlDoc = request.responseXML;
                var results = xmlDoc.documentElement.getElementsByTagName("result");
                var result = results[0].firstChild.nodeValue;
                if (result == '1') {
                    window.location.reload();
                }
            }
            else {
                logindiv.innerHTML = 'uitloggen werkt nu niet';
            }
        }
        else {
            logindiv.innerHTML = 'uitloggen werkt nu niet';
        }
    }

}


/**
*
* ----------------------- Functions Called From Search.php and Context.php
*/

//updateLatestFavourites calls favourites.php with action 'showLatest'
//and goes to OnUpdateLatestFavourites
function updateLatestFavourites(userid) {
  var url = thisdomain + "ajax/php/favourites.php";
  var params = "action=showlatest&userid=" + userid;
  request = NewHTTP();
  if (request == null) alert('kan geen verbinding maken');
  request.open("POST",url,true);
  request.onreadystatechange = OnUpdateLatestFavourites;
  request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  request.send(params);
}   

function OnUpdateLatestFavourites() {
	if (request.readyState==4) {
	    if (request.status==200) {
	        if (request.responseXML != null) {
	           var xmlDoc = request.responseXML;
	           
	           var latestfavourites = '';
	           var latest=xmlDoc.documentElement.getElementsByTagName("favourite");
                   for (var f=0; f<latest.length; f++) {
        	       var favtitle = latest[f].getElementsByTagName("title");
        	       var title = favtitle[0].firstChild.nodeValue;
        	       var favid = latest[f].getElementsByTagName("objectid");
        	       var favobjectid = favid[0].firstChild.nodeValue;
        	       latestfavourites += '&nbsp; &nbsp; <a href="context.php?type=mt&objectid=' + favobjectid + '">' + title + '</a><br/>';
                   }
	           document.getElementById("recentfavlist").innerHTML = latestfavourites;
	        }
	    }
	}
}


function addfavourite(userid, objectid) {
    var url = thisdomain + "ajax/php/favourites.php?action=addfav&userid=" + userid + "&objectid=" + objectid;

    request = NewHTTP();
    if (request == null) alert('kan geen verbinding maken');
    request.open("GET",url,true);
    request.onreadystatechange = OnAddFavourite;
    request.send(null);
}

function OnAddFavourite() {
    if (request.readyState==4) {
        if (request.status==200) {
            if (request.responseXML != null  ) {
                var xmlDoc = request.responseXML;
                var results=xmlDoc.documentElement.getElementsByTagName("result");
                var addresult = results[0].firstChild.nodeValue;
                
                if (addresult == '50') {
                    alert('uw favorietenlijst is vol!');
                }
                else {
                    var objects = xmlDoc.documentElement.getElementsByTagName("objectid");
                    var objectid = objects[0].firstChild.nodeValue;
                
                    var user = xmlDoc.documentElement.getElementsByTagName("userid");
                    var userid = user[0].firstChild.nodeValue;
                    //escape the @ in the userid
                    userid = encodeURI(userid);
                    var celltoupdate = "fav_" + objectid;
                
                    if (addresult == '1') {
                        //button if we're on the contextpage
                        //arrow if we're on the searchresultpage
                        if (document.getElementById("servicebox") != null) {
                            document.getElementById(celltoupdate).innerHTML = '<img src="images/button_arrow_small.jpg"/> <span onclick="deletefavourite(\'' + userid + ', ' + objectid  + '\')">Verwijder dit object uit de favorieten</span>';
                            updateLatestFavourites(userid);
                        }
                        else {
                            document.getElementById(celltoupdate).innerHTML = '&gt; <span onclick="deletefavourite(\'' + userid + ', ' + objectid  + '\')">Verwijder dit object uit de favorieten</span>';
                        }
                    }
                    else {
                        alert('helaas kunnen er op dit moment geen favorieten worden toegevoegd'); 
                    }
                }
            }
            else {
                alert('helaas kunnen er op dit moment geen favorieten worden toegevoegd'); 
            }
        }
        else {
            alert('helaas kunnen er op dit moment geen favorieten worden toegevoegd'); 
        }
    }
}


function deletefavourite(userid, objectid) {
    var url = thisdomain + "ajax/php/favourites.php?action=delfav&userid=" + userid + "&objectid=" + objectid;

    request = NewHTTP();
    if (request == null) alert('kan geen verbinding maken');
    request.open("GET",url,true);
    request.onreadystatechange = OnDeleteFavourite;
    request.send(null);
}

function OnDeleteFavourite() {
    if (request.readyState==4) {
        if (request.status==200) {
            if (request.responseXML != null  ) {
                var xmlDoc = request.responseXML;
                var results=xmlDoc.documentElement.getElementsByTagName("result");
                var addresult = results[0].firstChild.nodeValue;
                var objects = xmlDoc.documentElement.getElementsByTagName("objectid");
                var objectid = objects[0].firstChild.nodeValue;
                var user = xmlDoc.documentElement.getElementsByTagName("userid");
                var userid = user[0].firstChild.nodeValue;
                //escape the @ in the userid
                userid = encodeURI(userid);
                
                var celltoupdate = "fav_" + objectid;
                
                if (addresult == '1') {
                    //button if we're on the contextpage
                    //arrow if we're on the searchresultpage
                    if (document.getElementById("servicebox") != null) {
                        document.getElementById(celltoupdate).innerHTML = '<img src="images/button_arrow_small.jpg"/><span onclick="addfavourite(\'' + userid + ', ' + objectid  + '\')">Voeg toe aan favorieten</span>';
                 	updateLatestFavourites(userid);
                    }
                    else {
                        document.getElementById(celltoupdate).innerHTML = '&gt; <span onclick="addfavourite(\'' + userid + ', ' + objectid  + '\')">Voeg toe aan favorieten</span>';
                    }
                }
                else {
                    alert('helaas kunnen er op dit moment geen favorieten worden verwijderd'); 
                }
           }
           else {
                alert('helaas kunnen er op dit moment geen favorieten worden verwijderd'); 
           }
        }
        else {
            alert('helaas kunnen er op dit moment geen favorieten worden verwijderd'); 
        }
    }
}






function addUserNote() {
    var usernoteform = document.forms['addusernoteform'];
    var usernotetext = usernoteform.usernotetext.value;
    var userid = usernoteform.userid.value;
    var objectid = usernoteform.objectid.value;
    
    var url = thisdomain + "ajax/php/usernotes.php";

    request = NewHTTP();
    if (request == null) alert('kan geen verbinding maken');
    request.open("POST",url,true);
    request.onreadystatechange = OnAddUserNote;
    //request.send(null);
    request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    request.send("action=addnote&notetext=" + escape(usernotetext) + "&objectid=" + objectid + "&userid=" + userid);
    
}


function OnAddUserNote() {
    if (request.readyState==4) {
        if (request.status==200) {
            if (request.responseXML != null  ) {
                var xmlDoc = request.responseXML;
                var results=xmlDoc.documentElement.getElementsByTagName("result");
                var addresult = results[0].firstChild.nodeValue;
                var objects = xmlDoc.documentElement.getElementsByTagName("objectid");
                var objectid = objects[0].firstChild.nodeValue;
                var note = xmlDoc.documentElement.getElementsByTagName("notetext");
                var notetext = note[0].firstChild.nodeValue;
                var usernoteslist = document.getElementById("thisusernotes");
                
                if (addresult == '1') {
                    var newitem = document.createElement("li");
                    var newnote = usernoteslist.appendChild(newitem);
                    newnote.innerHTML = notetext;
                    
                    var textfield = document.forms['addusernoteform'].usernotetext;
                    textfield.value = '';
               }
            }
            else {
                alert('helaas kunnen er op dit moment geen notities worden toegevoegd'); 
            }
        }
        else {
            alert('helaas kunnen er op dit moment geen notities worden toegevoegd'); 
        }
    }
}

/**
*
*  --------------------------- Functions Called From userfavourites.php ----------
*/


function printSelectedFavourites() {
    var url = thisdomain + "userfavourites.php?action=printfav";
    var favouritesform = document.getElementById("favouritesform");
    for (var i=0;i<favouritesform.length;i++) {
        if (favouritesform.elements[i].checked == true) {
            url += "&selfav_" + i + "=" + favouritesform.elements[i].value;
        }
    }
    window.open(url);
}


function mailSelectedFavourites() {
    var url = thisdomain + "ajax/php/favourites.php";
    var params = "action=mailfav";
    var favouritesform = document.getElementById("favouritesform");
    for (var i=0;i<favouritesform.length;i++) {
        if (favouritesform.elements[i].checked == true) {
            params += "&selfav_" + i + "=" + favouritesform.elements[i].value;
        }
    }

    var mailform = document.forms['emailaddresses'];
    var emailaddies = mailform.emailads;
    params += "&email=" + emailaddies.value;

//alert(url + '?' + params);
    request = NewHTTP();
    if (request == null) alert('kan geen verbinding maken');
    request.open("POST",url,true);
    request.onreadystatechange = OnMailFavourites;
    request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    request.send(params);

    
}

function OnMailFavourites() {
    var mailpanel = document.getElementById("mailpanel");
    
    if (request.readyState==4) {
        if (request.status==200) {
            if (request.responseXML != null  ) {
                var xmlDoc = request.responseXML;
                var results=xmlDoc.documentElement.getElementsByTagName("result");
                var mailresult = results[0].firstChild.nodeValue;
                if (mailresult == '1') {
                    mailpanel.innerHTML = 'De geselecteerde favorieten zijn gemaild naar de opgegeven emailadressen';
                }
                else {
                    mailpanel.innerHTML = 'De geselecteerde favorieten konden helaas niet gemaild worden';
                }
            }
            else {
                mailpanel.innerHTML = 'De geselecteerde favorieten konden helaas niet gemaild worden';
            }
        }
        else {
            mailpanel.innerHTML = 'De geselecteerde favorieten konden helaas niet gemaild worden';
        }
    }
}


function deleteSelectedFavourites() {
    var url = thisdomain + "ajax/php/favourites.php";
    var params = "action=delselfav";
    var userid = document.getElementById("userid").innerHTML;
    params += "&userid=" + userid;
    var favouritesform = document.getElementById("favouritesform");
        
    for (var i=0;i<favouritesform.length;i++) {
        if (favouritesform.elements[i].checked == true) {
            params += "&selfav_" + i + "=" + favouritesform.elements[i].value;
        }
    }

    request = NewHTTP();
    if (request == null) alert('kan geen verbinding maken');
    request.open("POST",url,true);
    request.onreadystatechange = OnDeleteSelectedFavourites;
    request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    request.send(params);
}

function OnDeleteSelectedFavourites() {
    if (request.readyState==4) {
        if (request.status==200) {
            if (request.responseXML != null  ) {
                var xmlDoc = request.responseXML;
                var results=xmlDoc.documentElement.getElementsByTagName("result");
                var deleteresult = results[0].firstChild.nodeValue;
                if (deleteresult != 1) {
                    alert('Niet alle aangevinkte favorieten konden verwijderd worden');
                }
            }
            else {
                alert('Niet alle aangevinkte favorieten konden verwijderd worden');
            }
        }
        else {
            alert('Niet alle aangevinkte favorieten konden verwijderd worden');
        }
        window.location.reload();
    }
}


/**
* 
* ----------------------- Functions Called From UserNotes.php and Context.php --------------
*/

function printSelectedUserNotes() {
    var url = thisdomain + "usernotes.php?action=printnotes";
    var usernotesform = document.getElementById("usernotesform");
    for (var j=0;j<usernotesform.length;j++) {
        if (usernotesform.elements[j].checked == true) {
            url += "&selnote_" + j + "=" + usernotesform.elements[j].value;
        }
    }
    window.open(url);
}

function mailSelectedUserNotes() {
    var url = thisdomain + "ajax/php/usernotes.php";
    var parameters = "action=mailnotes";
    var usernotesform = document.getElementById("usernotesform");
    for (var j=0;j<usernotesform.length;j++) {
        if (usernotesform.elements[j].checked == true) {
            parameters += "&selnote_" + j + "=" + escape(usernotesform.elements[j].value);
        }
    }
    
    var mailform = document.forms['emailaddresses'];
    var emailaddies = mailform.emailads;
    parameters += "&email=" + emailaddies.value;

    request = NewHTTP();
    if (request == null) alert('kan geen verbinding maken');
    request.open("POST", url, true);
    request.onreadystatechange = OnMailUserNotes;
    request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    request.send(parameters);
}


function OnMailUserNotes() {
    var mailpanel = document.getElementById("mailpanel");
    
    if (request.readyState==4) {
        if (request.status==200) {
            if (request.responseXML != null  ) {
                var xmlDoc = request.responseXML;
                var results=xmlDoc.documentElement.getElementsByTagName("result");
                var mailresult = results[0].firstChild.nodeValue;
                if (mailresult == '1') {
                    mailpanel.innerHTML = 'De geselecteerde notities zijn gemaild naar de opgegeven emailadressen';
                }
                else {
                    mailpanel.innerHTML = 'De geselecteerde notities konden helaas niet gemaild worden';
                }
            }
            else {
                mailpanel.innerHTML = 'De geselecteerde notities konden helaas niet gemaild worden';
            }
        }
        else {
            mailpanel.innerHTML = 'De geselecteerde notities konden helaas niet gemaild worden';
        }
    }

}

function deleteSelectedUserNotes() {
    var url = thisdomain + "ajax/php/usernotes.php";
    var parameters = "action=delselnotes";
    var userid = document.getElementById("userid").innerHTML;
    parameters += "&userid=" + userid;
    var usernotesform = document.getElementById("usernotesform");
    for (var j=0;j<usernotesform.length;j++) {
        if (usernotesform.elements[j].checked == true) {
            parameters += "&selnote_" + j + "=" + usernotesform.elements[j].value;
        }
    }

    request = NewHTTP();
    if (request == null) alert('kan geen verbinding maken');
    request.open("POST", url, true);
    request.onreadystatechange = OnDeleteSelectedUserNotes;
    request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    request.send(parameters);
}


function OnDeleteSelectedUserNotes() {
    if (request.readyState==4) {
        if (request.status==200) {
            if (request.responseXML != null  ) {
                var xmlDoc = request.responseXML;
                var results=xmlDoc.documentElement.getElementsByTagName("result");
                var deleteresult = results[0].firstChild.nodeValue;
                if (deleteresult != 1) {
                    alert('Niet alle aangevinkte notities konden verwijderd worden');
                }
            }
            else {
                alert('Niet alle aangevinkte notities konden verwijderd worden');
            }
        }
        else {
            alert('Niet alle aangevinkte notities konden verwijderd worden');
        }
       window.location.reload();
   }
}


/*
* Contact us
*/
function contactus() {
	   var url = thisdomain + "ajax/php/usercontact.php";
	   var contactform = document.forms['contactform'];
	   var question = contactform.question.value;
	   var name = contactform.myname.value;
	   var parameters = "question=" + encodeURI(question) + "&name=" + name;
	    request = NewHTTP();
	    if (request == null) alert('kan geen verbinding maken');
	    request.open("POST", url, true);
	    request.onreadystatechange = OnContactSent;
	    request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	    request.send(parameters);	
}

function OnContactSent() {
    if (request.readyState==4) {
        if (request.status==200) {
            if (request.responseXML != null  ) {
                var xmlDoc = request.responseXML;
                var result=xmlDoc.documentElement.getElementsByTagName("result");
                var mailresult = result[0].firstChild.nodeValue;
                if (mailresult == 1) {
                    document.getElementById("contactdiv").innerHTML = "<p>Dank u voor uw reaktie.</p>"
                }
                else {
            	    alert('Uw reaktie kon niet verzonden worden');
                }
            }
            else {
                alert('Uw reaktie kon niet verzonden worden');
            }
        }
        else {
            alert('Uw reaktie kon niet verzonden worden');
         }
    }
}