if (typeof IOL == "undefined" || IOL == null) var IOL = {};
if (typeof PMM == "undefined" || PMM == null) var PMM = {};


window.cmibm_onload = (typeof window.onload == "function") ?
window.onload : null;
window.onload = function () {
window.cmibmOnloadDone = true;
if (window.cmibm_onload != null) window.cmibm_onload();
}; 

var wiBundleSidCb = {};
var wiBundleParms = {};
var wiBundleBlock = {};
var dyNavInit = function () {
	if (typeof IOL.isIE == "undefined") IOL.checkIE();
	if (IOL.isIE && document.readyState != "loaded" &&
		document.readyState != "complete") {
		window.setTimeout(dyNavInit, 200);
		return;
	}
	var __dyNavGuard__ = document.getElementById('ibm-footer');
	if (__dyNavGuard__ == null) {
		window.setTimeout(dyNavInit, 100);
		return;
	}
	dynccRead = ibmCommonDynamicNavReadCountry().toLowerCase();
	if (dynccRead.indexOf(",") > -1) {
		dyncc = dynccRead.substring(0, dynccRead.indexOf(","));
	} else {
		dyncc = dynccRead;
	}
	if (dyncc == "zz") {
		wwCase = "Y";
	}
	dynlc = ibmCommonDynamicNavReadLanguage().toLowerCase();
	dynDCSub = ibmCommonDynamicNavReadDCSubject();
	dynibmSP = ibmCommonDynamicNavReadSpecialTag();
	dynPAFF = ibmCommonDynamicNavReadPageAttributes();
	dynibmInd = ibmCommonDynamicNavReadInd();
	dynCT = ibmCommonDynamicNavReadDCType();
	dynibmCS = ibmCommonDynamicNavReadCSze();
	if (dyncc == "gb") {
		dyncc = "uk";
	}
	cpi = dyncc + dynlc;
	var emailEncVal;
	encodeVal = ibmCommonDynamicNavReadEncoding();
	ignServArr = ibmCommonDynamicNavBuildIgnServArr();
	if (cpi.indexOf("zz") > -1) {
		if (dyncc == "zz") {
			dyncc = "us";
		}
		cpi = cpi.replace("zz", "us");
	}
	if (cpi.indexOf("uk") > -1) {
		cpi = cpi.replace("uk", "gb");
	}
	loadJSCall("mhMenu", "//www.ibm.com/common/js/dynamicnav/" +dyncc+"/"+dynlc+"/"+ cpi + "-" + encodeVal + ".js");
	loadJSCall("cmlibwrap", "//www.ibm.com/common/js/cmcombinedlibwrap.js");
	if (dyncc != "ko") {
		if ((ibmCommonDynamicNavReadPageAttributes() != null) && (ibmCommonDynamicNavReadPageAttributes().indexOf("flashlead") > -1) && (navigator.userAgent.indexOf('Linux') != -1)) {
		} else {
		ibmDynamicNavLoad(PMM.init, "ibm-universal-nav");
		}
	}
	ibmDynamicNavLoad(overlayBuild, "ibm-top");
	ibmDynamicNavLoad(ibmCommonDynamicNavGetTitle, "ibm-top");

	if(dyncc != 'jp'){
		if (ibmCommonDynamicNavIgnService("1003")) {
			if (ibmCommonDynamicNavIgnService("100") || ibmCommonDynamicNavIgnService("109")) {
				if (ibmCommonDynamicNavReadIBMSource().indexOf("v16") > -1) {
					ibmDynamicNavLoad(greetHolderv16, "ibm-universal-nav");
				} else {
					ibmDynamicNavLoad(greetHolderv15, "ibm-masthead");
				}
			}
		}
	}

	if(dyncc != 'jp'){
		if (ibmCommonDynamicNavIgnService("1003")) {
			if (ibmCommonDynamicNavIgnService("100")) {
				ibmDynamicNavLoad(ibmCommonDynamicNavGetGreeting, "ibm-welcome-message");
			}
		}
	}

	if (ibmCommonDynamicNavIgnService("1003")) {
		if (ibmCommonDynamicNavIgnService("109")) {
			if (dyncc == "us") {
				ibmCommonDynamicNavGetSSO();
			}
		}
	}

	if (ibmCommonDynamicNavIgnService("102")) {
		ibmDynamicNavLoad(ibmCommonDynamicNavGetMrch, "ibm-merchandising-module");
	}
	if (ibmCommonDynamicNavReadPageAttributes()) {
		if (ibmCommonDynamicNavIgnService("107") &&
			ibmCommonDynamicNavReadPageAttributes().indexOf("formName") != -1) {
			ibmDynamicNavLoad(ibmCommonDynamicNavGetFormFields, "ibm-footer");
		}
	}
	if (ibmCommonDynamicNavIgnService("106")) {
		ibmDynamicNavLoad(ibmCommonDynamicNavInterCountry, "ibm-geo");
	}
	if (ibmCommonDynamicNavIgnService("1002")) {
		ibmDynamicNavLoad(ibmCommonDynamicNavPageTool, "ibm-page-tools");
	}
	if (ibmCommonDynamicNavIgnService("1002")) {
		if (ibmCommonDynamicNavIgnService("110")) {
			ibmDynamicNavLoad(ibmCommonDynamicNavEmailThisPage, "ibm-page-tools");
		}
	}
	if (dynibmSP != "SP005") {
		ibmDynamicNavLoad(ibmCommonDynamicNavSetPublicURL, "ibm-site-name");
		if (ibmCommonDynamicNavIgnService("103")) {
			ibmDynamicNavLoad(ibmCommonDynamicNavGetAcct, "ibm-site-name");
		}
	} else if (dynibmSP == "SP005") {
		ibmDynamicNavLoad(ibmCommonDynamicNavGetPublicURL, "ibm-universal-nav");
	}

	if (ibmCommonDynamicNavIgnService("1000") &&
			ibmCommonDynamicNavIgnService("104")) {
			ibmCommonDynamicNavGetMIMHOnLoad();
	}

	if (ibmCommonDynamicNavIgnService("105")) {
		ipInterestOnLoad();
	}
	if (ibmCommonDynamicNavIgnService("1002") && ibmCommonDynamicNavIgnService("110") && ibmCommonDynamicNavIgnService("109")) {
		ibmDynamicNavLoad(ibmCommonDynamicNavBuildETPForm, "ibm-top");
		ibmDynamicNavLoad(ibmCommonDynamicNavDisplayETPConf, "ibm-top");
	}
	if (ibmCommonDynamicNavIgnService("1002") &&
		ibmCommonDynamicNavIgnService("1001")) {
		ibmDynamicNavLoad(ibmCommonDynamicNavPTP, "ibm-page-tools");
	}
	if (dyncc == "us" && wwCase != "Y") {
		ibmDynamicNavLoad(ibmCommonDynamicNavFeedsLnk, "ibm-footer");
	}

	
	
	wiBundleCall();
};
/*
 * =====================================================================
 */
var ibmDynamicNavScriptHost = 'www';
var mscheck = navigator.appName == "Microsoft Internet Explorer" &&
	parseInt(navigator.appVersion) >= 4 &&
	navigator.platform == "Win32" ? true : false;
var currenturl = location.href;
var baseDomain = document.domain;
var protCall = currenturl.substring(0, currenturl.indexOf("//"));
var baseURL = protCall + "//" + ibmDynamicNavScriptHost + ".ibm.com/dynamicnav/Controller?";
var dynccRead;
var dyncc;
var wwCase;
var dynlc;
var dynDCSub;
var dynibmSP;
var dynPAFF;
var dynibmInd;
var dynCT;
var dynibmCS;
var cpi;
var encodeVal;
var userInitiatedMI = false;
var ignServArr = ibmCommonDynamicNavBuildIgnServArr();
var greetVal, greetContainer, holdOnToMI, url_title, dynftrlinklist, myIElem,
	ftrContainer, etpDiv, rowGreet;

function greetHolderv16() {
	greetContainer = document.createElement("li");
	greetContainer.setAttribute("id", "ibm-welcome-message");
	var ibmGreetSpan = document.createElement("span");
	ibmGreetSpan.setAttribute("id", "ibm-greetingMessage");
	greetContainer.appendChild(ibmGreetSpan);
	greetContainer.style.display = "none";
	rowGreet = document.getElementById("ibm-universal-nav");
	rowGreet.appendChild(greetContainer);
}

function greetHolderv15() {
	greetContainer = document.createElement("div");
	greetContainer.setAttribute("id", "ibm-welcome-message");
	var ibmGreetSpan = document.createElement("span");
	ibmGreetSpan.setAttribute("id", "ibm-greetingMessage");
	ibmGreetSpan.appendChild(document.createTextNode("\u00A0"));
	greetContainer.appendChild(ibmGreetSpan);
	rowGreet = document.getElementById("ibm-masthead");
	rowGreet.appendChild(greetContainer);
}

function overlayBuild() {
		etpDiv = document.createElement("div");
		etpDiv.setAttribute("id", "ibm-overlay-top");
		document.getElementById("ibm-top").appendChild(etpDiv);
}

function ibmCommonDynamicNavGetTitle() {
	var ts = document.getElementsByTagName("title");
	if (ts.length > 0) url_title = ts.item(0).innerHTML;
}

function ibmCommonDynamicNavGetGreeting() {
	wiBundleSidCb.sid100 = '100:ibmCommonDynamicNavShowGrtng@';
	wiBundleBlock.sid100 = false;
}

var tempMerchVal;

function ibmCommonDynamicNavGetMrch() {
	if (document.getElementById("ibm-merchandising-module")) {
		tempMerchVal = document.getElementById("ibm-merchandising-module").innerHTML;
		if (currenturl.indexOf("https") > -1) {
			var currentURLNoProt = currenturl.replace("https:", "");
		} else if (currenturl.indexOf("http") > -1) {
			var currentURLNoProt = currenturl.replace("http:", "");
		}
		document.getElementById("ibm-merchandising-module").innerHTML = "<img align=\"center\" src=\"//www.ibm.com/images/account/profile/animation.gif\" alt=\"\" />";
		loadJSCall("dynavMerch", baseURL + "sid=102&industry=" + dynibmInd + "&customersize=" + dynibmCS + "&specialpurpose=" + dynibmSP + "&dc_subject=" + dynDCSub + "&country=" + dyncc + "&language=" + dynlc + "&currenturl=" + escape(currentURLNoProt) + "&ctype=" + dynCT + "&ww=" + wwCase + "&callback=ibmCommonDynamicNavShowMrch&ts=" + (new Date).getTime());
	}
}

function ibmCommonDynamicNavGetFormFields() {
	loadJSCall("dynavFormFill", baseURL + "sid=107&country=" + dyncc + "&language=" + dynlc + "&callback=ibmCommonDynamicNavFillForm&ts=" + (new Date).getTime() + ibmCommonDynamicNavBuildListOfFormFields());
}

