
//this for some little animation
var Login = new function() {  
  this.ajax = null;
  this.form = null;
  this.promptDiv = null;
  this.dotSpan = null;
  this.button = null;
  this.enabled = true;
  this.dots = '';
  this.promptInterval = null;
  
  this.cleanup = function() {
    var self = Login;
    self.form = null;
    self.promptDiv = null;
    self.dotSpan = null;
    self.button = null;
  };
  
  this.init = function() {
    var self = Login;
//    self.ajax = new Ajax();
    self.form = document.getElementById('form1');
    self.promptDiv = document.getElementById('promptDiv'); //joe
    self.dotSpan = document.getElementById('msg2'); //joe
    self.button = document.getElementById('Submit');
    self.setPrompt('base', 'Please Filled in the form.');
    //self.form.email.focus();
    //self.toggleEnabled(false);
    //self.form.onsubmit = function() { return false; }
    self.clearCookie('ses');
//    self.enableScreenReaderFeatures();//Joe
  };
// sampai sini

 this.clearCookie = function(name) {
    var expireDate = new Date(0);
    document.cookie = name + '=; expires=' + expireDate.toGMTString() + '; path=/';
  };

//ini untuk test login
this.promptInterval = null;
 this.setPrompt = function(stat, msg) {
    var self = Login;
    var promptDiv = self.promptDiv;
    var msgSpan = document.getElementById('msg1');
    var statusClass = '';
    promptDiv.className = stat; // 'base', 'proc' or 'err'
    if (msgSpan.firstChild) {
      msgSpan.removeChild(msgSpan.firstChild);
    }
    msgSpan.appendChild(document.createTextNode(msg));
  };
  
this.showStatusPrompt = function() {
    var self = Login;
    self.setPrompt('proc', 'Processing');
    self.promptInterval = setInterval(self.showStatusDots, 200);
  };
	
	this.showStatusDots = function() { //joe
    var self = Login;
    var dotSpan = self.dotSpan;
    self.dots += '.';
    if (self.dots.length > 4) {
      self.dots = '';
    }
    if (dotSpan.firstChild) {
      dotSpan.removeChild(dotSpan.firstChild);
    }
    dotSpan.appendChild(document.createTextNode(' ' + self.dots));
  };
 
   this.toggleEnabled = function(able) {
    var self = Login;
//	alert(able); //joe//
    if (able) {
      self.button.onclick = self.submitData;
      self.button.disabled = false;
      self.button.className = 'inputButtonActive';
      self.enabled = true;
    }
    else {
      self.button.onclick = null;
      self.button.disabled = true;
      self.button.className = 'inputButtonDisabled';
      self.enabled = false;
    }
  };
  
  
   
  /*
   this.keyup = function(e) {
    var self = Login;
    if (!e) {
      e = window.event;
    }
    if (e.keyCode != 13) {
      self.evalFormFieldState();
    }
    else {
      if (self.enabled) {
        self.submitData();
      }
    }
  };
  
  this.evalFormFieldState = function() {
    var self = Login;
    if (self.form.txtTest.value.length > 0 && self.form.txtText2.value.length > 0) { //Joe
      self.toggleEnabled(true);
    }
    else {
      self.toggleEnabled(false);
    }
  };
  */
  
};

 function submitData () {
    var self = Login;
    var postData = '';
    postData = formData2QueryString(self.form);
    self.ajax.doPost('../validate2.php', postData, self.handleLoginResp);
    self.showStatusPrompt();
    self.toggleEnabled(false);
  };

