var currentSubType = '';
var amManaging = 'false';
var currentFilters = new Object();
var currentSort = new Object();

function submissionsSort(field, order){
	currentSort.field = field;
	currentSort.order = order;
	loadSubmissionsData(currentSubType, amManaging);
}

function submissionsSearch(event){
	event.stopPropogation = true;
	if(currentSubType == '') return false;
	
	var fType = $("#SubmissionsSearchType").attr('value');
	var fStatus = $("#SubmissionsSearchStatus").attr('value');
	var fIsDate = $("input[name='is_date_range']:checked").val();
	var fStartDate = '';
	var fEndDate = '';
	if(fIsDate == "undefined"){
		fIsDate = "no";
	}
	if(fIsDate){
		fStartDate = $("#date_range_start_form_field").attr('value');
		fEndDate = $("#date_range_end_form_field").attr('value');
	}
	var filters = new Object();
	if(fType != '*'){
		filters.filterType = fType;
	}
	if(fStatus != '*'){
		filters.filterStatus = fStatus;
	}
	if(fIsDate == "yes"){
		filters.filterDate = 'true';
		filters.filterDateStart = fStartDate;
		filters.filterDateEnd = fEndDate;
	}
	
	currentFilters = filters;
	
	loadSubmissionsData(currentSubType, amManaging);
	
	return false;
}

function namePresentable(subType){
	if(subType == "advice"){
		return "Advice";
	}else if(subType == "request"){
		return "Requests";
	}else if(subType == "question"){
		return "Questions";
	}else if(subType == "submissions"){
		return "Mentors that have applied to your subscription/individual submissions";
		
	}
	return "Unknown ? " + subType;
}

function loadSubmissionsForm(subType){
	currentSubType = subType;
	
	currentSort.field = '';
	
	// generate the search box ...
	var searchBox = '<form id="SubmissionsSearch" method="get" action="?" style="padding:0px; margin:0px;" class="evenrow">';
	searchBox += '<table cellpadding="5" cellspacing="0" border="0" width="100%">';
	searchBox += '<tr>';
	searchBox += '<td><b>Search '+ namePresentable(subType) + '</b>'
	searchBox += '</td>';
	if(subType == "request"){
		$("#Submission").append('<h1>Requests</h1>' +  '<span class="linespacing" align="justify">This is where help is given/received for two types of requests: <a href="http://www.racsuccess.com/Details.php#InitialComments" class="link" target="_blank">Initial comments</a> (bid text) and <a href="http://www.racsuccess.com/Details.php#BidRequestDesc" class="link" target="_blank">Bid request descriptions</a> (project descriptions).<br /><br /></span>');
		// the Type
		searchBox += '<td>';
		searchBox += 'Type:';
		searchBox += '<select name="type" id="SubmissionsSearchType">';
		searchBox += '<option value="*" selected>All</option>';
		searchBox += '<option value="Bid request description">Bid request description</option>';
		searchBox += '<option value="Initial comment">Initial comment</option>';
		searchBox += '</select>';
		searchBox += '</td>';
	}else if(subType == "question"){
		$("#Submission").append('<h1>Questions</h1>' +  '<span class="linespacing" align="justify">This is where help is given/received to ask questions about how to use favorite freelance website. <b>This is not a place to ask/give advice.</b> To ask/give advice, please use the "Advice/Reply to Advice" link on the left menu. This page is also a place were <b>follow up messages</b> are requested/written for projects (a new submission for each follow up message is to be made). <br /><br /></span>');
		// none yet ...	
		searchBox += '<input type="hidden" name="type" id="SubmissionsSearchType" value="" />';
	}else if(subType == "advice"){
		// the Category
		$("#Submission").append('<h1>Advice</h1>' +  '<span class="linespacing" align="justify">This is where advice is given/received about <b>specific concerns or situations</b> and where <b>tips and tricks</b> for favorite freelance website are exchanged. On this page help is also requested/provided for scanning projects that match specific criteria. Click <a href="http://www.racsuccess.com/Details.php#Advice" class="link" target="_blank">here</a> to learn more. <br /><br /></span>');
		searchBox += '<td>';
		searchBox += 'Type:';
		searchBox += '<select name="type" id="SubmissionsSearchType">';
		searchBox += '<option value="*" selected>All</option>';
		searchBox += '</select>';
		searchBox += '</td>';	
	}
	// the status ...
	searchBox += '<td>';
	searchBox += 'Status:';
	searchBox += '<select name="status" id="SubmissionsSearchStatus">';
	searchBox += '<option value="*">All</option>';
	searchBox += '<option value="Waiting for Approval">Waiting for Approval</option>';
	searchBox += '<option value="Approved">Approved</option>';
	searchBox += '<option value="Working on it">Work on it</option>';
	searchBox += '<option value="Ready">Ready</option>';
	searchBox += '<option value="Completed">Completed</option>';
	searchBox += '<option value="Declined">Declined</option>';
	searchBox += '</select>';
	searchBox += '</td>';
	searchBox += '<td>&nbsp;</td>';
	searchBox += '</tr>';
	// date range ...
	searchBox += '<tr>';
	searchBox += '<td colspan="3">';
	searchBox += '<table cellpadding="0" cellspacing="0" border="0" width="100%">';
	searchBox += '<tr>';
	searchBox += '<td>';
	searchBox += '<input type="radio" name="is_date_range" value="no" id="is_date_range_NO"> No Date Range';
	searchBox += '</td>';
	searchBox += '<td>';
	searchBox += '<table cellpadding="0" cellspacing="0" border="0">';
	searchBox += '<tr>';
	searchBox += '<td><input type="radio" name="is_date_range" value="yes" id="is_date_range_YES"> Date Range:</td>';
	searchBox += '<td id="searchDateStart"></td>';
	searchBox += '<td>thru</td>';
	searchBox += '<td id="searchDateEnd"></td>';
	searchBox += '</tr>';
	searchBox += '</table>';
	searchBox += '</td>';
	searchBox += '</tr>';
	searchBox += '</table>';
	searchBox += '</td>';
	searchBox += '<td>';
	searchBox += '<input type="submit" name="btnGo" value="GO" class="btn">';
	searchBox += '</td>';
	searchBox += '</tr>';
	// end of the table ...
	searchBox += '</table>';
	searchBox += '</form><br>';

	// put the search box in ...
	$("#Submission").append(searchBox);
	// setup the date searchs ...
	DateInput('searchDateStart', 'date_range_start', true, 'YYYY-MM-DD');
	DateInput('searchDateEnd', 'date_range_end', true, 'YYYY-MM-DD');
	$("#is_date_range_" + ((currentFilters.filterDate == "true") ? "YES" : "NO")).attr({ checked: 'true' });
	$("#SubmissionsSearch").bind('submit', {} , submissionsSearch);
}