function ibmCommonDynamicNavInterCountry() {
	wiBundleSidCb.sid106 = '106:ibmCommonDynamicNavShowIC@';
	wiBundleBlock.sid106 = true;
	if (arguments.length == 0 && !PMM.countryData) {
		setTimeout(ibmCommonDynamicNavInterCountry, 100);
		return;
	}
	if (arguments.length == 1 && arguments[0] == "fallThru") {
	} else {
		var icnArray = ibmCommonDynamicNavGetICNCookie();
		var ipcArray = ibmCommonDynamicNavGetIPCCookie();
		if (icnArray != null) {
			if (icnArray.cc != "" &&
				icnArray.lc != null &&
				icnArray.lc != "" &&
				icnArray.url != null && icnArray.url != "") {
				ibmCommonDynamicNavInterCountryDisplay(icnArray.url, icnArray.cc + icnArray.lc);
				wiBundleSidCb.sid106 = '';
				wiBundleBlock.sid106 = false;
				return;
			} else if (icnArray.status == "1") {
				if (document.cookie.indexOf("IBMIS") > -1) {
					ibmCommonDynamicNavInterCountry("fallThru");
					return;
				}
				if (ipcArray.cc != null &&
					ipcArray.cc != "" &&
					ipcArray.lc != null && ipcArray.lc != "") {
					ibmCommonDynamicNavGetMyHomePage(ipcArray.cc + ipcArray.lc);
					wiBundleSidCb.sid106 = '';
					wiBundleBlock.sid106 = false;
					return;
				}
				setICNCookie("", "", "", "1");
				wiBundleSidCb.sid106 = '';
				wiBundleBlock.sid106 = false;
				return;
			}
		}
	}
	loadJSCall("dynavInterCountry", baseURL + "sid=106&country=" + dyncc + "&language=" + dynlc + "&callback=ibmCommonDynamicNavShowIC&ts=" + (new Date).getTime());
	wiBundleBlock.sid106 = false;
}

function ibmCommonDynamicNavPageTool() {
	dynftrlinklist = document.createElement("ul");
	dynftrlinklist.className = "ibm-link-list";
}

function ibmCommonDynamicNavEmailThisPage() {
	if (!PMM.pageToolData) {
		setTimeout(ibmCommonDynamicNavEmailThisPage, 100);
		return;
	}
	dynftrlinklist.innerHTML += "<li class=\"ibm-first\"><a href=\"javascript:void(0);\" id=\"etplnk\" class=\"ibm-email-link\" onclick=\"ibmCommonDynamicNavBuildETPForm();displayETPForm(event);\">" + PMM.pageToolData.email + "</a></li>";
	var ftrContainer = document.getElementById("ibm-page-tools");
	if (ftrContainer) ftrContainer.appendChild(dynftrlinklist);
}

function ibmCommonDynamicNavPTP() {
	if (!PMM.pageToolData) {
		setTimeout(ibmCommonDynamicNavPTP, 100);
		return;
	}
	if (ibmCommonDynamicNavIgnService("110")) {
	setTimeout(ibmCommonDynamicNavPTPAndETP, 100);
	} else {
	dynftrlinklist.innerHTML += "<li class=\"ibm-first\"><a href=\"javascript:print();\" id=\"ptplnk\" class=\"ibm-print-link\">" + PMM.pageToolData.print + "</a></li>";
	}
	var ftrContainer = document.getElementById("ibm-page-tools");
	if (ftrContainer) ftrContainer.appendChild(dynftrlinklist);
}


function ibmCommonDynamicNavPTPAndETP() {
	var etpLinkCheck = document.getElementById("etplnk");
	if (!etpLinkCheck) {
		setTimeout(ibmCommonDynamicNavPTPAndETP, 100);
		return;
	} 
	dynftrlinklist.innerHTML += "<li><a href=\"javascript:print();\" id=\"ptplnk\" class=\"ibm-print-link\">" + PMM.pageToolData.print + "</a></li>";
	var ftrContainer = document.getElementById("ibm-page-tools");
	if (ftrContainer) ftrContainer.appendChild(dynftrlinklist);
}

function ibmCommonDynamicNavSetPublicURL() {
	ibmCommonDynamicNavSetCookie("pSite", currenturl);
}

function ibmCommonDynamicNavGetAcct() {
	var domainParam = '';
	if (currenturl.indexOf("domain=") > -1) {
		domainParam = currenturl.substring(currenturl.indexOf("domain=") + 7);
		var tokens = domainParam.split('&');
		domainParam = tokens[0];
	}
	loadJSCall("dynavEA", baseURL + "sid=103&domain=" + escape(domainParam) + "&country=" + dyncc + "&language=" + dynlc + "&callback=ibmCommonDynamicNavShowAcct&ts=" + (new Date).getTime());
}

function ibmCommonDynamicNavGetPublicURL() {
	if (!PMM.publicLinkNameData) {
		setTimeout(ibmCommonDynamicNavGetPublicURL, 200);
		return;
	}
	var rowSN = document.getElementById("ibm-site-name");
	var publicLink = ibmCommonDynamicNavGetCookie("pSite");
	if (dynibmSP == "SP005") {
		var pghContainer = document.createElement("p");
		var spanPContainer = document.createElement("span");
		spanPContainer.setAttribute("id", "ibm-site-name-back-link");
		var hrefPLContainer = document.createElement("a");
		hrefPLContainer.setAttribute("href", publicLink);
		hrefPLContainer.appendChild(document.createTextNode(PMM.publicLinkNameData));
		spanPContainer.appendChild(document.createTextNode(" [ "));
		spanPContainer.appendChild(hrefPLContainer);
		spanPContainer.appendChild(document.createTextNode(" ]"));
		pghContainer.appendChild(spanPContainer);
		rowSN.appendChild(pghContainer);
	}
}

function ipInterestOnLoad() {
	wiBundleSidCb.sid105 = '105:showIncProf@';
	wiBundleBlock.sid105 = true;
	if (arguments.length == 0 && !PMM.buttonData) {
		setTimeout(ipInterestOnLoad, 100);
		return;
	}
	try {
		PMM.buttonData.addmyinterest = args.add;
		PMM.buttonData.removemyinterest = args.remove;
	} catch (e) {
	}
	if (dynDCSub == null) {
		wiBundleSidCb.sid105 = '';
		wiBundleParms.sid105 = '';
		wiBundleBlock.sid105 = false;
		return null;
	}
	wiBundleParms.sid105 = "&dc_subject=" + dynDCSub + "&op=view";
	wiBundleBlock.sid105 = false;
}

function ipInterestUserInit(args) {
	if (arguments.length == 0 && !PMM.buttonData) {
		setTimeout(ipInterestUserInit, 100);
		return;
	}
	try {
		PMM.buttonData.addmyinterest = args.add;
		PMM.buttonData.removemyinterest = args.remove;
	} catch (e) {
	}
	if (dynDCSub == null) {

		return null;
	}
	var thisUrl = baseURL + "sid=105&language=" + dynlc + "&country=" + dyncc + "&dc_subject=" + dynDCSub + "&callback=showIncProf&ts=" + (new Date).getTime() + "&action=update&op=" + currentIncAction;
	loadJSCall("ipInterest", thisUrl);
}


function ibmCommonDynamicNavGetSSO() {
	wiBundleSidCb.sid109 = '109:ibmCommonDynamicNavShowSSO@';
	wiBundleBlock.sid109 = true;
	if (!PMM.ssoFormData) {
		setTimeout(ibmCommonDynamicNavGetSSO, 100);
		return;
	}
	//loadJSCall("dynavSSOFPath", baseURL + "sid=109&country=" + dyncc + "&language=" + dynlc + "&callback=ibmCommonDynamicNavShowSSO&ts=" + (new Date).getTime());
	wiBundleBlock.sid109 = false;
}

function ibmCommonDynamicNavBuildETPForm() {
	if (!PMM.emailFormData) {
		setTimeout(ibmCommonDynamicNavBuildETPForm, 100);
		return false;
	}
	var sendFromOrder = "";
	var sendToOrder = "";
	if (dyncc == "jp") {
		sendFromOrder = "<p><label for=\"from_last_name\">" + PMM.emailFormData.from.fields.from_last_name + "<span class=\"ibm-required\">*</span></label><span><input name=\"from_last_name\" id=\"from_last_name\" size=\"25\" type=\"text\" value=\"\"/></span></p><p><label for=\"from_first_name\">" + PMM.emailFormData.from.fields.from_first_name + "<span class=\"ibm-required\">*</span></label><span><input name=\"from_first_name\" id=\"from_first_name\" size=\"25\" type=\"text\" value=\"\"/></span></p>";
		sendToOrder = "<p><label for=\"to_last_name\">" + PMM.emailFormData.to.fields.to_last_name + "<span class=\"ibm-required\">*</span></label><span><input name=\"to_last_name\" id=\"to_last_name\" size=\"25\" type=\"text\" value=\"\"/></span></p><p><label for=\"to_first_name\">" + PMM.emailFormData.to.fields.to_first_name + "<span class=\"ibm-required\">*</span></label><span><input name=\"to_first_name\" id=\"to_first_name\" size=\"25\" type=\"text\" value=\"\"/></span></p>";
	} else {
		sendFromOrder = "<p><label for=\"from_first_name\">" + PMM.emailFormData.from.fields.from_first_name + "<span class=\"ibm-required\">*</span></label><span><input name=\"from_first_name\" id=\"from_first_name\" size=\"25\" type=\"text\" value=\"\"/></span></p><p><label for=\"from_last_name\">" + PMM.emailFormData.from.fields.from_last_name + "<span class=\"ibm-required\">*</span></label><span><input name=\"from_last_name\" id=\"from_last_name\" size=\"25\" type=\"text\" value=\"\"/></span></p>";
		sendToOrder = "<p><label for=\"to_first_name\">" + PMM.emailFormData.to.fields.to_first_name + "<span class=\"ibm-required\">*</span></label><span><input name=\"to_first_name\" id=\"to_first_name\" size=\"25\" type=\"text\" value=\"\"/></span></p><p><label for=\"to_last_name\">" + PMM.emailFormData.to.fields.to_last_name + "<span class=\"ibm-required\">*</span></label><span><input name=\"to_last_name\" id=\"to_last_name\" size=\"25\" type=\"text\" value=\"\"/></span></p>";
	}
	document.getElementById("ibm-overlay-top").innerHTML =
		"<div id=\"ibm-overlay-masthead\">" + "<p><a href=\"javascript:void(0)\" onclick=\"IOL.hideMaskOverlay();ibmCommonDynamicNavCloseOverlay('etplnk');ibmCommonDynamicNavDeleteETPCookie()\">" + PMM.buttonData.close + " [x]</a></p>" + "</div>" + "<div id=\"ibm-overlay-content\">" + "<h2>" + PMM.emailFormData.title + "</h2>" + "<p class=\"ibm-overlay-intro\">" + PMM.emailFormData.intro + "</p>" + "<p id=\"ibm-overlay-error\"></p>" + "<form accept-charset="+emailEncVal+" class=\"ibm-column-form\" name=\"etpForm\" action=\"https://" + ibmDynamicNavScriptHost + ".ibm.com/dynamicnav/Controller?sid=110\"  onsubmit=\"ibmCommonDynamicNavLayerChk(this,'etp'); return false;\" method=\"post\">" + "<p><strong>" + PMM.emailFormData.from.label + "</strong></p>" + sendFromOrder + "<p><label for=\"from_email\">" + PMM.emailFormData.from.fields.from_email + "<span class=\"ibm-required\">*</span></label>" + "<span><input name=\"from_email\" id=\"from_email\" size=\"25\" type=\"text\" value=\"\"/>" +
		"<input name=\"url_title\" id=\"url_title\" type=\"hidden\" value=\"" + url_title + "\"/>" + "<input name=\"locale_etp\" id=\"locale_etp\" type=\"hidden\" value=\"" + cpi.toUpperCase() + "\"/>" + "<input name=\"language\" id=\"language\" type=\"hidden\" value=\"" + dynlc + "\"/>" + "<input name=\"country\" id=\"country\" type=\"hidden\" value=\"" + dyncc + "\"/>" + "<input name=\"currenturl\" id=\"currenturl\" type=\"hidden\" value=\"" + currenturl + "\"/>" + "<input name=\"currenturl_etp\" id=\"currenturl_etp\" type=\"hidden\" value=\"" + escape(currenturl) + "\"/>" + "<input name=\"report_categories\" id=\"report_categories\" type=\"hidden\" value=\"" + dynDCSub + "\"/>" + "<input name=\"hf_htmlCharSet\" id=\"hf_htmlCharSet\" type=\"hidden\" value=\"" + emailEncVal + "\"/>" + "</span></p>" + "<p><strong>" + PMM.emailFormData.to.label + "</strong></p>" + sendToOrder + "<p><label for=\"to_email\">" + PMM.emailFormData.to.fields.to_email + "<span class=\"ibm-required\">*</span></label>" +
		"<span><input name=\"to_email\" id=\"to_email\" size=\"25\" type=\"text\" value=\"\"/></span></p>" + "<p><label for=\"copy_email\">" + PMM.emailFormData.ccself + "</label><span><input type=\"checkbox\" name=\"copy_email\" id=\"copy_email\" value=\"Y\"/></span></p>" + "<div id=\"etpProcessing\"  style=\"display:none; position:absolute; top:200px; left:150px; width:54px; height:55px;\"><img src=\"//www.ibm.com/images/account/profile/animation.gif\" /></div>" + "<div class=\"ibm-rule\"><hr /></div>" + "<div class=\"ibm-buttons-row\">" + "<p class=\"ibm-first\"><input class=\"ibm-btn-arrow-pri\" name=\"ibm-submit\" type=\"submit\" value=\"" + PMM.buttonData.submit + "\" onclick=\"ibmCommonDynamicNavSetCookie('etpConf','4');\"/></p>" + "<p class=\"ibm-second\"><input class=\"ibm-btn-cancel-sec\" name=\"ibm-cancel\" type=\"button\" value=\"" + PMM.buttonData.cancel + "\" onclick=\"IOL.hideMaskOverlay();ibmCommonDynamicNavCloseOverlay('etplnk');ibmCommonDynamicNavDeleteETPCookie()\"/></p>" + "</div>" + "<div class=\"ibm-rule\"><hr /></div>" +
		"<div class=\"ibm-overlay-legal\">" + "<p>" + PMM.emailFormData.legal + "</p>" + "</div>" + "</form>" + "</div>" + "<div id=\"ibm-overlay-footer\">" + "</div>" + "</div>";
}

