this.pageName='default.asp';
var iOrgId=0;
var iDistrictId=0;
var SessId;
var oEvents;
var oOrgs;

window.onload=initPage;

function initPage() {
	
	getDistrict();
	loadPageDefaults(this.pageName);
//	showLogin('divLogin');
	MM_preloadImages();
	tmpOrgId=getCookie('orgid');
	if (tmpOrgId!='')
	{
		iOrgId=iParmOrgId=tmpOrgId;
	}
	else
	{
		// alert('no cookie stored');
	}
	if (iParmOrgId!=0)
		showLogin();
	else
		showOrgList(iDistrictId);
}

function getDistrict(){

//	return 84;

	url=location.href;
	lft=url.indexOf('//')+1;
	fulldom=url.substr(lft);
	subdom=fulldom.substr(1,fulldom.indexOf('.')-1);
	var oXml = zXmlDom.createDocument();
	xml='<rq><rqname>getdistrict</rqname><domain>' + subdom + '</domain></rq>';
	sRet = sendTran(xml);
	oXml.loadXML(sRet);
	if (!isError(oXml))
	{
		iDistrictId=zXPath.selectSingleNode(oXml,"//orgid",null).text;
	}
	else
	{
		code=zXPath.selectSingleNode(oXml,"/rs/code",null).text;
		if (code=='99') //session expired
		{
			alert('You are not logged in or your session has expired.');
			showLogin();
		}
		alert(zXPath.selectSingleNode(oXml,"/rs/error",null).text);
	}

}
function showOrgList(id){

	var oXml = zXmlDom.createDocument();
	xml='<rq><rqname>getorgleaves</rqname><token>' + SessId + '</token><orgid>' + id + '</orgid></rq>';
	sRet = sendTran(xml);
	oXml.loadXML(sRet);
	if (!isError(oXml))
	{
		oOrgs=zXPath.selectNodes(oXml,"/rs/results/orgs/org",null);
		sHTML = '<table cellspacing=1>';
		c=0;
		for (o=0;o<oOrgs.length;o++ )
		{
			iOrg=zXPath.selectSingleNode(oOrgs[o],"@id",null).text;
			sOrg=zXPath.selectSingleNode(oOrgs[o],"@name",null).text;
			isOrg=zXPath.selectSingleNode(oOrgs[o],"@isOrg",null).text;
			iCnt=zXPath.selectSingleNode(oOrgs[o],"@cnt",null).text;
			c++;
			if(c==1)
				sHTML+='<tr>';
			if (iCnt=='0')
			{
				st=' style="color:red" ';
//				eb='</font></b>';
			}
			else {
				st='';
//				eb='';
			}
			sHTML +='<td><a href="default2.asp?oid=' + iOrg + '" onClick="iParmOrgId='+iOrg+';setCookie(\'orgid\',\''+iOrg+'\',365);setCookie(\'org\',\''+escape(sOrg)+'\',365);" '+st+'>'+ sOrg + ' </a></td>';
			if (c==5){
				sHTML += '</tr>';
				c=0;
			}
		}
		if (c<5) 
			sHTML +='</tr>';
		sHTML +='</table>';
		sHTML += '<br><br><a href="#" onClick="clearLogin();showLogin();">Change District</a>';
//		alert(sHTML);
		setWorkArea(sHTML);
	}
	else
	{
		code=zXPath.selectSingleNode(oXml,"/rs/code",null).text;
		if (code=='99') //session expired
		{
			alert('You are not logged in or your session has expired.');
			showLogin();
		}
		alert(zXPath.selectSingleNode(oXml,"/rs/error",null).text);
	}


}

function doLogin() {

	var oXml = zXmlDom.createDocument();
//	var iOrgId = document.getElementById('orgid').value;
	var iOrgId = iParmOrgId;
	var uname = document.getElementById('uname').value;
	var pwd = document.getElementById('pwd').value;
	xml='<rq><rqname>login</rqname><orgid>'+iOrgId+'</orgid><uname>'+uname+'</uname><pwd>'+pwd+'</pwd></rq>';
	sRet = sendTran(xml);
	oXml.loadXML(sRet);
	if (!isError(oXml))
	{
		if (getNodeText(oXml,"//token",null))
			SessId=nodeText;
		else
			alert('Failed to authenticate.');
		//loadCode(sRet);
		//hideLogin();
		e = document.getElementById('divLogin');
		e.innerHTML='';

		hideButton('divBtnLogin');
		showButton('divBtnEntry');
		showButton('divBtnReport');
		showButton('divBtnHelp');
		showEntry();
		setCookie('orgid',iOrgId,365);
//		doChat(iOrgId);
	}
	else
	{
		code=zXPath.selectSingleNode(oXml,"/rs/code",null).text;
		if (code=='99')
		{
			showLogin();
		}
		alert(zXPath.selectSingleNode(oXml,"/rs/error",null).text);
	}
}

function showButton(xDiv){
	document.getElementById(xDiv).style.display='block';
}

function hideButton(xDiv){
	document.getElementById(xDiv).style.display='none';
}

function doLogout(){
	//iAccountId=0;
	//iUserId=0;
	loadPageDefaults(this.pageName);
	document.getElementById('divMenu').style.display='none';
	document.getElementById('divSearch').style.display='block';
	setWork('','','');
	showLogin('divLogin');
}

