<!--

function do_IE_tracking_fix_post_comment()
{
		inner('ajaxmsg', 'comments', 'Your comment has been successfully posted.');

		var this_url = 'show_ajax_comments.php' ;
		var send = 'id=' + unique_pid ;

		ajaxpack.getAjaxRequest(this_url, send, inline_comment, "txt");

}

function inline_comment()
{

var myajax=ajaxpack.ajaxobj
var myfiletype=ajaxpack.filetype
if (myajax.readyState == 4){ //if request of file completed
if (myajax.status==200 || window.location.href.indexOf("http")==-1){ // if request was successful or running script locally
if (myfiletype=="txt")
{

var response = myajax.responseText;
// alert(response);
var zero = response.split('|');

var digit = zero[0]; // this is the unique post id
var msg_comments = zero[1];
var msg_comment_status = zero[2];
var msg_post = zero[3];

var cd;
if ( msg_comments == 1 ) { cd = '1 comment'; } else if ( msg_comments > 1 ) { cd = msg_comments + ' comments'; } else { cd = ''; } 

var comment_div = '';
if ( msg_comment_status == 1 ) {

}

var show_dis_msg = '<span style="float:right;"><a href="commentsfeed'+unique_pid+'"><img src="feedicon.png" width="14" height="14" alt="post comments feed" border="0" style="margin:0;padding:0;border:0;"></a></span>'+cd+' &nbsp; &nbsp; &nbsp; Ctrl + Enter to comment' + msg_post ;

inner('ajax_inline', 'comments', show_dis_msg);

}
else
 {
alert(myajax.responseText);
 }

}
}

}

function do_ajax_post_comment()
{


var myajax=ajaxpack.ajaxobj
var myfiletype=ajaxpack.filetype
if (myajax.readyState == 4){ //if request of file completed
if (myajax.status==200 || window.location.href.indexOf("http")==-1){ // if request was successful or running script locally
if (myfiletype=="txt")
{

var response = myajax.responseText;

 //alert(response);

var zero = response.split('|');

var digit = zero[0]; // 0 = error, 1 = success baby
// 			yes|id|name|email|disp|web|rem|msg

var ist_id = zero[1];


if ( digit == 0 ) // error
	{	// ist_id bcomes error msg
		inner('ajaxmsg', null, ist_id);
		inner('submitter','post','<input type="submit" id="s" name="s" value="Ctrl + Enter"/>');
	}

if ( digit == 1 ) // success
	{
var ist_name = zero[2];
var ist_email = zero[3];
var ist_disp = zero[4];
var ist_web = zero[5];
var ist_rem = zero[6];

		inner('post', 'comments', '<a href="javascript:;" onclick="post('+ist_id+',\''+ist_name+'\','+ist_disp+',\''+ist_email+'\',\''+ist_web+'\','+ist_rem+',0);">Post a comment</a> &nbsp; <a href="javascript:;" onclick="post('+ist_id+',\''+ist_name+'\','+ist_disp+',\''+ist_email+'\',\''+ist_web+'\','+ist_rem+',1);">Track comments</a>');

// alert('post('+ist_id+',\''+ist_name+'\','+ist_disp+',\''+ist_email+'\',\''+ist_web+'\','+ist_rem+',0);');

setTimeout("do_IE_tracking_fix_post_comment();",50);

	}

}
else
 {
alert(myajax.responseText);
 }

}
}


}






function do_IE_tracking_fix()
{
		inner('ajaxmsg', 'comments', 'You are now comment tracking this topic. A confirmation email has been sent, please check it reaches your inbox and not any spam folders.');
}