function loadSubmissionsDrawResultsTable(context, heading){
	drawPrettyTable(context, heading, context+"ResTable");
}

function loadSubmissionsData(subType, manage){
	amManaging = manage;
	currentSubType = subType;
	
	var myFilters = currentFilters;
	myFilters.type = 'xml';
	myFilters.section = 'submissions';
	myFilters.group = subType;
	myFilters.manage = amManaging;

	if(currentSort.field && currentSort.field != ''){
		myFilters.sortBy = currentSort.field;
		myFilters.sortOrder = currentSort.order;
	}
	$("#SubmissionResTable").html('');
	if(manage == "true"){
		$("#SubmissionResTable").append("<tr><td class=\"hdr\" colspan=\"5\">Submission ID: <input type=\"text\" id=\"SUBID\" /> <input type=\"button\" value=\"View\" onclick=\"submissionView($('#SUBID').attr('value'))\" class=\"btn\" /></td></tr>");
	}
	$("#SubmissionResTable").append("<tr id=\"SubmissionResTableHeader\"></tr>");
	$.post('get.php', myFilters , function(data){
		$('error',data).each(function(g){
			alert('An error occured: ' + $(this).text());
		});
		var labels = Array();
		var labelid = 0;
		$('credits',data).each(function(g){
			var AddContent = '<tr>' +
				'<td colspan="6" class="hdr">' + 
					'<input type="button" name="btnAdd" value="Add" onclick="';
			if($(this).text() <= 0){
				AddContent += 'alert(\'You either have not selected a mentor for your subscription (if you are subscribed) or you have no credits to make this submission.\')';
			}else{
				AddContent += 'submissionAdd(\'' + subType + '\')';
			}
			AddContent += '" class="btn" />' + 
				'</td>' +
				'</tr>';
			$("#SubmissionResTable").append(AddContent);	
		});
		$('label',data).each(function(g){
			var headerCodeTD = "<td class=\"hdr\">" + $(this).find("name").text();
			if($(this).find("src").text() != ''){
				 headerCodeTD += " <img src=\"" + $(this).find("src").text() + "\" onclick=\"" + $(this).find("onclick").text() + "\"></img>";
			}
			headerCodeTD += "</td>";
			$("#SubmissionResTableHeader").append(headerCodeTD);
			labels[labelid++] = $(this).find('field').text();
		});
		$('datarow',data).each(function(g){
			if($(this).find('class').text() == "header"){
				// if the row is a header, show it as such ...
				var pageData = "<tr><td class=\"hdr\" style=\"text-align: center\" colspan="+labelid+">" +
					$(this).find('name').text();
				if(!($(this).find('id').text()=="NONE")){
					pageData += " <i><a href=\"#\" onclick=\"submissionView('"+ $(this).find('id').text() +"')\">view</a></i>";
				}
				pageData += "</td></tr>";
				$("#SubmissionResTable").append(pageData);
			}else{
				// otherwise its data ...
				$("#SubmissionResTable").append("<tr id=\"dataRow" + $(this).attr('row') + "\"></tr>");
				var rowclass = $(this).attr('row') % 2 ? "evenrow" : "oddrow";
				var row = $(this).attr('row');
			
				$("#dataRow" + row).html("");
				for(i = 0; i < labelid; i++){
					if(labels[i] == "status"){
						$("#dataRow" + row).append("<td class=" + rowclass + "><img src=\"" + $(this).find('status').find('image').text() + "\"/> " + $(this).find('status').find('value').text() + "</td>");
					}else if(labels[i] == "user" || labels[i] == "mentor"){
						$("#dataRow" + row).append("<td class=" + rowclass + "><a href=\"#\" onclick=\"viewProfile('"+ $(this).find(labels[i]).find('mid').text() +"')\">" + $(this).find(labels[i]).find('name').text() + "</a> <img src=\"" + $(this).find(labels[i]).find('image').text() + "\" title=\"" + $(this).find(labels[i]).find('imagealt').text() + "\"></td>");
					}else if(labels[i] == "mentor_success"){
						$("#dataRow" + row).append("<td class=" + rowclass + ">" + $(this).find('mentor').find('msuccesspoints').text() + "</td>");
					}else if(labels[i] == "actions"){
						$("#dataRow" + row).append("<td class=" + rowclass + " id=\"actionsRow" + row + "\" style=\"white-space:nowrap;\"></td>");
						$("#actionsRow" + row).html("");
					}else{
						$("#dataRow" + row).append("<td class=" + rowclass + ">" + $(this).find(labels[i]).text() + "</td>");
					}
				}
		
			
				$('button', this).each(function(g){
					$("#actionsRow" + row).append("<input type=\"button\" name=\"" + $(this).find("name").text() + "\" value=\"" + $(this).find("value").text() + "\" class=\"" + $(this).find("class").text() + "\" onclick=\"" + $(this).find("onclick").text() + "\" /> ");
				});
			}
		});
		$("#SubmissionResTable").append("<tr><td colspan=\"10\" class=\"hdr\">&nbsp;</td></tr>");
		genStop();
	});
}