function hideLogin() {
	e = document.getElementById('divLogin');
	shtml = '<center>'+ Session.account.activeUser.firstname + ' ' + Session.account.activeUser.lastname + '<br>logged in.<br><br><img class="clickable" src="' + sStyle + 'images/logout.gif" alt="[Log Out]" onclick="doLogout();"></center>';
	e.innerHTML = shtml;

}

function showSelectOrg(e){

	var oXml = zXmlDom.createDocument();
	sH='';
	xml='<rq><rqname>getorgs</rqname><token>' + SessId + '</token><orgid>' + iParmOrgId + '</orgid></rq>';
	sRet = sendTran(xml);
	oXml.loadXML(sRet);
	if (!isError(oXml))
	{
		oOrgs=zXPath.selectNodes(oXml,"/rs/results/orgs/org",null);
		for (o=0;o<oOrgs.length;o++ )
		{
			iOrg=zXPath.selectSingleNode(oOrgs[o],"@id",null).text;
			sOrg=zXPath.selectSingleNode(oOrgs[o],"@name",null).text;
			isOrg=zXPath.selectSingleNode(oOrgs[o],"@isOrg",null).text;
			//sHTML += '<td><a href="default2.asp?oid=' + iOrg + '">"'+ sOrg + '</a></td>';
			if (isOrg=='1')
				sH += '<a href="default2.asp?oid=' + iOrg + '" onClick="iParmOrgId='+iOrg+';setCookie(\'orgid\',\''+iOrg+'\',365);setCookie(\'org\',\''+sOrg+'\',365);">'+ sOrg + ' <img src="images/loginicon.gif" alt="[Login]"></a><br>';
			else
				sH += '<div style="text-align:left;width:150px"><a href="#" onClick="iParmOrgId='+iOrg+';setCookie(\'orgid\',\''+iOrg+'\',365);setCookie(\'org\',\''+sOrg+'\',365);showSelectOrg(this.parentNode.childNodes[3]);">'+ sOrg + '</a> <a href="default2.asp" onClick="iParmOrgId='+iOrg+';setCookie(\'orgid\',\''+iOrg+'\',365);setCookie(\'org\',\''+sOrg+'\',365);"><small><img src="images/loginicon.gif" alt="[Login]"></small></a><div class=childNode /></div>';
		}
	}
	else
	{
		code=zXPath.selectSingleNode(oXml,"/rs/code",null).text;
		if (code=='99') //session expired
		{
			alert('You are not logged in or your session has expired.');
			showLogin();
		}
		alert(zXPath.selectSingleNode(oXml,"/rs/error",null).text);
	}


	if (e==null){
		sHTML='<center><div>';
		sHTML+='<span>Please Select Your Organization</span><br>';
		sHTML+=sH;
		sHTML+='</div></center>';
		setWorkArea(sHTML);
	}
	else
	{
		e.innerHTML = sH;
	}
}

function showLogin(el) {
	//if no orgid then ask for it
	if (iParmOrgId==0)
	{
		showSelectOrg();
		return false;
	}	
	else
	{
		//lookup details
	}
	setWorkArea('');

	sOrg=getCookie('org');
	e = document.getElementById('divLogin');
	shtml = '<div style="text-align:left">We have made some updates to the system.  Please use the following login information:<br><br>';
//	shtml += '<b>User Id:</b> user1234<br><b>Password:</b> password1234<br><br>';
	shtml += 'Click <a href="javascript:void(0);" onClick="showHelp();">here </a> to report a problem.<br></div>';
	shtml += '<form id=frmLogin method=get onsubmit="return doLogin();">';
	shtml += '	<table width="100%">';
	shtml += '		<tr><th colspan=2>Login: '+ unescape(sOrg) + '</th></tr>';
//	shtml += '		<tr><td>Org ID:</td><td><input type=text id=orgid size=5></td></tr>';
	shtml += '		<tr><td>User ID:</td><td><input type=text id=uname size=15></td></tr>';
	shtml += '		<tr><td>Password:</td><td><input type=password id=pwd size=15></td></tr>';
	shtml += '	</table>';
	shtml += '	<img class="clickable" src="images/login.gif" alt="[Login]" onclick="doLogin();">';
	shtml += '	<input type=submit style="display:none">';
	shtml += '</form><br><a href="#" onClick="clearLogin();showOrgList(iDistrictId);">Select a different church.</a><br><br>';
	shtml += '<a href="javascript:void(0);" onClick="doChat();">Live Chat Support</a><br><small>Please enable popups for live chat.</small>';
//	shtml += '<a href="javascript:void(0);" onClick="">Live Chat Support</a>';
	e.innerHTML = shtml;
	e.style.display='block';
	document.getElementById('uname').focus();


}

function doChat(v){
	window.open('chatdept.asp?guest=yes&id='+v,'chatWindow','location=1,status=1,scrollbars=1,width=370,height=600');
}

function clearLogin(){
	iParmOrgId=0;
	iOrgId=0;
	setCookie('orgid','',365);
	setCookie('org','',365);
	document.getElementById('divLogin').innerHTML='';;

}