function do_ajax_track_comments()
{


var myajax=ajaxpack.ajaxobj
var myfiletype=ajaxpack.filetype
if (myajax.readyState == 4){ //if request of file completed
if (myajax.status==200 || window.location.href.indexOf("http")==-1){ // if request was successful or running script locally
if (myfiletype=="txt")
{

var response = myajax.responseText;
// alert(response);
var zero = response.split('|');

var digit = zero[0]; // 0 = error, 1 = success baby
// 			yes|id|name|email|disp|web|rem|msg

var ist_id = zero[1];


if ( digit == 0 ) // error
	{	// ist_id bcomes error msg
		inner('ajaxmsg', null, ist_id);
		inner('tsubmitter','post','<input type="submit" id="s" name="s" value="SUBMIT"/>');
	}

if ( digit == 1 ) // success
	{
var ist_name = zero[2];
var ist_email = zero[3];
var ist_disp = zero[4];
var ist_web = zero[5];
var ist_rem = zero[6];

		inner('post', 'comments', '<a href="javascript:;" onclick="post('+ist_id+',\''+ist_name+'\','+ist_disp+',\''+ist_email+'\',\''+ist_web+'\','+ist_rem+',0);">Post a comment</a> &nbsp; <a href="javascript:;" onclick="post('+ist_id+',\''+ist_name+'\','+ist_disp+',\''+ist_email+'\',\''+ist_web+'\','+ist_rem+',1);">Track comments</a>');

// alert('post('+ist_id+',\''+ist_name+'\','+ist_disp+',\''+ist_email+'\',\''+ist_web+'\','+ist_rem+',0);');

setTimeout("do_IE_tracking_fix();",50);

	}

}
else
 {
alert(myajax.responseText);
 }

}
}


}



	//verify_img = new Image();
	//verify_img.src = 'verify.jpg';

document.onkeypress = checkKeycode;

var CtrlEnter = 0;
function ctrl_enter()
{

	if (CtrlEnter == 0)
	{
		show_comment_form();
	}
	else
	{
		form_validation(document.m);
	}

CtrlEnter++;
}

function checkKeycode(e) {
var keycode;
if (window.event) // browser is IE
{
 keycode = window.event.keyCode;
 if(keycode == 10) { ctrl_enter(); }
}
else if (e) // firefox
{
 keycode = e.which;
 if(e.ctrlKey && keycode == 13) { ctrl_enter(); }
}
else // don't do anything
{

}


}

function toggle() {

   var postspan = document.getElementById('postspan');
   var trackspan = document.getElementById('trackspan');

   if (postspan.className=="show") {
      postspan.className="hide";
      trackspan.className="show";
document.t.name.value=document.m.name.value;
document.t.email.value=document.m.email.value;
if (document.m.remember.checked==true){document.t.remember.checked=true;}else{document.t.remember.checked=false;}
	if(document.t.name.value==''){  document.t.name.focus();}else{document.t.email.focus();}
   }
   else {
      postspan.className="show";
      trackspan.className="hide";
document.m.name.value=document.t.name.value;
document.m.email.value=document.t.email.value;
if (document.t.remember.checked==true){document.m.remember.checked=true;}else{document.m.remember.checked=false;}
	if(document.m.name.value==''){   document.m.name.focus();}else{document.m.cmts.focus();}
   }
}

function whitespace(ta,trim,do_ta) {

if (do_ta == '')
{
 ta.value = ta.value.replace(/\s+/g, " ");
}

if (trim == 1)
{
s = ta.value;
  while (s.substring(0,1) == ' ') {
    s = s.substring(1,s.length);
  }
  while (s.substring(s.length-1,s.length) == ' ') {
    s = s.substring(0,s.length-1);
  }
  ta.value = s;
}

 }

function remove_whitespace(ta) {
 ta.value = ta.value.replace(/[\s\n]/g, "");

}

function numbers_only()
{
var isNS4 = (navigator.appName == "Netscape") ? 1:0;
if(!isNS4){if(event.keyCode < 45 || event.keyCode > 57) event.returnValue = false;}else{if(event.which < 45 || event.which > 57) return false;}
}

var big = 0;
function bigger() { if ( big < 5 ) { document.getElementById("cmts").rows += 5; big++; } }

