function validateNick(res,cls,fnc) {
    getXMLDocument();
    var input = document.getElementById(cls);
    var url   = "index.php?pid=14&fnc=" + fnc + "&res=" + res + "&cls=" + cls + "&val=" + escape(input.value);
    xmlHttp.open("GET",url,true);
    xmlHttp.onreadystatechange = callbackNick;
    xmlHttp.send(null); 
}

function validateDuplicate(res,cls,inp) {
    createXMLHttpRequest();
    
    var url   = "index.php?pid=14&fnc=1&res=" + res + "&cls=" + cls + "&dup=1&val=" + inp;
    xmlHttp.open("GET",url,true);
    xmlHttp.onreadystatechange = callbackDuplicate;
    xmlHttp.send(null); 
}

function validateInput(target,field,func) {
    getXMLDocument();
    var input = document.getElementById(field);
    var url   = "index.php?pid=14&fnc=" + func + "&res=" + target + "&cls=" + field + "&val=" + escape(input.value);
    xmlHttp.open("GET",url,true);
    xmlHttp.onreadystatechange = callbackInput;
    xmlHttp.send(null);
    
}

function validateInputEdit(target,field,startDiv,func) {
    getXMLDocument();
    var input = document.getElementById(field);
    var url   = "index.php?pid=14&fnc=" + func + "&res=" + target + "&cls=" + field + "&std=" + startDiv + "&val=" + escape(input.value);
    xmlHttp.open("GET",url,true);
    xmlHttp.onreadystatechange = callbackInputEdit;
    xmlHttp.send(null);
    
}

function callbackNick() {
    if (xmlHttp.readyState == 4) {
      if (xmlHttp.status == 200) {  

        var mes = xmlHttp.responseXML.getElementsByTagName("message")[0].firstChild.data;
        var val = xmlHttp.responseXML.getElementsByTagName("passed")[0].firstChild.data;
        var res = xmlHttp.responseXML.getElementsByTagName("message2")[0].firstChild.data;
        var cls = xmlHttp.responseXML.getElementsByTagName("class")[0].firstChild.data;
        var dup = xmlHttp.responseXML.getElementsByTagName("duplicate")[0].firstChild.data;
        var inp = xmlHttp.responseXML.getElementsByTagName("value")[0].firstChild.data;
    
        if (dup == "true" && val == "true") {
            validateDuplicate(res,cls,inp);
        } else {
        setMessage(mes,val,res,cls);
        }
      }
    }
}

function callbackDuplicate() {
    if (xmlHttp.readyState == 4) {
      if (xmlHttp.status == 200) {  
          var mes = xmlHttp.responseXML.getElementsByTagName("message")[0].firstChild.data;
          var val = xmlHttp.responseXML.getElementsByTagName("passed")[0].firstChild.data;
          var res = xmlHttp.responseXML.getElementsByTagName("message2")[0].firstChild.data;
          var cls = xmlHttp.responseXML.getElementsByTagName("class")[0].firstChild.data;
          var inp = xmlHttp.responseXML.getElementsByTagName("value")[0].firstChild.data; 
      
          setMessageDuplicate(mes,val,res,cls,inp);  
      }
    }
}

function callbackSuggest() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.status == 200) {
            setDataXML();
        }
    }
}

function callbackInput() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.status == 200) {
            var mes = xmlHttp.responseXML.getElementsByTagName("message")[0].firstChild.data;
            var val = xmlHttp.responseXML.getElementsByTagName("passed")[0].firstChild.data;
            var cls = xmlHttp.responseXML.getElementsByTagName("class")[0].firstChild.data;
            var res = xmlHttp.responseXML.getElementsByTagName("message2")[0].firstChild.data;
            
            setMessageInput(mes,val,cls,res);
        }
    }
}

function callbackInputEdit() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.status == 200) {
            var mes = xmlHttp.responseXML.getElementsByTagName("message")[0].firstChild.data;
            var val = xmlHttp.responseXML.getElementsByTagName("passed")[0].firstChild.data;
            var cls = xmlHttp.responseXML.getElementsByTagName("class")[0].firstChild.data;
            var res = xmlHttp.responseXML.getElementsByTagName("message2")[0].firstChild.data;
            var std = xmlHttp.responseXML.getElementsByTagName("startdiv")[0].firstChild.data;
            
            if (std == "firstName") {
                setMessageFirstNameEdit(mes,val,cls,res,std);
            } else if (std == "lastName") {
                setMessageLastNameEdit(mes,val,cls,res,std);
            }
            
        }
    }
}