function loadSubmissions(subType){
	if(!genStart()) return;
	// clear the main contents ..
	newContext("Submission");
	if(subType != "submissions"){
		loadSubmissionsForm(subType);
	}else
	{
		$("#Submission").append('<h1>Select Your Mentor(s)</h1>' +  '<span class="linespacing" align="justify">This is where you can select/view applications for subscriptions and individual submissions.</span>');
	}
	currentSort = new Object();
	currentFilters = new Object();
	currentSort.field = 'created';
	currentSort.order = 'down';
	loadSubmissionsDrawResultsTable("Submission", namePresentable(subType));
	if(subType != "submissions"){
		
	}else
	{
		$("#Submission").append('<span class="linespacing" align="justify"><br /><b><br />For members:</b> <b>You will not start receiving applications</b> from mentors to your subscription until you specify the expectations that you have of a mentor. You can specify this expectations by clicking on your name near the "Welcome" message (to go to your home page) and then entering your expectations of a mentor.</span>');

$("#Submission").append('<span class="linespacing" align="justify"><br /><br /><b>For mentors:</b> Above is a list of all the subscriptions and individual submissions to which you have applied.</span>');
	}
	loadSubmissionsData(subType, 'false');
}

function loadSubmissionsManage(subType){
	if(!genStart()) return;
	// clear the main contents ..
	newContext("Submission");
	if(subType != "submissions"){
		loadSubmissionsForm(subType);
	}
	currentSort = new Object();
	currentFilters = new Object();
	currentFilters.filterStatus = 'Waiting for Approval';
	loadSubmissionsDrawResultsTable("Submission", namePresentable(subType));
	loadSubmissionsData(subType, 'true');
}

// submission view declined reason

function submissionWhy(id){
	$.post("get.php", { section: 'submissiondecline' , id: id },  function(data){
		newContext('SubWhy'+id);
		$("#SubWhy"+id).html(data);
	});
}


// submission control

// admin controls ...
function submissionApprove(id){
	$.post("action.php", { section: 'submission' , action: 'approve' , id: id },  function(data){
		$('error',data).each(function(g){
			alert('An error occured: ' + $(this).text());
		});
	});
	resetContext();
	loadSubmissionsManage(currentSubType);
}

function submissionDenyDo(id){
	var denyReason = $("#DenyReason").attr('value');
	$.post("action.php", { section: 'submission' , action: 'deny' , id: id , declined_reason: denyReason },  function(data){
		$('error',data).each(function(g){
			alert('An error occured: ' + $(this).text());
		});
		resetContext();
		loadSubmissionsManage(currentSubType);
	});
}

function submissionDeny(id){
	newContext('SubDeny'+id);
	$("#SubDeny"+id).html('<b>Reason for decling this submission: </b><br />');
	$("#SubDeny"+id).append('<input type="text" value="" id="DenyReason" /><br />');
	$("#SubDeny"+id).append('<input type="button" value="Decline" class="btn" onclick="submissionDenyDo(\''+id+'\')" /> ');
	$("#SubDeny"+id).append('<input type="button" value="Cancel" class="btn" onclick="doneContext()" /> ');
}

// owner controls ...
function submissionDelete(id){
	$.post("action.php", { section: 'submission' , action: 'delete' , id: id },  function(data){
		$('error',data).each(function(g){
			alert('An error occured: ' + $(this).text());
		});
		resetContext();
		loadSubmissions(currentSubType);
		leftMenuLoad();
	});
}

function submissionAccept(id, mentorid){
	if(confirm('Are you sure you wish to accept this mentor ?')){
		$.post("action.php", { section: 'submission' , action: 'accept' , id: id , mentorid: mentorid },  function(data){
			$('error',data).each(function(g){
				alert('An error occured: ' + $(this).text());
			});
			resetContext();
			loadSubmissions(currentSubType);
		});
	}
}

var complete_ratings = "";
complete_ratings += "<option value=\"10\" >10 - Excellent</option>";
complete_ratings += "<option value=\"9\" >9</option>";
complete_ratings += "<option value=\"8\" >8</option>";
complete_ratings += "<option value=\"7\" >7</option>";
complete_ratings += "<option value=\"6\" >6</option>";
complete_ratings += "<option value=\"5\" >5</option>";
complete_ratings += "<option value=\"4\" >4</option>";
complete_ratings += "<option value=\"3\" >3</option>";
complete_ratings += "<option value=\"2\" >2</option>";
complete_ratings += "<option value=\"1\" >1 - Horrible</option>";

function ratingChange(){
	var rating = $("#RatingSel").val();
	$("#RatingICON").attr('src','icons/rating/' + rating + '.png');
}

function submissionBidWasAccepted(id)
{
	$.post('action.php', {section: 'submission', action: 'bidwasaccepted', id: id}, function(data) {
		$('error',data).each(function(g){
			alert('An error occured: ' + $(this).text());
		});
		resetContext();
		loadSubmissions(currentSubType);
	});
}