//other way of authentication
var receiveReqLogin = getXmlHttpRequestObject();
function ajaxLogin() {
	//ini methodnya post
      //var params = '';
	  var self = Login;
        //if (name == undefined || pass == undefined) { return false; }
        //params += "name=" + name;
      //params += "&pass=" + pass;
      if (receiveReqLogin.readyState == 4 || receiveReqLogin.readyState == 0) {
		  //postData = formData2QueryString(self.form);
    //self.ajax.doPost('validate.php', postData, self.handleLoginResp);
         receiveReqLogin.open("POST", "validate2.php", true);
         receiveReqLogin.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
         receiveReqLogin.onreadystatechange = function() {
            if (receiveReqLogin.readyState == 4) 
			{
				if (receiveReqLogin.responseText == "Valid") 
				{
                        window.location.href = "forgotPass_Proc.php";
             	}
             	else 
				{ 
					//ajaxDisplay.innerHTML = receiveReqLogin.responseText; 
						//var selferr = Login;
						var dotSpan = self.dotSpan;
						clearInterval(self.promptInterval);
						if (dotSpan.firstChild) {
						  dotSpan.removeChild(dotSpan.firstChild);
						}
						self.setPrompt('err', "Error");
						
						var ajaxDisplay = document.getElementById('msg1');//('ValidateForm');
						ajaxDisplay.innerHTML = receiveReqLogin.responseText;
						
						//self.toggleEnabled(true);
				}
               
            }
         }  
             //alert('sending params');
			  
			 
         receiveReqLogin.send(null); //Make the actual request.
		 //self.toggleEnabled(false);
		 self.showStatusPrompt();
		
      }
	   
   }       
   
   function getXmlHttpRequestObject(page) {
      var ajaxRequest;  // The variable that makes Ajax possible!  
      // Opera 8.0+, Firefox, Safari
      try { ajaxRequest = new XMLHttpRequest(); }
      catch (e) { // Internet Explorer Browsers
         try { ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); }
         catch (e) {
            try { ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); }
            catch (e) { // Something went wrong
               alert("Damn Baby, Upgrade That Browser, www.getfirefox.com");
               window.location.href = 'http://www.getfirefox.com';
               return false;
            }
         }
      }
      return ajaxRequest;
   }


//sampai sini

function stateChanged() 
{ 
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 { 
 document.getElementById("ValidateForm").innerHTML=xmlHttp.responseText 
 } 
}


function showUser2(str)
{ 
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
 {
 alert ("Browser does not support HTTP Request")
 return
 }
var url="getuser.php"
url=url+"?q="+str
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged2 
//xmlHttp.open("GET",url,true)
xmlHttp.open("POST",url,true)
xmlHttp.send(null)
}

function submitform(strfile,straction,nama,pesan)
{ 
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
 {
 alert ("Browser does not support HTTP Request")
 return
 }
var url=strfile
url=url+"?action="+straction+"&nama="+nama+"&pesan="+pesan
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChangedform 
//xmlHttp.open("GET",url,true)
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}

function stateChangedform() 
{ 
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 { 
 document.getElementById("result").innerHTML=xmlHttp.responseText 
 } 
}



function loadForm(str)
{ 
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
 {
 alert ("Browser does not support HTTP Request")
 return
 }
var url="formtab1.php"
url=url+"?q="+str
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged2 
//xmlHttp.open("GET",url,true)
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}


function loadpaging(str,addr)
{ 
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
 {
 alert ("Browser does not support HTTP Request")
 return
 }
var url=addr
url=url+"?page="+str
//url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChangedpage 
//xmlHttp.open("GET",url,true)
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}

function loadpaging2var(str,str2,addr)
{ 
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
 {
 alert ("Browser does not support HTTP Request")
 return
 }
var url=addr
url=url+"?page="+str+"&idscat="+str2
//url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChangedpage 
//xmlHttp.open("GET",url,true)
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}


function stateChangedpage() 
{ 
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 { 
 document.getElementById("pagingresult").innerHTML=xmlHttp.responseText 
 } 
}


function QueryDataFP(str,addr)
{ 
 //var self = Login;
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
 {
 alert ("Browser does not support HTTP Request")
 return
 }
var url="forgotPass_Proc.php"
url=url+"?txtEmail="+str
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChangedQDFP() 
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
//self.showStatusPrompt();
}

function stateChangedQDFP() 
{ 
//var self = Login;
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 { 
 	//if(xmlHttp.responseText == "ValidF")
	//{
		//window.location.href = "forgotPass2.php?txtEmail="+str;
	//}
	//else 
	//{
		//var dotSpan = self.dotSpan;
			//			clearInterval(self.promptInterval);
				//		if (dotSpan.firstChild) {
					//	  dotSpan.removeChild(dotSpan.firstChild);
						//}
						//self.setPrompt('err', "Error");
						
						//var ajaxDisplay = document.getElementById('results');//('ValidateForm');
						//ajaxDisplay.innerHTML = xmlHttp.responseText;
		document.getElementById("resultfp").innerHTML=xmlHttp.responseText 		
	//}
 	
 
 } 
}


function stateChanged2() 
{ 
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 { 
 document.getElementById("txtHint2").innerHTML=xmlHttp.responseText 
 } 
}







function GetXmlHttpObject()
{
var xmlHttp=null;
try
 {
 // Firefox, Opera 8.0+, Safari
 xmlHttp=new XMLHttpRequest();
 }
catch (e)
 {
 //Internet Explorer
 try
  {
  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xmlHttp;
}


//another part of initial login
//window.onunload = Login.cleanup;
//window.onload = Login.init;
//document.onkeyup = Login.keyup;
//