function showEntry(fromdate,todate){
	var oXml = zXmlDom.createDocument();
	var sHTML='';
	//var terms = document.getElementById('searchwords').value;
	if (fromdate==null)
	{
		xml='<rq><rqname>getinputs</rqname><token>' + SessId + '</token><orgid>' + iOrgId + '</orgid></rq>';
	}
	else
	{
		xml='<rq><rqname>getinputs</rqname><token>' + SessId + '</token><orgid>' + iOrgId + '</orgid><from>'+fromdate+'</from><to>'+todate+'</to></rq>';
	}
	sRet = sendTran(xml);
	oXml.loadXML(sRet);
	if (!isError(oXml))
	{
		sTbl='';
		oOrgs=zXPath.selectNodes(oXml,"/rs/results/org",null);
//		alert('Org Count: '+oOrgs.length);
		for (o=0;o<oOrgs.length;o++ )
		{
			iOrg=zXPath.selectSingleNode(oOrgs[o],"@id",null).text;
			sOrg=zXPath.selectSingleNode(oOrgs[o],"name",null).text;
			var oNode=zXPath.selectSingleNode(oOrgs[o],"events",null);
			if (oNode)
			{
				oEvents=zXPath.selectNodes(oOrgs[o],"events/event",null);
				sEvents='';
				sCols='';
				dtLast=null;
				evLast=null;
				sTbl += '<a name="org_'+iOrg+'" /><table id=tblInput cellspacing=1 cellpadding=1 border=1><tr><td><b>'+unescape(sOrg)+'</b></td>';
				for (i=0;i<oEvents.length ;i++ ){
//					org=zXPath.selectSingleNode(oEvents[i],"date",null).text;
					dt=zXPath.selectSingleNode(oEvents[i],"date",null).text;
					ev=unescape(zXPath.selectSingleNode(oEvents[i],"stat",null).text) + '|';
					if (dtLast!=dt)
					{
						sDay = dt.split('/')[1];
						sMonth = dt.split('/')[0];
						sTbl += '<th>' + sMonth + '/' + sDay + '</th>';
						sCols += dt + '|';
					}
					if (evLast!=ev && sEvents.indexOf(ev)==-1 )
					{
						sEvents += ev;
					}
					evLast=ev;
					dtLast=dt;
				}
				sTbl += '</tr>';
				//now loop thru row/col looking for matches
				for (r=0;r<sEvents.split('|').length-1 ;r++ )
				{
					sTbl += '<tr><td>'+sEvents.split('|')[r] + '</td>';
					for (c=0;c<sCols.split('|').length-1 ;c++ )
					{
						sPath="/rs/results/org[@id="+iOrg+"]/events/event[date='"+sCols.split('|')[c]+"' and stat='" + escape(sEvents.split('|')[r]) + "']/@id";
						bRet=getNodeText(oXml,sPath,null);
						sFldID='e'+iOrg+':'+nodeText;
						sPath="/rs/results/org[@id="+iOrg+"]/events/event[date='"+sCols.split('|')[c]+"' and stat='" + escape(sEvents.split('|')[r]) + "']/datatype";
						bRet=getNodeText(oXml,sPath,null);
						sDataType=nodeText;
						sPath="/rs/results/org[@id="+iOrg+"]/events/event[date='"+sCols.split('|')[c]+"' and stat='" + escape(sEvents.split('|')[r]) + "']/datalen";
						bRet=getNodeText(oXml,sPath,null);
						sDataLen=nodeText;
						sPath="/rs/results/org[@id="+iOrg+"]/events/event[date='"+sCols.split('|')[c]+"' and stat='" + escape(sEvents.split('|')[r]) + "']/canedit";
						bRet=getNodeText(oXml,sPath,null);
						sCanEdit=nodeText;
						sPath="/rs/results/org[@id="+iOrg+"]/events/event[date='"+sCols.split('|')[c]+"' and stat='" + escape(sEvents.split('|')[r]) + "']/statid";
						bRet=getNodeText(oXml,sPath,null);
						sFldID+=':'+nodeText;
						if (bRet)
						{
							sPath="/rs/results/org[@id="+iOrg+"]/events/event[date='"+sCols.split('|')[c]+"' and stat='" + escape(sEvents.split('|')[r]) + "']/input";
							bRet=getNodeText(oXml,sPath,null);
							sVal=nodeText;
//							if (bRet && sVal!='')
//							{
//								sTbl += '<td style="background:#6699FF">'+sVal+'</td>';
//							}
//							else
//							{
								sTbl += '<td><input type=text id='+sFldID+' ';
								switch (sDataType)
								{
								case 'text':
									sTbl += 'size='+sDataLen+' maxlength='+(parseFloat(sDataLen)+2);
									break;
								default:
									sTbl += 'size=3 maxlength=5';
								}
								sTbl += ' orig="'+sVal+'" value="'+sVal+'" onBlur="if(this.value!=this.attributes[\'orig\'].value)this.className=\'dirty\';else this.className=\'\';"></td>'; 
//							}
						}
						else
						{

							sTbl += '<td style="background:#6699FF">&nbsp;</td>';
						}
					}
					sTbl += '</tr>';
				}
				sTbl += '</table>';
			}
//alert(sTbl);
		}
		sTbl += '<input type=button value="Send Data" onClick="uploadData();">';

		bRet=getNodeText(oXml,"//userorg",null);
		if (bRet)
		{
			sHTML += '<h2>'+nodeText + '</h2><br><br>';
			if (oEvents.length>0)
			{
				sHTML += '<span>Please enter the following information.<br><font color=red><b>If you do not have a Sunday School Superintendant, please enter the contact information for the person responsible for entering your weekly numbers.<br>Click <a href="help.asp" target="help">here</a> to report a problem.</b></font><br></span>';
			}
			else
			{
				sHTML += '<span>No information is required at this time.</span>';
			}
		}
		if (fromdate==null)
		{
			sHTML += '<br><a href="#" onClick="showEntry(\'5/31/2011\',\'5/31/2012\');">Show All</a>';
		}
		sHTML += sTbl;

		sHTML = '<span >'+ sHTML + '<br><br><a href="javascript:void(0);" onClick="showEntry();">Refresh</a> <a href="javascript:void(0);" onClick="logout();">Log Out</a></span><br><br>';
		sHTML += '<a href="javascript:void(0);" onClick="window.open(\'http://www.chatdept.com/chatdept.asp\',\'chatWindow\',\'location=1,status=1,scrollbars=1,width=370,height=600\');">Live Chat Support</a><br><small>Please enable popups for live chat.</small>';
		setWorkArea(sHTML);
	}
	else
	{
		code=zXPath.selectSingleNode(oXml,"/rs/code",null).text;
		if (code=='99') //session expired
		{
			alert('You are not logged in or your session has expired.');
			showLogin();
		}
		alert(unescape(zXPath.selectSingleNode(oXml,"/rs/detail",null).text));
	}

}