function ibmCommonDynamicNavDisplayETPConf() {
	if (!PMM.emailFormData || !PMM.buttonData) {
		setTimeout(ibmCommonDynamicNavDisplayETPConf, 100);
		return;
	}

	var ibmETPLayerDiv = document.getElementById("ibm-overlay-content");
	if (ibmCommonDynamicNavGetCookie("etpConf")) {
		if (ibmCommonDynamicNavGetCookie("etpConf") == 1) {
			ibmETPLayerDiv.innerHTML = "<h2>" + PMM.emailFormData.confirmTitle + "</h2><p>" + PMM.emailFormData.confirmIntro + "</p>" + "<div class=\"ibm-overlay-legal\">" + "<p>" + PMM.emailFormData.legal + "</p>" + "</div>" + "<div class=\"ibm-rule\"><hr /></div>";
			document.getElementById("ibm-overlay-top").style.display = "block";
			ibmCommonDynamicNavDeleteETPCookie();
		} else {
			if (ibmCommonDynamicNavGetCookie("etpConf") == 0) {
				ibmETPLayerDiv.innerHTML = "<h2>" + PMM.emailFormData.confirmTitle + "</h2><p><span class=\"error\">" + PMM.buttonData.eMailNotSentTemp +  "</span></p>" + "<div class=\"ibm-overlay-legal\">" + "<p>" + PMM.emailFormData.legal + "</p>" + "</div>" + "<div class=\"ibm-rule\"><hr /></div>";
				document.getElementById("ibm-overlay-top").style.display = "block";
				ibmCommonDynamicNavDeleteETPCookie();
			}
		}
	}
}

function ibmCommonDynamicNavBuildIgnServArr() {
	var servIgnore;
	var content = ibmCommonDynamicNavReadPageAttributes();
	if (content) {
		var contentSid = content.split(";");
		if (!contentSid) {
			contentSid = 1;
		}
		for (j = 0; j < contentSid.length; j++) {
			if (contentSid[j].indexOf("sid") != -1) {
				servIgnore = contentSid[j].substring(4, contentSid[j].length);
			}
		}
	}
	if (!servIgnore) {
		servIgnore = "nosid";
	}
	return servIgnore;
}

function ibmCommonDynamicNavIgnService(servId) {
	var servIds;
	if (ignServArr.indexOf(",") > -1) {
		servIds = ignServArr.split(",");
	} else {
		servIds = ignServArr;
	}
	var ignResult = true;
	if (ignServArr.indexOf(",") > -1) {
		for (k = 0; k < servIds.length; k++) {
			if (servId == servIds[k]) {
				ignResult = false;
				break;
			}
		}
	} else {
		if (servId == servIds) {
			ignResult = false;
		}
	}
	return ignResult;
}

function ibmCommonDynamicNavShowResults() {
	return false;
}

function ibmDynamicNavLoad(func, el) {
	if (typeof func != "function") {
		return;
	}
	if (document.getElementById(el)) {
		func();
	} else {
		window.setTimeout(function () {ibmDynamicNavLoad(func, el);}, 100);
	}
}

function ibmCommonDynamicNavSetCookie(c_name, value) {
	document.cookie = c_name + "=" + escape(value) + "; path=/; domain=.ibm.com";
}

function ibmCommonDynamicNavGetCookie(name) {
	if (document.cookie.indexOf(name) > -1) {
		if (document.cookie && document.cookie != "") {
			var dynCookie;
			var dyn_cookie_data = document.cookie;
			var dyn_split = dyn_cookie_data.split(";");
			for (var i = 0; i < dyn_split.length; i++) {
				if (dyn_split[i].indexOf(name) > -1) {
					dyn_cookie_data = dyn_split[i];
				}
			}
			var dynCookie_name_split = dyn_cookie_data.split("=");
			var dynData = dynCookie_name_split[1];
			return unescape(dynData);
		}
	} else {
		return false;
	}
}

function ibmCommonDynamicNavDeleteETPCookie() {
	var sPast = (new Date("01/01/1970")).toGMTString();
	var sDelete = "etpConf=2;expires=" + sPast + ";path=/; domain=.ibm.com";
	document.cookie = sDelete;
}

function loadJSCall(scriptId, scriptSrc) {
	if (document.getElementsByTagName("head").length < 1) {
		setTimeout(function () {loadJSCall(scriptId, scriptSrc);}, 100);
		return;
	}
	ibmCommonDynamicNavHeadElement = document.getElementsByTagName("head").item(0);
	var ibmCommonDynamicNavScriptTag = document.createElement("script");
	ibmCommonDynamicNavScriptTag.setAttribute("id", scriptId);
	ibmCommonDynamicNavScriptTag.setAttribute("type", "text/javascript");
	ibmCommonDynamicNavScriptTag.setAttribute("src", scriptSrc);
	ibmCommonDynamicNavHeadElement.appendChild(ibmCommonDynamicNavScriptTag);
}

function ibmCommonDynamicNavCreateNamedElement(type, name) {
	var element = null;
	try {
		element = document.createElement("<" + type + " name=\"" + name + "\">");
	} catch (e) {
	}
	if (!element || element.nodeName != type.toUpperCase()) {
		element = document.createElement(type);
		element.name = name;
	}
	return element;
}

function ibmCommonDynamicNavReadMetaTag(name) {
	var charSetContent;
	var metaTags = document.getElementsByTagName("meta");
	var encVal;
	for (var b = 0; b < metaTags.length; b++) {
		var reMeta = new RegExp(name, "i");
		if (metaTags[b].name.match(reMeta)) {
			return metaTags[b];
		} else if (name == "Content-Type" &&
			metaTags[b].content.indexOf("charset=") != -1) {
			if (metaTags[b].content.indexOf("charset=") != -1) {
				encVal = metaTags[b].content.substring(metaTags[b].content.indexOf("=") + 1).replace("-", "").replace("_", "").toLowerCase();
				emailEncVal = metaTags[b].content.substring(metaTags[b].content.indexOf("=") + 1);
			}
			return encVal;
		}
	}
	return null;
}

function ibmCommonDynamicNavReadEncoding() {
	if (ibmCommonDynamicNavReadMetaTag("Content-Type") == null) {
		return null;
	}
	return ibmCommonDynamicNavReadMetaTag("Content-Type");
}

function ibmCommonDynamicNavReadSpecialTag() {
	if (ibmCommonDynamicNavReadMetaTag("IBM.SpecialPurpose") == null) {
		return null;
	}
	return ibmCommonDynamicNavReadMetaTag("IBM.SpecialPurpose").content;
}

function ibmCommonDynamicNavReadCSze() {
	if (ibmCommonDynamicNavReadMetaTag("IBM.CustomerSize") == null) {
		return null;
	}
	return ibmCommonDynamicNavReadMetaTag("IBM.CustomerSize").content;
}

function ibmCommonDynamicNavReadInd() {
	if (ibmCommonDynamicNavReadMetaTag("IBM.Industry") == null) {
		return null;
	}
	return ibmCommonDynamicNavReadMetaTag("IBM.Industry").content;
}

function ibmCommonDynamicNavReadDCType() {
	if (ibmCommonDynamicNavReadMetaTag("DC.Type") == null) {
		return null;
	}
	return ibmCommonDynamicNavReadMetaTag("DC.Type").content;
}

function ibmCommonDynamicNavReadPageAttributes() {
	if (ibmCommonDynamicNavReadMetaTag("IBM.PageAttributes") == null) {
		return null;
	}
	return ibmCommonDynamicNavReadMetaTag("IBM.PageAttributes").content;
}

function ibmCommonDynamicNavReadIBMSource() {
	if (ibmCommonDynamicNavReadMetaTag("Source") == null) {
		return null;
	}
	return ibmCommonDynamicNavReadMetaTag("Source").content;
}

function ibmCommonDynamicNavReadDCSubject() {
	if (ibmCommonDynamicNavReadMetaTag("DC.Subject") == null) {
		return null;
	}
	return ibmCommonDynamicNavReadMetaTag("DC.Subject").content;
}

function ibmCommonDynamicNavReadCountry() {
	if (ibmCommonDynamicNavReadMetaTag("IBM.Country") == null) {
		return null;
	}
	return ibmCommonDynamicNavReadMetaTag("IBM.Country").content;
}

