// JavaScript Document

/**************************************************
* Global Vars
**************************************************/

//Detect if buildPage() has already been executed
var pageAlreadyBuilt = false;

//Browser detection vars
var ie = document.all;
var ns6 = document.getElementById && !document.all;

//Location vars
//Compliance Coach domains
var liveCCoachDomain = "compliancecoach.com";
var devCCoachExternalDomain = "206.15.67.69";
var devCCoachLocalDomain = "192.168.24.225";
//Compliance Summit domains
var liveCSummitDomain = "compliancesummit.com";
var devCSummitExternalDomain = "206.15.67.71";
var devCSummitLocalDomain = "192.168.24.227";
//Dynamic domain vars
var ccoachDomain;
var csummitDomain;

//Nav menu vars
var cpalNav;
var criNav;
var reguNav;
var consultingNav;
var newsNav;
var thoughtNav;
var summitNav;
var customersNav;
var partnershipsNav;
var aboutNav;
var riskNav;
var solutionsNav;

/**************************************************
* Build Page functions
**************************************************/

function buildPage() {
	if (pageAlreadyBuilt) { //if buildPage() has already been called, don't execute again
		/*alert("buildPage() has been called more than once.");*/
		return;
	}
	pageAlreadyBuilt = true;
	initDomain(); //determines what site the script is running on and assigns corresponding domains
	initNav(); //populates nav vars
	buildHeader(); //builds site header
	buildMainNav(); //builds main nav
	buildFooter(); //builds footer nav
	populatePage(); //populates dynamic content (primarily side nav menus)
}

function initDomain() {
	var loc = window.location.href;
	if (loc.match(liveCCoachDomain) || loc.match(liveCSummitDomain)) { //if on a live server
		ccoachDomain = "www."+liveCCoachDomain;
		csummitDomain = "www."+liveCSummitDomain;
	}
	if (loc.match(devCCoachExternalDomain) || loc.match(devCSummitExternalDomain)) { //if on a development server using an external IP
		ccoachDomain = devCCoachExternalDomain;
		csummitDomain = devCSummitExternalDomain;
	}
	if (loc.match(devCCoachLocalDomain) || loc.match(devCSummitLocalDomain)) { //if on a development server using a local IP
		ccoachDomain = devCCoachLocalDomain;
		csummitDomain = devCSummitLocalDomain;
	}
}

function getDomain(target) { //returns appropriate target domain based on current location; must be requested after initDomain() runs
	switch (target) {
		case 'ccoach':
			return ccoachDomain;
			break;
		case 'csummit':
			return csummitDomain;
			break;
		default:
			alert("Domain request not specified.");
	}
}