function logout(){
//	setWorkArea('');
	location.replace('default2.asp');
}

function showManage(){
	
}

function uploadData(){
	var out='';
//	out += 'Orgs: '+oOrgs.length + '\n';
	for (o=0;o<oOrgs.length ;o++ )
	{
		iOrg=zXPath.selectSingleNode(oOrgs[o],"@id",null).text;
		oEvents=zXPath.selectNodes(oOrgs[o],"events/event",null);
	//	out += 'Events: '+oEvents.length + '\n';
		for (i=0;i<oEvents.length ;i++ )
		{
			sPath="@id";
			bRet=getNodeText(oEvents[i],sPath,null);
			sFld ='e'+iOrg+':'+nodeText;
			eid=nodeText;
			sPath="statid";
			bRet=getNodeText(oEvents[i],sPath,null);
			sFld +=':'+nodeText;
			sid=nodeText;
			e=document.getElementById(sFld);
			if (e)
			{
				if (e.value!=e.attributes['orig'].value)
				{
					out+='<input org="'+iOrg+'" eventid="'+eid+'" statid="'+sid+'" value="'+e.value+'"/>\n';
				}
			}
		}
	}
	var oXml = zXmlDom.createDocument();
	xml='<rq><rqname>saveinputs</rqname><token>' + SessId + '</token><inputs>' + out + '</inputs></rq>';
if (iOrgId=1)
{
//	alert(xml);
}
	sRet = sendTran(xml);
	oXml.loadXML(sRet);
	if (!isError(oXml))
	{
		//reload data			
		showEntry();
	}
	else
	{
		code=zXPath.selectSingleNode(oXml,"/rs/code",null).text;
		if (code=='99')
		{
			showLogin();
		}
		alert(unescape(zXPath.selectSingleNode(oXml,"/rs/error",null).text));
	}
}

function showReport(){
	
	document.getElementById('divLogin').style.display='none';
	setWorkArea('');

	dt= new Date();
	rnum=Math.floor(Math.random()*10000);
	yr=dt.getFullYear();
	mo=dt.getMonth()+1;
	sHTML='<h1>Reports</h1><br><br><a href="javascript:genReport(\'SSSummary\');">Refresh Current Report</a><h3>';
	froot='report/'+ iDistrictId + '/SSSummary_';
	for (i=2008;i<=yr ;i++ )
	{
		sHTML+='<b>'+i+'</b> ';
		if (i<yr)
		{
			for (m=1;m<=12 ;m++ )
			{
				if (m<10)
					z='0';
				else
					z='';
				f=froot+i+z+m;
				sHTML+='<a href="'+f+'.pdf?'+rnum+'" target="reportwin">'+dateFormat.i18n.monthNames[m-1]+'</a> ';
			}
		}
		else
		{
			for (m=1;m<=mo ;m++ )
			{
				if (m<10)
					z='0';
				else
					z='';
				f=froot+i+z+m;
				sHTML+='<a href="'+f+'.pdf?'+rnum+'" target="reportwin">'+dateFormat.i18n.monthNames[m-1]+'</a> ';
			}
		}
		sHTML+='<br>';
	}
	sHTML+='</h3>'	;
	setWorkArea(sHTML);


}

function genReport(rpt){
	var oXml = zXmlDom.createDocument();
	xml='<rq><rqname>genreport</rqname><token>' + SessId + '</token><rpt>' + rpt + '</rpt></rq>';
	sRet = sendTran(xml);
//alert(sRet);
	oXml.loadXML(sRet);
	if (!isError(oXml))
	{
		//reload data			
		//showEntry();
		//sHTML=db_displayRecords(oXml.xml);
		//setWorkArea('<table>'+sHTML+'</table>');
		//document.getElementById('divWorkArea').className='tableBrowse';
		alert('Update Complete');
	}
	else
	{
		code=zXPath.selectSingleNode(oXml,"/rs/code",null).text;
		if (code=='99')
		{
			showLogin();
		}
		msg='There was an error trying to generate the report.  If this problem persists, please contact support.';
		alert(msg + '\n\n' + unescape(zXPath.selectSingleNode(oXml,"/rs/error",null).text));
	}

}