function submissionComplete(id){
	newContext('SubComplete');
	$("#SubComplete").append('<form id="formSubmissionComplete" action=""></form>');
	$("#formSubmissionComplete").append('<input type="hidden" name="id" id="CompleteID" value="' + id + '" />');
	$("#formSubmissionComplete").append('<b>Completing #' + id + '</b><br /><br />');
	$("#formSubmissionComplete").append('What comments do you have about your mentor\'s level of assistance for this submission?<br />');
	$("#formSubmissionComplete").append('<textarea id="CompleteMesg"></textarea><br />');
	generate_wysiwyg("CompleteMesg");
	$("#formSubmissionComplete").append('<b>Make sure you don\'t comment/rate mentor based on outcomes (like if you won the bid or not, solved a situation or not or any other possible outcome) but base yourself on how he/she assisted you</b><br /><br />');
	$("#formSubmissionComplete").append("Rating: ");
	$("#formSubmissionComplete").append('<img src="icons/rating/10.png" id="RatingICON" /> <select name="subject" id="RatingSel" onchange="ratingChange()">' + complete_ratings + '</select><br /><br />');
	$("#formSubmissionComplete").append('<input type="button" class="btn" value="Complete" name="ReplyDo" onclick="submissionCompleteDo()"/> ');
	$("#formSubmissionComplete").append('<input type="button" class="btn" value="Cancel" name="ReplyCanel" onclick="doneContext()" />');
}

function submissionCompleteDo(){
	updateTextArea("CompleteMesg");
	var id = $("#CompleteID").attr('value');
	var rating = $("#RatingSel").val();
	var mesg = $("#CompleteMesg").attr('value');
	$.post("action.php", { section: 'submission' , action: 'complete' , id: id , rating: rating , comment: mesg },  function(data){
		$('error',data).each(function(g){
			alert('An error occured: ' + $(this).text());
		});
		resetContext();
		loadSubmissions(currentSubType);
	});
	return false;
}


// mentor controls ...

// revoke an application to a submission
function submissionRevoke(id){
	
	$.post('action.php', { section: 'submission', action: 'revoke' , id: id} , function(res){
		$('error',res).each(function(g){
			alert('An error occured: ' + $(this).text());
		});
		resetContext();
		loadSubmissions(currentSubType);
	});
}

// submission is ready ...
function submissionReady(id){
	$.post('action.php', { section: 'submission' , action: 'ready' , id: id} , function(res){
		$('error',res).each(function(g){
			alert('An error occured: ' + $(this).text());
		});
		resetContext();
		loadSubmissions(currentSubType);
	});
}

// reply to a submission ...

function submissionReplyDo(){
	var type = $("#ReplyIDType").attr('value');
	var id = $("#ReplyID").attr('value');
	updateTextArea("ReplyMesg");
	var mesg = $("#ReplyMesg").attr('value');
	
	$.post('action.php', { section: 'submission' , action: 'reply' , id: id , mesg: mesg} , function(res){
		$('error',res).each(function(g){
			alert('An error occured: ' + $(this).text());
		});
		doneContext();
		doneContext();
		submissionView(id, type);
	});
	
	return false;
}
function breakcallsendadminview(){
	messagesSendAdminView();
}

function submissionReply(id, idType){
	if($("#ReplyButton").attr('value') == "Reply"){
		$("#ReplyButton").attr('value','Back');
		newContext('SubReply'+id);
		$("#SubReply"+id).append('<form id="formSubmissionReply" action=""></form>');
		$("#formSubmissionReply").append('<input type="hidden" name="id" id="ReplyID" value="' + id + '" />');
		$("#formSubmissionReply").append('<input type="hidden" name="type" id="ReplyTypeID" value="' + idType + '" />');
		$("#formSubmissionReply").append('<b>Replying to #' + id + '</b><br />');
		$("#formSubmissionReply").append('<textarea id="ReplyMesg"></textarea><br />');
		generate_wysiwyg("ReplyMesg");
		$("#formSubmissionReply").append("Remember that contacting the the other party outside of the site (by email, phone, messenger programs(other than RACsuccess B-In-Touch messenger application), etc...) is ALWAYS a violation of both the <a href=\"get.php?section=tnc\" class=\"link\" target=\"_blank\">member and mentor agreements</a>. RACsuccess monitors all site activity for such violations and can instantly ban permanently anyone involved in such violations. Thanks again for your cooperation. If you notice any type of violation, please help us out by <a href=\"#\" onclick=\"breakcallsendadminview()\">reporting it</a>. Thanks for reading.<br /><br />");
		$("#formSubmissionReply").append('<input type="button" class="btn" value="Reply" name="ReplyDo" onclick="submissionReplyDo()"/> ');
		$("#formSubmissionReply").append('<input type="button" class="btn" value="Back" name="ReplyCanel" onclick="doneContext()" />');
		if(idType == "spec"){
			$("#formSubmissionReply").append("<br /><br /><b>If providing solution, please don't forget to give your personal overview for the initial comment/bid request description that you wrote.</b>");
		}
	}
}

// show the details of a submission ....