function initNav() { //populate nav vars
	cpalNav = "<a href=\"http://"+ccoachDomain+"/compliancepal/\">Main</a><br />\
		<a href=\"http://"+ccoachDomain+"/compliancepal/solutions.html\">Solution</a><br />\
		<a href=\"http://"+ccoachDomain+"/compliancepal/facts.html\">FACTS</a><br />\
		<a href=\"http://"+ccoachDomain+"/compliancepal/faqs.html\">FAQs</a><br />\
		<a href=\"http://"+ccoachDomain+"/compliancepal/webinars.html\">Webinars</a><br />\
		<a href=\"http://"+ccoachDomain+"/compliancepal/pricing.html\">Pricing</a><br />\
		<a href=\"http://"+ccoachDomain+"/compliancepal/testimonials.html\">Testimonials</a><br />\
		<a href=\"http://"+ccoachDomain+"/compliancepal/viewdemo.html\">View Demo</a><br />\
		<a href=\"http://"+ccoachDomain+"/compliancepal/press.html\">Press</a><br />\
		<a href=\"https://www.compliancepal.com/compliancepal/home?cmd=homeCommandHandler&actionToForwardLoginOrRegisterPage=registerationPage\" target=\"_blank\">Buy Now</a>";
	
	criNav = "<a href=\"http://"+ccoachDomain+"/cri/\">Main</a><br />\
		<a href=\"http://"+ccoachDomain+"/cri/solution.html\">Solution</a><br />\
		<a href=\"http://"+ccoachDomain+"/cri/faqs.html\">FAQs</a><br />\
		<a href=\"http://"+ccoachDomain+"/cri/screens.html\">Screen Shots</a><br />\
		<a href=\"http://"+ccoachDomain+"/cri/demoCri.html\" target=\"_blank\">View Demo</a><br />\
		<a href=\"http://"+ccoachDomain+"/cri/pricequote.html\">Price Quote</a>";
	
	reguNav = "<a href=\"http://"+ccoachDomain+"/regulatoryu/\">Main</a><br />\
		<a href=\"http://"+ccoachDomain+"/regulatoryu/solution.html\">Solution</a><br />\
		<a href=\"http://"+ccoachDomain+"/regulatoryu/firstinnation.html\">Always First in the Nation</a><br />\
		<a href=\"http://"+ccoachDomain+"/regulatoryu/faqs.html\">FAQs</a><br />\
		<a href=\"http://"+ccoachDomain+"/regulatoryu/samples.html\">Sample Courses</a><br />\
		<a href=\"http://"+ccoachDomain+"/regulatoryu/lms.html\">LMS</a><br />\
		<a href=\"http://"+ccoachDomain+"/regulatoryu/courselistings.html\">Course Listing</a><br />\
		<a href=\"http://"+ccoachDomain+"/regulatoryu/demoComp.html\" target=\"_blank\">View Demo</a><br />\
		<a href=\"http://"+ccoachDomain+"/regulatoryu/hipaa.html\">HIPAA Training</a><br />\
		<a href=\"http://"+ccoachDomain+"/ondemand.html\">onDemand eLearning</a><br />\
		<a href=\"http://"+ccoachDomain+"/regulatoryu/pricequote.html\">Price Quote</a>";
	
	consultingNav = "<a href=\"http://"+ccoachDomain+"/consulting/solution.html\">Solution</a><br />\
		<a href=\"http://"+ccoachDomain+"/consulting/facts.html\">Case Studies</a><br />\
		<a href=\"http://"+ccoachDomain+"/consulting/websitereviews.html\">Website Reviews</a><br />\
		<a href=\"http://"+ccoachDomain+"/consulting/signup.html\">Price Quote</a>";
	
	newsNav = "<a href=\"http://"+ccoachDomain+"/news.html\">Recent Headlines</a><br />\
		<a href=\"http://"+ccoachDomain+"/laws.html\">Upcoming Laws</a><br />\
		<a href=\"http://"+ccoachDomain+"/press.html\">Press Releases</a>";
	
	thoughtNav = "<a href=\"http://"+ccoachDomain+"/events.html\">Upcoming Events</a><br />\
		<a href=\"http://"+ccoachDomain+"/compliancesummit/\">Compliance Summit</a><br />\
		<a href=\"http://"+ccoachDomain+"/webinars.html\">Webinars</a><br />\
		<a href=\"http://"+ccoachDomain+"/risk.html\">Risk Management</a><br />\
		<a href=\"http://"+ccoachDomain+"/identitytheft.html\">Identity Theft</a><br />\
		<a href=\"http://"+ccoachDomain+"/mortgagefraud.html\">Mortgage Fraud</a><br />\
		<a href=\"http://"+ccoachDomain+"/fairlending.html\">Fair Lending</a><br />\
		<a href=\"http://"+ccoachDomain+"/respa/\">RESPA Training</a>";
	
	summitNav = "<a href=\"http://"+ccoachDomain+"/compliancesummit/\">Main</a><br />\
		<a href=\"http://"+ccoachDomain+"/compliancesummit/agenda.html\">Agenda</a><br />\
		<a href=\"http://"+ccoachDomain+"/compliancesummit/details.html\">Details &amp; Cost</a><br />\
		<a href=\"http://"+ccoachDomain+"/compliancesummit/hotelInfo.html\">Hotel Information</a><br />\
		<a href=\"http://"+ccoachDomain+"/compliancesummit/virtualSummit.html\">Virtual Summit</a><br />\
		<a href=\"http://"+ccoachDomain+"/compliancesummit/contact.html\">Contact Us</a><br />\
		<a href=\"https://"+csummitDomain+"/cgi/csummit_reg.cgi\">Register</a>";
	
	customersNav = "<a href=\"http://"+ccoachDomain+"/testimonials.html\">Testimonials</a><br />\
		<a href=\"http://"+ccoachDomain+"/banks.html\">Banks</a><br />\
		<a href=\"http://"+ccoachDomain+"/creditunions.html\">Credit Unions</a><br />\
		<a href=\"http://"+ccoachDomain+"/financialservices.html\">Financial Services</a><br />\
		<a href=\"http://"+ccoachDomain+"/regulators.html\">Regulators</a><br />\
		<a href=\"http://"+ccoachDomain+"/hospitals.html\">Hospitals</a><br />\
		<a href=\"http://"+ccoachDomain+"/mortgage.html\">Mortgage Services</a><br />\
		<a href=\"http://"+ccoachDomain+"/consumerservices.html\">Consumer Services</a><br />\
		<a href=\"http://"+ccoachDomain+"/utilities.html\">Utilities</a><br />\
		<a href=\"http://"+ccoachDomain+"/auto.html\">Auto Industry</a>";
	
	partnershipsNav = "<a href=\"http://"+ccoachDomain+"/relationships.html\">Relationships</a><br />\
		<a href=\"http://"+ccoachDomain+"/inquire.html\">Inquire</a>";
	
	aboutNav = "<a href=\"http://"+ccoachDomain+"/mission.html\">Mission</a><br />\
		<a href=\"http://"+ccoachDomain+"/history.html\">History</a><br />\
		<a href=\"http://"+ccoachDomain+"/board.html\">Board of Directors</a><br />\
		<a href=\"http://"+ccoachDomain+"/team.html\">Executive Team</a><br />\
		<a href=\"http://"+ccoachDomain+"/aboutpress.html\">Press</a><br />\
		<a href=\"http://"+ccoachDomain+"/ceo.html\">CEO</a><br />\
		<a href=\"http://"+ccoachDomain+"/contact.html\">Contact Us</a>";
	
	riskNav = "<a href=\"http://"+ccoachDomain+"/riskOne.html\">Risk Issue #1</a><br />\
		<a href=\"http://"+ccoachDomain+"/riskTwo.html\">Risk Issue #2</a><br />\
		<a href=\"http://"+ccoachDomain+"/riskThree.html\">Risk Issue #3</a><br />\
		<a href=\"http://"+ccoachDomain+"/riskFour.html\">Risk Issue #4</a><br />\
		<a href=\"http://"+ccoachDomain+"/riskFive.html\">Risk Issue #5</a>";
	
	solutionsNav = "<a href=\"http://"+ccoachDomain+"/compliancepal/\">CompliancePal</a><br />\
		<a href=\"http://"+ccoachDomain+"/cri/\">Compliance Risk Indicator</a><br />\
		<a href=\"http://"+ccoachDomain+"/regulatoryu/\">Regulatory University</a><br />\
		<a href=\"http://"+ccoachDomain+"/consulting/solution.html\">Consulting</a>";
	
	respaNav = "<a href=\"http://"+ccoachDomain+"/respa/respaguide.html\">Get the FREE Guide</a><br />\
		<a href=\"http://"+ccoachDomain+"/respawebinar.html\">RESPA Webinars</a><br />\
		<a href=\"http://"+ccoachDomain+"/respa/customwebinar.html\">RESPA Custom Webinars</a><br />\
		<a href=\"http://"+ccoachDomain+"/ondemand.html\">onDemand eLearning</a>";
}