function showReportNew(){
	
	setWorkArea('');
	dtFrom='03/1/2011';
	dtTo='03/31/2011';
	orgid=iDistrictId;
	var oXml = zXmlDom.createDocument();
	xml='<rq><rqname>getsummary</rqname><token>' + SessId + '</token><orgid>' + orgid + '</orgid><startdate>' + dtFrom + '</startdate><enddate>' + dtTo + '</enddate></rq>';
	sRet = sendTran(xml);
//alert(sRet);
	oXml.loadXML(sRet);
	if (!isError(oXml))
	{
		//reload data			
		//showEntry();
		sHTML=db_displayRecords(oXml.xml);
		setWorkArea('<table>'+sHTML+'</table>');
		document.getElementById('divWorkArea').className='tableBrowse';
	}
	else
	{
		code=zXPath.selectSingleNode(oXml,"/rs/code",null).text;
		if (code=='99')
		{
			showLogin();
		}
		alert(unescape(zXPath.selectSingleNode(oXml,"/rs/error",null).text));
	}

}

function showHelp(){
	
	document.getElementById('divLogin').style.display='none';

	shtml = loadHTML('help.htm');

	setWorkArea(shtml);

}

function showContact(){
	
	document.getElementById('divLogin').style.display='none';

	shtml = loadHTML('contact.htm');

	setWorkArea(shtml);

}

function setWorkArea(sHTML){
	var e = document.getElementById('divWorkArea');
	e.innerHTML=sHTML;
}

function doSearch(inStart,inLimit) {

	iOffset=parseFloat(inStart);
	iLimit=parseFloat(inLimit);

	showMessage('<center>Searching<br><img src="' + sStyle + 'images/loading.gif"></center>');

	var oXml = zXmlDom.createDocument();
	var terms = document.getElementById('searchwords').value;
	xml='<rq><rqname>search</rqname><token>' + Session.sessionId + '</token><results><start>' + iOffset + '</start><limit>' + iLimit + '</limit></results><qtext>' + terms + '</qtext></rq>';
	sRet = sendTran(xml);
	oXml.loadXML(sRet);
	
	if (iOffset<0){iOffset=0}
	sDivPaging='<div><a href="#" onClick="doSearch(' + (iOffset-iLimit) + ',' + iLimit + ');">[Prev]</a> <a href="#" onClick="doSearch(' + (iOffset+iLimit) + ',' + iLimit + ');">[Next]</a></div>';
	if (!isError(oXml))
	{

//		chatid=zXPath.selectSingleNode(oXml,"/rs/chatid",null).text;
//		iStart = zXPath.selectNodes(oXml,"/rs/start",null);
//		iLimit = zXPath.selectNodes(oXml,"/rs/limit",null);
		oItems=zXPath.selectNodes(oXml,"/rs/results/item",null);

		shtml='';
		shtml += '<div class="divSearchResults">';
		shtml += '<table width=100% border=1>';
		for (i=0;i<oItems.length ;i++ )
		{
			itemid=zXPath.selectSingleNode(oItems[i],"itemid",null).text;
			itemno=zXPath.selectSingleNode(oItems[i],"itemno",null).text;
			itemname=zXPath.selectSingleNode(oItems[i],"itemname",null).text;
			itemdesc=zXPath.selectSingleNode(oItems[i],"itemdesc",null).text;
			mfgid=zXPath.selectSingleNode(oItems[i],"mfgid",null).text;
			mfg=zXPath.selectSingleNode(oItems[i],"mfgname",null).text;
			mfgitemno=zXPath.selectSingleNode(oItems[i],"mfgitemno",null).text;
			imageid=zXPath.selectSingleNode(oItems[i],"imageid",null).text;
			imageurl=zXPath.selectSingleNode(oItems[i],"imageurl",null).text;
			shtml += '<tr><td class=srPic rowspan=3><img src="' + (imageurl==''?'itemimages/'+ mfgid +'_'+mfgitemno+'.jpg':imageurl) + '" alt=""></td><td class=srItemNo>'+ itemno + '</td><td class=srItemName colspan=3>' + unescape(itemname) + '&nbsp;</td></tr>';
			shtml += '<tr><td class=srItemDesc colspan=2>'+ unescape(itemdesc) + '<br/><br/><b>'+mfg+'</b> '+mfgitemno+'</td><td class=srPricing rowspan=2><table class=tblPrice><tr><th>Qty</th><th colspan=3>UOM</th><th>Cost</th><th>List</th></tr>';
			oPrices=zXPath.selectNodes(oItems[i],"prices/price",null);
			for (j=0;j<oPrices.length ;j++ )
			{
				qtyper=zXPath.selectSingleNode(oPrices[j],"qtyper",null).text;
				uom=zXPath.selectSingleNode(oPrices[j],"uom",null).text;
				price=zXPath.selectSingleNode(oPrices[j],"price",null).text;
				list=zXPath.selectSingleNode(oPrices[j],"list",null).text;
				shtml += '<tr><td><input uom='+uom+' itemid='+itemid+' size=3></td><td align=right>' + qtyper + '</td><td>/</td><td>' + uom + '</td><td align=right>'+ price + '</td><td align=right>'+ list + '</td>';
			}
			shtml += '</table>';
			if(j>0){
				shtml += '<img src="' + sStyle + 'images/cartadd.gif" alt="[Add to Cart]" onclick="addItem('+itemid+',this.parentNode);">';
			}else{
				shtml += 'Please call for Pricing';
			}
			shtml += '</td></tr>';
//			shtml += '<tr><td class=srItemDesc colspan=2><i>Specification Sheet - coming soon</i></td></tr>';
			shtml += '<tr><td class=srItemDesc colspan=2><i></i></td></tr>';
			shtml += '<tr><td class="srSpacer" colspan=4></td></tr>';
		}
		shtml += '</table>';
		shtml += '</div>\n';
		setWork('<div>Search Results for <b><i>'+terms+'</i></b>\n'+sDivPaging+'</div>',shtml,sDivPaging);
	}
	else
	{
		code=zXPath.selectSingleNode(oXml,"/rs/code",null).text;
		if (code=='99')
		{
			showLogin();
		}
		alert(zXPath.selectSingleNode(oXml,"/rs/error",null).text);
	}
	hideMessage();
	return false;
}