function submissionView(id, idType){
	newContext('SubView'+id);
	// setup the form, then fill in the details ...
	$.post('get.php', { type: 'xml' , section: 'viewsubmission' , id: id , idtype: idType } , function(data){
		var stop = false;
		$('error',data).each(function(g){
			alert('An error occured: ' + $(this).text());
			// abort ..
			stop = true;
		});
		if(stop == true){
			return;
		}
		loadSubmissionsDrawResultsTable("SubView"+id, "View  #" + id);
		$('row', data).each(function(g){
			var pageContent = "";
    			var type = $(this).find('type').text();
    			pageContent += '<tr>' +
    					'<td class=\"evenrow\"><b>Member:</b></td>' +
    					'<td class=\"oddrow\" colspan=\"3\">' + $(this).find('user').find('name').text() + '</td>' +
    					'</tr>';
    			if(type != "subscription"){
    			pageContent += 
    				"<tr>" +
    					"<td width=\"15%\" class=\"evenrow\"><b>Type:</b></td>" +
    					"<td width=\"35%\" class=\"oddrow\">" + $(this).find('type').text() + "</td>" +
        				"<td width=\"15%\" class=\"evenrow\"><b>Status:</b></td>" +
					"<td width=\"35%\" class=\"oddrow\"><img src=\"" + $(this).find('status').find('image').text() + "\"/> " + $(this).find('status').find('value').text() + "</td>" +
				"</tr>";
        			if(idType != "subscription"){
        			pageContent +=
					"<tr>" +
						"<td class=\"evenrow\"><b>Admin approved: </b></td>" +
						"<td class=\"oddrow\">" + $(this).find('approvedon').find('byadmin').text() + "</td>" +
						"<td class=\"evenrow\"><b>Mentor completed: </b></td>" +
						"<td class=\"oddrow\">" + $(this).find('approvedon').find('bymentor').text() + "</td>" +
					"<tr>";
				}
			}
			pageContent +=
				"<tr>" +
					"<td class=\"evenrow\"><b>Created:</b></td>" +
					"<td class=\"oddrow\"" + ((type == "question") ? "colspan=\"3\" " : "") + ">" + $(this).find('created').text() + "</td>";
				if(type == "advice"){
					pageContent += "<td class=\"evenrow\"><b>Role:</b></td>" +
						"<td class=\"oddrow\">" + $(this).find('role').text() + "</td>";
				}else if(type == "request"){
					pageContent += "<td class=\"evenrow\"><b>URL:</b></td>" +
						"<td class=\"oddrow\" id=\"url\"></td>";
				}else if(type == "subscription"){
					pageContent += "<td class=\"evenrow\"><b>From:</b></td>" +
						"<td class=\"oddrow\">" + $(this).find('user').find('name').text() + " <img src=\"" + $(this).find('user').find('image').text() + "\"/></td>";
				}
			pageContent +=
				"<tr>";
			if(type == 'request'){
        			pageContent +=
					"<tr>";
				if($(this).find('subject').text() == "Bid request description"){	
					pageContent += "<td class=\"evenrow\" colspan=\"4\"><b>Comments about project:</b></td>";
				}else{
					pageContent += "<td class=\"evenrow\" colspan=\"4\"><b>Personnal thoughts:</b></td>";		
				}
				pageContent +=	"</tr>" +
					"<tr>" +
						"<td class=\"oddrow\" colspan=\"4\" id=\"viewDescript\"> </td>" +
					"</tr>";
			}
			pageContent +=
				"<tr>";
			if(type == "request"){
				if($(this).find('subject').text() == "Bid request description"){
					pageContent +=	"<td class=\"evenrow\" colspan=\"4\"><b>Project Description:</b></td>";				
				}else{
					pageContent +=	"<td class=\"evenrow\" colspan=\"4\"><b>Questions to include in proposal:</b></td>";
				}
			}else{
				pageContent +=	"<td class=\"evenrow\" colspan=\"4\"><b>Details:</b></td>";
			}
			pageContent +=
				"</tr>" +
    				"<tr>" +
					"<td class=\"oddrow\" colspan=\"4\" id=\"viewDetails\"></td>" +
				"</tr>" +
			// add the action row ...
				"<tr>" +
					"<td class=\"evenrow\" colspan=\"4\" id=\"actionRow\" align=\"right\"></td>" +
				"</tr>" +
				"<tr>" +
					"<td class=\"hdr\" colspan=\"4\">Messages:</td>" +
				"</tr>";
	
			$("#SubView"+id+"ResTable").append(pageContent);
			$('button', this).each(function(g){
				if($(this).find('value').text() == "Reply")
				{
					$("#actionRow").append("<input type=\"button\" name=\"" + $(this).find("name").text() + "\" value=\"" + $(this).find("value").text() + "\" class=\"" + $(this).find("class").text() + "\" onclick=\"" + $(this).find("onclick").text() + "\" id=\"ReplyButton\"/> ");
				}
				else
				{
					$("#actionRow").append("<input type=\"button\" name=\"" + $(this).find("name").text() + "\" value=\"" + $(this).find("value").text() + "\" class=\"" + $(this).find("class").text() + "\" onclick=\"" + $(this).find("onclick").text() + "\" /> ");
				}
			});
			$("#viewDetails").load('get.php', { type: 'html' , section: 'submissiondetails' , id: id});			
			if(type=="request"){
				$("#viewDescript").load('get.php', { type: 'html' , section: 'submissiondescript' , id: id});
				$.post('get.php', { type: 'html' , section: 'submissionurl' , id: id }, function(data) {
				$("#url").html("<a href=\"" + data + "\" target=\"_blank\">" + data + "</a>");
				} );
			}
    		});
    		$('message',data).each(function(b){
    			var mID = $(this).find('id').text();
    			pageContent = 
    			"<tr>" +
    				"<td width=\"15%\" class=\"evenrow\"><b>From:</b></td>" +
    				"<td width=\"35%\" class=\"oddrow\">(" + $(this).find('from').find('imagealt').text() + ") " + $(this).find('from').find('name').text() + " <img src=\"" + $(this).find('from').find('image').text() + "\" title=\"" + $(this).find('from').find('imagealt').text() + "\"/></td>" +
    				"<td width=\"15%\" class=\"evenrow\"><b>Sent:</b></td>" +
				"<td width=\"35%\" class=\"oddrow\">" + $(this).find('created').text() + "</td>" +
			"</tr>" +
			"<tr>" +
    				"<td class=\"evenrow\" colspan=\"4\"><b>Message:</b></td>" +
    			"</tr>" +
			"<tr>" +
    				"<td class=\"oddrow\" colspan=\"4\" id=\"Message"+mID +"\"></td>" +
    			"</tr>";
			$("#SubView"+id+"ResTable").append('<tr>' + pageContent + '</tr>');
			$("#Message"+mID).load('get.php', { section: 'submissionmessage', id: mID});
    		});
		$("#SubView"+id+"ResTable").append('<tr><td colspan=\"4\" class=\"hdr\"><i>Note: All site postings and/or communications using RACsuccess-One-On-One are monitored for legal or terms of service violations.</i></td></tr>');
	});
}