function buildHeader() { //populate site header
	var header = document.getElementById('mainHeader');
	if (header) {
		header.innerHTML = "<p><span style=\"float: left; padding-bottom: 15px;\"><a href=\"http://"+ccoachDomain+"/\"><img src=\"/images/ccoachlogo.jpg\" border=\"0\" alt=\"CCoach Logo\" align=\"left\" /></a></span><span style=\"float: right;\"><img src=\"/images/callus.jpg\" border=\"0\" alt=\"Call Today\" /></span></p>";
	} else { //error handler
		alert("Errors/bugs in the code.  Please contact Compliance Coach");
	}
}

function buildMainNav() { //populate main navigation menu
	var mainNav = document.getElementById('mainNavMenu');
	if (mainNav) {
		mainNav.innerHTML = "<a class=\"navLink\" href=\"http://"+ccoachDomain+"/\">Home</a>\
			<a class=\"navLink\" href=\"#\" onclick=\"return clickreturnvalue();\" onmouseover=\"dropdownmenu(this, event, 'navmenu2');\">Solutions</a>\
			<a class=\"navLink\" href=\"#\" onclick=\"return clickreturnvalue();\" onmouseover=\"dropdownmenu(this, event, 'navmenu3');\">News</a>\
			<a class=\"navLink\" href=\"#\" onclick=\"return clickreturnvalue();\" onmouseover=\"dropdownmenu(this, event, 'navmenu4');\">Thought Leadership</a>\
			<a class=\"navLink\" href=\"#\" onclick=\"return clickreturnvalue();\" onmouseover=\"dropdownmenu(this, event, 'navmenu5');\">Customers</a>\
			<a class=\"navLink\" href=\"#\" onclick=\"return clickreturnvalue();\" onmouseover=\"dropdownmenu(this, event, 'navmenu6');\">Endorsements/Partnerships</a>\
			<a class=\"navLink\" href=\"#\" onclick=\"return clickreturnvalue();\" onmouseover=\"dropdownmenu(this, event, 'navmenu7');\">About Us</a>\
			<a class=\"loginLink\" href=\"#\" onclick=\"return clickreturnvalue();\" onmouseover=\"dropdownmenu(this, event, 'navmenu8');\">Log In To Products</a>\
			<div id=\"navmenu2\" class=\"linkmenu\" style=\"width: 175px;\">\
				<a href=\"http://"+ccoachDomain+"/compliancepal/\">CompliancePal</a>\
				<a href=\"http://"+ccoachDomain+"/cri/\">Compliance Risk Indicator</a>\
				<a href=\"http://"+ccoachDomain+"/regulatoryu/\">Regulatory University</a>\
				<a href=\"http://"+ccoachDomain+"/respa/\">RESPA Training</a>\
				<a href=\"http://"+ccoachDomain+"/regulatoryu/hipaa.html\">HIPAA Training</a>\
				<a href=\"http://"+ccoachDomain+"/consulting/solution.html\">Consulting</a>\
			</div>\
			<div id=\"navmenu3\" class=\"linkmenu\" style=\"width: 150px;\">\
				<a href=\"http://"+ccoachDomain+"/news.html\">Recent Headlines</a>\
				<a href=\"http://"+ccoachDomain+"/laws.html\">Upcoming Laws</a>\
				<a href=\"http://"+ccoachDomain+"/press.html\">Press Releases</a>\
			</div>\
			<div id=\"navmenu4\" class=\"linkmenu\" style=\"width: 150px;\">\
				<a href=\"http://"+ccoachDomain+"/events.html\">Upcoming Events</a>\
				<a href=\"http://"+ccoachDomain+"/compliancesummit/\">Compliance Summit</a>\
				<a href=\"http://"+ccoachDomain+"/webinars.html\">Webinars</a>\
				<a href=\"http://"+ccoachDomain+"/risk.html\">Risk Management</a>\
				<a href=\"http://"+ccoachDomain+"/identitytheft.html\">ID Theft</a>\
				<a href=\"http://"+ccoachDomain+"/mortgagefraud.html\">Mortgage Fraud</a>\
				<a href=\"http://"+ccoachDomain+"/fairlending.html\">Fair Lending</a>\
				<a href=\"http://"+ccoachDomain+"/respa/\">RESPA</a>\
			</div>\
			<div id=\"navmenu5\" class=\"linkmenu\" style=\"width: 150px;\">\
				<a href=\"http://"+ccoachDomain+"/testimonials.html\">Testimonials</a>\
				<a href=\"http://"+ccoachDomain+"/banks.html\">Banks</a>\
				<a href=\"http://"+ccoachDomain+"/creditunions.html\">Credit Unions</a>\
				<a href=\"http://"+ccoachDomain+"/financialservices.html\">Financial Services</a>\
				<a href=\"http://"+ccoachDomain+"/regulators.html\">Regulators</a>\
				<a href=\"http://"+ccoachDomain+"/hospitals.html\">Hospitals</a>\
				<a href=\"http://"+ccoachDomain+"/mortgage.html\">Mortgage Companies</a>\
				<a href=\"http://"+ccoachDomain+"/consumerservices.html\">Consumer Services</a>\
				<a href=\"http://"+ccoachDomain+"/utilities.html\">Utilities</a>\
				<a href=\"http://"+ccoachDomain+"/auto.html\">Auto Industry</a>\
			</div>\
			<div id=\"navmenu6\" class=\"linkmenu\" style=\"width: 175px;\">\
				<a href=\"http://"+ccoachDomain+"/relationships.html\">Relationships</a>\
				<a href=\"http://"+ccoachDomain+"/inquire.html\">Inquire</a>\
			</div>\
			<div id=\"navmenu7\" class=\"linkmenu\" style=\"width: 135px;\">\
				<a href=\"http://"+ccoachDomain+"/mission.html\">Mission</a>\
				<a href=\"http://"+ccoachDomain+"/history.html\">History</a>\
				<a href=\"http://"+ccoachDomain+"/board.html\">Board of Directors</a>\
				<a href=\"http://"+ccoachDomain+"/team.html\">Executive Team</a>\
				<a href=\"http://"+ccoachDomain+"/aboutpress.html\">Press</a>\
				<a href=\"http://"+ccoachDomain+"/ceo.html\">CEO</a>\
				<a href=\"http://"+ccoachDomain+"/contact.html\">Contact Us</a>\
			</div>\
			<div id=\"navmenu8\" class=\"loginMenu\" style=\"width: 208px;\">\
				<a href=\"https://www.compliancepal.com/compliancepal/login\" target=\"_blank\">CompliancePal</a>\
				<a href=\"https://www.complianceriskindicator.com/cri/access\" target=\"_blank\">Compliance Risk Indicator</a>\
				<a href=\"https://www.regulatoryu.com/clients/index.html\" target=\"_blank\">Regulatory University</a>\
				<a href=\"https://ondemand.regulatoryu.com/\" target=\"_blank\">Regulatory University onDemand</a>\
			</div>";
		searchLinks(mainNav,'mainNav'); //deactivate current page link
	} else { //error handler
		alert("Errors/bugs in the code.  Please contact Compliance Coach");
	}
}

