function unique() {
	var now= new Date();
	now = now.getTime()+"";
	return "&unique="+now.substring(5,now.length);
}
//var unique=unique();
function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		alert("Error.  This browser does not support AJAX.");
	}
}
var Req;
function GetCookie(Name) {   
var search = Name + "="   
if (document.cookie.length > 0) { // if there are any cookies 
	 offset = document.cookie.indexOf(search) 
		 if (offset != -1) { // if cookie exists          
		 offset += search.length          
		 // set index of beginning of value 
		 end = document.cookie.indexOf(";", offset)          
		 // set index of end of cookie value         
		 if (end == -1)             
				end = document.cookie.length         
				return unescape(document.cookie.substring(offset, end))      
				}    
		} 
} 
function SetCookie(cookieName,cookieValue,nDays) {
	var today = new Date();
	var expire_str = "";
	if (nDays!=null && nDays!=0) {
		var expire = new Date();
		expire.setTime(today.getTime() + 3600000*24*nDays);
		expire_str = ";expires="+expire.toGMTString();
	}
	document.cookie = cookieName + "=" +escape(cookieValue) +expire_str;
}
/*
function SaveDate(ID, objRef) {
	Req = getXmlHttpRequestObject(); 
	Req.open("GET", "ReviewPaymentsAction.cfm?ID=" +ID +"&Date="+ document.input_form("PaymentReceived"+ID).value +unique, true);
	Req.onreadystatechange = handleDateSave;	// callback function when http server returns data to us
	Req.send(null);
	objRef.value="Saving...";
}
function handleDateSave() {
	if (Req.readyState == 4 && (Req.status == 200 || Req.status == 304)) {
		//Get the AJAX response and run the JavaScript evaluation function
		//on it to turn it into a usable object.  Notice since we are passing		
		//in the JSON value as a string we need to wrap it in parentheses

//		alert(ZipReq.responseText);
		eval("{" + Req.responseText + "}");
	}
}
*/
var aJobs = new Array();
var LoggedIn = "";
function GetJobs(OrderBy) {
	AllJobsReq = getXmlHttpRequestObject(); 
	AllJobsReq.open("GET", "http://nwra.catalystwebapps.com/GetJobs.php?Order=" +OrderBy +unique(), true);
	AllJobsReq.onreadystatechange = handleJobContents;	// callback function
	AllJobsReq.send(null);
}
function handleJobContents() {
	if (AllJobsReq.readyState == 4 && (AllJobsReq.status == 200 || AllJobsReq.status == 304)) {
		//alert(AllJobsReq.responseText);
		eval("{" + AllJobsReq.responseText + "}");
		//alert(aJobs);
		ShowJobs();
	}
}
/*
function Sort_JobTitle(a,b) {  return (a[3]<b[3]); }
function Sort_CompanyName(a,b) {  return (a[4]<b[4]); }
function Sort_City(a,b) {  if (a[5]==b[5]) return 0; else return (a[5]<b[5]); }
function Sort_DatePosted(a,b) {  return (a[2]<b[2]); }
*/
function ShowJobs(OrderBy) {
	/* Dumb thing should work.. but IE gets all random and wierd
	if (OrderBy == "JobTitle") {  aJobs.sort(Sort_JobTitle);  }
	if (OrderBy == "CompanyName") {  aJobs.sort(Sort_CompanyName);  }
	if (OrderBy == "City") { aJobs.sort(Sort_City); alert(aJobs); }
	if (OrderBy == "DatePosted") {  aJobs.sort(Sort_DatePosted);  }
	*/
	var RowsHTML = "";
	if (aJobs.length == 0) {
		RowsHTML = "<TR><TD colSpan=4 align=center><br>No jobs posted.<br><br></TD></TR>";
	} else {
		for (var i=0; i<aJobs.length; i++) {
			RowsHTML += "<TR><TD><FONT face=Arial size=2><a href=javascript:GetJob(" +i +")>" +aJobs[i][3] +"</a>";
			if (LoggedIn != "" && (aJobs[i][1] == LoggedIn || LoggedIn == "paul@herdfreedhartz.com"))
				RowsHTML += " [<a href=javascript:EditJob(" +aJobs[i][0] +")>edit</a>]";
			RowsHTML += "</FONT></TD><TD><FONT face=Arial size=2>";
			if (aJobs[i][6] == "")
				RowsHTML += aJobs[i][4];
			else
				RowsHTML += "<a target=_blank href=\"" +aJobs[i][6] +"\">" +aJobs[i][4] +"</a>";
			RowsHTML += "</FONT></TD><TD><FONT face=Arial size=2>" +aJobs[i][5] +"</FONT></TD>" +
				"<TD><FONT face=Arial size=2>" +aJobs[i][2] +"</FONT></TD></TR>";
		}
	}
	if (LoggedIn == "")
		var footer = "Login to [<a href=javascript:ShowLogin(1)>Add a posting</a>] or [<a href=javascript:ShowLogin(0)>Edit a posting</a>]"
	else
		var footer = "Logged in as " +LoggedIn +"<br>[<a href=javascript:EditJob('new')>Add a posting</a>] or click an edit link next to Job Title to edit."
	document.getElementById("idDynamic").innerHTML = "<TABLE width=100% border=0>" +
			"<TR><TD><B><FONT face=Arial color=navy size=2>" +
			" <a href=javascript:GetJobs('JobTitle')>Job Title</a></FONT></B></TD>" +
			" <TD align=left><B><FONT face=Arial color=navy size=2>" +
			" <a href=javascript:GetJobs('CompanyName')>Company Name</a></FONT></B></TD>" +
			" <TD align=left><B><FONT face=Arial color=navy size=2>" +
			" <a href=javascript:GetJobs('City')>Location</a></FONT></B></TD>" +
			" <TD align=left><B><FONT face=Arial color=navy size=2>" +
			" <a href=javascript:GetJobs('DatePosted')>Date Posted</a></FONT></B></TD>" +
			" </TR><TR><TD colSpan=4><HR align=left width=100%></TD></TR>" +RowsHTML +"</TABLE><br><br>" + footer;
}
   // [0]=ID  [1]=PostedBy  [2]=DatePosted  [3]=JobTitle  [4]=Company  [5]=City  [6]=CompanyURL  [7]=ApplyNowEmail