function getNodeValue(obj,tag) {
  return obj.getElementsByTagName(tag)[0].firstChild.nodeValue;
}

function setDataXML() {
    
    var suggests = xmlHttp.responseXML.getElementsByTagName('suggests');
    
    for(var i=0;i<suggests.length;i++) {
    
      var x = document.createElement('div');
      x.setAttribute('id','suggestDiv');
      var y = document.createElement('span');
      y.appendChild(document.createTextNode(getNodeValue(suggests[i],'suggest')));
      x.appendChild(y);
      
      document.getElementById('suggestResponse').appendChild(x);
    
    }
}

function clearSuggest() {
    var d = document.getElementById("suggestResponse");
    var e = document.getElementById("suggestDiv");
    
    d.innerHTML = "";
}

function setMessage(message, isValid, res, cls) {
    var messageArea = document.getElementById(res);
    var responseClass = "inValidResponse";
    document.getElementById(cls).className = "redBorder";
    
    if (isValid == "true") {
        clearSuggest();
        responseClass = "validResponse";
        document.getElementById(cls).className = "greenBorder";
        
    }
    messageArea.innerHTML = "<span class=" + responseClass + ">" + message + "</span>";
}

function setMessageDuplicate(message, isValid, res, cls,inp) {
    var messageArea = document.getElementById(res);
    var responseClass = "inValidResponse";
    document.getElementById(cls).className = "redBorder";
    
    if (isValid == "true") {
        clearSuggest();
        responseClass = "validResponse";
        document.getElementById(cls).className = "greenBorder";
    }
    
    messageArea.innerHTML = "<span class=" + responseClass + ">" + message + "</span>";
    
    if (isValid == "false") {
        clearSuggest();
        callbackSuggest();
    }
}

function setMessageInput(message,valid,field,target) {
    var messageArea   = document.getElementById(target);
    var responseClass = "inValidResponse";
    document.getElementById(field).className = "redBorder";
    
    if (valid == "true") {
        responseClass = "validResponse";
        document.getElementById(field).className = "greenBorder";
    }
    
    messageArea.innerHTML = "<span class=" + responseClass + ">" + message + "</span>";
}

function setMessageFirstNameEdit(message,valid,field,target,startDiv) {
    if (valid == "false") {
        var messageArea   = document.getElementById(target);
        var responseClass = "inValidResponse";
        document.getElementById(field).className = "redBorder";
        
        messageArea.innerHTML = "<span class=" + responseClass + ">" + message + "</span>";
    } else {
        var messageArea   = document.getElementById(target);
        var beginDiv = document.getElementById(startDiv);
        var editImg = document.getElementById("firstNameImg");
        
        editImg.innerHTML = '<img src="main/templates/images/edit.png" style="cursor: pointer;" id="editFirstName">';
        
        var newImg = document.getElementById("editFirstName");
        
        newImg.onclick = function() {editFirstName("firstName","firstNameMessage","0","firstNameImg");};
        messageArea.innerHTML = "";
        beginDiv.innerHTML = message;
        
    }
}

function setMessageLastNameEdit(message,valid,field,target,startDiv) {
    if (valid == "false") {
        var messageArea   = document.getElementById(target);
        var responseClass = "inValidResponse";
        document.getElementById(field).className = "redBorder";
        
        messageArea.innerHTML = "<span class=" + responseClass + ">" + message + "</span>";
    } else {
        var messageArea   = document.getElementById(target);
        var beginDiv = document.getElementById(startDiv);
        var editImg = document.getElementById("lastNameImg");
        
        editImg.innerHTML = '<img src="main/templates/images/edit.png" style="cursor: pointer;" id="editLastName">';
        
        var newImg = document.getElementById("editLastName");
        
        newImg.onclick = function() {editLastName("lastName","lastNameMessage","1","lastNameImg");};
        messageArea.innerHTML = "";
        beginDiv.innerHTML = message;
        
    }
}

function setSuggest(val) {
    getXMLDocument();
    
    var url   = "index.php?pid=14&fnc=5&val=" + val;
    
    xmlHttp.open("GET",url,true);
    xmlHttp.onreadystatechange = callbackSuggest;
    xmlHttp.send(null);
}

function validatePass(res,field1,field2,fnc) {
    getXMLDocument();
    var input1 = document.getElementById(field1);
    var input2 = document.getElementById(field2);
    var url = "index.php?pid=14&field1=" + field1 + "&field2=" + field2 + "&input1=" + escape(input1.value) + "&input2=" + escape(input2.value) + "&fnc=" + fnc + "&res=" + res;
    
    xmlHttp.open("GET",url,true);
    xmlHttp.onreadystatechange = callbackPass;
    xmlHttp.send(null);
}

