var jobviteuseactivex = false;
var jobvitecompanyid='';
var jobvitebaseurl = '';
var jobvitebase = '';
var jobvitetemplate = '';
var jobvitecountry = '';
var jobvitecategory = '';
var jobvitecallback = null;
var jobvitemode = null;
var jobvitejobid = ''
var jobviteid = '';
var jobvitealertid = '';
var jobvitesource = '';
var jobvitesourcetypes = null;
var jobviterecipientindex = 0;
var jobviteprogressindex = 0;
var jobviteprogressinterval = null;
var jobviteusejoboverlay = false;
function jobviteinitialize(companyid, base, template, country, category, callback, mode, joboverlay)
{
	jobvitecompanyid = companyid;
	jobvitebaseurl = base;
	if (template)
		jobvitetemplate = template;
	if (country)
		jobvitecountry = country;
	if (category)
		jobvitecategory = category;
	if (joboverlay)
		jobviteusejoboverlay = joboverlay;
	jobvitecallback = callback;
	jobvitemode = mode;
	document.writeln('<div id="jobvitecareers"></div>');
	try
	{
		if (window.clientInformation)
		{
			var s = window.clientInformation.userAgent;
			var p = s.indexOf('MSIE');
			if (p != -1)
			{
				isIE = true;
				s = s.substring(p + 5);
				p = s.indexOf('.');
				if (p != -1)
					jobviteuseactivex = (s.substring(0, p) - 0) < 7;
			}
		}
	}
	catch (e)
	{
	}
	window.setTimeout('jobviteinitializing()', 10);
}
function jobviteinitializing()
{
	var o = document.getElementById('jobvitecareers');
	if (o)
	{
		var jobId = jobvitegeturlarg('jvi');
		jobvitesource = jobvitegeturlarg('jvs');
		jobvitebase = jobviteexecute('getbase', '');
		if (jobvitemode != 'norun')
		{
			if (jobId.length)
				jobvitejob(jobId);
			else
				jobvitejobs();
		}
	}
	else
		window.setTimeout('jobviteinitializing()', 10);
}
function jobvitegeturlarg(id)
{
	var s = window.location.href;
	var p = s.indexOf('?' + id + '=');
	if (p == -1)
		p = s.indexOf('&' + id + '=');
	if (p != -1)
	{
		p += 2 + id.length;
		var p2 = s.indexOf('&', p);
		if (p2 == -1)
			p2 = s.length;
		return s.substring(p, p2);
	}
	else
		return '';
}
function jobviteexecute(command, args, postdata)
{
	var xmlHttpReq = (jobviteuseactivex ? new ActiveXObject('MSXML2.XMLHTTP.3.0') : new XMLHttpRequest());
	if (jobvitetemplate.length)
		args += '&template=' + jobvitetemplate;
	xmlHttpReq.open('POST', jobvitebaseurl + '?command=' + command + '&c=' + jobvitecompanyid + args, false);
	xmlHttpReq.send((postdata ? postdata : ''));
	return xmlHttpReq.responseText;
}
function jobviteprogressnext()
{
	for (var i = 1; i <= 5; i++)
	{
		var o = document.getElementById('jobviteprogress' + i);
		if (o)
			o.className = 'jobviteprogressoff';
	}
	for (var i = 1; i <= 3; i++)
	{
		if (i + jobviteprogressindex >= 0 && i + jobviteprogressindex <= 5)
		{
			var o = document.getElementById('jobviteprogress' + (i + jobviteprogressindex));
			if (o)
				o.className = 'jobviteprogresson' + i;
		}
	}
	jobviteprogressindex++;
	if (jobviteprogressindex > 6)
		jobviteprogressindex = -2;
}
function jobviteprogressstart()
{
	var o = document.getElementById('jobvitecontent');
	if (o)
		o.style.display = 'none';
	o = document.getElementById('jobviteuploadprogress');
	if (o)
	{
		o.innerHTML = 
			'<table cellpadding="0" cellspacing="0">' +
			'<tr>' +
			'<td class="jobvitedefault">Uploading File</td>' +
			'<td><img src="http://www.jobvite.com/images2/spix.gif" width="20" height="14" /></td>' +
			'<td id="jobviteprogress1" class="jobviteprogressoff"><img src="http://www.jobvite.com/images2/spix.gif" width="5" height="12" /></td>' +
			'<td><img src="http://www.jobvite.com/images2/spix.gif" width="3" height="14" /></td>' +
			'<td id="jobviteprogress2" class="jobviteprogressoff"><img src="http://www.jobvite.com/images2/spix.gif" width="5" height="12" /></td>' +
			'<td><img src="http://www.jobvite.com/images2/spix.gif" width="3" height="14" /></td>' +
			'<td id="jobviteprogress3" class="jobviteprogressoff"><img src="http://www.jobvite.com/images2/spix.gif" width="5" height="12" /></td>' +
			'<td><img src="http://www.jobvite.com/images2/spix.gif" width="3" height="14" /></td>' +
			'<td id="jobviteprogress4" class="jobviteprogressoff"><img src="http://www.jobvite.com/images2/spix.gif" width="5" height="12" /></td>' +
			'<td><img src="http://www.jobvite.com/images2/spix.gif" width="3" height="14" /></td>' +
			'<td id="jobviteprogress5" class="jobviteprogressoff"><img src="http://www.jobvite.com/images2/spix.gif" width="5" height="12" /></td>' +
			'</tr>' +
			'</table>';
		o.style.display = 'inline';
	}
	jobviteprogressindex = 6;
	jobviteprogressinterval = window.setInterval('jobviteprogressnext()', 100);
}
function jobviteprogressstop()
{
	window.clearInterval(jobviteprogressinterval);
	var o = document.getElementById('jobviteuploadprogress');
	if (o)
	{
		o.innerHTML = '';
		o.style.display = 'none';
	}
	o = document.getElementById('jobvitecontent');
	if (o)
		o.style.display = 'inline';
}
function jobvitejobs()
{
	var args = '';
	jobvitejobid = '';
	if (jobvitecountry.length)
		args += '&country=' + jobvitecountry;
	if (jobvitecategory.length)
		args += '&category=' + jobvitecategory;
	if (jobviteusejoboverlay)
		args += '&overlay=1';
	document.getElementById('jobvitecareers').innerHTML = jobviteexecute('jobs', args);
	window.scrollTo(0, 0);
	if (jobvitecallback)
		jobvitecallback('jobs', '');
}
function jobvitejob(id)
{
	jobvitejobid = id;
	document.getElementById('jobvitecareers').innerHTML = jobviteexecute('job', '&j=' + id);
	window.scrollTo(0, 0);
	if (jobvitecallback)
		jobvitecallback('job', jobvitejobid);
}
function jobvitejobtitle(id)
{
	if (id.length)
		return jobviteexecute('jobtitle', '&j=' + id);
	else
		return '';
}
function jobvitejoboverlay(id)
{
	jobvitecloseoverlay();
	var d = new OverlayDialog('Confirmation', jobviteexecute('job', '&overlay=1&j=' + id));
	d.set_width(600);
	d.addRowSpace();
	d.addButton('OK', 'OverlayDialogInstance.close()');
	d.display(null, 0, 100);
}
function jobvitecloseoverlay()
{
//	if (OverlayDialogInstance)
//		OverlayDialogInstance.close();
}
function jobviteapplygeneral()
{
	jobviteapply('');
}
function jobviteapply(id)
{
	jobvitejobid = id;
	jobvitecloseoverlay();
	var s = jobviteexecute('apply', (id.length ? '&j=' + id : '') + (jobvitesource.length ? '&source=' + jobvitesource : ''));
	var p = s.indexOf('\n')
	document.getElementById('jobvitecareers').innerHTML = s.substring(p + 1);
	s = s.substring(0, p);
	if (s.length)
	{
		eval('jobvitesourcetypes = new Array(' + s + ');');
		var o = document.getElementById('jobvitesourcescell');
		var e = document.createElement('select');
		o.appendChild(e);
		e.className = 'jobvitedropdown';
		e.id = 'jobvitesource';
		e.onchange = jobvitechangesource;
		var opt = document.createElement('option');
		e.appendChild(opt);
		opt.innerHTML = 'Select...';
		opt.value = '';
		for (var i = 0; i < jobvitesourcetypes.length; i++)
		{
			var name = jobvitesourcetypes[i][1];
			opt = document.createElement('option');
			e.appendChild(opt);
			opt.innerHTML = name;
			opt.value = jobvitesourcetypes[i][3];
		}
	}
	var o = document.getElementById('jobviteworkstatuscell');
	if (o)
	{
		var e = document.createElement('select');
		o.appendChild(e);
		e.className = 'jobvitedropdown';
		e.id = 'jobviteworkstatus';
		var opt = document.createElement('option');
		e.appendChild(opt);
		opt.innerHTML = 'Select...';
		opt.value = '0';
		var opt = document.createElement('option');
		e.appendChild(opt);
		opt.innerHTML = 'US Citizen';
		opt.value = '1';
		var opt = document.createElement('option');
		e.appendChild(opt);
		opt.innerHTML = 'Permanent Resident';
		opt.value = '2';
		var opt = document.createElement('option');
		e.appendChild(opt);
		opt.innerHTML = 'H1 Visa';
		opt.value = '3';
		var opt = document.createElement('option');
		e.appendChild(opt);
		opt.innerHTML = 'TN Visa';
		opt.value = '4';
		var opt = document.createElement('option');
		e.appendChild(opt);
		opt.innerHTML = 'F1 Visa';
		opt.value = '5';
		e.selectedIndex = 0;
	}
	window.scrollTo(0, 0);
	jobvitesetfromcookie('jobvitefromfirstname');
	jobvitesetfromcookie('jobvitefromlastname');
	jobvitesetfromcookie('jobvitefromemail');
	jobvitesetfromcookie('jobvitephone');
	jobvitesetfromcookie('jobvitecell');
	o = document.getElementById('jobviteworkstatus');
	if (o)
	{
		var v = jobvitegetcookie('jobviteworkstatus');
		if (v.length)
			o.value = v;
	}
	var o = document.getElementById('jobvitefromfirstname');
	if (o)
		o.focus();
	if (jobvitecallback)
		jobvitecallback('apply', jobvitejobid);
}
function jobvitechangesource()
{
	var o = document.getElementById('jobvitesource');
	index = o.selectedIndex - 1;
	if (index == -1)
	{
		jobvitechoices.innerHTML = '';
		jobvitechoices.style.display = 'none';
		return;
	}
	var info = jobvitesourcetypes[index];
	var jobvitechoices = document.getElementById('jobvitechoices');
	switch (info[0])
	{
		case 0x1000:
			var s = '';
			var subitems = info[4];
			if (subitems)
			{
				var selectedIndex = -1;
				var otherIndex = -1;
				s = '<table cellSpacing="0" cellPadding="0" width="100%" border="0"><tr><td class="jobvitecol1"></td><td class="jobvitecol2" id="jobvitesubitemscell"></td></tr><tr><td class="jobvitespace" colspan="2">&nbsp;</td></tr></table><div id="jobviteinputfield" style="display: none"><table cellSpacing="0" cellPadding="0" width="100%" border="0"><tr><td class="jobvitecol1">&nbsp;</td><td class="jobvitecol2"><input type="text" id="jobvitename" value="" class="jobvitewatermark" onfocus="jobviteonfocusname(this)" onblur="jobviteonblurname(this)"></td></tr></table></div>';
				jobvitechoices.innerHTML = s;
				var o = document.getElementById('jobvitesubitemscell');
				var e = document.createElement('select');
				o.appendChild(e);
				e.className = 'jobvitedropdown';
				e.id = 'jobvitesubitems';
				e.onchange = jobvitechangesubitems;
				if (!jobvitesource.length)
				{
					var opt = document.createElement('option');
					e.appendChild(opt);
					opt.innerHTML = 'Select...';
					opt.value = '';
				}
				for (var i = 0; i < subitems.length; i++)
				{
					var name = subitems[i][1];
					var opt = document.createElement('option');
					e.appendChild(opt);
					opt.innerHTML = name;
					opt.value = subitems[i][3];
					if (subitems[i][0] == 0x2000)
						otherIndex = i;
					else if (jobvitesource == subitems[i][1])
						selectedIndex = i;
				}
				if (!jobvitesource.length)
				{
					if (selectedIndex != -1)
						selectedIndex++;
					if (otherIndex != -1)
						otherIndex++;
				}
				if (selectedIndex != -1)
					document.getElementById('jobvitesubitems').selectedIndex = selectedIndex;
				else if (jobvitesource.length && otherIndex != -1)
				{
					document.getElementById('jobvitesubitems').selectedIndex = otherIndex;
					jobvitechangesubitems();
					document.getElementById('jobvitename').value = jobvitesource;
				}
				else
				{
					document.getElementById('jobvitesubitems').selectedIndex = 0;
					jobvitechangesubitems();
				}
			}
			else
				jobvitechoices.innerHTML = '';
			jobvitechoices.style.display = 'inline';
			break;
		case 0x2000:
			promptText = info[2];
			jobvitechoices.innerHTML = '<table cellSpacing="0" cellPadding="0" width="100%" border="0"><tr><td class="jobvitecol1"></td><td class="jobvitecol2"><input type="text" id="jobvitename" value="' + promptText + '" class="jobvitewatermark" onfocus="jobviteonfocusname(this)" onblur="jobviteonblurname(this)"></td></tr></table>';
			jobvitechoices.style.display = 'inline';
			break;
		default:
			jobvitechoices.innerHTML = '';
			jobvitechoices.style.display = 'inline';
			break;
	}
}
function jobvitechangesubitems()
{
	var o = document.getElementById('jobvitesubitems');
	var choices = document.getElementById('jobviteinputfield');
	var i = o.selectedIndex - 1;
	if (i != -1)
	{
		var info = jobvitesourcetypes[index][4][i];
		choices.style.display = (info[0] == 0x2000 ? 'inline' : 'none');
		if (info[0] == 0x2000)
		{
			promptText = info[2];
			document.getElementById('jobvitename').value = promptText;
			document.getElementById('jobvitename').className = 'jobvitewatermark';
		}
	}
	else
		choices.style.display = 'none';
}
function jobviteonfocusname(o)
{
	if (o.className == 'jobvitewatermark' && o.value == promptText)
	{
		o.className = 'fjtext'; 
		o.value = '';         
	}
}
function jobviteonblurname(o)
{
	if (!o.value.length)
	{
		o.className = 'jobvitewatermark'; 
		o.value = promptText;         
	}
}
function clearWatermark()
{
	var o = document.getElementById('Name');
	if (o && o.className == 'jobvitewatermark' && o.value == promptText)
		o.value = '';         
}
function jobvitepreview(id)
{
	if (jobviteid.length)
		jobvitedocumentcancel(jobviteid);
	jobviteid = id;
	document.getElementById(id + 'div').style.display = 'none';
	document.getElementById(id + 'spellcheck').innerHTML = '<table cellSpacing="0" cellPadding="0" border="0"><tr><td class="jobvitepreviewtop"><table cellSpacing="0" cellPadding="0" width="100%" border="0"><tr><td class="jobvitedefault"><b>Preview</b></td><td align="right"><input type="button" class="jobvitebutton" value="Close" onclick="jobvitedocumentcancel(\'' + id + '\')"></td></tr></table></td></tr><tr><td class="jobvitepreviewtop jobvitedefault">' + toHtml(document.getElementById(id).value) + '</td></tr><tr><td class="jobvitepreviewbottom" align="right"><input type="button" class="jobvitebutton" value="Close" onclick="jobvitedocumentcancel(\'' + id + '\')"></td></tr></table>';
	document.getElementById(id + 'spellcheck').style.display = 'inline';
}
function toHtml(s)
{
	s = s.replace(/(&)/g, '&amp;');
	s = s.replace(/(<)/g, '&lt;');
	s = s.replace(/(>)/g, '&gt;');
	s = s.replace(/(\r)/g, '');
	s = s.replace(/(\n)/g, '<br>');
	s = s.replace(/fjmarkerstart/g, '<span id="wordspan" style="background-color: Yellow;">');
	s = s.replace(/fjmarkerend/g, '</span>');
	
	return s;
}
function jobviteinsertdocument(id)
{
	if (jobviteid.length)
		jobvitedocumentcancel(jobviteid);
	jobviteid = id;
	document.getElementById(id + 'links').style.display = 'none';
	document.getElementById(id + 'div1').style.display = 'none';
	document.getElementById(id + 'div2').innerHTML = '<table cellSpacing="0" cellPadding="0" width="100%" border="0" class="jobvitesectionhighlight"><tr><td class="jobvitedefault"><b>Insert a document</b><br>Click the Browse button to select a document to insert:</td></tr><tr><td class="jobvitespace">&nbsp;</td></tr><tr><td style="height: 25px;"><div id="jobviteuploadprogress" style="display: none;"></div><iframe id="jobvitecontent" onload="jobviteawaitcontent()" style="width: 100%; height: 25px;" src="" frameBorder="no" scrolling="no"></iframe></td></tr><tr><td class="jobvitespace">&nbsp;</td></tr><tr><td align="right"><div id="jobvitejobbuttons2"><input type="button" class="jobvitebutton" value="Cancel" id="jobvitedocumentcancel" onclick="jobvitedocumentcancel(\'' + id + '\')"><span class="jobvitebuttonspace">&nbsp;</span><input type="button" class="jobvitebutton" value="Insert Document" id="jobvitedocumentsave" onclick="jobviteinsertdocumentsave(\'' + id + '\')"></div></td></tr><tr><td class="jobvitespace">&nbsp;</td></tr></table>';
//	document.getElementById(id + 'div2').className = 'jobvitesectionhighlight';
	document.getElementById(id + '1').className = 'jobvitesectiontop';
	document.getElementById(id + '2').className = 'jobvitesectionside';
	document.getElementById(id + '3').className = 'jobvitesectionbottom';
	document.getElementById(id + 'div2').style.display = 'inline';
//	document.getElementById(id + 'div').style.backgroundColor = jobvitebackgroundcolor;
	jobviteenablesubmit(false);
}
function jobviteenablesubmit(enable)
{
	var o = document.getElementById('jobvitesubmitapplication');
	if (o)
		o.disabled = !enable;
	o = document.getElementById('jobvitesend');
	if (o)
		o.disabled = !enable;
}
function jobviteawaitcontent()
{
	var o = document.getElementById('jobvitecontent');
	if (o)
	{
		var url = jobvitebaseurl + (jobvitebaseurl.indexOf('?') == -1 ? '?command=upload' : '&command=upload');
//		o.contentWindow.document.body.style.backgroundColor = jobvitebackgroundcolor;
		o.contentWindow.document.body.style.marginLeft = '0px';
		o.contentWindow.document.body.style.marginTop = '0px';
		o.contentWindow.document.body.style.marginRight = '0px';
		o.contentWindow.document.body.style.marginBottom = '0px';
		o.contentWindow.document.body.innerHTML = 
			'<form name="Form1" method="post" action="' + url + '" id="Form1" enctype="multipart/form-data">\n' +
			'<input name="File" type="file" id="File" style="width: 100%" size="40" />\n' +
			'</form>\n';
	}
}
function jobvitedocumentcancel(id)
{
	if (!jobviteid.length)
		return;
	jobviteprogressstop();
	jobviteclearalert();
	var o = document.getElementById(id + '1');
	if (o)
		o.className = 'jobvitedefault';
	o = document.getElementById(id + '2');
	if (o)
		o.className = 'jobvitedefault';
	o = document.getElementById(id + '3');
	if (o)
		o.className = 'jobvitedefault';
	o = document.getElementById(id + 'spellcheck');
	if (o)
	{
		o.style.display = 'none';
		o.innerHTML = '';
	}
	o = document.getElementById(id + 'div2');
	if (o)
	{
		o.style.display = 'none';
		o.innerHTML = '';
	}
	o = document.getElementById(id + 'div1');
	if (o)
		o.style.display = 'inline';
	o = document.getElementById(id + 'div');
	if (o)
	{
		o.style.backgroundColor = '';
		o.className = 'jobvitesection';
	}
	o = document.getElementById(id + 'links');
	if (o)
		o.style.display = 'inline';
	o = document.getElementById(id + 'div');
	if (o)
		o.style.display = 'inline';
	jobviteid = '';
	jobviteenablesubmit(true);
}
function jobviteinsertdocumentsave(id)
{
	jobviteclearalert();
	jobviteid = id;
	var o = document.getElementById('jobvitecontent').contentWindow.document.getElementById('File');
	if (o && !o.value.length)
	{
		jobvitealert(jobviteid + 'alert', 'Please select a document to insert');
		return;
	}
	var o = document.getElementById('jobvitecontent').contentWindow.document.getElementById('Form1');
	if (o)
		o.submit();
	jobviteprogressstart();
}
function jobviteuploadcomplete(errorMessage, content, firstname, lastname, email, phone, cell)
{
	jobviteprogressstop();
	if (errorMessage.length)
		jobvitealert(jobviteid + 'alert', errorMessage);
	else
	{
		document.getElementById(jobviteid).value = unescape(content);
		jobviteinsertifempty('jobvitefromfirstname', firstname);
		jobviteinsertifempty('jobvitefromlastname', lastname);
		jobviteinsertifempty('jobvitefromemail', email);
		jobviteinsertifempty('jobvitephone', phone);
		jobviteinsertifempty('jobvitecell', cell);
		jobvitedocumentcancel(jobviteid);
		jobviteid = '';
	}
}
function jobviteinsertifempty(id, value)
{
	var o = document.getElementById(id);
	if (o && !o.value.length)
		o.value = value;
}
function jobvitesubmitapplication(id)
{
	if (jobviteapplyvalidate())
	{
		var s =
			jobviteaddcontrolvaluecookie('jobvitefromfirstname') +
			jobviteaddcontrolvaluecookie('jobvitefromlastname') +
			jobviteaddcontrolvaluecookie('jobvitefromemail') +
			jobviteaddcontrolvaluecookie('jobvitephone') +
			jobviteaddcontrolvaluecookie('jobvitecell') +
			jobviteaddcontrolvalue('jobvitecoverletter') +
			jobviteaddcontrolvalue('jobviteresume') +
			jobviteaddcontrolvaluecookie('jobviteworkstatus') +
			jobviteaddcontrolvalue('jobvitesource') +
			jobviteaddcontrolvalue('jobvitesubitems') +
			jobviteaddcontrolvalue('jobvitename');
		var o = document.getElementById('jobvitemale');
		if (o)
		{
			s +=
				jobviteaddcheckcontrolvalue('jobvitemale') +
				jobviteaddcheckcontrolvalue('jobvitefemale') +
				jobviteaddcheckcontrolvalue('jobvitegenderdecline') +
				jobviteaddcheckcontrolvalue('jobvitehispanicorlatino') +
				jobviteaddcheckcontrolvalue('jobvitewhite') +
				jobviteaddcheckcontrolvalue('jobviteblackorafricanamerican') +
				jobviteaddcheckcontrolvalue('jobvitenativehawaiianorotherpacificislander') +
				jobviteaddcheckcontrolvalue('jobviteasian') +
				jobviteaddcheckcontrolvalue('jobviteamericanindianoralaskanative') +
				jobviteaddcheckcontrolvalue('jobvitetwoormoreraces') +
				jobviteaddcheckcontrolvalue('jobviteracedecline');
		}
		document.getElementById('jobvitecareers').innerHTML = jobviteexecute('submitapplication', '&j=' + id + (jobvitesource.length ? '&source=' + jobvitesource : ''), s);
		window.scrollTo(0, 0);
		if (jobvitecallback)
			jobvitecallback('applysubmit', jobvitejobid);
	}
}
function jobviteapplycontinue(id)
{
	var o = document.getElementById('jobvitejobnotify');
	if (o && o.checked)
		window.setTimeout('jobviteexecute(\'notification\', \'&u=' + id + '\')', 1);
	jobvitejobs();
}
function jobviteforward(id)
{
	jobvitejobid = id;
	jobvitecloseoverlay();
	jobviterecipientindex = 2;
	document.getElementById('jobvitecareers').innerHTML = jobviteexecute('forward', '&j=' + id);
	window.scrollTo(0, 0);
	jobvitesetfromcookie('jobvitefromfirstname');
	jobvitesetfromcookie('jobvitefromlastname');
	jobvitesetfromcookie('jobvitefromemail');
	var o = document.getElementById('jobvitefromfirstname');
	if (o)
		o.focus();
	if (jobvitecallback)
		jobvitecallback('forward', jobvitejobid);
}
function jobvitenotify()
{
	document.getElementById('jobvitecareers').innerHTML = jobviteexecute('notify', '');
	window.scrollTo(0, 0);
	jobvitesetfromcookie('jobvitefromfirstname');
	jobvitesetfromcookie('jobvitefromlastname');
	jobvitesetfromcookie('jobvitefromemail');
	var o = document.getElementById('jobvitefromfirstname');
	if (o)
		o.focus();
	if (jobvitecallback)
		jobvitecallback('notify', jobvitejobid);
}
function jobvitesetall(checked)
{
	var elements = document.all;
	for (var i = 0; i < elements.length; i++)
	{
		var e = elements[i];
		if (e.type == 'checkbox' && e.id.indexOf('jobvitec') == 0)
			e.checked = checked;
	}
}
function jobvitecheckall()
{
	jobvitesetall(true);
}
function jobviteclearall()
{
	jobvitesetall(false);
}
function jobvitesubmitnotify()
{
	if (jobvitenotifyvalidate())
	{
		var s =
			jobviteaddcontrolvaluecookie('jobvitefromfirstname') +
			jobviteaddcontrolvaluecookie('jobvitefromlastname') +
			jobviteaddcontrolvaluecookie('jobvitefromemail');
		var n = '';
		var elements = document.all;
		for (var i = 0; i < elements.length; i++)
		{
			var e = elements[i];
			if (e.type == 'checkbox' && e.id.indexOf('jobvitec') == 0 && e.checked)
			{
				if (n.length)
					n += ',';
				n += e.id.substring(8);
			}
		}
		if (!n.length)
		{
			jobvitealert('jobvitealert', 'Please select categories');
			return;
		}
		s += 'categories=' + n + '\n';
		document.getElementById('jobvitecareers').innerHTML = jobviteexecute('submitnotify', '', s);
		if (jobvitecallback)
			jobvitecallback('notifysubmit', jobvitejobid);
	}
}
function jobvitenotifyvalidate()
{
	var valid = jobvitevalidatecontrol('jobvitefromemail');
	valid = jobvitevalidatecontrol('jobvitefromlastname') && valid;
	valid = jobvitevalidatecontrol('jobvitefromfirstname') && valid;
	if (!valid)
		jobvitealert('jobvitealert', 'Please fill out missing information');
	else
	{
		valid = jobvitevalidateemailcontrol('jobvitefromemail');
		if (!valid)
			jobvitealert('jobvitealert', 'Please enter valid email address');
	}
	return valid;
}
function jobviteaddrecipient()
{
	jobviteclearalert();
	var t = document.getElementById('jobviterecipienttable');
	if (t)
	{
		var row = t.insertRow(t.rows.length);
		row.id = 'jobviterecipientrow' + jobviterecipientindex;
		var cell = row.insertCell(0);
		cell.innerHTML = '<input type=\"text\" id=\"jobvitefirstname' + jobviterecipientindex + '\" value=\"\" class=\"jobvitename\" MaxLength=\"100\"/>';
		cell = row.insertCell(1);
		cell.innerHTML = '<input type=\"text\" id=\"jobvitelastname' + jobviterecipientindex + '\" value=\"\" class=\"jobvitename\" MaxLength=\"100\"/>';
		cell = row.insertCell(2);
		cell.innerHTML = '<input type=\"text\" id=\"jobviteemail' + jobviterecipientindex + '\" value=\"\" class=\"jobviteemail\" MaxLength=\"100\"/>';
		cell = row.insertCell(3);
		cell.innerHTML = '<a href="javascript:jobvitedeleteentry(' + jobviterecipientindex + ')"><img alt="Remove recipient" src="http://www.jobvite.com/images2/img_trash.gif" border="0" width="15" height="15"></a></td></tr></table>';
		document.getElementById('jobvitefirstname' + jobviterecipientindex).focus();
		jobviterecipientindex++;
	}
}
function jobvitedeleteentry(i)
{
	jobviteclearalert();
	var t = document.getElementById('jobviterecipienttable');
	var r = document.getElementById('jobviterecipientrow' + i);
	if (t && r)
	{
		for (var index = 0; index < t.rows.length; index++)
		{
			if (t.rows[index] == r)
			{
				t.deleteRow(index);
				break;
			}
		}
	}
}
function jobvitesend(id)
{
	jobviteclearalert();
	if (jobviteforwardvalidate())
	{
		var s =
			jobviteaddcontrolvaluecookie('jobvitefromfirstname') +
			jobviteaddcontrolvaluecookie('jobvitefromlastname') +
			jobviteaddcontrolvaluecookie('jobvitefromemail') +
			jobviteaddcontrolvalue('jobvitesubject') +
			jobviteaddcontrolvalue('jobvitemessage');
		for (var i = 1; i < jobviterecipientindex; i++)
		{
			var firstname = jobvitegetcontrolvalue('jobvitefirstname' + i);
			var lastname = jobvitegetcontrolvalue('jobvitelastname' + i);
			var email = jobvitegetcontrolvalue('jobviteemail' + i);
			
			if (firstname.length)
				s += 'firstname=' + escape(firstname) + '\nlastname=' + escape(lastname) + '\nemail=' + escape(email) + '\n';
		}
		document.getElementById('jobvitecareers').innerHTML = jobviteexecute('send', '&j=' + id, s);
		window.scrollTo(0, 0);
		if (jobvitecallback)
			jobvitecallback('forwardsubmit', jobvitejobid);
	}
}
function jobviteforwardvalidate()
{
	var emailvalid = true;
	var hasrecipients = false;
	var valid = jobvitevalidatecontrol('jobvitemessage');
	valid = jobvitevalidatecontrol('jobvitesubject') && valid;
	emailvalid = jobvitevalidateemailcontrol('jobvitefromemail') && emailvalid;
	valid = jobvitevalidatecontrol('jobvitefromemail') && valid;
	valid = jobvitevalidatecontrol('jobvitefromlastname') && valid;
	valid = jobvitevalidatecontrol('jobvitefromfirstname') && valid;
	for (var i = 1; i < jobviterecipientindex; i++)
	{
		var firstname = jobvitegetcontrolvalue('jobvitefirstname' + i);
		var lastname = jobvitegetcontrolvalue('jobvitelastname' + i);
		var email = jobvitegetcontrolvalue('jobviteemail' + i);
		
		if (firstname.length || lastname.length || email.length)
		{
			valid = jobvitevalidatecontrol('jobviteemail' + i) && valid;
			emailvalid = jobvitevalidateemailcontrol('jobviteemail' + i) && emailvalid;
			valid = jobvitevalidatecontrol('jobvitelastname' + i) && valid;
			valid = jobvitevalidatecontrol('jobvitefirstname' + i) && valid;
			hasrecipients = true;
		}
	}
	if (!valid)
		jobvitealert('jobvitealert', 'Please fill out missing information');
	else if (!emailvalid)
		jobvitealert('jobvitealert', 'Please enter valid email address');
	else if (!hasrecipients)
		jobvitealert('jobvitealert', 'Please specify recipient');
	return valid && emailvalid && hasrecipients;
}
function jobvitecalculateoffset(o)
{
	return o.offsetTop + (o.offsetParent ? this.jobvitecalculateoffset(o.offsetParent) : 0);
}
function jobvitealert(id, s)
{
	jobvitealertid = id;
	var o = document.getElementById(id);
	if (o)
	{
		var offset = jobvitecalculateoffset(o);
		var scrollTop = document.documentElement.scrollTop;
		if (!scrollTop)
			scrollTop = document.body.scrollTop;
		o.innerHTML = '<table cellSpacing="0" cellPadding="0" border="0" class="jobvitealert"><tr><td class="jobvitealert2">' + s + '</td></tr></table><br>';
//		o.innerHTML = '<span class="jobvitealert2">' + s + '</td>';
		o.style.display = 'inline';
		if (offset < scrollTop)
			o.scrollIntoView(true);
	}
}
function jobviteclearalert()
{
	var o = document.getElementById(jobvitealertid);
	if (o)
	{
		o.innerHTML = '';
		o.style.display = 'none';
	}				
}
function jobviteemailvalid(s)
{
	var regex = new RegExp('\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*');
	var matches = regex.exec(s);
	return (matches != null && s == matches[0]);
}
function jobvitetrim(s)
{
	var m = s.match(/^\s*(\S+(\s+\S+)*)\s*$/);
	return (m == null) ? "" : m[1];
}
function jobviteapplyvalidate()
{
	var valid = jobvitevalidatecontrol('jobviteresume');
	valid = jobvitevalidatecontrol('jobvitefromemail') && valid;
	valid = jobvitevalidatecontrol('jobvitefromlastname') && valid;
	valid = jobvitevalidatecontrol('jobvitefromfirstname') && valid;
	if (!valid)
		jobvitealert('jobvitealert', 'Please fill out missing information');
	else
	{
		valid = jobvitevalidateemailcontrol('jobvitefromemail');
		if (!valid)
			jobvitealert('jobvitealert', 'Please enter valid email address');
	}
	return valid;
}
function jobvitevalidatecontrol(id)
{
	var o = document.getElementById(id);
	if (o && jobvitetrim(o.value).length == 0)
	{
		o.style.backgroundColor = '#ffd8d9';
		o.focus();
		return false;
	}
	else
	{
		o.style.backgroundColor = 'white';
		return true;
	}
}
function jobvitevalidateemailcontrol(id)
{
	var o = document.getElementById(id);
	if (!jobviteemailvalid(jobvitetrim(o.value)))
	{
		o.style.backgroundColor = '#ffd8d9';
		o.focus();
		return false;
	}
	else
	{
		o.style.backgroundColor = 'White';
		return true;
	}
}
function jobvitegetcontrolvalue(id)
{
	var o = document.getElementById(id);
	if (o)
		return jobvitetrim(o.value);
	else
		return '';
}
function jobviteaddcontrolvalue(id)
{
	var o = document.getElementById(id);
	if (o)
		return id + '=' + escape(jobvitetrim(o.value)) + '\n';
	else
		return '';
}
function jobviteaddcontrolvaluecookie(id)
{
	var o = document.getElementById(id);
	if (o)
	{
		jobvitesetcookie(id, o.value);
		return id + '=' + escape(jobvitetrim(o.value)) + '\n';
	}
	else
		return '';
}
function jobviteaddcheckcontrolvalue(id)
{
	var o = document.getElementById(id);
	if (o && o.checked)
		return id + '=1\n';
	else
		return '';
}
function jobvitesetfromcookie(id)
{
	var o = document.getElementById(id);
	if (o)
		o.value = jobvitegetcookie(id);
}
function jobvitesetcookie(name, value)
{
	var d = new Date();
	d.setDate(d.getDate() + 30);
	document.cookie = name + '=' + escape(value) + '; expires=' + d.toUTCString();
}
function jobvitegetcookie(name)
{
	var cookies = document.cookie;
	var p = 0;
	for (;;)
	{
		p = cookies.indexOf(name + '=', p);
		if (p == -1)
			return '';
		if (p == 0 || cookies.charAt(p - 1) == ';' || cookies.charAt(p - 1) == ' ')
		{
			p += name.length + 1;
			var p2 = cookies.indexOf(';', p);
			if (p2 == -1)
				p2 = cookies.length;
			return unescape(cookies.substring(p, p2));
		}
		else
			p++;
	}
}
function jobviteviewapplication()
{
	window.location.href = jobvitebase + 'Application/Applications.aspx?c=' + jobvitecompanyid;
}

