//alert("inside Post.js");
var Post = new Object();
Post.Send = function(form)
{
	var query = Post.buildQuery(form);
	//if (form.name == "WriteReview") alert(query);
	Ajax.Request(form.method, form.action, query, Post.OnResponse);
}
Post.SendQuery = function(query,action)
{
	//alert("calling Ajax...");
	Ajax.Request("get", action, query, Post.OnResponse);
}

Post.OnResponse = function(xml)
{
	var err=null;
	var counts=null;
	var name=null;
	var login=null;
	var descript=null;
	var email=null;
	var message=null;
	var lastupd=null;
	var reviews=null;
	var newreviews=null;
	var password=null;
	var captcha=null;
	var forgot=null;
	try {
		counts = xml.getElementsByTagName("count");
	}
	catch (e) {counts=null;}
	try {
		forgot = xml.getElementsByTagName("forgot").item(0).firstChild.data;
	}
	catch (e) {forgot=null;}
	try {
		captcha = xml.getElementsByTagName("captchaerror").item(0).firstChild.data;
	}
	catch (e) {captcha=null;}
	try {
		password = xml.getElementsByTagName("password").item(0).firstChild.data;
	}
	catch (e) {password=null;}
	try {
		reviews = xml.getElementsByTagName("review");
	}
	catch (e) {reviews=null;}
	try {
		newreviews = xml.getElementsByTagName("newreview");
	}
	catch (e) {newreviews=null;}
	try {
		err = xml.getElementsByTagName("error").item(0).firstChild.data;
	}
		catch (e) {err=null;}
	try {
		name = xml.getElementsByTagName("name").item(0).firstChild.data;
	}
		catch (e) {name=null;}
	try {
		descript = xml.getElementsByTagName("description").item(0).firstChild.data;
	}
	catch (e) {descript=null;}
	try {
		email = xml.getElementsByTagName("emailaddress").item(0).firstChild.data;
	}
	catch (e) {email=null;}
	try {
		lastupd = xml.getElementsByTagName("last_upd_ts").item(0).firstChild.data;
	}
	catch (e) {}
	try {
		id = xml.getElementsByTagName("login").item(0).firstChild.data;
	}
	catch (e) {id=null;}
	try {
		message = xml.getElementsByTagName("message").item(0).firstChild.data;
	}
	catch (e) {message=null;}
	if (forgot != null) { passwordReset(); return; }
	if (name != null && id==null && message==null) {
		var r = document.getElementById("error");
		r.innerHTML= "";
		var l = document.getElementById("welcome");
		l.innerHTML="Welcome, "+name+" ("+email+")";
	} else if (captcha != null) {
		var l = document.getElementById("welcome");
		if (l!=null) l.innerHTML="Welcome";
		var r = document.getElementById("error");
		r.innerHTML= "<h4>Error: "+captcha+"</h4>";
		Recaptcha.reload();
	} else if (err != null) {
		var l = document.getElementById("welcome");
		if (l!=null) l.innerHTML="Welcome";
		var r = document.getElementById("error");
		r.innerHTML= "<h4>Error: "+err+"</h4>";
	} else if (message != null) {
		var m = document.getElementById("message");
		m.innerHTML= "<h4>"+message+"</h4>";
		var r = document.getElementById("error");
		if (r!=null) r.innerHTML= "";
		var p = document.getElementById("passemail");
		if (p!=null) p.innerHTML= "";
		if (email != null) {
			var l = document.getElementById("welcome");
			l.innerHTML="Welcome, "+name+" ("+email+")";
		}
	} else if (id != null) {
		var r = document.getElementById("message");
		r.innerHTML= "";
		var e = document.getElementById("error");
		e.innerHTML= "";
		var l = document.getElementById("welcome");
		var r = document.getElementById("passemail");
		r.innerHTML= "";
		l.innerHTML="Welcome, "+name;
		var r = document.getElementById("accountstat");
		r.innerHTML= "Your User ID has been emailed to "+email+"."+
		  "<br><br><h1>Actions</h1>"+
		  "<a href='javascript:changePassword(\""+email+"\")'>Change Password</a>"+
		  "<br>";
	}
	if (descript != null) {
		var r = document.getElementById("error");
		var m = document.getElementById("message");
		var p = document.getElementById("passemail");
		p.innerHTML= "";
		r.innerHTML= "";
		m.innerHTML= "";
		var l = document.getElementById("accountstat");
		l.innerHTML=descript+
		  "<br>Last Activity:  "+lastupd+
		  "<br><br><h1>Actions</h1>"+
		  "<a href='javascript:changePassword(\""+email+"\")'>Change Password</a>"+
		  "<br><a href='javascript:changeEmailAddr(\""+email+"\",\""+password+"\")'>Change Email Address</a>"+
		  "<br><a href='javascript:gotoForum(\""+email+"\")'>User Forum</a>"+
		  "<br><a href='javascript:writeReview(\""+email+"\",\""+password+"\")'>Write a Review</a>"+
		  "<br>";
	}
	if (counts != null && counts.length>0) {
		var s = document.getElementById("replaceme");
		var avg = counts[0].attributes.getNamedItem('average').value;
		var count = counts[0].attributes.getNamedItem('count').value;
		var html;
		if (avg > 0)
		html='<br><img src="iphone/images/'+Math.round(avg)+'stars.png>';
		else
		html='<br><img src="iphone/images/5stars.png>';

		html=html+"<br><a href='Reviews.htm'>"+count+" reviews</a>";
		s.innerHTML=html;
	}
	if (reviews != null && reviews.length>0) {
		var s = document.getElementById("replaceme");
		var html=""
		html=""+reviews.length+" reviews:<br><br>"+
		'<table border="3" cellspacing="1" width="100%" style="border-style: solid; border-width: 1">'+
                  '<tr>'+
                    '<th width="10%" align="center"><b>Rank</b></th>'+
                    '<th width="17%" align="center"><b>Name</b></th>'+
                    '<th width="79%" align="center"><b>Review</b></th>'+
                  '</tr>';
		for (i=0;i<reviews.length;i++)
		{
		 rank = reviews[i].attributes.getNamedItem('rank').value;
		 who = reviews[i].attributes.getNamedItem('who').value;
		 text = reviews[i].attributes.getNamedItem('text').value;
		 html=html+
                  '<tr>'+
                    '<td><img src="iphone/images/'+rank+'stars.png></td>'+
                    '<td>'+who+'</td>'+
                    '<td>'+decodeURIComponent(text)+'</td>'+
                  '</tr>';
		}
		 s.innerHTML=html+
                '</table>';
	}
	else if (newreviews != null && newreviews.length>0) {
		var s = document.getElementById("replaceme");
		var html=""
		html=""+newreviews.length+" reviews:<br><br>"+
		'<table border="3" cellspacing="1" width="100%" style="border-style: solid; border-width: 1">'+
                  '<tr>'+
                    '<th width="15%" align="center"><b>Date</b></th>'+
                    '<th width="17%" align="center"><b>Name</b></th>'+
                    '<th width="79%" align="center"><b>Review</b></th>'+
                    '<th width="20%" align="center"><b>Post</b></th>'+
                  '</tr>';
		for (i=0;i<newreviews.length;i++)
		{
		 date = newreviews[i].attributes.getNamedItem('date').value;
		 who = newreviews[i].attributes.getNamedItem('who').value;
		 text = newreviews[i].attributes.getNamedItem('text').value;
		 id = newreviews[i].attributes.getNamedItem('id').value;
		 html=html+
                  '<tr>'+
                    '<td>'+date+'</td>'+
                    '<td>'+who+'</td>'+
                    '<td>'+decodeURIComponent(text)+'</td>'+
                    '<td><input type="button" id="but'+id+'" value="Post" onclick="post('+id+')"</td>'+
                  '</tr>';
		}
		 s.innerHTML=html+
                '</table>';
	}
}