function submissionAddDo(){
	sType = $("#SubmissionType").attr('value');
	if(sType == "request"){ updateTextArea("SubmissionAddDesc"); }
	updateTextArea("SubmissionAddMesg");
	if(!submissionCheck(sType)) return false;
	$("#formArea").css('display','none');
	$("#BodyStuff").css('display','block');
	// get all the variables ...
	adviceAbout = $("#adviceAbout").val();
	adviceCategory = $("#adviceCatSel").val();
	questionSubject = $("#questionSubject").attr('value');
	requestType = $("#requestType").val();
	requestURL = $("#requestURL").attr('value');
	requestDesc = $("#SubmissionAddDesc").attr('value');
	details = $("#SubmissionAddMesg").attr('value');
	
	// post what they want to actions.php
	$.post('action.php', {section: 'submission', action: 'add', id: sType, adviceAbout: adviceAbout , adviceCat: adviceCategory , questionSub: questionSubject, details: details , briefdesc: requestDesc, url: requestURL, requestType: requestType } , function(d){
		$('error',d).each(function(g){
			alert('An error occured: ' + $(this).text());
		});
		resetContext();
		loadSubmissions(currentSubType);	
		leftMenuLoad();
	});
}

var buyer_options = "";
buyer_options += "<option value=\"Buyer not responding\" >Buyer not responding</option>";
buyer_options += "<option value=\"Buyer is mad with me\" >Buyer is mad with me</option>";
buyer_options += "<option value=\"Buyer is not very clear in explaining\" >Buyer is not very clear in explaining</option>";
buyer_options += "<option value=\"Buyer delays too much in testing\" >Buyer delays too much in testing</option>";
buyer_options += "<option value=\"Buyer is threatening me\" >Buyer is threatening me</option>";
buyer_options += "<option value=\"Buyer refuses to cooperate\" >Buyer refuses to cooperate</option>";
buyer_options += "<option value=\"Other\" >Other</option>";
var coder_options = "";
coder_options += "<option value=\"Coder not meeting deadline\" >Coder not meeting deadline</option>";
coder_options += "<option value=\"Coder refused to continue working\" >Coder refused to continue working</option>";
coder_options += "<option value=\"Coder is disrespectful with me\" >Coder is disrespectful with me</option>";
coder_options += "<option value=\"Choosing multiple coders\" >Choosing multiple coders</option>";
coder_options += "<option value=\"Coder is unresponsive\" >Coder is unresponsive</option>";
coder_options += "<option value=\"Coder is mad with me\" >Coder is mad with me</option>";
coder_options += "<option value=\"Coder refuses to do what I am asking\" >Coder refuses to do what I am asking</option>";
coder_options += "<option value=\"Coder is charging me for something we didn't agree\" >Coder is charging me for something we didn't agree</option>";
coder_options += "<option value=\"Other\" >Other</option>";	

function AdviceRoleChange( )
{
	var val = $("#adviceAbout").val();
	switch( val )
	{
	case "coder":
		$("#AdviceCategory").html('<span class="req">*</span> <select name="subject" id="adviceCatSel"><option value="">Select One...</option>' + coder_options + '</select>');
		break;
	case "buyer":
		$("#AdviceCategory").html('<span class="req">*</span> <select name="subject" id="adviceCatSel"><option value="">Select One...</option>' + buyer_options + '</select>');
		break;
	default:
		$("#AdviceCategory").html("Select Your Role First...");
		break;
	}
}

function RequestOptChange( )
{
	var type = $("#requestType").val();
	
	switch ( type )
	{
	case "Bid request description":
		$("#SubAddOptTitle").html("&nbsp;");
		$("#SubAddOptField").html("No extra field required...");
		$("#brieflabel").html('<span class="req">*</span> <b>Explain briefly what your  project is all about...</b>');
		$("#detailslabel").html('<span class="req">*</span> <b>Is this a business or personal project? Anything you wish to tell the mentor about it?</b>');
		break;
	case "Initial comment":
		$("#SubAddOptTitle").html("<b><span class=\"req\">*</span> Project URL:</b>");
		$("#SubAddOptField").html('<input type="text" value="" name="project_url" id="requestURL" /> Enter or copy and paste URL of the project in RAC that you want the proposal written for');
		$("#brieflabel").html('<span class="req">*</span> <b>Write here your personal thoughts about the project... (if any)</b>');
		$("#detailslabel").html('<span class="req">*</span> <b>Any questions about the project that you want to include in the  proposal that the mentor will write for you?</b><br /><i>A mentor will not answer you any of these  questions. In the end, is the buyer of the  project who will answer these questions for you after you copy and paste the proposal in Rent a Coder.</i> ');
		break;
	default:
		$("#SubAddOptTitle").html("&nbsp;");
		$("#SubAddOptField").html("Select Type First...");
		$("#brieflabel").html('<b>Select a request type first ...</b>');
		$("#detailslabel").html('<b>Select a request type first...</b>');
		break;
	}
}

