// JavaScript Document

function get_form(frm, pg){
	blinder('login', 1000, '0%', '100%', false);
	document.getElementById('title').innerHTML = frm;
	document.getElementById('display').innerHTML = "<br />";
	
	if(frm == 'Register') 
	     document.getElementById('frm_content').innerHTML = "<form method=post name=reg_frm> <table align=center cellpadding=0 cellspacing=0> <tr> <td align=right>Surname</td><td align=center><input size=20 type=text name=sname /></td> </tr> <tr> <td align=right>Other names: </td><td align=center> <input type=text name=onames /></td> </tr> <tr> <td align=right>Username: </td><td align=center><input type=text name=user /></td> </tr> <tr> <td align=right>Email</td><td align=center><input type=text name=email /></td> </tr> <tr>  <td align=right>Tel: </td><td align=center><input type=text name=tel /></td> </tr> <tr> <td align=center></td> <td align=center><input type=button name=btn value=Register onclick='create_account()' /></td> </tr></table></form>";
	else if(frm == 'Login') document.getElementById('frm_content').innerHTML = "<form name='login_fm' method=post><table align=center><tr> <td align=center>Username: <input type=text name=user /></td> </tr> <tr> <td align=center>Password: <input type=password name=pass /></td> </tr> <tr> <td align=center><input type=button name=btn value=Login onclick=login_stuff('"+pg+"') /></td> </tr></table></form> <p align=center><a style='cursor:pointer; color:#03F;' onClick=\"get_form('Lost Password', '')\">Lost password?</a></p>";
	
	else if(frm == 'Lost Password') document.getElementById('frm_content').innerHTML = "<form name='login_fm' method=post><table align=center><tr> <td align=center>Username: <input type=text name=user /></td> </tr> <tr> <td align=center><input type=button name=btn value='Get Password' onclick=get_password('"+pg+"') /></td> </tr></table></form> <p align=center><a style='cursor:pointer; color:#03F;' onClick=\"get_form('Login', '')\">Login</a></p>";
	
	else { document.getElementById('frm_content').innerHTML = "<form name='pass_fm' method=post><table align=center border=0><tr> <td align=center>Current Password<br /><input type=password name=pass0 /></td> </tr> <tr> <td align=center>New Password<br /><input type=password name=pass /></td> </tr> <tr> <td align=center>Repeat Password <br /> <input type=password name=pass2 /> <input type=hidden name=user value='' /> </td> </tr> <tr> <td align=center><input type=button name=btn value=Save onclick='password_change()' /></td> </tr></table></form>";
	}
	
}
//function $(div){ return document.getElementById( div );}
function pull_up(){blinder('login', 1000, '100%', '0%', false);}
function alert_dazzling(d){ Spry.Effect.DoShake(d);}

// JavaScript Document

function httpr(){
	var request = null;
    if(typeof window.XMLHttpRequest != 'undefined')
    {
      request = new XMLHttpRequest();
    }
    else if(typeof window.ActiveXObject != 'undefined')
    {
      try { 
	    request = new ActiveXObject('Microsoft.XMLHTTP'); 
	  }
      catch(err) { request = null; }
    }

	if(request == null) request = new XMLHttpRequest();
	 return request;
		
}


function login_stuff(pg){
	var request =  httpr();
	var response = document.getElementById('display');
	var f = document.login_fm; 
	
	if(f.user.value.length ==0 ){
	  response.innerHTML="<font color=red>Please provide your username</font>"; 
	  alert_dazzling('login_stuff');
	  f.user.focus(); 
	}	
	else if(f.pass.value.length ==0 ){
	  response.innerHTML="<font color=red>Please provide your password</font>"; 
	  alert_dazzling('login_stuff');
	  f.pass.focus(); 
	}
	else if(request != null) {
      request.onreadystatechange = function(){
		if(request.readyState == 1) {
			response.innerHTML = "<font color=blue>A moment please ...</font>";
		  f.user.disabled = true;
		  f.pass.disabled = true;	
		  f.btn.disabled = true;		
		}
        if(request.readyState == 4 && /^(200|304)$/.test(request.status.toString())){ 
		  var str = request.responseText;
		  f.user.value = '';
		  f.pass.value = '';
		  f.user.disabled = false;
		  f.pass.disabled = false;
		  f.btn.disabled = false;
		  if(str.indexOf('yes') != -1) {
			  document.location = pg;
			  response.innerHTML = "<font color=blue>Login success</font>";
		  }
		  else response.innerHTML = str;
        }
      }	  
      request.open('GET', 'login.php?user='+ f.user.value+'&pass='+ f.pass.value, true);
      request.send(null);
	}
}