function submitter() {

 inner('submitter','post','Please wait ...');

var p_id = document.m.id.value;
var p_name = document.m.name.value;
var p_email = document.m.email.value;
var p_is_rem_checked = (document.m.remember.checked == true) ? 1 : '' ;

var p_int_disp = (document.m.emlchk.checked == true) ? 1 : '' ;
var p_www = document.m.www.value;

if ( p_www == "http://") { p_www = ''; }
else
{
	var valid_url = /^(http|https|ftp):\/\/([a-z0-9\/\.\,\;\?\'\\\+&%\$#\=~_\-]{0,})([\w]{2,})\.([\w]{2,})([a-z0-9\/\.\,\;\?\'\\\+&%\$#\=~_\-]{0,})$/;
	if ( p_www.search(valid_url) == -1) { p_www = ''; }
}

var p_comments = document.m.cmts.value;
var p_track = (document.m.track.checked == true) ? 1 : '' ;

var this_url = 'ajax_post_a_comment.php' ;
var send = 'id=' + p_id + '&name=' + p_name + '&email=' + p_email + '&rem=' + p_is_rem_checked + '&disp=' + p_int_disp + '&www=' + p_www + '&cmts=' + p_comments + '&track=' + p_track ;

//alert(send);

//ajaxpack.postAjaxRequest(this_url, send, do_ajax_post_comment, "txt");


 }

function tsubmitter() {

 inner('tsubmitter','post','Please wait ...');

var t_id = document.t.id.value;
var t_name = document.t.name.value;
var t_email = document.t.email.value;
var is_rem_checked = document.t.remember.value ;

var t_int_disp = document.t.emlchk.value;
var t_www = document.t.www.value;

if ( t_www == "http://") { t_www = ''; }
else
{
	var valid_url = /^(http|https|ftp):\/\/([a-z0-9\/\.\,\;\?\'\\\+&%\$#\=~_\-]{0,})([\w]{2,})\.([\w]{2,})([a-z0-9\/\.\,\;\?\'\\\+&%\$#\=~_\-]{0,})$/;
	if ( t_www.search(valid_url) == -1) { t_www = ''; }
}

var this_url = 'ajax_track_comments.php' ;
var send = 'id=' + t_id + '&name=' + t_name + '&email=' + t_email + '&rem=' + is_rem_checked + '&disp=' + t_int_disp + 'www=' + t_www ;

ajaxpack.postAjaxRequest(this_url, send, do_ajax_track_comments, "txt");


 }

var do_submit = 0;
function form_validation(f)
{

// name
whitespace(f.name,1,'');
if (f.name.value.length <= 2) { alert("Name must be 3 characters or more"); f.name.focus(); return false; }

// email
remove_whitespace(f.email);
	if (f.email.value.length > 0)
	{
var valid_email = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
if (f.email.value.search(valid_email) == -1)
{
alert("Email address seems to be invalid. Please re-enter\nRest assured - emails are spam protected!");
f.email.focus();
return false;
}
	}

// display
if (f.emlchk.checked==true && f.email.value.length < 1) { alert("You have opted to show your email address yet have not entered it\nEither uncheck the box or enter your email"); f.emlchk.focus(); return false; }

// www
remove_whitespace(f.www);
var valid_url = /^(http|https|ftp):\/\/([a-z0-9\/\.\,\;\?\'\\\+&%\$#\=~_\-]{0,})([\w]{2,})\.([\w]{2,})([a-z0-9\/\.\,\;\?\'\\\+&%\$#\=~_\-]{0,})$/;
if(f.www.value != "http://")
{
if(f.www.value != "")
{
if(f.www.value.search(valid_url) == -1) { alert("Website does not seem correct"); f.www.focus(); return false;  }
}
}

// comments
whitespace(f.cmts,1,1);
if (f.cmts.value.length < 4) { alert("Be a bit more descriptive please"); f.cmts.focus(); return false;  }

// track comments
if (f.track.checked==true && f.email.value.length < 1) { alert("You have opted to track any follow up comments yet no email address has been entered\nEither uncheck the box or enter your email"); f.emlchk.focus(); return false; }

 //if (do_submit == 0) { do_submit++; }

setTimeout("submitter();",50); //return false; 

}

function form_track_validation(f)
{

// name
whitespace(f.name,1,'');
if (f.name.value.length <= 2) { alert("Name must be 3 characters or more"); f.name.focus(); return false; }

// email
remove_whitespace(f.email);
	if (f.email.value.length > 0)
	{
var valid_email = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
if (f.email.value.search(valid_email) == -1)
{
alert("Email address seems to be invalid. Please re-enter\nRest assured - emails are spam protected!");
f.email.focus();
return false;
}
	}
	else
	{
alert("Enter an email address to track comments");
f.email.focus();
return false;
	}

setTimeout("tsubmitter();",50);

return false;
}

/* if verification is on add this
<tr><td><label for="imgvrf">Image verification</label></td><td align="right"><img src="verify.jpg" width="105" height="48" alt="verify image" border="0" align="middle"/> <input type="text" name="imgvrf" size="4" maxlength="4" value="" id="imgvrf" onkeypress="numbers_only();"/></td></tr>
 &nbsp; <a href="javascript:;" onclick="track'+onprick+'">Track comments</a>
*/

function post(id,name_x,int_display,email_x,www_x,int_me,wat){if(int_display=='1'){int_display='checked="checked" ';int_disp='1';}else{int_display='';int_disp='0';}if(int_me=='1'){verification='';rem_me='checked="checked" ';}else{rem_me='';verification='<tr><td><label for="imgvrf">Image verification</label></td><td align="right"><img src="verify.jpg" width="105" height="48" alt="verify image" border="0" align="middle"/> <input type="text" name="imgvrf" size="4" maxlength="4" value="" id="imgvrf" onkeypress="numbers_only();"/></td></tr>';}if(www_x==''){www_x='http://';}
var onprick;
onprick = "("+id+",'"+name_x+"','"+int_disp+"','"+email_x+"','"+www_x+"',"+int_me+");";

if (wat == 0) {
cpost = 'show';
ctrack = 'hide';
 }
else
{
cpost = 'hide';
ctrack = 'show';
}
CtrlEnter++;
inner('post',null,'<span id="postspan" class="'+cpost+'">Post a comment &nbsp; <a href="javascript:;" onclick="toggle();">Track comments</a><form name="m" action="post-a-comment" method="post" onsubmit="return form_validation(this);"><input type="hidden" name="id" value="'+id+'"/><table id="post" width="450" cellpadding="2" cellspacing="0" border="0"><tr> <td><label for="name">Name</label></td> <td align="right"> <input type="text" name="name" size="30" maxlength="30" value="'+name_x+'" id="name"/></td> </tr><tr> <td><label for="email">Email</label> <font size="1">optional</font></td> <td align="right"><label for="emlchk">display?</label> <input type="checkbox" name="emlchk" id="emlchk" '+int_display+' value="y"/> <input type="text" name="email" size="30" maxlength="60" value="'+email_x+'" id="email"/> </td> </tr><tr> <td><label for="www">Website</label> <font size="1">optional</font></td> <td align="right"><input type="text" name="www" size="30" maxlength="60" value="'+www_x+'" id="www"/></td> </tr><tr> <td><label for="cmts">Comments</label></td> <td align="right"> No HTML (make <a href="javascript:;" onclick="bigger();return false;">bigger</a>) </td> </tr><tr> <td colspan="2"><textarea name="cmts" cols="53" rows="10" id="cmts"></textarea></span></td> </tr>'+verification+'</table><table id="post" width="450" cellpadding="2" cellspacing="0" border="0"><tr><td><input type="checkbox" name="remember" id="me" '+rem_me+' value="1"/> <label for="me">Remember me</label> <input type="checkbox" name="track" id="track" value="1"/> <label for="track">Track comments via email</label></td><td align="right"><div id="submitter"><input type="submit" id="s" name="s" value="Ctrl + Enter"/></div></td></tr></table></form></span><span id="trackspan" class="'+ctrack+'"><a href="javascript:;" onclick="toggle();">Post a comment</a> &nbsp; Track comments<form name="t" action="track-comments" method="post" onsubmit="return form_track_validation(this);"><input type="hidden" name="id" value="'+id+'"/><input type="hidden" name="emlchk" value="'+int_disp+'"/><input type="hidden" name="www" value="'+www_x+'" /><table id="post" width="300" cellpadding="2" cellspacing="0" border="0"><tr> <td><label for="tname">Name</label></td> <td align="right"> <input type="text" name="name" size="30" maxlength="30" value="'+name_x+'" id="tname"/></td> </tr><tr> <td><label for="temail">Email</label></td> <td align="right"><input type="text" name="email" size="30" maxlength="60" value="'+email_x+'" id="temail"/> </td> </tr></table><table id="post" width="300" cellpadding="2" cellspacing="0" border="0"><tr><td><input type="checkbox" name="remember" '+rem_me+' id="tme" value="1"/> <label for="tme">Remember me</label> </td><td align="right"><div id="tsubmitter"><input type="submit" id="s" name="s" value="SUBMIT"/></div></td></tr></table></form></span>');
if(cpost == 'show')
{
if(name_x==''){document.m.name.focus();}else{document.m.cmts.focus();}
}
else
{
document.t.name.focus();
}
}




















//Basic Ajax Routine- Author: Dynamic Drive (http://www.dynamicdrive.com)
//Last updated: Jan 15th, 06'

function createAjaxObj(){
var httprequest=false
if (window.XMLHttpRequest){ // if Mozilla, Safari etc
httprequest=new XMLHttpRequest()
if (httprequest.overrideMimeType)
httprequest.overrideMimeType('text/xml')
}
else if (window.ActiveXObject){ // if IE
try {
httprequest=new ActiveXObject("Msxml2.XMLHTTP");
} 
catch (e){
try{
httprequest=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){}
}
}
return httprequest
}

var ajaxpack=new Object()
ajaxpack.basedomain="http://"+window.location.hostname
ajaxpack.ajaxobj=createAjaxObj()
ajaxpack.filetype="txt"
ajaxpack.addrandomnumber=1 //Set to 1 or 0. See documentation.

ajaxpack.getAjaxRequest=function(url, parameters, callbackfunc, filetype){
ajaxpack.ajaxobj=createAjaxObj() //recreate ajax object to defeat cache problem in IE
if (ajaxpack.addrandomnumber==1) //Further defeat caching problem in IE?
var parameters=parameters+"&ajaxcachebust="+new Date().getTime()
if (this.ajaxobj){
this.filetype=filetype
this.ajaxobj.onreadystatechange=callbackfunc
this.ajaxobj.open('GET', url+"?"+parameters, true)
this.ajaxobj.send(null)
}
}

ajaxpack.postAjaxRequest=function(url, parameters, callbackfunc, filetype){
ajaxpack.ajaxobj=createAjaxObj() //recreate ajax object to defeat cache problem in IE
if (this.ajaxobj){
this.filetype=filetype
this.ajaxobj.onreadystatechange = callbackfunc;
this.ajaxobj.open('POST', url, true);
this.ajaxobj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
this.ajaxobj.setRequestHeader("Content-length", parameters.length);
this.ajaxobj.setRequestHeader("Connection", "close");
this.ajaxobj.send(parameters);
}
}

//ACCESSIBLE VARIABLES (for use within your callback functions):
//1) ajaxpack.ajaxobj //points to the current ajax object
//2) ajaxpack.filetype //The expected file type of the external file ("txt" or "xml")
//3) ajaxpack.basedomain //The root domain executing this ajax script, taking into account the possible "www" prefix.
//4) ajaxpack.addrandomnumber //Set to 0 or 1. When set to 1, a random number will be added to the end of the query string of GET requests to bust file caching of the external file in IE. See docs for more info.

//ACCESSIBLE FUNCTIONS:
//1) ajaxpack.getAjaxRequest(url, parameters, callbackfunc, filetype)
//2) ajaxpack.postAjaxRequest(url, parameters, callbackfunc, filetype)

///////////END OF ROUTINE HERE////////////////////////

//-->