function showMessage(msg) {
	var e = document.getElementById('divMessage');
	e.innerHTML=msg;
	e.display='block';
	lastmsg=msg;
}

function hideMessage() {
	var e = document.getElementById('divMessage');
	e.innerHTML='';
	e.display='none';


}

function addItem(id,e) {
	ee=e.getElementsByTagName('INPUT');
	for (i=0;i<ee.length ;i++ )
	{
		itemid=ee[i].getAttribute('itemid');
		uom=ee[i].getAttribute('uom');
		qty=ee[i].value;
		if (qty!='' && qty>0)
		{
			var oXml = zXmlDom.createDocument();
			var terms = document.getElementById('searchwords').value;
			xml='<rq><rqname>additem</rqname><token>' + Session.sessionId + '</token><itemid>' + itemid + '</itemid><uom>' + uom + '</uom><qty>' + qty + '</qty></rq>';
			sRet = sendTran(xml);
			oXml.loadXML(sRet);
			if (!isError(oXml))
			{
				getNodeText(oXml,"//cnt");
				cartcount=nodeText;
				getNodeText(oXml,"//total");
				carttotal=nodeText;
				updateCart();				
			}
			else
			{
				alert(zXPath.selectSingleNode(oXml,"/rs/error",null).text);
			}

			ee[i].value='';
		}
	}
}

function viewCart() {
	var oXml = zXmlDom.createDocument();
	xml='<rq><rqname>viewcart</rqname><token>' + Session.sessionId + '</token></rq>';
	sRet = sendTran(xml);
	oXml.loadXML(sRet);
	if (!isError(oXml))
	{
		oItems=zXPath.selectNodes(oXml,"/rs/items/item",null);
		grandtotal=0;
		shtml='';
		shtml += '<div class="divCartDetail">';
		shtml += '<table width=100%>';
		shtml += '<tr><th>Qty</th><th>UOM</th><th>Item No</th><th>Name</th><th>Unit Price</th><th>Ext Price</th></tr>';
		for (i=0;i<oItems.length ;i++ )
		{
			qty=zXPath.selectSingleNode(oItems[i],"qty",null).text;
			uom=zXPath.selectSingleNode(oItems[i],"uom",null).text;
			itemid=zXPath.selectSingleNode(oItems[i],"itemid",null).text;
			itemno=zXPath.selectSingleNode(oItems[i],"itemno",null).text;
			itemname=zXPath.selectSingleNode(oItems[i],"itemname",null).text;
			itemdesc=zXPath.selectSingleNode(oItems[i],"itemdesc",null).text;
			unit=zXPath.selectSingleNode(oItems[i],"unit",null).text;
			total=zXPath.selectSingleNode(oItems[i],"total",null).text;
			grandtotal+=parseFloat(total);
			shtml += '<tr><td><input name="qty" itemid="'+ itemid +'" uom="'+ uom +'" type=text size=3 maxlength=5 value="'+ qty +'"></td><td>'+uom+'</td><td><a href="" onClick="document.getElementById(\'searchwords\').value=\''+itemno+'\'; doSearch(0,25); return false;">'+itemno +'<a></td><td>'+itemname +'</td><td align=right>'+parseFloat(unit).toFixed(2) +'</td><td align=right>'+parseFloat(total).toFixed(2) +'</td></tr>';
		}
		shtml += '<tr><td colspan=4></td><td><b>Total:</b></td><td align=right><b>'+ grandtotal.toFixed(2) + '</b></td></tr>';
		oCustom=zXPath.selectNodes(oXml,"/rs/custom/field",null);
		if (oCustom)
		{
			shtml+='<tr><td colspan=6><table id=tblCustomFields border=0 cellspacing=0 celpadding=0>';
			for (i=0;i<oCustom.length ;i++ )
			{
				fieldname=zXPath.selectSingleNode(oCustom[i],"name",null).text;
				label=zXPath.selectSingleNode(oCustom[i],"label",null).text;
				reqd=zXPath.selectSingleNode(oCustom[i],"reqd",null).text;
				datatype=zXPath.selectSingleNode(oCustom[i],"datatype",null).text;
				if (reqd==1)
				{
					imgreqd='<img src="images/reqd.gif">';
				}
				else
				{
					imgreqd='';
				}
				shtml += '<tr><td>'+imgreqd+'</td><td>'+label+'</td><td colspan=5>';
				switch (datatype)
				{
				case 'LIST':
					shtml += '<select name="'+fieldname+'" reqd='+reqd+'><option value="" />';
					oListItems=zXPath.selectNodes(oCustom[i],"list/item",null);
					for (li=0;li<oListItems.length ;li++)
					{
						shtml += '<option value="'+zXPath.selectSingleNode(oListItems[li],"@value",null).text+'">'+zXPath.selectSingleNode(oListItems[li],".",null).text+'</option>';
					}
					shtml += '</select>';
					break;
				default:
					shtml += '<input type=text name="'+fieldname+'" reqd='+reqd+'>';
				}
				shtml += '</td></tr>';
			}
			shtml+='</table></td></tr>';
		}
		shtml += '<tr><td colspan=6>Order Notes:<br><textarea id=ordernotes name=ordernotes></textarea></td></tr>';
		shtml += '</table>';
		shtml += '</div>';
		//setWork('<div>Cart Contents:</div>',shtml,'<div><img class=clickable src="' + sStyle + 'images/updateqty.gif" alt="[Update Qty]" onclick="updateQty();">' + (poSess==''?'<img class=clickable src="' + sStyle + 'images/submitorder.gif" alt="[Submit Order]" onclick="if(validateOrder()){submitOrder();}">':'<img class=clickable src="' + sStyle + 'images/sendcart.gif" alt="[Send Cart]" onclick="if(validateOrder()){submitOrder();}">') + '<img class=clickable src="' + sStyle + 'images/emptycart.gif" alt="[Empty Cart]" onclick="emptyCart();"></div>');
		setWork('<div>Cart Contents:</div>',shtml,'<div><img class=clickable src="' + sStyle + 'images/updateqty.gif" alt="[Update Qty]" onclick="updateQty();">' + (poSess==''?'<img class=clickable src="' + sStyle + 'images/submitorder.gif" alt="[Submit Order]" onclick="if(validateOrder()){submitOrder();}">':'<img class=clickable src="' + sStyle + 'images/submitorder.gif" alt="[Send Cart]" onclick="if(validateOrder()){submitOrder();}">') + '<img class=clickable src="' + sStyle + 'images/emptycart.gif" alt="[Empty Cart]" onclick="if (confirm(\'Are you sure you want to empty the contents of your cart?\')){emptyCart()};"></div>');
	}
	else
	{
		alert(zXPath.selectSingleNode(oXml,"/rs/error",null).text);
	}

}