function buildFooter() { //populate footer navigation menu
	var footer = document.getElementById('mainFooter');
	if (footer) {
		footer.innerHTML = "<span style=\"float: left;\">\
								<a class=\"footLink\" href=\"http://"+ccoachDomain+"/\">Home</a>\
								<a class=\"footLink\" href=\"http://"+ccoachDomain+"/solutions.html\">Solutions</a>\
								<a class=\"footLink\" href=\"http://"+ccoachDomain+"/news.html\">News</a>\
								<a class=\"footLink\" href=\"http://"+ccoachDomain+"/events.html\">Thought Leadership</a>\
								<a class=\"footLink\" href=\"http://"+ccoachDomain+"/testimonials.html\">Customers</a>\
								<a class=\"footLink\" href=\"http://"+ccoachDomain+"/relationships.html\">Endorsements/Partnerships</a>\
								<a class=\"footLink\" href=\"http://"+ccoachDomain+"/contact.html\">About Us</a>\
							</span>\
							<span style=\"float: right;\">Compliance Coach &copy; 2009 &nbsp;|&nbsp; \
								<a class=\"footLink\" href=\"http://"+ccoachDomain+"/privacy.html\">Privacy Policy</a>\
								<a class=\"footLink\" href=\"http://"+ccoachDomain+"/legal.html\">Legal</a>\
							</span>";
	} else { //error handler
		alert("Errors/bugs in the code.  Please contact Compliance Coach");
	}
}

