// JavaScript Document
function linkup(){
	var xmlHttp;
	var transfercode;
	try{
		xmlHttp = new XMLHttpRequest();
	}catch(e){
		try{
			xmlHttp = new ActiveXObject(Msxml2.XMLHTTP);
		}catch(e){
			try{
				xmlHttp = new ActiveXObject(Microsoft.XMLHTTP);
			}catch(e){
				xmlHttp = false;
			}
		}
	}
	if(!xmlHttp){
		return false;
	}else{
		return xmlHttp;
	}
}

function getOpenings(type, clause, offset, limit, keyphrase){
//example of clause is industry, company, position, etc
	var xmlHttp = linkup();
	if(xmlHttp.readyState == 4 || xmlHttp.readyState == 0){
		xmlHttp.open('GET', '../../plugins/bbnrm/remote/vacs.php?type='+type+'&clause='+clause+'&keyphrase='+keyphrase+'&offset='+offset+'&limit='+limit+'', true);
		xmlHttp.send(null);
		xmlHttp.onreadystatechange = function(){
			var response;
			if(xmlHttp.readyState != 4){
				document.getElementById("jS").innerHTML = '<img src="media/images/loading_black.gif" border="0" />';
			}else if(xmlHttp.readyState == 4){
				if(xmlHttp.status == 200){
					var response = xmlHttp.responseText;
					if(response.indexOf("ERRNO") >= 0 || response.indexOf("Error:") >=0 || response.length ==0){
						throw(response.length == 0 ? "Server Error. " : response);
					}
					responseXml = xmlHttp.responseXML;
					var xmlDoc = responseXml.documentElement;
//					alert(xmlDoc.getElementsByTagName("vacancy")[1].getElementsByTagName("vpostdate")[0].firstChild.data);
					var numRows = new Number();
					var pgLimit =  new Number();
					var curPg = new Number();
					var numPages = new Number();
 					var pglimiter = new Number();
					var pgr = new String();
					var img = new Array();
					numRows = xmlDoc.getElementsByTagName("numvacs")[0].firstChild.data;
					pgLimit = limit;
					curPg = Math.floor(offset/limit) + 1;
					numRows % pgLimit == 0 ? numPages = numRows/pgLimit : numPages = Math.floor(numRows/pgLimit) + 1;
					
					//alert(numPages);
					//creating the pagination link at bottom
					offset == 0 ? prevpg = 0 : prevpg = offset - limit ; //offset for previous page
					offset == (numRows - (numRows % pgLimit)) ? nextpg = (numRows - (numRows % pgLimit)) : nextpg = (offset + 1) * limit; //offset for next page
					if(numPages > 1){
						if(offset > 5 && numPages > 10){
							if((offset + 5) >= numPages){
								uplimit = numPages;
								lowlimit = numPages - 10;
							}else{
							lowlimit = offset - 5;
							uplimit = offset + 5;
							}
						}else{
							lowlimit = 0;
							numPages > 10 ? uplimit = 10 : uplimit = numPages;
						}
						for(var l=lowlimit; l<uplimit; l++){
							pgr += "<span style=\"font-weight: bold; border: #666666 solid 1px; background-color: #999999; color: white; padding: 2px;\" ><a href=\"#\" style=\"color: white;\" onclick=\"getOpenings('"+type+"', '"+clause+"', "+(l * limit)+", "+limit+", '"+keyphrase+"')\">"+(l+1)+"</a></span>&nbsp;";
						}
						pgr = "<a href=\"#\" onclick=\"getOpenings('"+type+"', '"+clause+"', "+prevpg+", "+limit+", '"+keyphrase+"')\">Previous</a> "+pgr+" <a href=\"#\" onclick=\"getOpenings('"+type+"', '"+clause+"', "+nextpg+", "+limit+", '"+keyphrase+"')\">Next</a>";
					}
					resultLength = xmlDoc.getElementsByTagName("vacancy").length;
					var vF = "<table cellpadding=\"3\" cellspacing=\"0\" border=\"0\" width=\"100%\">";
					vF += "<tr><td width=\"10\" style=\"color: blue;\">The following result was sorted by <strong>"+type+"</strong></td></tr>";
					vF += "<tr><td width=\"10\" style=\"color: black;\" align=\"right\"><strong>"+((offset + 1))+" to "+(offset + resultLength)+" of "+(xmlDoc.getElementsByTagName("numvacs")[0].firstChild.data)+"</strong> vacancies found</td></tr>";
					vF += "<tr><td width=\"10\" style=\"background-color: #666666; padding: 0px;\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"3\"><tr><td style=\"color: #FFFFFF; font-weight: bold;\" width=\"45%\" >Job Title</td><td style=\"color: #FFFFFF; font-weight: bold;\" width=\"33%\">Company</td><td style=\"color: #FFFFFF; font-weight: bold;\" width=\"22%\">Industry</td></tr></table></td></tr>";
					var joPd;
					for(var j=1; j<(resultLength+1); j++){
						counter = j - 1;
						joT = xmlDoc.getElementsByTagName("vacancy")[counter].getElementsByTagName("jobtitle")[0].firstChild.data;
						joC = xmlDoc.getElementsByTagName("vacancy")[counter].getElementsByTagName("company")[0].firstChild.data;
						joQ = xmlDoc.getElementsByTagName("vacancy")[counter].getElementsByTagName("qualifications")[0].firstChild.data;
						joI = xmlDoc.getElementsByTagName("vacancy")[counter].getElementsByTagName("indname")[0].firstChild.data;
						joD = xmlDoc.getElementsByTagName("vacancy")[counter].getElementsByTagName("jobdesc")[0].firstChild.data;
						joId = xmlDoc.getElementsByTagName("vacancy")[counter].getElementsByTagName("jobid")[0].firstChild.data;
						joAr = xmlDoc.getElementsByTagName("vacancy")[counter].getElementsByTagName("addnreq")[0].firstChild.data;
						joCl = xmlDoc.getElementsByTagName("vacancy")[counter].getElementsByTagName("clogo")[0].firstChild.data;
						joClh = xmlDoc.getElementsByTagName("vacancy")[counter].getElementsByTagName("clogoheight")[0].firstChild.data;
						joClw = xmlDoc.getElementsByTagName("vacancy")[counter].getElementsByTagName("clogowidth")[0].firstChild.data;
						joSt = xmlDoc.getElementsByTagName("vacancy")[counter].getElementsByTagName("cstate")[0].firstChild.data;
						joPd = xmlDoc.getElementsByTagName("vacancy")[counter].getElementsByTagName("vpd")[0].firstChild.data;
						joCd = xmlDoc.getElementsByTagName("vacancy")[counter].getElementsByTagName("closedate")[0].firstChild.data;
						joType = xmlDoc.getElementsByTagName("vacancy")[counter].getElementsByTagName("jobtype")[0].firstChild.data;
						joCo = xmlDoc.getElementsByTagName("vacancy")[counter].getElementsByTagName("company")[0].firstChild.data;					
						joCid = xmlDoc.getElementsByTagName("vacancy")[counter].getElementsByTagName("idsman")[0].firstChild.data;
						img[counter] = new Image();
						img[counter].src = joCl;

						vF += "<tr><td width=\"10\" style=\"border-bottom: #CCCCCC solid 1px; padding: 5px;\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td style=\"font-weight: bold;\" width=\"45%\" >"+joT+"</td><td style=\"font-weight: bold;\" width=\"33%\">"+joC+" ("+joSt+")</td><td style=\"font-weight: bold;\" width=\"22%\">"+joI+"</td></tr><tr><td colspan=\"3\">"+joD+"</td></tr><tr><td colspan=\"3\" style=\"font-size: 11px; color: #FF3333; font-weight: bold;\"><a href=\"#\" style=\"color: #FF3333;\" onclick=\"showDetails('"+joId+"', '"+joCl+"', '"+joClh+"', '"+joClw+"', '"+joT+"', '"+joType+"', '"+joCo+"', '"+joCid+"', '"+joSt+"', '"+joPd+"', '"+joCd+"', '"+joQ+"', '"+joD+"', '"+joAr+"', '"+type+"', '"+clause+"', "+offset+", "+limit+", '"+keyphrase+"')\">details</a> | <a href=\"#\" style=\"color: #FF3333;\" onclick=\"loadAppFrm('"+joT+"', '"+joCo+"', '"+joCid+"', '"+joId+"')\">apply</a> | <a href=\"#\" style=\"color: #FF3333;\" onclick=\"getOpenings('position', '"+joT+"', 0, "+limit+", '')\">similar jobs</a> | <a href=\"#\" style=\"color: #FF3333;\" onclick=\"getOpenings('location', '"+joSt+"', 0, "+limit+", '')\">other jobs in this location</a></td></tr></table></td></tr>";
					}
					//alert('Yes');
					vF += "<tr><td width=\"10\" style=\"color: black;\" align=\"right\"><strong>"+((offset + 1))+" to "+(offset + resultLength)+" of "+(xmlDoc.getElementsByTagName("numvacs")[0].firstChild.data)+"</strong> vacancies found</td></tr>";
					vF += "<tr><td width=\"10\" style=\"color: black;\" align=\"center\"><br />"+pgr+"</td></tr>";
					document.getElementById("jS").innerHTML = vF+"</table>"; //+"</tr><tr><td colspan='5' align='left'><br /><label><a href='javascript: checkAll()'>Check All</a> | <a href='javascript: uncheckAll()'>Uncheck All</a></label></td></tr></table>";
				}else{
				document.getElementById("jS").innerHTML = '<img src="media/images/loading_black.gif" border="0" /> We are experiencing difficulty with your internet connection!';
				}
			}
		}
	}else{
		alert('error');
	}
}

function readResponse(){
	var response = xmlHttp.responseText;
	if(response.indexOf("ERRNO") >= 0 || response.indexOf("Error:") >=0 || response.length ==0){
		throw(response.length == 0 ? "Server Error. " : response);
	}
	
	responseXml = xmlHttp.responseXML;
	xmlDoc = responseXml.documentElement;
	result = xmlDoc.getElementsByTagName("vacancy")[0].firstChild.data;
	return result;
}