function GetJob(Index) {
	var ApplyNow = aJobs[Index][6];
	if (aJobs[Index][7] != "") ApplyNow = "mailto:" +aJobs[Index][7];
	document.getElementById("idDynamic").innerHTML = "<table border=0 width=80% align=center>" +
			"<tr><td colspan=2 align=center><b><font face=Arial size=2><a href=javascript:ShowJobs()>" +
			"View Postings</a> > Job Description</font></b><br><br></td></tr>" +
			"<tr><td valign=top nowrap><font face=Arial size=2><b>Job Title :</font></td>" +
			"	<td width=90%><font face=Arial size=2>" +aJobs[Index][3] +"</font><br><br></td></tr>" +
			"<tr><td valign=top nowrap><font face=Arial size=2><b>Job Location :</font></td>" +
			"	<td><font face=Arial size=2>" +aJobs[Index][5] +"</font><br><br></td></tr>" +
			"<tr><td valign=top nowrap><font face=Arial size=2><b>Job Description :</font></td>" +
			"	<td><font face=Arial size=2 ID=idJobDesc><i>Loading...</i></font><br><br></td></tr>" +
			"<tr><td colspan=2 align=center><a href="+ ApplyNow +">" +
			"       <font face=Arial size=2>Apply Now</font></a></td></tr></table>";
			//"<tr><td valign=top nowrap><font face=Arial size=2><b>E-mail :</font></td>" +
			//"	<td><font face=Arial size=2>" + +"</font><br><br></td></tr>" +
	JobReq = getXmlHttpRequestObject(); 
	JobReq.open("GET", "http://nwra.catalystwebapps.com/GetJobDetail.php?ID=" +aJobs[Index][0] +unique(), true);
	JobReq.onreadystatechange = handleJobDetail;	// callback function
	JobReq.send(null);
}
function handleJobDetail() {
	if (JobReq.readyState == 4 && (JobReq.status == 200 || JobReq.status == 304)) {
		//alert(JobReq.responseText);
		document.getElementById("idJobDesc").innerHTML = JobReq.responseText;
	}
}
function EditJob(ID) {
	if (LoggedIn == "") {
		ShowLogin(1);
	} else {
		EditJobReq = getXmlHttpRequestObject(); 
		EditJobReq.open("GET", "http://nwra.catalystwebapps.com/EditJob.php?ID=" +ID +unique(), true);
		EditJobReq.onreadystatechange = handleEditJob;	// callback function
		EditJobReq.send(null);
	}
}
function handleEditJob() {
	if (EditJobReq.readyState == 4 && (EditJobReq.status == 200 || EditJobReq.status == 304)) {
		//alert(JobReq.responseText);
		document.getElementById("idDynamic").innerHTML = EditJobReq.responseText.replace("online@catalystwebapps.com",LoggedIn);
	}
}
function SaveJob(FormRef) {
	SaveJobReq = getXmlHttpRequestObject(); 
	SaveJobReq.open("POST", "http://nwra.catalystwebapps.com/EditJobAction.php?ID=" +FormRef.ID.value
			+"&Company=" +escape(FormRef.Company.value) +"&CompanyURL=" +escape(FormRef.CompanyURL.value)
			+"&JobTitle=" +escape(FormRef.JobTitle.value) +"&JobLocation=" +escape(FormRef.JobLocation.value)
			+"&ApplyNowEmail=" +escape(FormRef.ApplyNowEmail.value) +"&PostedBy=" +escape(FormRef.PostedBy.value)
			+"&PosterName=" +escape(FormRef.PosterName.value) +"&PosterPhone=" +escape(FormRef.PosterPhone.value)
			+"&PosterEmail=" +escape(FormRef.PosterEmail.value) 
			+((FormRef.DeleteMe.checked)?"&DeleteMe=Y":"") +unique(), true);
	SaveJobReq.onreadystatechange = handleSaveJob;	// callback function
	SaveJobReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    SaveJobReq.setRequestHeader("Content-length", escape(FormRef.Description.value).length+12);
    SaveJobReq.setRequestHeader("Connection", "close");
	SaveJobReq.send("Description=" +escape(FormRef.Description.value));
	//document.getElementById("idSaveBtn").value = "Saving...";
	//document.getElementById("idSaveBtn").onClick = null;
}
function handleSaveJob() {
	if (SaveJobReq.readyState == 4 && (SaveJobReq.status == 200 || SaveJobReq.status == 304)) {
		//alert(JobReq.responseText);
		document.getElementById("idDynamic").innerHTML = SaveJobReq.responseText;
		GetJobs();
	}
}
function validateLogin() {
	if ( document.form.email.value == "" ) {
		alert ( "Enter an email address" );
		return false;
	}
	 if ( document.form.Password.value == "" ) {
		alert ( "Enter a password" );
		return false;
	}
	SetCookie("UsernameAttempt",document.form.email.value,"");
}
function ShowLogin(AddNew) {
	document.getElementById("idDynamic").innerHTML = "<P><FONT face=arial,geneva,sans-serif color=navy size=4>" +
		" Logon to the jobs postings area.</FONT></P><form name=form method=POST" +
		"  action=http://www.123signup.com/servlet/DAP><p align=left>Email:<br />" +
		"  <input type=text name=email size=20 ><br />Password:<br />" +
		"  <input type=password name=Password size=20><br />" +
		"  <input type=submit value=Submit name=B1 onclick='return validateLogin();'>" +
		"  &nbsp; <input type=button value=Cancel name=B2 onclick=ShowJobs()><br />" +
		"  <input type=hidden name=org_id value=nwrecruit><input type=hidden name=DAL value=1>" +
		"  <input type=hidden name=FailureURL value=http://nwra.catalystwebapps.com/index.html?L=F>" +
		"  <input type=hidden name=SuccessURL value=http://nwra.catalystwebapps.com/index.html?L=OK&Add=" +
		AddNew +"></form>";
}