function populatePage() { //populate dynamic content
	var idSearch = new Array();
	idSearch["cpalSideNav"] = cpalNav;
	idSearch["criSideNav"] = criNav;
	idSearch["reguSideNav"] = reguNav;
	idSearch["consultingSideNav"] = consultingNav;
	idSearch["newsSideNav"] = newsNav;
	idSearch["thoughtSideNav"] = thoughtNav;
	idSearch["summitSideNav"] = summitNav;
	idSearch["customersSideNav"] = customersNav;
	idSearch["partnershipsSideNav"] = partnershipsNav;
	idSearch["aboutSideNav"] = aboutNav;
	idSearch["riskSideNav"] = riskNav;
	idSearch["solutionsSideNav"] = solutionsNav;
	idSearch["respaSideNav"] = respaNav;
	
	for (var x in idSearch) {
		var el = document.getElementById(x);
		if (el && el.id==x) {
			el.innerHTML = idSearch[x];
			var re = /SideNav/;
			if (re.test(x)) { //if dynamic content is a side nav menu
				searchLinks(el,'sideNav'); //deactivate current page link
			}
		}
	}
}

function searchLinks(el,x) { //run through links and determine if the target is currently displayed
	var links = el.getElementsByTagName('a');
	var regex = new RegExp('');
	var path = window.location.href;
	var poundlocation = path.lastIndexOf('#');
	if (poundlocation != -1) {
		path = path.substring(0,poundlocation);
	}
	for (var i in links) {
		var regex = new RegExp(links[i].href + '$');
		if (regex.test(path) && links[i].className != 'navLink') { //deactivate current page link
			switch (x) {
				case 'sideNav':
					links[i].className = "currentLeftLink";
					links[i].onclick = returnFalse;
					break;
				case 'mainNav':

					links[i].className = "currentMainLink";
					links[i].onclick = returnFalse;
					break;
			}
			break;
		}
	}
}