function ibmCommonDynamicNavReadLanguage() {
	if (ibmCommonDynamicNavReadMetaTag("DC.Language") == null) {
		return null;
	}
	return ibmCommonDynamicNavReadMetaTag("DC.Language").content.substring(0, 2);
}

function ibmCommonDynamicNavShowIC(interObj) {
	if (interObj.results[0].result != "novalue") {
		var contentIC = "";
		if (interObj.results[0].result == "novalue") {
		} else {
			for (var w = 0; w < interObj.results.length; w++) {
				contentIC += interObj.results[w].cc + interObj.results[w].lc;
			}
		}
		mhpVal = contentIC;
		if (mhpVal) {
			ibmCommonDynamicNavGetMyHomePage(mhpVal);
		}
	}
}

function ibmCommonDynamicNavGetMyHomePage(mhpVal) {
	if(mhpVal.indexOf('uk') > -1) mhpVal = mhpVal.replace('uk','gb');
	if (mhpVal == cpi) {
		setICNCookie(mhpVal.substring(0, 2), mhpVal.substring(2, 4), currenturl, "0");
	} else {
		var icnArray = ibmCommonDynamicNavGetICNCookie();
		if (icnArray != null) {
			myLastPageVisited = icnArray.url;
			if (typeof myLastPageVisited != "undefined" &&
				myLastPageVisited.indexOf("http") > -1) {
				ibmCommonDynamicNavInterCountryDisplay(myLastPageVisited, mhpVal);
			} else {
				setICNCookie(mhpVal.substring(0, 2), mhpVal.substring(2, 4), "na", "0");
				ibmCommonDynamicNavInterCountryDisplay("na", mhpVal);
			}
		} else {
			ibmCommonDynamicNavInterCountryDisplay("na", mhpVal);
		}
	}
}

function ibmCommonDynamicNavInterCountryDisplay(myLastPageVisited, mhpVal) {

	if (!PMM.countryData) {
		if (arguments.length > 0)
			window.setTimeout(function () {
				ibmCommonDynamicNavInterCountryDisplay(myLastPageVisited, mhpVal)
			}, 100);
		else window.setTimeout(ibmCommonDynamicNavInterCountryDisplay, 100);
		return;
	}

	if (mhpVal == cpi) {
		setICNCookie(mhpVal.substring(0, 2), mhpVal.substring(2, 4), currenturl, "0");
	} else if (document.getElementById("ibm-back-country") == null) {
		var rowGeo, rowIC, backSpan, hrefICContainer, ibmCommonDynamicNavInterCountryDisplayName;
		rowGeo = document.getElementById("ibm-geo");
		rowIC = document.createElement("li");
		rowIC.setAttribute("id", "ibm-back-country");
		hrefICContainer = document.createElement("a");
		if (myLastPageVisited != "na") {
			hrefICContainer.setAttribute("href", myLastPageVisited);
		} else {
			var defHPC = "http://www.ibm.com/" + mhpVal.substring(0, 2);
			hrefICContainer.setAttribute("href", defHPC);
		}
		if (PMM.countryData[mhpVal]) {
			rowIC.appendChild(document.createTextNode("[ "));
			ibmCommonDynamicNavInterCountryDisplayName = PMM.countryData[mhpVal].name;
			hrefICContainer.appendChild(document.createTextNode(ibmCommonDynamicNavInterCountryDisplayName));
			rowIC.appendChild(hrefICContainer);
			rowIC.appendChild(document.createTextNode(" ]"));
			rowGeo.appendChild(rowIC);
			rowGeo.display = "block";
		}

	}
}

function ibmCommonDynamicNavGetICNCookie() {
	var dynCookie = "";
	var retVal = new Array;
	if (document.cookie && document.cookie != "") {
		var cookiePieces = document.cookie.split(";");
		for (i = 0; i < cookiePieces.length; i++) {
			if (cookiePieces[i].indexOf("icn=") > -1) {
				dynCookie = cookiePieces[i];
			}
		}
		if (dynCookie != "") {
			var dynCookieKeyAndVal = dynCookie.split("=");
			var dynCookieVal = dynCookieKeyAndVal[1];
			var wholeICNCookie = unescape(dynCookieVal);
			var subICNCookies = wholeICNCookie.split(";");
			for (var ii = 0; ii < subICNCookies.length; ii++) {
				var currentSubCookie = subICNCookies[ii];
				var keyVals = currentSubCookie.split("=");
				if (keyVals[0] == "cc" ||
					keyVals[0] == "lc" ||
					keyVals[0] == "url" || keyVals[0] == "status") {
					var key = keyVals[0];
					retVal[key] = unescape(keyVals[1]);
				}
			}
		}
		return retVal;
	}
}

function setICNCookie(cc, lc, url, status) {
	document.cookie = "icn=" + escape("cc=" + cc + ";lc=" + lc + ";url=" + escape(url) + ";status=" + status) + "; path=/; domain=.ibm.com";
}

function ibmCommonDynamicNavGetIPCCookie() {
	var dynCookie = "";
	var retVal = new Array;
	if (document.cookie && document.cookie != "") {
		var cookiePieces = document.cookie.split(";");
		for (i = 0; i < cookiePieces.length; i++) {
			if (cookiePieces[i].indexOf("ipcInfo=") > -1) {
				dynCookie = cookiePieces[i];
			}
		}
		if (dynCookie != "") {
			var dynCookieKeyAndVal = dynCookie.split("=");
			var dynCookieVal = dynCookieKeyAndVal[1];
			var wholeIPCCookie = unescape(dynCookieVal);
			var subIPCCookies = wholeIPCCookie.split(";");
			for (var ii = 0; ii < subIPCCookies.length; ii++) {
				var currentSubCookie = subIPCCookies[ii];
				var keyVals = currentSubCookie.split("=");
				if (keyVals[0] == "cc" ||
					keyVals[0] == "lc" || keyVals[0] == "ac") {
					var key = keyVals[0];
					retVal[key] = unescape(keyVals[1]);
				}
			}
		}
		return retVal;
	}
}

function ibmCommonDynamicNavFillForm(formFieldsObj) {
	if (formFieldsObj.results[0].result != "novalue") {
		var formName = "";
		var formEls = new Array;
		var formMap = new Object;
		var content = ibmCommonDynamicNavReadPageAttributes();
		var contentPieces = content.split(";");
		var vals = formFieldsObj.results[0];
		for (j = 0; j < contentPieces.length; j++) {
			if (contentPieces[j].indexOf("formName") != -1) {
				formName = contentPieces[j].substring(9, contentPieces[j].length);
				if (document.forms[formName] != null) {
					formEls = document.forms[formName].elements;
				} else {
					break;
				}
			} else if (contentPieces[j].indexOf("formMap") != -1) {
				formMap = contentPieces[j].substring(8, contentPieces[j].length);
				var formMapPairs = formMap.split(",");
				for (k = 0; k < formMapPairs.length; k++) {
					var formMapKeyVal = formMapPairs[k].split(":");
					var jsonField = formMapKeyVal[0];
					var formField = formMapKeyVal[1];
					if (formEls[formField] != null) {
						if (formEls[formField].type == "text") {
							formEls[formField].value = vals[jsonField] ? vals[jsonField] : "";
						} else if (formEls[formField].type == "select-one") {
							var formElOptions = formEls[formField].options;
							for (i = 0; i < formElOptions.length; i++) {
								if (formElOptions[i].value == vals[jsonField] ||
									formElOptions[i].text == vals[jsonField]) {
									formElOptions[i].selected = true;
									break;
								}
							}
						}
					}
				}
			}
		}
	}
}

function ibmCommonDynamicNavBuildListOfFormFields() {
	var retVal = "";
	var content = ibmCommonDynamicNavReadPageAttributes();
	var contentPieces = content.split(";");
	for (j = 0; j < contentPieces.length; j++) {
		if (contentPieces[j].indexOf("formMap") != -1) {
			formMap = contentPieces[j].substring(8, contentPieces[j].length);
			var formMapPairs = formMap.split(",");
			for (k = 0; k < formMapPairs.length; k++) {
				var formMapKeyVal = formMapPairs[k].split(":");
				retVal += "&fields=" + formMapKeyVal[0];
			}
		}
	}
	return retVal;
}

var ibmCommonloadImages = [];


function ibmCommonDynamicNavCloseOverlay(pl) {
	document.getElementById("ibm-overlay-top").style.display = "none";
	var g = document.getElementById(pl);
	g.focus();
}

function displayETPForm(event) {
	var posX = 0;
	var posY = 0;
	var e = event;
	if (e.pageX || e.pageY) {
		posX = e.pageX;
		posY = e.pageY;
	} else if (e.clientX || e.clientY) {
		posX = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
		posY = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
	}
	posX += 10;
	posY -= 480;
	if (posY < 0) {
		posY = 0;
	}
	etpDiv.style.position = "absolute";
	etpDiv.style.left = posX + "px";
	etpDiv.style.top = posY + "px";
	var getOverlayObj = document.getElementById("ibm-overlay-top");
	getOverlayObj.style.display = "block";
	IOL.checkIE();
	if (IOL.isIE && IOL.ieVersion < 7) {
		IOL.showMaskOverlay(getOverlayObj);
	}
	if (dyncc == "jp") {
		document.forms.etpForm.from_last_name.focus();
	} else {
		document.forms.etpForm.from_first_name.focus();
	}
}

IOL.checkIE = function () {
	var m = "msie", u = navigator.userAgent.toLowerCase(), v = 0;
	var mi = u.indexOf(m);
	if (u.indexOf("opera") == -1 && mi != -1) {
		IOL.isIE = true;
		v = parseFloat(u.substring(mi + m.length).replace(/^[^0-9]+/, ""));
	} else {
		IOL.isIE = false;
	}
	IOL.ieVersion = isNaN(v) ? 0 : v;
}

IOL.hideMaskOverlay = function () {
	if (IOL.isIE && IOL.ieVersion < 7) {
		var mask = document.getElementById("ibm-overlay-top-mask");
		if(mask == null) return;
		mask.style.display = "none";
	}
}
IOL.putIEMaskOverlay = function () {
	var target = arguments[0], ifrOverlay = document.createElement("iframe");
	ifrOverlay.className = "ibm-overlay-top";
	ifrOverlay.id = target.id + "-mask";
	ifrOverlay.setAttribute("src", "//www.ibm.com/i/c.gif");
	//ifrOverlay.setAttribute("frameborder", "0");
	//ifrOverlay.style.borderStyle = "none";
	ifrOverlay.frameBorder = '0';
	ifrOverlay.border = 0;
	target.parentNode.insertBefore(ifrOverlay, target);
	target.style.zIndex = 9;
	ifrOverlay.style.zIndex = 8;
	return ifrOverlay;
}
IOL.showMaskOverlay = function () {
	var target = arguments[0];
	var mask = document.getElementById(target.id + "-mask");
	var omh = document.getElementById("ibm-overlay-masthead");
	if (mask == null) {
		mask = IOL.putIEMaskOverlay(target);
	}
	mask.style.height = (target.offsetHeight - 14) + "px";
	mask.style.width = omh.offsetWidth + "px";
	mask.style.left = target.offsetLeft + "px";
	mask.style.top = target.offsetTop + "px";
	mask.style.display = "block";
}