function validateOrder(){
	custom=document.getElementById('tblCustomFields');
	fields=custom.getElementsByTagName('INPUT');
	if (fields)
	{
		var msg='';
		for (i=0;i<fields.length ; i++)
		{
			val=fields[i].value;
			reqd=fields[i].getAttribute("reqd");
			if (reqd=='1' && val=='')
			{
				msg='Please fill out all required fields.';
			}
		}
		if (msg!='')
		{
			alert(msg);
			return false;
		}
		else
			return true;
	}
}

function submitOrder() {
	var oXml = zXmlDom.createDocument();
	var terms = document.getElementById('searchwords').value;
	var notes = document.getElementById('ordernotes').value;
	//check for limit
	if (parseFloat(carttotal)>parseFloat(Session.account.activeUser.ordertotalmax))
	{
		alert('You have exceeded your allowed order total of ' + Session.account.activeUser.ordertotalmax);
		return false;
	}
	if (parseFloat(cartcount)==0)
	{
		alert("There are no items in your cart.  Please add an item.");
		return false;
	}
	//TODO: check for reqd fields
	xml='<rq><rqname>submitcart</rqname><token>' + Session.sessionId + '</token>';
	custom=document.getElementById('tblCustomFields');
	fields=custom.getElementsByTagName('INPUT');
	xml+='<custom>';
	if (fields)
	{
		for (i=0;i<fields.length ; i++)
		{
			xml+='<field>';
			xml+='<name>'+fields[i].name+'</name>';
			xml+='<value>'+fields[i].value+'</value>';
			xml+='</field>';
			if (fields[i].attributes["reqd"].value=='1'&&fields[i].value=='')
			{
				alert('Please fill in all required fields.');
				return false;
			}
		}
	}
	fields=custom.getElementsByTagName('SELECT');
	if (fields)
	{
		for (i=0;i<fields.length ; i++)
		{
			xml+='<field>';
			xml+='<name>'+fields[i].name+'</name>';
			xml+='<value>'+fields[i].value+'</value>';
			xml+='</field>';
			if (fields[i].attributes["reqd"].value=='1'&&fields[i].value=='')
			{
				alert('Please fill in all required fields.');
				return false;
			}
		}
	}
	xml+='</custom>';
	xml+='<notes>' + notes + '</notes></rq>';
	sRet = sendTran(xml);
	oXml.loadXML(sRet);
	if (!isError(oXml))
	{
		document.getElementById('searchwords').value='';
		getCartSummary();
		updateCart();				
		if (poSess!='')
		{
			doLogout();
			alert('Your PunchOut session is complete.\n\nPlease close your browser and return to your Procurement Application.');
		}
		else 
		{
			alert('Your order has been received.');
			doSearch(0,25);
			document.getElementById('searchwords').focus();
		}
	}
	else
	{
		alert(zXPath.selectSingleNode(oXml,"/rs/error",null).text);
		getNodeText(oXml,"/rs/detail");
		document.getElementById('divMessage').innerHTML=unescape(nodeText);
	}
}