/*function pageCheck(obj) {
	var path = window.location.href;
	//var regex = new RegExp('');
	//var str = new String(obj.href + '$');
	//regex.compile(str);
	var regex = new RegExp(obj.href + '$');
	if (regex.test(path)) {
		return false;
	} else {
		return true;
	}
}*/

function returnFalse() {
	return false;
}

/**************************************************
* The following code can drive the popups on the site
* It will display above the mouse over element by default or below if there's not enough room
**************************************************/

function ieWindow() { return (document.compatMode && document.compatMode!="BackCompat") ? document.documentElement : document.body }

function showPop(tag,verticalAdjustment) {
	document.getElementById(tag).style.visibility='visible';
	document.getElementById(tag).style.display='block';
	positionPop(tag,verticalAdjustment);
}
function hidePop(tag) {
	document.getElementById(tag).style.visibility='hidden';
	document.getElementById(tag).style.display='none';
}
function positionPop(tag,verticalAdjustment) {
	var popup = document.getElementById(tag);
	var spacer = document.getElementById(verticalAdjustment);
	var heightPopup = popup.offsetHeight;
	var heightSpacer = spacer.offsetHeight;
	
	popup.style.top = (heightPopup+heightSpacer+5)*(-1)+'px';
	
	var pagePos = ie&&!window.opera? ieWindow().scrollTop : window.pageYOffset;
	var popupPos = findYPos(popup);
	
	if (popupPos-pagePos < 0) {
		popup.style.top = (5)+'px';
	}
}
function findYPos(obj) {
	var curtop = 0;
	if (obj.offsetParent) {
		do {
			curtop += obj.offsetTop
		} while (obj = obj.offsetParent);
	return curtop;
	}
}

/**************************************************
* The following function will add onload events while preserving onload events already added from other scripts.
* Any inline onload event(s) on the target <body> tag will overwrite the function calls added here.
**************************************************/

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}
addLoadEvent(buildPage);