function ibmCommonDynamicNavEmailCheck(emailStr, emailFld) {
	var emailPat = /^(.+)@(.+)$/;
	var specialChars = "\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
	var validChars = "[^\\s" + specialChars + "]";
	var quotedUser = "(\"[^\"]*\")";
	var ipDomainPat = /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom = validChars + "+";
	var word = "(" + atom + "|" + quotedUser + ")";
	var userPat = new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat = new RegExp("^" + atom + "(\\." + atom + ")*$");
	var matchArray = emailStr.match(emailPat);
	var overLayIntroErr = document.getElementById("ibm-overlay-error");
	var breakErrMain = document.createElement("br");
	var spanErr = document.createElement("span");
	var breakErr = document.createElement("br");
	if (matchArray == null) {
		overLayIntroErr.innerHTML = "";
		spanErr.className = "error";
		overLayIntroErr.appendChild(document.createTextNode(PMM.buttonData.blnkField));
		overLayIntroErr.appendChild(breakErrMain);
		spanErr.appendChild(document.createTextNode(emailFld.replace(":", "")));
		spanErr.appendChild(breakErr);
		overLayIntroErr.appendChild(spanErr);
		return false;
	}
	var user = matchArray[1];
	var domain = matchArray[2];
	if (user.match(userPat) == null) {
		overLayIntroErr.innerHTML = "";
		spanErr.className = "error";
		overLayIntroErr.appendChild(document.createTextNode(PMM.buttonData.blnkField));
		overLayIntroErr.appendChild(breakErrMain);
		spanErr.appendChild(document.createTextNode(emailFld.replace(":", "")));
		spanErr.appendChild(breakErr);
		overLayIntroErr.appendChild(spanErr);
		return false;
	}
	var IPArray = domain.match(ipDomainPat);
	if (IPArray != null) {
		for (var i = 1; i <= 4; i++) {
			if (IPArray[i] > 255) {
				overLayIntroErr.innerHTML = "";
				spanErr.className = "error";
				overLayIntroErr.appendChild(document.createTextNode(PMM.buttonData.blnkField));
				overLayIntroErr.appendChild(breakErrMain);
				spanErr.appendChild(document.createTextNode("Destination IP address is invalid!"));
				spanErr.appendChild(breakErr);
				overLayIntroErr.appendChild(spanErr);
				return false;
			}
		}
	}
	var domainArray = domain.match(domainPat);
	if (domainArray == null) {
		overLayIntroErr.innerHTML = "";
		spanErr.className = "error";
		overLayIntroErr.appendChild(document.createTextNode(PMM.buttonData.blnkField));
		overLayIntroErr.appendChild(breakErrMain);
		spanErr.appendChild(document.createTextNode("The domain name doesn't seem to be valid."));
		spanErr.appendChild(breakErr);
		overLayIntroErr.appendChild(spanErr);
		return false;
	}
	return true;
}

function ibmCommonDynamicNavLayerChk(formData, formType) {
	var myRegex = new RegExp("^[0-9]{4}-([0][0-9]|[1][0-2])-([0-2][0-9]|[3][0-1])$");
	var varArray, displayArray;
	if (formType == "etp") {
		varArray = new Array("from_first_name", "from_last_name", "from_email", "to_first_name", "to_last_name", "to_email");
		displayArray = new Array(PMM.emailFormData.from.label + " " + PMM.emailFormData.from.fields.from_first_name, PMM.emailFormData.from.label + " " + PMM.emailFormData.from.fields.from_last_name, PMM.emailFormData.from.label + " " + PMM.emailFormData.from.fields.from_email, PMM.emailFormData.to.label + " " + PMM.emailFormData.to.fields.to_first_name, PMM.emailFormData.to.label + " " + PMM.emailFormData.to.fields.to_last_name, PMM.emailFormData.to.label + " " + PMM.emailFormData.to.fields.to_email);
	} else if (formType == "ssoFPath") {
		varArray = new Array("username", "password", "fpNav");
		displayArray = new Array(PMM.ssoFormData.signIn.fields.username, PMM.ssoFormData.signIn.fields.password, PMM.ssoFormData.signIn.fields.fpNav);
	}
	var formElement;
	var errors = false;
	var errorArray = new Array;
	var instruct = "";
	var j = 0;
	for (var i = 0; i < varArray.length; i++) {
		if (formData.elements[varArray[i]]) {
			formElement = formData.elements[varArray[i]];
			if (formElement.type == "password" ||
				formElement.type == "text" ||
				formElement.type == "textarea") {
				if (formElement.value == "") {
					errors = true;
					errorArray[j] = displayArray[i];
					j++;
				}
			}
		}
	}
	if (errors) {
		var sectionHeadErr;
		var overLayIntroErr = document.getElementById("ibm-overlay-error");
		overLayIntroErr.innerHTML = "";
		var breakErrMain = document.createElement("br");
		var spanErr = document.createElement("span");
		spanErr.className = "error";
		overLayIntroErr.appendChild(document.createTextNode(PMM.buttonData.blnkField));
		overLayIntroErr.appendChild(breakErrMain);
		for (i = 0; i < errorArray.length; i++) {
			var breakErr = document.createElement("br");
			spanErr.appendChild(document.createTextNode(errorArray[i].replace(":", "")));
			spanErr.appendChild(breakErr);
		}
		overLayIntroErr.appendChild(spanErr);
		return false;
	} else {
		if (formType == "etp") {
			if (ibmCommonDynamicNavEmailCheck(formData.elements[varArray[2]].value, displayArray[2]) &&
				ibmCommonDynamicNavEmailCheck(formData.elements[varArray[5]].value, displayArray[5])) {
				document.forms.etpForm.submit();
			} else {
				return false;
			}
		}
		if (formType == "ssoFPath") {
			var oUser = formData.elements[varArray[0]].value;
			var oPW = formData.elements[varArray[1]].value;
			var ofpNav = formData.elements[varArray[2]].value;
			if (ofpNav == "#") {
				ofpNav = currenturl;
			}
			ibmCommonDynamicNavSetCookie("ssoFPath", ofpNav);
			var oSSOForm = document.forms.userForm;
			oSSOForm.submit();
			return false;
		}
	}
}

function ibmCommonDynamicNavClrUsr(notUserObj) {
	if (notUserObj.results[0].message3 == "refresh") {
		if (mscheck) {
			history.go(0);
		} else {
			location.href = currenturl;
		}
	}
}

function ibmCommonDynamicNavRmvGrtng() {
	loadJSCall("rmvGreet", baseURL + "sid=100&country=" + dyncc + "&language=" + dynlc + "&clear=y&callback=ibmCommonDynamicNavClrUsr&ts=" + (new Date).getTime());
}

function ibmCommonDynamicNavShowGrtng(greetObj) {
	if (greetObj.results[0].result != "novalue") {
		for (var w = 0; w < greetObj.results.length; w++) {
			contentGMsg = greetObj.results[w].message1;
			contentNMsg = greetObj.results[w].message2;
		}
		document.getElementById("ibm-greetingMessage").innerHTML += contentGMsg + " ";
		if (contentNMsg) {
			greetContainer.innerHTML += "[<span id=\"ssoNTxt\"><a href=\"#\" onclick=\"ibmCommonDynamicNavRmvGrtng(); return false;\">" + contentNMsg + "</a></span>] ";
		}
		if (ibmCommonDynamicNavReadIBMSource().indexOf("v16") > -1) {
			var navElem = document.getElementById("ibm-universal-nav");
			var ulNav = navElem.getElementsByTagName("ul");
			var el = ulNav[0];
			el.appendChild(greetContainer);
		} else {
			rowGreet.appendChild(greetContainer);
		}
		greetContainer.style.display = "block";
		greetVal = true;
	}
}

function ibmCommonDynamicNavFeedsLnk() {
	var navFtrElem = document.getElementById("ibm-footer");
	var ulFtrNav = navFtrElem.getElementsByTagName("ul");
	var el = ulFtrNav[0];
	var ibmFeeds = "<li><a href=\"http://www.ibm.com/ibm/syndication\">IBM feeds</li>";
	el.innerHTML += ibmFeeds;
}