function get_password(){

	var request =  httpr();
	var response = document.getElementById('display');
	var f = document.login_fm; 
	
	if(f.user.value.length ==0 ){
	  response.innerHTML="<font color=red>Please provide your username</font>"; 
	  alert_dazzling('login_stuff');
	  f.user.focus(); 
	}	
	else if(request != null) {
      request.onreadystatechange = function(){
		if(request.readyState == 1) {
			response.innerHTML = "<font color=blue>A moment please ...</font>";
		  f.user.disabled = true;
		  f.btn.disabled = true;		
		}
        if(request.readyState == 4 && /^(200|304)$/.test(request.status.toString())){ 
		  var str = request.responseText;
		  f.user.value = '';
		  f.user.disabled = false;
		  f.btn.disabled = false;
		  //if(str.indexOf('yes') != -1) document.location = pg; else 
		  response.innerHTML = str;
        }
      }	  
	  var rn = Math.random();
      request.open('GET', 'get_password.php?user='+ f.user.value+'&rn='+ rn, true);
      request.send(null);
	}
}


function password_change(){
	
	var request =  httpr();
	var response = document.getElementById('display');
	var f = document.pass_fm; 
	
	if(f.pass0.value.length ==0 ){
	  response.innerHTML="<font color=red>Provide your old password</font>"; 
	  alert_dazzling('login_stuff');
	  f.pass0.focus(); 
	}		
	else if(f.pass.value.length ==0 ){
	  response.innerHTML="<font color=red>Please provide your password</font>"; 
	  alert_dazzling('login_stuff');
	  f.pass.focus(); 
	}
	else if(f.pass.value != f.pass2.value){
	  response.innerHTML="<font color=red>Passwords have to match</font>"; 
	  alert_dazzling('login_stuff');
	  f.pass.focus(); 
	}		
	else if(f.pass2.value.length ==0 ){
	  response.innerHTML="<font color=red>Please repeat your password</font>"; 
	  alert_dazzling('login_stuff');
	  f.pass2.focus(); 
	}
	else if(request != null) {
      request.onreadystatechange = function(){
		if(request.readyState == 1) {
			response.innerHTML = "<font color=blue>A moment please ...</font>";
		  f.pass0.disabled = true;
		  f.pass.disabled = true;
		  f.pass2.disabled = true;	
		  f.btn.disabled = true;		
		}
        if(request.readyState == 4 && /^(200|304)$/.test(request.status.toString())){ 
		  response.innerHTML = request.responseText;
		  f.pass0.value = '';
		  f.pass.value = '';
		  f.pass2.value = '';
		  
		  if(request.responseText.indexOf('assword changed') != -1) setTimeout("pull_up()", 4000);
		  
		  f.pass0.disabled = false;
		  f.pass.disabled = false;
		  f.pass2.disabled = false;
		  f.btn.disabled = false;
		  
        }
      }	  
      request.open('GET', 'pass_change.php?user='+ f.user.value+'&pass='+ f.pass2.value+'&pass_o='+f.pass0.value, true);
      request.send(null);
	}
}

function create_account(){
	var request =  httpr();
	var response = document.getElementById('display');
	var f = document.reg_frm; 
	
	if(f.sname.value.length == 0 ){
	  response.innerHTML="<font color=red>Please provide your surname</font>"; 
	  alert_dazzling('login_stuff');
	  f.sname.focus(); 
	}
	else if(f.onames.value.length ==0 ){
	  response.innerHTML="<font color=red>Please provide your other names</font>"; 
	  alert_dazzling('login_stuff');
	  f.onames.focus(); 
	}
	else if(f.user.value.length ==0 ){
	  response.innerHTML="<font color=red>Please provide your username</font>";
	  alert_dazzling('login_stuff'); 
	  f.user.focus(); 
	}
	else if(f.email.value.length ==0 ){
	  response.innerHTML="<font color=red>Please provide your email</font>"; 
	  alert_dazzling('login_stuff');
	  f.email.focus(); 
	}
	else if(request != null) {
      request.onreadystatechange = function(){
		if(request.readyState == 1) {
			response.innerHTML = "<font color=blue>A moment please ...</font>";	
		  f.sname.disabled = true;
		  f.onames.disabled = true;
		  f.user.disabled = true;
		  f.pass1.disabled = true;
		  f.email.disabled = true;
		  f.tel.disabled = true;
		  f.pass2.disabled = true;	
		  
		  f.btn.disabled = true;		
		}
        if(request.readyState == 4 && /^(200|304)$/.test(request.status.toString())){ 
		  var str = request.responseText;
		  response.innerHTML = str;
		  
		  if(str.indexOf('password sent') != -1){		  
			  f.sname.value = '';
			  f.onames.value = '';
			  f.user.value = '';
			  f.email.value = '';
			  f.tel.value = '';
			  setTimeout("pull_up()", 4000);
		  }		  
		  f.sname.disabled = false;
		  f.onames.disabled = false;
		  f.user.disabled = false;
		  f.email.disabled = false;
		  f.tel.disabled = false;
		  f.btn.disabled = false;
        }
      }	  
      request.open('GET', 'register.php?sname='+ f.sname.value+'&oname='+ f.onames.value+'&user='+ f.user.value+'&mail='+ f.email.value+'&tel='+f.tel.value, true);
      request.send(null);
	}
}