function submissionDraw(sType, onDone){
	newContext('SubDraw'+sType);
	$("#SubDraw"+sType).append('<form id="formSubmissionAdd" name="FRMsub" action=""></form>');
	$("#formSubmissionAdd").append('<input type="hidden" name="type" id="SubmissionType" value="' + sType + '" />');
	$("#formSubmissionAdd").append('<input type="hidden" name="type" id="SubmissionID" value="0" />');
	drawPrettyTable("formSubmissionAdd", "Add " + sType, "SubmissionAddTable");
	if(sType == "advice"){
		$("#SubmissionAddTable").append('<tr><td class="evenrow"><span class="req">*</span> <b>Advice About:</b></td><td class="oddrow">' + 
		'<select id="adviceAbout" name="Aabout" onchange="AdviceRoleChange()">' +
			'<option value="">Select One...</option>' +
			'<option value="coder">Coders</option>' +
			'<option value="buyer">Buyers</option>' +
		'</select>' +
		'</td></tr>');
		$("#SubmissionAddTable").append('<tr><td class="evenrow"><span class="req">*</span> <b>Category:</b></td><td class="oddrow" id="AdviceCategory">Select Your Role First ...</td></tr>');
		$("#SubmissionAddTable").append('<tr><td colspan="2" class="evenrow"><span class="req">*</span> <b>Details:</b></td></tr><tr><td class="oddrow" colspan="2"><textarea name="SubmissionAddMesg" id="SubmissionAddMesg"></textarea></td></tr>');
	}else if(sType=="question"){
		$("#SubmissionAddTable").append('<tr><td class="evenrow"><span class="req">*</span> <b>Subject:</b></td><td class="oddrow" id="questionCategory"><input type="text" id="questionSubject" value="" name="Qsub"/></td></tr>');	
		$("#SubmissionAddTable").append('<tr><td colspan="2" class="evenrow"><span class="req">*</span> <b>Details:</b></td></tr><tr><td class="oddrow" colspan="2"><textarea name="SubmissionAddMesg" id="SubmissionAddMesg"></textarea></td></tr>');
	}else if(sType=="request"){
		$("#SubmissionAddTable").append('<tr><td class="evenrow"><span class="req">*</span> <b>Type:</b></td><td class="oddrow">' + 
		'<select id="requestType" onchange="RequestOptChange()" name="Rtype">' +
			'<option value="">Select One...</option>' +
			'<option value="Bid request description">Bid request description</option>' +
			'<option value="Initial comment">Initial comment or proposal</option>' +
		'</select>' +
		'</td></tr>');
		$("#SubmissionAddTable").append('<tr><td class="evenrow" id="SubAddOptTitle">&nbsp;</td><td class="oddrow" id="SubAddOptField">Select Type First ...</td></tr>');
		$("#SubmissionAddTable").append('<tr><td colspan="2" class="evenrow"><i>Make sure you don\'t ask any questions or  advice here. You would need to make new advice  or question submissions for that purpose.</i><br /><br /><div id="brieflabel"><b>Select a request type first...</b></div></td></tr><tr><td class="oddrow" colspan="2"><textarea name="SubmissionAddDesc" id="SubmissionAddDesc"></textarea></td></tr>');
		$("#SubmissionAddTable").append('<tr><td colspan="2" class="evenrow"><div id="detailslabel"><b>Select a request type first...</b></div></td></tr><tr><td class="oddrow" colspan="2"><textarea name="SubmissionAddMesg" id="SubmissionAddMesg"></textarea></td></tr>');
	}
	$("#SubmissionAddTable").append('<tr><td class="hdr" colspan="2"><input type="button" class="btn" value="Save" id="addButton" name="btnSave" onclick="'+onDone+'"/> ' + 
	'<input type="button" class="btn" value="Cancel" name="ApplyCanel" onclick="doneContext()" /></td></tr>');
}


function submissionCheck(sType)
{
	var frm = document.FRMsub;
	if(sType == "advice"){
		if ( frm.Aabout.value == "" ){
			alert( "Please select what your advice is about." );
			frm.Aabout.focus();
			return false;
		}
		if ( $("#adviceCatSel").val() == "" ){
			alert( "Please select the advice category." );
			$("#adviceCatSel").focus();
			return false;
		}
	}else if(sType == "question"){
		if ( frm.Qsub.value == "" ){
			alert( "Please enter a subject for this question." );
			frm.Qsub.focus();
			return false;
		}
	}else if(sType == "request"){
		if ( frm.Rtype.value == "" ){
			alert( "Please select the request category." );
			frm.Rtype.focus();
			return false;
		}
		if($("#reuqestType").val() == "Initial comment"){
			if ( frm.project_url.value == "" ){
				alert( "Please enter the URL of the associated bid request." );
				frm.project_url.focus();
				return false;
			}
		}
		if ( frm.SubmissionAddDesc.value == "" ){
			alert( "Please enter a Brief Description." );
			frm.SubmissionAddDesc.focus();
			return false;
		}
	}
	if ( frm.SubmissionAddMesg.value == "" ){
		alert( "Please enter some details." );
		frm.SubmissionAddMesg.focus();
		return false;
	}
	return true;
}

function submissionAdd(sType){
	submissionDraw(sType, 'submissionAddDo()');
	if(sType == "request"){
		generate_wysiwyg("SubmissionAddDesc");	
	}
	generate_wysiwyg("SubmissionAddMesg");
}