function getCartSummary(){
	var oXml = zXmlDom.createDocument();
	var terms = document.getElementById('searchwords').value;
	xml='<rq><rqname>getcartsummary</rqname><token>' + Session.sessionId + '</token></rq>';
	sRet = sendTran(xml);
	oXml.loadXML(sRet);
	if (!isError(oXml))
	{
		cartcount=zXPath.selectSingleNode(oXml,"//cnt",null).text;
		carttotal=zXPath.selectSingleNode(oXml,"//total",null).text;
		updateCart();				
	}
	else
	{
		alert(zXPath.selectSingleNode(oXml,"/rs/error",null).text);
	}
}

function updateCart(){
	document.getElementById('cartcount').innerHTML=cartcount;
	document.getElementById('carttotal').innerHTML='$'+carttotal;
}

function emptyCart(){
	
		var oXml = zXmlDom.createDocument();
		xml='<rq><rqname>emptycart</rqname><token>' + Session.sessionId + '</token></rq>';
		sRet = sendTran(xml);
		oXml.loadXML(sRet);
		if (!isError(oXml))
		{
			cartcount=0;
			carttotal=0;
			updateCart();
			viewCart();
		}
		else
		{
			alert(zXPath.selectSingleNode(oXml,"/rs/error",null).text);
		}
}

function updateQty(){
	qtys=document.getElementsByName("qty");
	if (qtys.length>0)
	{
		xml='<rq><rqname>updatecart</rqname><token>' + Session.sessionId + '</token>';
		xml+='<items>\n';
		for (i=0;i<qtys.length ;i++ )
		{
			xml+='<item><itemid>'+qtys[i].getAttribute('itemid')+'</itemid><uom>'+qtys[i].getAttribute('uom')+'</uom><qty>'+qtys[i].value+'</qty></item>\n';
		}
		xml+='</items>\n';
		xml+='</rq>';
		sRet = sendTran(xml);
		var oXml = zXmlDom.createDocument();
		oXml.loadXML(sRet);
		if (!isError(oXml))
		{
			cartcount=zXPath.selectSingleNode(oXml,"//cnt",null).text;
			carttotal=zXPath.selectSingleNode(oXml,"//total",null).text;
			getCartSummary();				
			viewCart();
		}
		else
		{
			alert(zXPath.selectSingleNode(oXml,"/rs/error",null).text);
		}
	}
}

function setWork(header,results,footer) {
	
	if (header!=null)
	{
		document.getElementById('divWorkHeader').innerHTML = header;
	}
	if (results!=null)
	{
		document.getElementById('divWorkResults').innerHTML = results;
	}
	if (footer!=null)
	{
		document.getElementById('divWorkFooter').innerHTML = footer;
	}

}

function db_displayRecords(recs) {
//	alert(recs);
	var oXml = zXmlDom.createDocument();
	oXml.loadXML(recs);
	eid=zXPath.selectSingleNode(oXml,"//recordset/info/elementid",null).text;
	if (eid=='')
	{
		tb=document.createElement('table');
		tb.border='on';
	}
	else
	{
		div=document.getElementById(eid);
		tb=div.appendChild(document.createElement('table'));
		tb.border='1';
	}
	//tb.className='';
	//tb=eDiv.getElementsByTagName('TABLE')[0];
	hr=tb.appendChild(document.createElement('TR'));
	th=hr.appendChild(document.createElement('TH'));
	flds=zXPath.selectNodes(oXml,"//recordset/fields/field",null);
	for (i=1;i<flds.length ;i++ )
	{
		cell=hr.appendChild(document.createElement('th'));
		cell.style.background='#6699CC';
		cell.innerHTML=zXPath.selectSingleNode(flds[i],"@name",null).text;
	}
	/*
	cell=hr.appendChild(document.createElement('th'));
	cell.innerHTML='Edit';
	cell=hr.appendChild(document.createElement('th'));
	cell.innerHTML='Delete';
	*/
	rows=zXPath.selectNodes(oXml,"//recordset/record",null);
	eo=0;
	for (r=0;r<rows.length ;r++ )
	{
		if (eo==2)
			eo=0;
		flds=zXPath.selectNodes(rows[r],"*",null);
		hr=tb.insertRow(-1);
		hr.setAttribute('rowid',zXPath.selectSingleNode(flds[0],".",null).text);
		td=hr.appendChild(document.createElement('td'));
		td.className='rowselect';
		if (eo==0)
			hr.className='even';
		for (i=1;i<flds.length ;i++ )
		{
			cell=hr.appendChild(document.createElement('td'));
			cell.style.background='#6699CC';
			cell.innerHTML=unescape(zXPath.selectSingleNode(flds[i],".",null).text);
		}
		/*
		cell=hr.appendChild(document.createElement('td'));
		//cell.innerHTML='<center><img class=clickable src="images/edit.gif" alt="[Edit]" onClick="showBoardPosition(\''+zXPath.selectSingleNode(flds[0],".",null).text+'\',\''+zXPath.selectSingleNode(flds[3],".",null).text+'\');"></center>';
		cell.innerHTML='<center><img class=clickable src="images/edit.gif" alt="[Edit]" onClick="showBoardPosition(\''+zXPath.selectSingleNode(flds[0],".",null).text+'\');"></center>';
		cell=hr.appendChild(document.createElement('td'));
		cell.innerHTML='<center><img class=clickable src="images/delete.gif" alt="[Del]" onClick="delRecord(\''+zXPath.selectSingleNode(flds[0],".",null).text+'\');"></center>';
		*/
		eo++;
	}
	return tb.innerHTML;
}