Post.buildQuery = function(form)
{
if (form.name == "Login") return "login="+form.login.value+
	"&password="+form.password.value+
	"&forgot="+form.forgot.checked+
	"&recaptcha_response="+form.recaptcha_response_field.value+
	"&recaptcha_challenge="+form.recaptcha_challenge_field.value;
else if (form.name == "Contact") return "MessageType="+form.MessageType.value+
	"&Subject="+form.Subject.value+
	"&Comments="+form.Comments.value+
	"&Username="+form.Username.value+
	"&UserEmail="+form.UserEmail.value+
	"&UserTel="+form.UserTel.value+
	"&UserFAX="+form.UserFAX.value+
	"&recaptcha_response="+form.recaptcha_response_field.value+
	"&recaptcha_challenge="+form.recaptcha_challenge_field.value;
else if (form.name == "Reset" ) return "email="+form.emailaddr.value;
else if (form.name == "ChangeEmail" ) return "newemail="+form.emailaddr.value+
	"&oldemail="+form.oldemail.value+
	"&icode="+form.icode.value;
else if (form.name == "ChangePassword" ) return "pass="+form.pass.value+
	"&password="+form.password.value+
	"&password_verification="+form.password_verification.value+
	"&p_code="+new String(form.p_code.value).replace("?","");
else if (form.name == "WriteReview") {
	var rank = 1;
	for (var i=0; i<form.rank.length; i++)  { 
		if (form.rank[i].checked)  {
			rank=i+1;
		} 
	}
	return "email="+form.emailaddr.value+
	"&product="+form.product.value+
	"&review="+form.review.value+
	"&rank="+rank+
	"&icode="+form.icode.value;
}
else if (form.name == "AdminMenu") {
	var type;
	if (form.Reviews.checked) type="reviews";
	else if (form.NewUsers.checked) type = "newusers";
	else type="existingusers";
	return "type="+type;
}
	
return "";
}