function submissionEditDo(){
	sType = $("#SubmissionType").attr('value');
	if(sType == "request"){ updateTextArea("SubmissionAddDesc"); }
	updateTextArea("SubmissionAddMesg");
	if(!submissionCheck(sType)) return false;
	ID = $("#SubmissionID").attr('value');
	// get all the variables ...
	adviceAbout = $("#adviceAbout").val();
	adviceCategory = $("#adviceCatSel").val();
	questionSubject = $("#questionSubject").attr('value');
	requestType = $("#requestType").val();
	requestFile = $("#requestFile").val();
	requestURL = $("#requestURL").attr('value');
	requestDesc = $("#SubmissionAddDesc").attr('value');
	details = $("#SubmissionAddMesg").attr('value');
	
	// post what they want to actions.php
	$.post('action.php', {section: 'submission', action: 'update', id: ID, adviceAbout: adviceAbout , adviceCat: adviceCategory , questionSub: questionSubject, details: details , briefdesc: requestDesc, url: requestURL, requestType: requestType } , function(d){
		$('error',d).each(function(g){
			alert('An error occured: ' + $(this).text());
		});
		resetContext();
		loadSubmissions(currentSubType);		
	});
}

function submissionEdit(id){
	
	$.post('get.php', { type: 'xml' , section: 'viewsubmission' , id: id , idtype: 'ident' } , function(data){
		$('error',data).each(function(g){
			alert('An error occured: ' + $(this).text());
		});
		$('row', data).each(function(g){
			sType = $(this).find('type').text();
			submissionDraw( sType, 'submissionEditDo()' );
			$("#SubmissionID").attr('value', id);
			$("#addButton").attr('value', 'Update');
			// fill in all the fields they already have set ...
			if(sType == "advice"){
				$("#adviceAbout").val($(this).find('role').text());
				AdviceRoleChange();
				$("#adviceCatSel").val($(this).find('subject').text());
			}else if(sType == "question"){
				$("#questionSubject").attr('value', $(this).find('subject').text());
			}else if(sType == "request"){
				$("#requestType").val($(this).find('subject').text());
				RequestOptChange();
				//requestFile = $("#requestFile").val();
			$.post('get.php' , { type: 'html' , section: 'submissionurl' , id: id } , function(d){
				$("#requestURL").attr('value', d);
			});
			$.post('get.php' , { type: 'html' , section: 'submissiondescript' , id: id } , function(d){
				$("#SubmissionAddDesc").attr('value', d);
				generate_wysiwyg("SubmissionAddDesc");
			});
			}
			$.post('get.php' , { type: 'html' , section: 'submissiondetails' , id: id } , function(d){
				$("#SubmissionAddMesg").attr('value', d);
				generate_wysiwyg("SubmissionAddMesg");
			});
		});
	});
}

function submissionChangeStatusDo(id, newStatus){
	$.post('action.php', {section: 'submission', action: 'changestatus', id: id, status: newStatus } , function(d){
		$('error',d).each(function(g){
			alert('An error occured: ' + $(this).text());
		});
		resetContext();
		loadSubmissionsManage(currentSubType);
	});
}
function submissionChangeStatus(id){
	newContext('SubChange'+id);
	$("#SubChange"+id).append('Changing Status of Submission ' + id + '<br />');
	$("#SubChange"+id).append('New Status: ');
	$("#SubChange"+id).append('<select id="newStatus"></select><br />');
	$("#newStatus").append('<option value="Waiting for Approval">Waiting for Approval</option>"');
	$("#newStatus").append('<option value="Working on it">Working on it</option>"');
	$("#newStatus").append('<option value="Ready">Ready</option>"');
	$("#newStatus").append('<option value="Completed">Completed</option>"');
	$("#newStatus").append('<option value="Cancelled">Cancelled</option>"');
	$("#SubChange"+id).append('<input type="button" class="btn" value="Change" onclick="submissionChangeStatusDo(\'' + id + '\', $(\'#newStatus\').val())" /> <input type="button" class="btn" value="Cancel" onclick="doneContext()" />');
}

// success points
function loadSuccessPointsShow(){
	$("#Res").html('');
	drawPrettyTable("Res", "Search", "SearchRes");
	$("#SearchRes").append('<tr><td class="hdr">Mentor</td><td class="hdr">Success Points</td><td class="hdr">Total Success Points</td></tr>');
	var fStartDate = $("#date_range_start_form_field").attr('value');
	var fEndDate = $("#date_range_end_form_field").attr('value');
	
	$.post('get.php', {type: 'xml', section: 'successpointsbal', starting: fStartDate, ending: fEndDate} , function(data){
		$('error', data).each(function(a){
			alert('An Error Occured: ' + $(this).text());
		});
		i = 0;
		$('row', data).each(function(a){
			rowclass = (i % 2) == 0 ? 'evenrow' : 'oddrow';
			$("#SearchRes").append('<tr><td class="' + rowclass + '">' + $(this).find('name').text() + '</td><td class="' + rowclass + '">' + $(this).find('spmonth').text() + '</td><td class="' + rowclass + '">' + $(this).find('spever').text() + '</td></tr>');
			i++;
		});
	});
}

function loadSuccessPoints(){
	newContext('SuccessPoints');
	$("#SuccessPoints").html('<form id="aForm"></form>');
	drawPrettyTable("aForm", "Search", "SearchTable");
	$("#SearchTable").append('<tr><td class="hdr">From:</td><td class="hdr">To:</td></tr>');
	$("#SearchTable").append('<tr><td class="hdr" id="searchDateStart"></td><td class="hdr" id="searchDateEnd"></td></tr>');
	DateInput('searchDateStart', 'date_range_start', true, 'YYYY-MM-DD');
	DateInput('searchDateEnd', 'date_range_end', true, 'YYYY-MM-DD');
	$('#SearchTable').append('<tr><td class="hdr" colspan="2"><input type="button" value="Load" class="btn" onclick="loadSuccessPointsShow()"/></td></tr>');
	$('#SuccessPoints').append('<div id="Res"></div>');
}