function blinder(targetElement, duration, from, to, toggle){
	Spry.Effect.DoBlind(targetElement, {duration: duration, from: from, to: to, toggle: toggle});
}

function save_comment(){

	var request =  httpr();
	var response = document.getElementById('result');
	var f = document.comm_frm; 
	
	if(f.comm.value.length == 0 ){
	  response.innerHTML="<font color=red>Please provide your comment</font>"; 
	  alert_dazzling('result');
	  f.comm.focus(); 
	}	
	else if(request != null) {
      request.onreadystatechange = function(){
		if(request.readyState == 1) {
			response.innerHTML = "<font color=blue>A moment please ...</font>";
		  f.comm.disabled = true;
		  f.btn.disabled = true;		
		}
        if(request.readyState == 4 && /^(200|304)$/.test(request.status.toString())){ 
		  var str = request.responseText;
		  f.comm.value = '';
		  f.comm.disabled = false;
		  f.btn.disabled = false;
		  if(str.indexOf('been saved') != -1) show_latest(f.id.value);
		  response.innerHTML = str;
        }
      }	  
	  var rn = Math.random();
      request.open('GET', 'save_comment.php?comm='+ f.comm.value+'&rn='+ rn +'&id='+f.id.value, true);
      request.send(null);
	}
}

function show_latest(id){
	var request =  httpr();
	var response = document.getElementById('comments');
	
	if(request != null) {
      request.onreadystatechange = function(){
		if(request.readyState == 1) { }
        if(request.readyState == 4 && /^(200|304)$/.test(request.status.toString())){  
		  response.innerHTML = request.responseText + response.innerHTML;
        }
      }	  
	  var rn = Math.random();
      request.open('GET', 'comment_latest.php?rn='+ rn +'&id='+id, true);
      request.send(null);
	}
}

function show_latest_comment(id){
	var request =  httpr();
	var response = document.getElementById('com_comments'+id);
	
	if(request != null) {
      request.onreadystatechange = function(){
		if(request.readyState == 1) { }
        if(request.readyState == 4 && /^(200|304)$/.test(request.status.toString())){  
		  response.innerHTML = request.responseText + response.innerHTML;
        }
      }	  
	  var rn = Math.random();
      request.open('GET', 'comment_latest_com.php?rn='+ rn +'&id='+id, true);
      request.send(null);
	}
}

function get_comments(s, id){
	var request =  httpr();
	var response = document.getElementById('comments');
	
	if(request != null) {
      request.onreadystatechange = function(){
		if(request.readyState == 1) {
			response.innerHTML = "<font color=blue>A moment please ...</font>";
	    }
        if(request.readyState == 4 && /^(200|304)$/.test(request.status.toString())){  
		  response.innerHTML = request.responseText;
        }
      }	  
	  var rn = Math.random();
      request.open('GET', 'dwld_comments.php?rn='+ rn +'&file='+id+'&s='+s, true);
      request.send(null);
	}
}


function save_reply_comment(id){

	var request =  httpr();
	var response = document.getElementById('reply_display'+id);
	var f = document.getElementById('reply_fom'+id); 
 
	if(f.reply_msg.value.length == 0 ){
	  alert_dazzling('reply_display'+id);
	  response.innerHTML="<font color=red>Please provide your comment</font>"; 
	  f.reply_msg.focus(); 
	}	
	else if(request != null) {
      request.onreadystatechange = function(){
		if(request.readyState == 1) {
			response.innerHTML = "<font color=blue>A moment please ...</font> <img src='images/loading.gif' width=12 />";
		  f.reply_msg.disabled = true;
		  f.save_reply.disabled = true;		
		}
        if(request.readyState == 4 && /^(200|304)$/.test(request.status.toString())){ 
		  var str = request.responseText;
		  f.reply_msg.value = '';
		  f.reply_msg.disabled = false;
		  f.save_reply.disabled = false;
		  if(str.indexOf('been saved') != -1) show_latest_comment(id);
		  response.innerHTML = str;
		  setTimeout('reply_to_this('+id+'); response.innerHTML = "";', 4000);
        }
      }	  
	  var rn = Math.random();
      request.open('GET', 'save_comment.php?typ=reply&comm='+ f.reply_msg.value+'&rn='+ rn +'&id='+id, true);
      request.send(null);
	}
}

function reply_to_this(id){
	blinder('reply_form'+id, 3000, '0%', '100%', true)
}

