Due to system upgrades, please note the following. Orders placed will be processed in 1-2 business days but may incur a slight delay in fulfillment. Learning activities ordered will be available immediately after order placement. CAP is committed to processing orders as quickly and securely as possible during this upgrade. Thank you for your patience.
alse;
}
for (i = 0; i < s.length; i++)
{
// Check that current character is number.
var c = s.charAt(i);
// alert(c);
if (((c < "0") || (c > "9"))) {
// alert('in button disabled');
addbutton.onclick = null;
addbutton.className = 'OraButtonTextDisabled';
return false;
}
}
// All characters are numbers.
addbutton.onclick = function test(){ajaxPopup_AddToCart('Add to Cart.x','popupAddToCart');return true;};
addbutton.className = 'OraButtonText';
return true;
}
function isItemPopupOpen(){
//alert("isItemPopupOpen");
var popup_div = document.getElementById('itempopup');
if(popup_div != null){
if(popup_div.style.visibility == "visible"){
return true;
}
}
return false;
}
function closeItemPopup(){
//alert("closeItemPopup");
closeDiv();
var popup_div = document.getElementById('itempopup');
if(popup_div != null){
popup_div.innerHTML="";
popup_div.style.visibility = "hidden";
}
}
function closeDiv(){
//alert("closeDiv");
var div_element = document.getElementById("itemDetaildiv");
if(div_element != null){
div_element.innerHTML="";
div_element.style.visibility = "hidden";
}
var div_element2 = document.getElementById("itemHeaderdiv");
if(div_element2 != null){
div_element2.innerHTML="";
div_element2.style.visibility = "hidden";
}
}
function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject)
{
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
function ajaxPopupDisplay(itmid, sectionid)
{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null){
alert ("Your browser does not support XMLHTTP!");
return;
}
// construct the query string
/* var queryStr = '';
var windowForm = document.forms[formName];
var elements = document.forms[formName].elements;
for(var i = 0; i < elements.length; i++) {
queryStr = queryStr + elements[i].name + '=' + elements[i].value;
if (i != elements.length - 1){
queryStr = queryStr + '&';
}
}
alert(queryStr);
*/
var url="ibeCCtdProductLoader.jsp";
url = url + "?" + "item_id=" + itmid + "§ion_id=" + sectionid + "&action=popups";
//// alert(url);
/*xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4)
{ alert('call done'); }
}
*/
xmlhttp.open("GET",url,false);
xmlhttp.send(null);
return xmlhttp.responseText;
}
function getposOffset(what, offsettype){
return (what.offsetParent)? what[offsettype]+this.getposOffset(what.offsetParent, offsettype) : what[offsettype];
}
function show(anchorobj, subobj, e, itmid, sectionid){
if(isItemPopupOpen()){
// alert('popup open');
closeItemPopup();
}
var horizontaloffset = anchorobj.offsetWidth + 25;
subobj.style.left=this.getposOffset(anchorobj, "offsetLeft")+ horizontaloffset + "px";
subobj.style.top=this.getposOffset(anchorobj, "offsetTop")+ "px";
subobj.style.visibility="visible";
makeCursorHourglass();
var popupdetail = ajaxPopupDisplay(itmid, sectionid);
makeCursorNormal();
subobj.innerHTML=popupdetail;
}
function display(){
var popup_div = document.getElementById('itempopup');
popup_div.style.visibility = "visible";
var div_element = document.getElementById("itemDetaildiv");
div_element.style.visibility = "visible";
var div_element2 = document.getElementById("itemHeaderdiv");
div_element2.style.visibility = "visible";
}
function initItemDetailPopup(anchorid, revealbehavior, itmid, sectionid){
var anchorobj=document.getElementById(anchorid);
var subobj=document.getElementById(anchorobj.getAttribute('rel'));
subobj.style.left=subobj.style.top=0;
anchorobj.onclick=function(e){show(this, subobj, e, itmid, sectionid)}
// anchorobj.onmouseover=function(e){show(this, subobj, e, itmid, sectionid)}
// subobj.onmouseover = function(e) { display()}
// subobj.onmouseout = function(e) {closeItemPopup()}
}
function addToCartFwdSC(event, formName){
var windowForm = document.forms[formName];
windowForm.event.name = event;
windowForm.submit();
return true;
}
function getServiceItemValue(formName)
{
for (var i=0; i < document.forms[formName].serviceItem.length; i++)
{
if (document.forms[formName].serviceItem[i].checked)
{
var selectedServiceItem = document.forms[formName].serviceItem[i].value;
return selectedServiceItem;
}
}
}
function getXmlString(xml) {
if (window.ActiveXObject) { return xml.xml; }
return new XMLSerializer().serializeToString(xml);
}
function addToCartNoFwd(event, formName){
try{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null){
alert ("Your browser does not support XMLHTTP!");
return;
}
// construct the query string
var queryStr = '';
var windowForm = document.forms[formName];
var elements = document.forms[formName].elements;
var isMultiSelect = document.forms[formName].num;
var noOfItems = null;
var singleItemNumFromMultipleSelect = null;
var bAddToCartFromMult = false;
var isFromSvaPage = false;
if(document.forms[formName].serviceItem != null)
isFromSvaPage = true;
//check if called from donation page
if(document.forms[formName].selfrequency != null)
document.getElementById('isfromdonPage').value = "Yes";
if(isMultiSelect != null)
noOfItems = document.forms[formName].num.value;
var noOfItemsChecked = 0;
for(var k = 0; k < noOfItems; k++) { // support for related items in item detail page
var msg = 'Add_item_' + k + '.x';
if(event == msg)
{
singleItemNumFromMultipleSelect = k;
bAddToCartFromMult = true;
break;
}
}
var serviceItem = document.forms[formName].serviceItem; // support for service items in item detail page
var selectedServiceItem = null;
if(serviceItem != null){
selectedServiceItem = getServiceItemValue(formName);
}
try{
if(isMultiSelect == null && isFromSvaPage == true){ // Item detail page with service items
var item = document.forms[formName].item;
var qty = document.forms[formName].qty;
var uom = document.forms[formName].uom;
var section = document.forms[formName].section;
var serviceItem_ItemId_Name = "serviceItem_ItemId_" + selectedServiceItem;
var serviceItem_UOM_Name = "serviceItem_UOM_" + selectedServiceItem;
var serviceItem_Period_Name = "serviceItem_Period_" + selectedServiceItem;
var serviceItem_Duration_Name = "serviceItem_Duration_" + selectedServiceItem;
var serviceItem_RefItemIndex_Name = "serviceItem_RefItemIndex_" + selectedServiceItem;
var serviceItem_ItemId = document.getElementById(serviceItem_ItemId_Name);
var serviceItem_UOM = document.getElementById(serviceItem_UOM_Name);
var serviceItem_Period = document.getElementById(serviceItem_Period_Name);
var serviceItem_Duration = document.getElementById(serviceItem_Duration_Name);
var serviceItem_RefItemIndex = document.getElementById(serviceItem_RefItemIndex_Name);
queryStr = queryStr + item.name + '=' + item.value + '&';
queryStr = queryStr + qty.name + '=' + qty.value + '&';
queryStr = queryStr + uom.name + '=' + uom.value + '&';
queryStr = queryStr + section.name + '=' + section.value + '&';
if(selectedServiceItem != -1){
queryStr = queryStr + serviceItem_ItemId.name + '=' + serviceItem_ItemId.value + '&';
queryStr = queryStr + serviceItem_UOM.name + '=' + serviceItem_UOM.value + '&';
queryStr = queryStr + serviceItem_Period.name + '=' + serviceItem_Period.value + '&';
queryStr = queryStr + serviceItem_Duration.name + '=' + serviceItem_Duration.value + '&';
queryStr = queryStr + serviceItem_RefItemIndex.name + '=' + serviceItem_RefItemIndex.value + '&';
}
queryStr = queryStr + 'serviceItem' + '=' + selectedServiceItem;
}
else if(isMultiSelect == null){ // single select
for(var i = 0; i < elements.length; i++) {
queryStr = queryStr + elements[i].name + '=' + elements[i].value;
if (i != elements.length - 1){
queryStr = queryStr + '&';
}
}
}
else if(bAddToCartFromMult){
queryStr = 'num=' + noOfItems + '&';
var itemname = 'Add_item_'+ singleItemNumFromMultipleSelect;
var qtyname = 'qty_' + singleItemNumFromMultipleSelect;
var uomname = 'uom_' + singleItemNumFromMultipleSelect;
var sectionname = 'section_' + singleItemNumFromMultipleSelect;
var item = document.getElementById(itemname);
var qty = document.getElementById(qtyname);
var uom = document.getElementById(uomname);
var section = document.getElementById(sectionname);
queryStr = queryStr + item.name + '=' + item.value + '&';
queryStr = queryStr + qty.name + '=' + qty.value + '&';
queryStr = queryStr + uom.name + '=' + uom.value + '&';
queryStr = queryStr + section.name + '=' + section.value + '&';
queryStr = queryStr + "Add_item_"+singleItemNumFromMultipleSelect+".x" + '=' + '';
}
else { // multi-select
var item = null;
var j = 0;
var chkedItems=new Array();
queryStr = 'num=' + noOfItems + '&';
for(var j = 0; j < noOfItems; j++) {
var itemname = 'item_'+ j;
var qtyname = 'qty_' + j;
var uomname = 'uom_' + j;
var sectionname = 'section_' + j;
item = document.getElementById(itemname);
qty = document.getElementById(qtyname);
uom = document.getElementById(uomname);
section = document.getElementById(sectionname);
if(item != null){ // bug 9653433, scnagara
if(item.checked == true){
chkedItems[noOfItemsChecked] = item;
noOfItemsChecked++;
qty = document.getElementById(qtyname);
uom = document.getElementById(uomname);
section = document.getElementById(sectionname);
if(noOfItemsChecked != 1)
queryStr = queryStr + '&';
queryStr = queryStr + item.name + '=' + item.value + '&';
queryStr = queryStr + qty.name + '=' + qty.value + '&';
queryStr = queryStr + uom.name + '=' + uom.value + '&';
queryStr = queryStr + section.name + '=' + section.value;
}
} // if item != null
} // for
if(chkedItems.length == 0){
alert('No items were selected. Please check the boxes next to the items you wish to buy.');
return;
}
for(var k = 0; k < chkedItems.length; k++) {
chkedItems[k].checked = false ;
}
} // else (multi-select)
}
catch(e) {
}
// Added for testing.
// alert(queryStr);
queryStr = queryStr + '&' + 'loadprice='+'true';
//var url="ibeCScpAddItemToCart.jsp";
var url="xxCAP_1N_ibeCScpAddItemToCart.jsp";
url = url + "?" + queryStr;
//alert(url);
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4) {
// alert(xmlhttp.responseText);
// alert(xmlhttp.responseXML);
/* a. In mozilla, if any error like server down, or program unit not found occurs
on add to cart, responseXML is null.
b. In IE, say if server is down, then responseXML object exists plus responseText is "".
c. Also in IE, if say program unit is not found error occurs, then
responseXML object exists plus responseText is not "" (empty).
*/
var responseTextStr = xmlhttp.responseText.toString();
//alert(getXmlString(xmlhttp.responseXML));
//alert(responseTextStr);
if(xmlhttp.responseXML != null && xmlhttp.responseText != ""){
var priceNode;
var priceVal ;
var modalRemoved = false;
var displayConfirmModal = false;
var successNode;
var succVal;
try{
successNode = xmlhttp.responseXML.getElementsByTagName("success")[0];
//alert("success node"+successNode); // [objectelement]
if(successNode){
// alert('success node');
if(successNode.childNodes[0]){
succVal = successNode.childNodes[0].nodeValue;
//alert("succVal"+succVal); //succVal= SUCCESS
displayAddtoCartConfirmationModal();
displayConfirmModal = true;
}
}
}catch(ss2){ // alert(ss);
removeAddtoCartModal();
modalRemoved = true;
displayAddtoCartErrorMsg(responseTextStr);
//displayAddtoCartError();
}
try{
priceNode = xmlhttp.responseXML.getElementsByTagName("price")[0];
if(priceNode){
if(priceNode.childNodes[0]){
priceVal = priceNode.childNodes[0].nodeValue;
// displayAddtoCartConfirmationModal(priceVal);
// displayAddtoCartConfirmationModal();
// displayConfirmModal = true;
var welcome_prc = document.getElementById('welcome_price');
var numItems = document.getElementById('NoofSCItems');
///alert("numItems:" +numItems);
var numItemsVal = numItems.innerHTML;
//alert("numItemsVal:" +numItemsVal);
var substrend = numItemsVal.search("Item");
///alert("substrend:" +substrend);
var NumSCItems = 0;
var countitems = numItemsVal.substring(0, substrend-1); //count of items in cart
var q1 = document.forms[formName].qty;
var q2 = q1.value; //qty being added
//alert("numItemsVal:" +numItemsVal);
//alert("countitems:" +countitems);
//alert("qty:" +q2);
if(countitems == null || countitems == ''){
///alert("insdie if of countitems");
NumSCItems = NumSCItems + (+q2);
}
else {
//alert("insdie else of countitems");
NumSCItems = (+countitems) + (+q2);
}
///alert("NumSCItems:" +NumSCItems);
if(welcome_prc){
welcome_prc.innerHTML = priceVal;
numItems.innerHTML = NumSCItems+" Item(s)";
}
//alert(priceVal);
}
}
}catch(ss){ // alert(ss);
removeAddtoCartModal();
modalRemoved = true;
displayAddtoCartErrorMsg(responseTextStr);
//displayAddtoCartError();
}
var errorNode;
var errorVal;
try{
errorNode = xmlhttp.responseXML.getElementsByTagName("error")[0];
// alert(' @ errorNode'+errorNode );
if(errorNode){
if(errorNode.childNodes[0]){
errorVal = errorNode.childNodes[0].nodeValue;
if(!modalRemoved){
removeAddtoCartModal();
modalRemoved = true;
}
// alert(' Here in the error node');
alert(errorVal);
}
}
}catch(sss){ // alert(sss);
if(!modalRemoved){
removeAddtoCartModal();
modalRemoved = true;
}
displayAddtoCartErrorMsg(responseTextStr);
//displayAddtoCartError();
}
if(!displayConfirmModal && !modalRemoved){
/* This code is usable in IE say when program unit not found.
If code flow reaches this point, then it indicates some problem in add to cart
Hence remove modal and display add to cart error
*/
// alert('in not of displayConfirmModal and modalRemoved')
// alert(xmlhttp.responseText.toString());
// removeAddtoCartModal();
displayAddtoCartErrorMsg(responseTextStr);
// displayAddtoCartError();
}
}
else{
// alert(' Other Issue and there is no Response 3');
// removeAddtoCartModal();
displayAddtoCartErrorMsg(responseTextStr);
//displayAddtoCartError();
}
} // readystate == 4
}
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
/* var welcome_prc1 = document.getElementById('welcome_price');
if(welcome_prc1)
welcome_prc1.innerHTML = " Updating the cart total...";
*/
//alert("before displayAddtoCartModal");
displayAddtoCartModal();
//alert("after displayAddtoCartModal");
return true;
}catch(e){ alert(e);}
}
// start - closing the popup if user clicks for another popup - modified by nsatyava on 27-Sep-2011 - 9714401- TST1213:UI:ER:CONSISTENCY IN THE DISPLAY OF 'ADD TO CART' SHOPPING LIST CONTROLS
function closingShoppingListPopup(popupName){
//alert("closingShoppingListPopup");
document.getElementById(popupName).style.display = 'block';
if( document.getElementById('shoplistpopup').style.display == 'block')
document.getElementById('shoplistpopup_rel').style.visibility="hidden";
if( document.getElementById('shoplistpopup_rel').style.display == 'block')
document.getElementById('shoplistpopup').style.visibility="hidden";
}
// end - closing the popup if user clicks for another popup - modified by nsatyava on 27-Sep-2011 - 9714401- TST1213:UI:ER:CONSISTENCY IN THE DISPLAY OF 'ADD TO CART' SHOPPING LIST CONTROLS
function ajaxPopup_AddToCart(event, formName){
var navig = 'CP';
//alert("navig"+navig);
if(navig == 'SC'){
addToCartFwdSC(event, formName);
}else if(navig == 'CP'){
addToCartNoFwd(event, formName);
}
else{
addToCartFwdSC(event, formName);
}
closeItemPopup();
return true;
}
function loginToAddToCart(event, formName){
//alert("logintoaddtocart");
addToCartFwdSC(event, formName);
}
function isEnterKeyPressed(e){
var key;
if(window.event)
key = window.event.keyCode; //IE
else
key = e.which; //firefox
if(key == 13) // enter key
return true;
else
return false;
}
function addtoCartOnEnterKey(e, ev, formName) // Bug 9687946, scnagara
{
if(isEnterKeyPressed(e)){
ajaxPopup_AddToCart(ev, formName);
return false; // returning false to prevent form submit
}
}
function noFormSubmitOnEnterKey(e) // Bug 9687946, scnagara
{
if(isEnterKeyPressed(e)){
return false; // returning false to prevent form submit
}
}
2025 Competency Assessment Hub
This program provides laboratories with a convenient, standardized, online approach to conducting, tracking and reporting competency assessment of and training for personnel. Enrollment is on a yearly basis. For more than 250 users, please contact the CAP.