function ibmCommonDynamicNavShowSSO(ssoFPathObj) {
	var fPathName, regLinkName, regLinkVal, userstate;
	for (var k = 0; k < ssoFPathObj.results.length; k++) {
		fPathName = ssoFPathObj.results[k].fPathName;
		regLinkName = ssoFPathObj.results[k].regLinkName;
		regLinkVal = ssoFPathObj.results[k].regLinkVal;
		userstate = ssoFPathObj.results[k].userstate;
	}
	var fpMHLink = document.createElement("span");
	fpMHLink.setAttribute("id", "ssoTxt");
	var hrefFP = document.createElement("a");
	hrefFP.setAttribute("href", "javascript:void(0);");
	hrefFP.setAttribute("id", "ssoFP");
	if (userstate == 1 || userstate == 2 || userstate == 3) {
		fpMHLink.appendChild(document.createTextNode("[ "));
		hrefFP.appendChild(document.createTextNode(fPathName));
		fpMHLink.appendChild(hrefFP);
		fpMHLink.appendChild(document.createTextNode(" ] "));
	}
	var hrefReg = document.createElement("a");
	if (userstate == 4) {
		hrefReg.setAttribute("href", baseURL + regLinkVal);
	} else if (userstate == 1 || userstate == 2) {
		hrefReg.setAttribute("href", regLinkVal);
	}
	if (userstate == 1 || userstate == 2 || userstate == 4) {
		fpMHLink.appendChild(document.createTextNode("[ "));
		hrefReg.appendChild(document.createTextNode(regLinkName));
		fpMHLink.appendChild(hrefReg);
		fpMHLink.appendChild(document.createTextNode(" ]"));
	}
		greetContainer.appendChild(fpMHLink);
	if (ibmCommonDynamicNavReadIBMSource().indexOf("v16") > -1) {
		var navElem = document.getElementById("ibm-universal-nav");
		var ulNav = navElem.getElementsByTagName("ul");
		el = ulNav[0];
		el.appendChild(greetContainer);
	} else {
		rowGreet.appendChild(greetContainer);
	}
	if (ibmCommonDynamicNavReadIBMSource().indexOf("v16") > -1) {
	} else {
		rowGreet.style.display = "block";
	}
	var signInLinkElem = document.getElementById("ssoFP");
	if (signInLinkElem) {
		signInLinkElem.onclick = function showLogInForm(event) {
			var fpNavContentDropDown = "";
			var fpNavContentMenu = "";
			for (var k = 0; k < PMM.ssoAppData.length; k++) {
				fpNavContentDropDown += "<option value=\"" + PMM.ssoAppData[k].link + "\">" + PMM.ssoAppData[k].name + "</option>";
			}
			for (var k = 1; k < PMM.ssoAppData.length; k++) {
				fpNavContentMenu += "<li><a href=\"" + PMM.ssoAppData[k].link + "\">" + PMM.ssoAppData[k].name + "</a></li>";
			}
			if (userstate == 1 || userstate == 2 || userstate == 3) {
				document.getElementById("ibm-overlay-top").innerHTML =
					"<div id=\"ibm-overlay-masthead\">" + "<p><a href=\"javascript:void(0)\" onclick=\"IOL.hideMaskOverlay();ibmCommonDynamicNavCloseOverlay('ssoFP');\">" + PMM.buttonData.close + " [x]</a></p>" + "</div>" + "<div id=\"ibm-overlay-content\">" + "<h2>" + PMM.ssoFormData.title + "</h2>" + "<p class=\"ibm-overlay-intro\">" + PMM.ssoFormData.intro + "</p>" + "<p id=\"ibm-overlay-error\"></p>" + "<form class=\"ibm-column-form\" name=\"userForm\" action=\"https://www-304.ibm.com/pkmslogin.form\"  onsubmit=\"ibmCommonDynamicNavLayerChk(this,'ssoFPath'); return false;\"  method=\"post\">" + "<p><strong>" + PMM.ssoFormData.signIn.label + "</strong></p>" + "<p><label for=\"username\">" + PMM.ssoFormData.signIn.fields.username + "<span class=\"ibm-required\">*</span></label><span><input name=\"username\" id=\"username\" size=\"25\" type=\"text\" value=\"\"/><br /></span></p>" + "<p><label for=\"password\">" +
					PMM.ssoFormData.signIn.fields.password + "<span class=\"ibm-required\">*</span></label><span><input name=\"password\" id=\"password\" size=\"25\" type=\"password\" value=\"\"/><br />" +
					"</span>" + "<input type=\"hidden\" name=\"login-form-type\" value=\"pwd\" /></p>" + "<p><label for=\"fpNav\">" + PMM.ssoFormData.fpSSONav.label + "</label>" + "<span><select id=\"fpNav\" name=\"fpNav\" size=\"1\"><label for=\"fpNav\">" + fpNavContentDropDown + "</select></span></p>" + "<div class=\"ibm-rule\"><hr /></div>" + "<div class=\"ibm-overlay-legal\">" + "<p>" + PMM.ssoFormData.security + "</p>" + "</div>" + "<div class=\"ibm-rule\"><hr /></div>" + "<div class=\"ibm-buttons-row\">" + "<p class=\"ibm-first\"><input class=\"ibm-btn-arrow-pri\" name=\"ibm-submit\" type=\"submit\" value=\"" + PMM.buttonData.submit + "\"/></p>" + "<p class=\"ibm-second\"><input class=\"ibm-btn-cancel-sec\" name=\"ibm-cancel\" type=\"button\" value=\"" + PMM.buttonData.cancel + "\" onclick=\"IOL.hideMaskOverlay();ibmCommonDynamicNavCloseOverlay('ssoFP');\"/></p>" + "</div>" + "</form>" + "</div>" + "<div id=\"ibm-overlay-footer\">" + "</div>" + "</div>";
				ibmCommonDynamicNavSetCookie("PD-SGNPAGE", "https://www.ibm.com/dynamicnav/Controller?sid=108&country=" + dyncc + "&language=" + dynlc + "");
				ibmCommonDynamicNavSetCookie("PD-REFPAGE", currenturl);
				document.getElementById("ibm-overlay-top").style.display = "block";
				document.forms.userForm.username.focus();
			} else {
				document.getElementById("ibm-overlay-top").innerHTML = "<div id=\"ibm-overlay-masthead\">" + "<p><a href=\"javascript:void(0)\" onclick=\"IOL.hideMaskOverlay();ibmCommonDynamicNavCloseOverlay('ssoFP');\">" + PMM.buttonData.close + " [x]</a></p>" + "</div>" + "<div id=\"ibm-overlay-content\">" + "<div class=\"ibm-rule\"><hr /></div>" + "<div class=\"ibm-overlay-legal\">" + "<p><ul>" + fpNavContentMenu + "</ul></p>" + "</div>" + "<div class=\"ibm-rule\"><hr /></div>" + "</div>" + "<div id=\"ibm-overlay-footer\">" + "</div>" + "</div>";
				document.getElementById("ibm-overlay-top").style.display = "block";
			}
			var getOverlayObj = document.getElementById("ibm-overlay-top");
			var posX = 0;
			var posY = 0;
			var e = event;
			if (!e) {e = window.event;}
			if (e.pageX || e.pageY) {
				posX = e.pageX;
				posY = e.pageY;
			} else if (e.clientX || e.clientY) {
				posX = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
				posY = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
			}
			posX -= 500;
			posY += 30;
			getOverlayObj.style.position = "absolute";
			getOverlayObj.style.left = posX + "px";
			getOverlayObj.style.top = posY + "px";
			IOL.checkIE();
			if (IOL.isIE && IOL.ieVersion < 7) {
				IOL.showMaskOverlay(getOverlayObj);
			}
		};
	} else {
	//alert('no id defined for sign in link');
	}
}

function ibmCommonDynamicNavShowMrch(merchObj) {
	if (document.getElementById("ibm-merchandising-module")) {
		if (merchObj.results.length == 0) {
			document.getElementById("ibm-merchandising-module").innerHTML = tempMerchVal;
		}
	}
	if (merchObj.results.length > 0) {
		if (merchObj.results[0].result != "novalue") {
			var ibmmerch = "";
			var dynImgW;
			var dynImgH;
			var testWeight;
			if (ibmCommonDynamicNavReadIBMSource().indexOf("v16") > -1) {
				dynImgW = "168";
				dynImgH = "64";
			} else {
				dynImgW = "148";
				dynImgH = "56";
			}
			for (var k = 0; k < merchObj.results.length; k++) {
				if (merchObj.results[k].tid == 1) {
					ibmmerch += "<div class=\"ibm-container\">" + "<h2 class=\"ibm-third\">" + merchObj.results[k].title + "</h2>" + "<div class=\"ibm-container-body\">" + "<a href=\"" + merchObj.results[k].linkurl +"\">" + "<img border=\"0\" width=\"" + dynImgW + "\" height=\"" + dynImgH + "\" src=\"" + merchObj.results[k].imgsrc + "\" alt=\"" + merchObj.results[k].imgalt + "\" />" + "</a>" + "<p>" + merchObj.results[k].description + "</p>" + "<div class=\"ibm-rule\"><hr /></div>" + "<p class=\"ibm-ind-link\">" + "<a class=\"ibm-forward-link\" href=\"" + merchObj.results[k].linkurl + "\">" + merchObj.results[k].linktext + "</a>" + "</div>" + "</div>";
				} else if (merchObj.results[k].tid == 2) {
					ibmmerch += "<div class=\"ibm-container ibm-live-assistance\">" + "<h2>" + merchObj.results[k].title + "</h2>" + "<div class=\"ibm-container-body\">" + "<div class=\"ibm-portrait\"><img border=\"0\" width=\"50\" height=\"50\" src=\"" + merchObj.results[k].imgsrc + "\" alt=\"" + merchObj.results[k].imgalt + "\" />" + "<p><a class=\"ibm-feature-link\" href=\"" + merchObj.results[k].linkurl + "\">" + merchObj.results[k].description + "</a></p></div>" + "<div class=\"ibm-rule\"><hr /></div>" + "<p class=\"ibm-ind-link\">" + "<a class=\"ibm-forward-link\" href=\"" + merchObj.results[k].linkurl + "\">" + merchObj.results[k].linktext + "</a></p>" + "</div>" + "</div>";
				} else if (merchObj.results[k].tid == 3) {
					ibmmerch += "<div class=\"ibm-container ibm-alternate-three\">" + "<div class=\"ibm-container-body\">" + "<img border=\"0\" width=\"" + dynImgW + "\" height=\"" + dynImgH + "\" src=\"" + merchObj.results[k].imgsrc + "\" alt=\"" + merchObj.results[k].imgalt + "\" />" + "<h2>" + merchObj.results[k].title + "</h2>" + "<p><a href=\"" + merchObj.results[k].linkurl + "\">" + merchObj.results[k].description + "</a></p>" + "</div>" + "</div>";
				} else if (merchObj.results[k].tid == 4) {
					ibmmerch += "<div class=\"ibm-container\">" + "<h2 class=\"ibm-third\">" + merchObj.results[k].title + "</h2>" + "<div class=\"ibm-container-body\">" + "<p>" + merchObj.results[k].description + "</p>" + "<div class=\"ibm-rule\"><hr /></div>" + "<p class=\"ibm-ind-link\">" + "<a class=\"ibm-forward-link\" href=\"" + merchObj.results[k].linkurl + "\">" + merchObj.results[k].linktext + "</a>" + "</div>" + "</div>";
				}
			}
			document.getElementById("ibm-merchandising-module").innerHTML = ibmmerch;
		 //Core metrics call
		 //cmSetTest();
		} else {
			document.getElementById("ibm-merchandising-module").innerHTML = tempMerchVal;
		}
	}
}

function ibmCommonDynamicNavShowAcct(siteNameObj) {
	var siteName, companyName, siteURL;
	var rowSN = document.getElementById("ibm-site-name");
	var pghContainer = document.createElement("p");
	var spanPContainer = document.createElement("span");
	var hrefPLContainer = document.createElement("a");

	if (siteNameObj.results[0].siteName == null) {
		return;
	} else {
		for (var w = 0; w < siteNameObj.results.length; w++) {
			siteName = siteNameObj.results[w].siteName;
			companyName = siteNameObj.results[w].companyName;
			siteURL = siteNameObj.results[w].siteURL;
		}
		
		spanPContainer.setAttribute("id", "ibm-site-name-back-link");		
		hrefPLContainer.setAttribute("href", siteURL);
		hrefPLContainer.appendChild(document.createTextNode(siteName + ": " + companyName));
		spanPContainer.appendChild(document.createTextNode(" [ "));
		spanPContainer.appendChild(hrefPLContainer);
		spanPContainer.appendChild(document.createTextNode(" ]"));
		pghContainer.appendChild(spanPContainer);
		rowSN.appendChild(pghContainer);
	
		/**
		easyAccessHref.setAttribute("href", siteURL);
		easyAccessHrefB.setAttribute("href", siteURL);
		easyAccessHref.appendChild(document.createTextNode(siteName + ": "));
		rowSN.appendChild(document.createTextNode("[ "));
		rowSN.appendChild(easyAccessHref);
		easyAccessHrefB.appendChild(document.createTextNode(companyName));
		rowSN.appendChild(easyAccessHrefB);
		rowSN.appendChild(document.createTextNode(" ]"));
		**/
	}
}

function ibmCommonDynamicNavGetMIUL() {
	var nl;
	nl = getElementsInClass(document.documentElement, "ibm-myinterest");
	if (nl.length < 1) {
		//throw 'NO_SOUP_FOR_YOU';
		return false;
	}
	var uls = nl[0].getElementsByTagName("ul");
	if (uls.length < 1) {
		return false;
	} 
	return uls.item(0);
}

function ibmCommonDynamicNavGetMIMHOnLoad() {
	wiBundleSidCb.sid104 = '104:ibmCommonDynamicNavShowMI@';
	wiBundleBlock.sid104 = true;
	myIElem = ibmCommonDynamicNavGetMIUL();
	
	if (!myIElem) {
		window.setTimeout(ibmCommonDynamicNavGetMIMHOnLoad, 100);
		return;
	}
	holdOnToMI = myIElem.innerHTML;
	//loadJSCall("dynavMYMH", baseURL + "sid=104&country=" + dyncc + "&language=" + dynlc + "&callback=ibmCommonDynamicNavShowMI&ts=" + (new Date).getTime());
	wiBundleBlock.sid104 = false;
}