function callbackPass() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.status == 200) {
            var mes  = xmlHttp.responseXML.getElementsByTagName("message")[0].firstChild.data;
            var val  = xmlHttp.responseXML.getElementsByTagName("passed")[0].firstChild.data;
            var cls1 = xmlHttp.responseXML.getElementsByTagName("class1")[0].firstChild.data;
            var cls2 = xmlHttp.responseXML.getElementsByTagName("class2")[0].firstChild.data;
            var res  = xmlHttp.responseXML.getElementsByTagName("message2")[0].firstChild.data;
            
            setMessagePass(mes,val,cls1,cls2,res);
        }
    }
}

function setMessagePass(message,valid,cls1,cls2,res) {
    var responseField = document.getElementById(res);
    var responseClass = "inValidResponse";
    document.getElementById(cls1).className = "redBorder";
    document.getElementById(cls2).className = "redBorder";
    
    if (valid == "true") {
        var responseClass = "validResponse";
        document.getElementById(cls1).className = "greenBorder";
        document.getElementById(cls2).className = "greenBorder";
    }
    responseField.innerHTML = "<span class=" + responseClass + ">" + message + "</span>";
}

function validateForgotPass(res,cls,fnc) {
    getXMLDocument();
    
    var input = document.getElementById(cls);
    var url   = "index.php?pid=14&val=" + escape(input.value) + "&res=" + res + "&cls=" + cls + "&fnc=" + fnc;
    
    xmlHttp.open("GET",url,true);
    xmlHttp.onreadystatechange = callbackForgotPass;
    xmlHttp.send(null);
}

function callbackForgotPass() {
    if (xmlHttp.readyState == 4) {
      if (xmlHttp.status == 200) {  
          var mes = xmlHttp.responseXML.getElementsByTagName("message")[0].firstChild.data;
          var val = xmlHttp.responseXML.getElementsByTagName("passed")[0].firstChild.data;
          var res = xmlHttp.responseXML.getElementsByTagName("message2")[0].firstChild.data;
          var cls = xmlHttp.responseXML.getElementsByTagName("class")[0].firstChild.data;
           
      
          setMessageForgotPass(mes,val,res,cls);  
      }
    }
}

function setMessageForgotPass(message,valid,response,cls) {
    var messageArea   = document.getElementById(response);
    var responseClass = "inValidResponse";
    document.getElementById(cls).className = "redBorder";
    
    if (valid == "true") {
        responseClass = "validResponse";
        document.getElementById(cls).className = "greenBorder";
    }
    
    messageArea.innerHTML = "<span class=" + responseClass + ">" + message + "</span>"; 
}

function validateTown(value,fnc) {
    getXMLDocument();
    
    var inputField = document.getElementById(value);
    var url = "index.php?pid=14&fnc=" + fnc + "&val=" + escape(inputField.value);
    
    xmlHttp.open("GET",url,true);
    xmlHttp.onreadystatechange = callbackTownResponse;
    xmlHttp.send(null);
}

function callbackTownResponse() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.status == 200) {
        var valid      = xmlHttp.responseXML.getElementsByTagName("passed")[0].firstChild.nodeValue;
        var message    = xmlHttp.responseXML.getElementsByTagName("message")[0].firstChild.nodeValue;
        var target     = xmlHttp.responseXML.getElementsByTagName("message2")[0].firstChild.nodeValue;
        var inputField = xmlHttp.responseXML.getElementsByTagName("class")[0].firstChild.nodeValue;
        
            setTownResponse(valid,message,target,inputField);
        }
    }
}

function setTownResponse(valid,message,target,inputField) {
    var messageArea = document.getElementById(target);
    var responseClass = "inValidResponse";
    
    
    if (valid == "false") {
        var messageArea   = document.getElementById(target);
        var responseClass = "inValidResponse";
        document.getElementById(inputField).className = "redBorder";
        
        messageArea.innerHTML = "<span class=" + responseClass + ">" + message + "</span>";
    } else {
        var messageArea   = document.getElementById(target);
        var beginDiv = document.getElementById("town");
        var editImg = document.getElementById("townImg");
        
        editImg.innerHTML = '<img src="main/templates/images/edit.png" style="cursor: pointer;" id="editTown">';
        
        var newImg = document.getElementById("editTown");
        
        newImg.onclick = function() {editTown("town","townMessage","13","townImg");};
        messageArea.innerHTML = "";
        beginDiv.innerHTML = message;
        
    }
}














