function ibmCommonDynamicNavGetMIMHUserInit() {
	myIElem = ibmCommonDynamicNavGetMIUL();
	if (!myIElem) {
		window.setTimeout(ibmCommonDynamicNavGetMIMHUserInit, 100);
		return;
	}
	holdOnToMI = myIElem.innerHTML;
	loadJSCall("dynavMYMH", baseURL + "sid=104&country=" + dyncc + "&language=" + dynlc + "&callback=ibmCommonDynamicNavShowMI&ts=" + (new Date).getTime());
}

function ibmCommonDynamicNavShowMI(myIObj) {
	if (myIObj.results.length == 0) {
		if (ibmCommonDynamicNavIgnService("1000")) {
			var rmMIVar = ibmCommonDynamicNavGetMIUL();
			rmMIVar.innerHTML = "";
		}
	} else {
		if (myIObj.results.length > 0) {
			if (myIObj.results[0].result) {
			} else {
				//alert('ibmCommonDynamicNavShowMI: ' + typeof myIElem);
				if(myIElem) myIElem.innerHTML = "";
				for (var w = 0; w < myIObj.results.length; w++) {
					var intElem = "myILi" + w;
					var hrefMyElem = "hrefInt" + w;
					intElem = document.createElement("li");
					hrefMyElem = document.createElement("a");
					sName = myIObj.results[w].sname;
					hRef = myIObj.results[w].href;
					hrefMyElem.setAttribute("href", hRef);
					//hrefMyElem.appendChild(document.createTextNode(sName));
					hrefMyElem.innerHTML += sName;
					intElem.appendChild(hrefMyElem);
					if(myIElem) myIElem.innerHTML += intElem.innerHTML;
				}
			}
			if(myIElem) var triggy = document.getElementById(myIElem.parentNode.id + "-trigger");
			if (triggy != null) {
				triggy.className += " ibm-unav-menu-has-child";
			}
		}
	}
}

var dynScriptCounter = 1;
var currentIncAction = "view";
var html = "";
html += "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"inc-prof\" title=\"${message}\">";
html += "<tr valign=\"top\"><td width=\"20\">";
html += "<a href=\"javascript:updateInc()\" id=\"ani-position\" onmouseout=\"incProfLow();\" onmouseover=\"incProfHigh();\">";
html += "<img alt=\"\" class=\"inc-prof\" border=\"0\" src=\"${image}\"/>";
html += "</a><br /><br /></td><td class=\"inc-prof\"><b>";
html += "<a class=\"smallplainlink\" href=\"javascript:updateInc()\" id=\"my-interests\" onmouseout=\"incProfLow();\" onmouseover=\"incProfHigh();\">${link_text}</a>";
html += "</b></td></tr></table>";
var surfaidTemplate = "http://www.ibm.com/interestareas?action=${action}&area=${dc_subject}&type=${type}&result=${result}";

function displayButtonMyInterests(obj) {
if (!PMM.buttonData) {
		setTimeout(displayButtonMyInterests, 100);
		return;
	}

	var status;
	if (obj.results.status != null) {
		status = obj.results.status;
	} else {
		status = 3;
	}
	if (obj.results.message != null) {
		displayMessage = obj.results.message;
	}
	var args = new Object;
	var h = "";
	if (status == 1) {
		args.image = "//www.ibm.com/images/account/profile/icon_1a_default.gif";
		args.link_text = PMM.buttonData.addmyinterest;
		args.message = PMM.buttonData.defaultIncProfMsg;
		currentIncAction = "add";
		h = namedParser(args, html);
	} else if (status == 2) {
		args.image = "//www.ibm.com/images/account/profile/icon_1b_default.gif";
		args.link_text = PMM.buttonData.removemyinterest;
		args.message = displayMessage;
		currentIncAction = "remove";
		h = namedParser(args, html);
	} else if (status == 4) {
		//args.image = "//www.ibm.com/images/account/profile/error.gif";
		//args.link_text = PMM.buttonData.penotavail;
		//currentIncAction = "no_action";
		//h = namedParser(args, html);
	}
	var myIntDIV = document.getElementById("ibm-myinterest-module");
	if (myIntDIV && h != null) {
		myIntDIV.innerHTML = h;
	}
	var prevState;
	if (obj.results.prevstate != null) {
		prevState = obj.results.prevstate;
	}
	if (prevState != null &&
		(prevState == "add" || prevState == "remove")) {
		var actionResult;
		if (obj.results.result != null) {
			actionResult = obj.results.result;
		}
		var args2 = new Object;
		args2.dc_subject = dynDCSub;
		args2.type = "link";
		args2.action = prevState;
		args2.result = actionResult;
		var surfaid = namedParser(args2, surfaidTemplate);
		if (typeof sa_onclick == 'function') sa_onclick(surfaid);
	}
}

function updateInc() {
	userInitiatedMI = true;
	if (clicked == true) {
		return;
	}
	var nl = getElementsInClass(document.getElementById("inc-prof"), "inc-prof");
	for (var i = 0; i < nl.length; i++) {
		nl[i].src = nl[i].src = "//www.ibm.com/images/account/profile/animation.gif";
	}
	clicked = true;
	var a = document.getElementById("ani-position");
	var img = null;
	for (var i = 0; i < a.childNodes.length; i++) {
		if (a.childNodes[i].nodeName == "IMG") {
			img = a.childNodes[i];
		}
	}
	var args2 = new Object;
	args2.dc_subject = dynDCSub;
	args2.type = "link";
	if (img.src.indexOf(incProfIconPrefix[0]) > -1) {
		args2.action = "removed";
	} else {
		args2.action = "added";
	}
	//var surfaid = namedParser(args2, surfaidTemplate);
	//if (typeof sa_onclick == 'function') sa_onclick(surfaid);
	ipInterestUserInit();
}

function showIncProf(incProfObj) {
	clicked = false;
	if(dyncc != 'jp'){
	displayButtonMyInterests(incProfObj);
	} else if(dyncc == 'jp' && (currenturl == "http://www-06.ibm.com/jp/edu/index.shtml" || currenturl == "http://www-06.ibm.com/jp/dist/index.shtml" || currenturl == "http://www-06.ibm.com/jp/manufacturing/index.shtml" || currenturl == "http://www-06.ibm.com/jp/finance/banking/index.html" || currenturl == "http://www-06.ibm.com/jp/finance/financialmarkets/index.html" || currenturl == "http://www-06.ibm.com/jp/finance/insurance/index.html" || currenturl == "http://www-06.ibm.com/jp/government/index.shtml" || currenturl == "http://www-06.ibm.com/jp/healthcare/index.shtml" || currenturl == "http://www-06.ibm.com/jp/tel-med/telecom/index.shtml" || currenturl == "http://www-06.ibm.com/jp/tel-med/media/index.shtml" || currenturl == "http://www-06.ibm.com/jp/tel-med/utilities/index.shtml")) {
	 	displayButtonMyInterests(incProfObj);
	}
	if (ibmCommonDynamicNavIgnService("1000") &&
		ibmCommonDynamicNavIgnService("104")) {
		//alert('should be alerting and showing my interests')
		if (userInitiatedMI) ibmCommonDynamicNavGetMIMHUserInit();
		myIElem = ibmCommonDynamicNavGetMIUL();
		holdOnToMI = myIElem.innerHTML;
	}
}

function namedParser(hash, string) {
	var re = /\$\{(\w+?)\}/;
	while (string.match(re)) {
		var replace = hash[RegExp.$1];
		if (replace == null) {
			replace = "";
		}
		string = string.replace(re, replace);
	}
	return string;
}

String.prototype.trim = function () {return this.replace(/^\s+/g, "").replace(/\s+$/g, "");};

function generateId() {
	var nid;
	do {
		nid = 'gi-' + Math.round(Math.random() * 0xFFFFFFFF).toString(16);
	} while (document.getElementById(nid) != null);
	return nid;
}

function getElementsInClass(el, cn) {
	var nl = new Array;
	switch (el.nodeType) {
	  case 1:
	  case 9:
	  case 11:
		if (inClass(el, cn)) {
			nl.push(el);
		}
		if (el.hasChildNodes()) {
			for (var i = 0; i < el.childNodes.length; i++) {
				nl = nl.concat(getElementsInClass(el.childNodes.item(i), cn));
			}
		}
		break;
	  default:
		break;
	}
	return nl;
}

function getEventX(ev) {
	return (ev.clientX + document.body.scrollLeft -
		document.body.clientLeft) || ev.pageX;
}

function inClass(el, cn) {
	if (typeof el.className == "undefined") {
		return false;
	}
	var cns = el.className.trim().replace(/\s+/g, " ").split(" ");
	for (var i = 0; i < cns.length; i++) {
		if (cns[i] == cn) {
			return true;
		}
	}
	return false;
}

var incProfIconPrefix = ["icon_1a_", "icon_1b_"];

function incProfHigh() {
	if (clicked) {
		return;
	}
	var nl = getElementsInClass(document.getElementById("inc-prof"), "inc-prof");
	for (var i = 0; i < nl.length; i++) {
		if (nl[i].nodeName == "A") {
			nl[i].style.textDecoration = "underline";
		} else if (nl[i].nodeName == "IMG") {
			nl[i].src = nl[i].src.replace(/default\.gif/, "over.gif");
		}
	}
}

function incProfLow() {
	if (clicked) {
		return;
	}
	var nl = getElementsInClass(document.getElementById("inc-prof"), "inc-prof");
	for (var i = 0; i < nl.length; i++) {
		if (nl[i].nodeName == "A") {
			nl[i].style.textDecoration = "none";
		} else if (nl[i].nodeName == "IMG") {
			nl[i].src = nl[i].src.replace(/over\.gif/, "default.gif");
		}
	}
}

function incProfToggle() {
	var a = null;
	var img = null;
	var nl = getElementsInClass(document.getElementById("inc-prof"),
		"inc-prof");
	for (var i = 0; i < nl.length; i++) {
		if (nl[i].nodeName == "A") {
			a = nl[i];
		} else if (nl[i].nodeName == "IMG") {
			img = nl[i];
		}
	}
	while (a.hasChildNodes()) {
		a.removeChild(a.firstChild);
	}
	if (img.src.indexOf(incProfIconPrefix[0]) == -1) {
		a.appendChild(document.createTextNode(PMM.buttonData.addmyinterest));
		img.src = incProfIconPrefix[0] + "over.gif";
	} else {
		a.appendChild(document.createTextNode(PMM.buttonData.removemyinterest));
		img.src = incProfIconPrefix[1] + "over.gif";
	}
	ipInterestUserInit();
}

PMM.ready = false;
PMM.blowOut = function () {
	var ch = 0, evt = arguments[1], trig = arguments[0];
	var x = getEventX(evt);
	x += trig.offsetWidth * 1.8;
	if (typeof window.innerWidth == "number") {
		ch = window.innerWidth;
	} else if (document.documentElement.clientWidth) {
		ch = document.documentElement.clientWidth;
	} else if (document.body.clientWidth) {
		ch = document.body.clientWidth;
	}
	if (x > ch) {
		return true;
	}
	return false;
}
PMM.checkGecko = function () {
	var ts = [], ua = navigator.userAgent.toLowerCase(), v = 0;
	PMM.isGecko = ua.indexOf("gecko") != -1 && ua.indexOf("khtml") == -1;
	if (!PMM.isGecko) {
		return;
	}
	ts = ua.split("rv:");
	if (ts.length > 1) {
		v = parseFloat(ts[1]);
	}
	PMM.geckoVersion = isNaN(v) ? 0 : v;
}
PMM.checkIE = function () {
	var m = "msie", u = navigator.userAgent.toLowerCase(), v = 0;
	var mi = u.indexOf(m);
	if (u.indexOf("opera") == -1 && mi != -1) {
		PMM.isIE = true;
		v = parseFloat(u.substring(mi + m.length).replace(/^[^0-9]+/, ""));
	} else {
		PMM.isIE = false;
	}
	PMM.ieVersion = isNaN(v) ? 0 : v;
}
PMM.checkOldOpry = function () {
	var str = "opera", ua = navigator.userAgent.toLowerCase();
	var si = ua.indexOf(str);
	if (si == -1) {
		PMM.oldOpera = false;
		return;
	}
	var ver = parseFloat(ua.substring(si + str.length));
	if (ver < 9) {
		PMM.oldOpera = true;
	} else {
		PMM.oldOpera = false;
	}
}
PMM.createExtendedHitBox = function () {
	var el = document.createElement("span");
	if (PMM.oldOpera) {
		return el;
	}
	var id = arguments[0];
	var img = document.createElement("img");
	img.alt = "";
	img.src = "//www.ibm.com/i/c.gif";
	el.className = "ibm-unav-menu-ehb";
	el.id = id + "-ehb";
	el.onmouseover = function () {PMM.showMenu(this, id);};
	el.onmouseout = function () {PMM.hideMenu(this, id);};
	el.appendChild(img);
	document.getElementsByTagName("body").item(0).appendChild(el);
	return el;
}
PMM.getIELayoutValue = function () {
	return PMM.ieVersion < 5.5 ? "block" : "inline-block";
}
PMM.getParentMenu = function (el) {
	var nn = null, par = el.parentNode;
	while (!inClass(par, "ibm-unav-menu")) {
		par = par.parentNode;
		nn = par.nodeName.toLowerCase();
		if (nn == "body" || nn == "html") {
			return null;
		}
	}
	return par;
}
PMM.getX = function (el) {
	var x = 0;
	if (el.offsetParent) {
		while (el.offsetParent) {
			x += el.offsetLeft;
			el = el.offsetParent;
		}
	} else if (el.x) {
		x += el.x;
	}
	return x;
}
PMM.getY = function (el) {
	var y = 0;
	if (el.offsetParent) {
		while (el.offsetParent) {
			y += el.offsetTop;
			el = el.offsetParent;
		}
	} else if (el.y) {
		y += el.y;
	}
	return y;
}
PMM.hideAll = function () {
	if (typeof PMM.menuCache == "undefined") {
		PMM.menuCache =
			getElementsInClass(document.getElementById("ibm-universal-nav"),
			"ibm-unav-menu");
	}
	for (var i = 0; i < PMM.menuCache.length; i++) {
		PMM.hideMenu(null, PMM.menuCache[i].id);
	}
}
PMM.hideExtendedHitBox = function () {
	if (PMM.oldOpera) return;
	var el = document.getElementById(arguments[0] + "-ehb");
	el.style.display = "none";
}
PMM.hideMask = function () {
	var mask = document.getElementById(arguments[0].id + "-mask");
	if (mask != null) {
		mask.style.display = "none";
	}
}
PMM.hideMenu = function () {
	if (!PMM.ready) return;
	PMM.hideExtendedHitBox(arguments[1]);
	var el = document.getElementById(arguments[1]);
	if (PMM.isIE && PMM.ieVersion < 7) {
		PMM.hideMask(el);
	}
	el.style.display = "none";
	var trigger = document.getElementById(el.id + "-trigger");
	if (trigger && trigger.className) {
		trigger.className = trigger.className.replace(/ibm-is-active/, "");
	}
}
PMM.init = function () {
	if (PMM.initialized || !PMM.menuData ||
		document.getElementById("ibm-unav-home") == null) {
		PMM.retry(PMM.init);
		return;
	}
	PMM.initialized = true;
	PMM.checkGecko();
	PMM.checkIE();
	PMM.checkOldOpry();
	if (!document.getElementById) return;
	if (PMM.isIE && PMM.ieVersion < 5.5) return;
	if (PMM.isGecko && PMM.geckoVersion < 1.8) return;
	PMM.unav = [document.getElementById("ibm-unav-home"), document.getElementById("ibm-unav-solutions"), document.getElementById("ibm-unav-services"), document.getElementById("ibm-unav-products"), document.getElementById("ibm-unav-support"), document.getElementById("ibm-unav-myibm")];
	if (ibmCommonDynamicNavIgnService("1000")) {
		for (var i = 0; i < PMM.unav.length; i++) {
			if (typeof PMM.unav[i] != "object" ||
				PMM.unav[i] == null ||
				typeof PMM.menuData == "undefined" ||
				PMM.menuData[i].length < 1) {
				continue;
			}
			if (typeof PMM.menuData[i].child == "undefined" ||
				PMM.menuData[i].child == null) {
				continue;
			}
			var a = null, al = PMM.unav[i].getElementsByTagName("a"), d = PMM.objectToMenu(PMM.menuData[i].child);
			if (al.length > 0) {
				a = al.item(0);
				a.className += " ibm-unav-has-child";
			}
			PMM.unav[i].onmouseover = new Function("PMM.showMenu(this, \"" + d.id + "\")");
			PMM.unav[i].onmouseout = new Function("PMM.hideMenu(this, \"" + d.id + "\")");
			PMM.unav[i].appendChild(d);
		}
	}
	if (typeof window.onresize == "object" && window.onresize != null) {
		var oor = window.onresize;
		window.onresize = function () {oor();PMM.onresize();};
	} else {
		window.onresize = PMM.onresize;
	}
	PMM.ready = true;
}
PMM.objectToMenu = function () {
	var a = document.createElement("a"), d = document.createElement("div"), u = document.createElement("ul");
	a.className = "ibm-access";
	d.className = "ibm-unav-menu";
	d.id = generateId();
	d.onmouseover = function () {PMM.showMenu(null, d.id);};
	d.onmouseout = function () {PMM.hideMenu(null, d.id);};
	for (var i = 0; i < arguments[0].length; i++) {
		u.appendChild(PMM.objectToMenuItem(arguments[0][i]));
	}
	d.appendChild(PMM.createExtendedHitBox(d.id));
	d.appendChild(a);
	d.appendChild(u);
	return d;
}
PMM.objectToMenuItem = function () {
	var a = document.createElement("a"), li = document.createElement("li"), m = null;
	if (PMM.isIE) {
		a.style.display = PMM.getIELayoutValue();
	}
	a.appendChild(document.createTextNode(arguments[0].title));
	if (arguments[0].url) {
		a.setAttribute("href", arguments[0].url);
	}
	if (arguments[0].child != null) {
		m = PMM.objectToMenu(arguments[0].child);
	} else if (arguments[0].extraClass) {
		m = PMM.objectToMenu([]);
	}
	if (m != null) {
		if (arguments[0].extraClass) {
			m.className += " ibm-" + arguments[0].extraClass;
		} else {
			a.className += " ibm-unav-menu-has-child";
		}
		a.id = m.id + "-trigger";
		a.onmouseover = function (e) {var ev = e ? e : window.event;PMM.showMenu(this, m.id, ev);};
		a.onmouseout = function () {PMM.hideMenu(this, m.id);};
		li.appendChild(a);
		li.appendChild(m);
	} else {
		li.appendChild(a);
	}
	return li;
}
PMM.onresize = function () {
	var nl = getElementsInClass(document.documentElement, "ibm-unav-menu");
	for (var i = 0; i < nl.length; i++) nl[i].style.left = "";
}
PMM.putIEMask = function () {
	var target = arguments[0], ifr = document.createElement("iframe");
	ifr.setAttribute("src", "//www.ibm.com/i/c.gif");
	ifr.className = "ibm-unav-mask";
	ifr.id = target.id + "-mask";
	target.parentNode.insertBefore(ifr, target);
	return ifr;
}
PMM.retry = function () {
	if (arguments.length != 1 || typeof arguments[0] != "function") {
		throw "PMM.retry: Invalid parameter.";
	}
	return window.setTimeout(arguments[0], 100);
}
PMM.setPosition = function (trigger, target, evt) {
	if (trigger.nodeName.toLowerCase() == "li") {
		target.style.left = PMM.getX(trigger) + "px";
	} else {
		if (!PMM.isIE) {
			target.style.top = trigger.offsetTop - 1 + "px";
		}
		if (evt != null && PMM.blowOut(trigger, evt)) {
			target.style.left = trigger.offsetWidth - trigger.offsetWidth * 2 + 7 + "px";
		} else {
			target.style.left = trigger.offsetWidth - 11 + "px";
		}
	}
}
PMM.showExtendedHitBox = function () {
	if (PMM.oldOpera) return;
	var el = document.getElementById(arguments[0].id + "-ehb");
	el.style.display = "block";
	el.style.height = arguments[0].offsetHeight + 16 + "px";
}
PMM.showMask = function () {
	var target = arguments[0];
	var mask = document.getElementById(target.id + "-mask");
	if (mask == null) mask = PMM.putIEMask(target);
	mask.style.height = target.offsetHeight + "px";
	mask.style.width = target.offsetWidth + "px";
	mask.style.left = target.style.left;
	mask.style.top = target.style.top;
	mask.style.display = "block";
}
PMM.showMenu = function () {
	if (!PMM.ready) return;
	var evt = arguments[2] ? arguments[2] : null, nl = null, trigger = arguments[0], target = document.getElementById(arguments[1]);
	var cl = target.getElementsByTagName("a");
	if (cl.length < 2) return;
	PMM.showParentMenu(target);
	if (trigger == null)
		trigger = document.getElementById(target.id + "-trigger");
	if (trigger != null) {
		trigger.className += " ibm-is-active";
		if (!target.style.left) PMM.setPosition(trigger, target, evt);
	}
	target.style.display = "block";
	if (PMM.isIE && PMM.ieVersion < 7) PMM.showMask(target);
	PMM.showExtendedHitBox(target);
	nl = target.getElementsByTagName("a");
	if (nl.length > 0) nl.item(0).focus();
}
PMM.showParentMenu = function (el) {
	var par = PMM.getParentMenu(el);
	if (par != null) par.style.display = "block";
}

dyNavInit();

function wiBundleCall () {
	for (block in wiBundleBlock) {
		if (wiBundleBlock[block]) {
			setTimeout(wiBundleCall, 100);
			return;
		}
	}
	
	var wiBundleSidCbJoin = "";
	for (val in wiBundleSidCb) wiBundleSidCbJoin += wiBundleSidCb[val];
	
	var wiBundleParmsJoin = "";
	for (val in wiBundleParms) wiBundleParmsJoin += wiBundleParms[val];

	loadJSCall("wiBundle", "https://www.ibm.com/dynamicnav/Controller?sid=111&sidCb=" + wiBundleSidCbJoin + wiBundleParmsJoin + "&ts=" + (new Date).getTime() + "&country=" + dyncc + "&language=" + dynlc);
}

