function msPopUpLink() {
	var pathRegExp = new RegExp("^.*:\/\/.*");
	var domainRegExp = new RegExp("(^.*:\/\/)" + document.domain + "(.*)", "i");
	var classRegExp = new RegExp("(^|\\s)popuplink(\\s|$)");
	var e = document.getElementsByTagName('body')[0];
	if(e) {
		var a = e.getElementsByTagName('a');
		for(var i=0; i<a.length; i++){
			if((pathRegExp.test(a[i].getAttribute('href')) && !domainRegExp.test(a[i].getAttribute('href'))) || classRegExp.test(a[i].className)) {
				if(!classRegExp.test(a[i].className)) {
					a[i].className += a[i].className?' popuplink':'popuplink';
				}
				a[i].title += a[i].title?' (opens in a new window)':'Opens in a new window';
				a[i].onclick = function() {
					newWin = window.open(this.href,'');
					newWin.focus();
					return false;
				}
			}
		}
	}
}

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

function jscss(a,o,c1,c2)
{
  switch (a){
    case 'swap':
      o.className=!jscss('check',o,c1)?o.className.replace(c2,c1):o.className.replace(c1,c2);
    break;
    case 'add':
      if(!jscss('check',o,c1)){o.className+=o.className?' '+c1:c1;}
    break;
    case 'remove':
      var rep=o.className.match(' '+c1)?' '+c1:c1;
      o.className=o.className.replace(rep,'');
    break;
    case 'check':
      return new RegExp('\\b'+c1+'\\b').test(o.className)
    break;
  }
}

function blockLinkContent() {
	var blockLinkContentNone = 'blocklinknone';
	var blockLinkContentBlock = 'blocklinkblock';
	if(document.getElementById && document.getElementsByTagName) {
		var blockLinkArray = getElementsByClass('blocklink',document,'*');
		for(var i=0; i<blockLinkArray.length; i++) {
			var blockLink = blockLinkArray[i];
			var blockContent = blockLink.href.substring(blockLink.href.indexOf('#')+1,blockLink.href.length);
			if(document.getElementById(blockContent)) {
				blockLink.onclick = function() {
					var blockLinkArray = getElementsByClass('blocklink',document,'*');
					for(var i=0; i<blockLinkArray.length; i++) {
						blockLink = blockLinkArray[i].href.substring(blockLinkArray[i].href.lastIndexOf('#')+1,blockLinkArray[i].href.length);
						if(document.getElementById(blockLink)) {
							jscss('remove',document.getElementById(blockLink),blockLinkContentBlock);
							jscss('add',document.getElementById(blockLink),blockLinkContentNone);
						}
					}
					var blockLinkArray = getElementsByClass('blockoriginalcontent',document,'*');
					for(var i=0; i<blockLinkArray.length; i++) {
						jscss('remove',blockLinkArray[i],blockLinkContentBlock);
						jscss('add',blockLinkArray[i],blockLinkContentNone);
					}
					findContent = document.getElementById(this.href.substring(this.href.lastIndexOf('#')+1,this.href.length));
					jscss('remove',findContent,blockLinkContentNone);
					jscss('add',findContent,blockLinkContentBlock);
					return false;
				}
				jscss('remove',document.getElementById(blockContent),blockLinkContentBlock);
				jscss('add',document.getElementById(blockContent),blockLinkContentNone);
			}
		}
	}

}

function modelOfCare() {
	if(document.getElementById && document.getElementsByTagName) {
		if( document.getElementById('modelofcare_map') && document.getElementById('modelofcare_image') && document.getElementById('modelofcare_nav') ) {
			var modelofcare_image = document.getElementById('modelofcare_image');
			var modelofcare_map = document.getElementById('modelofcare_map');
			var modelofcare_nav = document.getElementById('modelofcare_nav');
			modelofcare_quality = function() {
				document.getElementById('modelofcare01').style.display = 'block';
				document.getElementById('modelofcare02').style.display = 'none';
				document.getElementById('modelofcare03').style.display = 'none';
				document.getElementById('modelofcareimage').style.display = 'none';
				modelofcare_image.src = 'images/modelofcare_quality.gif';
				modelofcare_nav_img = modelofcare_nav.getElementsByTagName('img');
				modelofcare_nav_img[0].src = 'images/modelofcare_quality_button_01.gif';
				modelofcare_nav_img[1].src = 'images/modelofcare_recovery_button_02.gif';
				modelofcare_nav_img[2].src = 'images/modelofcare_working_button_02.gif';
				return false;
			}
			modelofcare_recovery = function() {
				document.getElementById('modelofcare01').style.display = 'none';
				document.getElementById('modelofcare02').style.display = 'block';
				document.getElementById('modelofcare03').style.display = 'none';
				document.getElementById('modelofcareimage').style.display = 'none';
				modelofcare_image.src = 'images/modelofcare_recovery.gif';
				modelofcare_nav_img = modelofcare_nav.getElementsByTagName('img');
				modelofcare_nav_img[0].src = 'images/modelofcare_quality_button_02.gif';
				modelofcare_nav_img[1].src = 'images/modelofcare_recovery_button_01.gif';
				modelofcare_nav_img[2].src = 'images/modelofcare_working_button_02.gif';
				return false;
			}
			modelofcare_working = function() {
				document.getElementById('modelofcare01').style.display = 'none';
				document.getElementById('modelofcare02').style.display = 'none';
				document.getElementById('modelofcare03').style.display = 'block';
				document.getElementById('modelofcareimage').style.display = 'none';
				modelofcare_image.src = 'images/modelofcare_working.gif';
				modelofcare_nav_img = modelofcare_nav.getElementsByTagName('img');
				modelofcare_nav_img[0].src = 'images/modelofcare_quality_button_02.gif';
				modelofcare_nav_img[1].src = 'images/modelofcare_recovery_button_02.gif';
				modelofcare_nav_img[2].src = 'images/modelofcare_working_button_01.gif';
				return false;
			}
			modelofcare_map_area = modelofcare_map.getElementsByTagName('area');
			for(var i=0; i<modelofcare_map_area.length; i++) {
				if(modelofcare_map_area[i].alt == 'Maintaining Quality') {
					modelofcare_map_area[i].onclick = modelofcare_quality;
				}
				if(modelofcare_map_area[i].alt == 'The Recovery Pathway') {
					modelofcare_map_area[i].onclick = modelofcare_recovery;
				}
				if(modelofcare_map_area[i].alt == 'Working Together') {
					modelofcare_map_area[i].onclick = modelofcare_working;
				}
			}
			modelofcare_nav_img = modelofcare_nav.getElementsByTagName('img');
			for(var j=0; j<modelofcare_nav_img.length; j++) {
				if(modelofcare_nav_img[j].alt == 'Maintaining Quality') {
					modelofcare_nav_img[j].parentNode.onclick = modelofcare_quality;
				}
				if(modelofcare_nav_img[j].alt == 'The Recovery Pathway') {
					modelofcare_nav_img[j].parentNode.onclick = modelofcare_recovery;
				}
				if(modelofcare_nav_img[j].alt == 'Working Together') {
					modelofcare_nav_img[j].parentNode.onclick = modelofcare_working;
				}
			}
			document.getElementById('modelofcare01').style.display = 'none';
			document.getElementById('modelofcare02').style.display = 'none';
			document.getElementById('modelofcare03').style.display = 'none';
		}
	}

}

function insertDateTime() {

	if(document.getElementById && document.getElementsByTagName && document.createElement) {

		function showTheHours(theHour) {
			if ((theHour > 0 && theHour < 13)) {
				return (theHour);
			} else if (theHour == 0) {
				return (12);
			} else {
				return (theHour-12);
			}
		}

		function showZeroFilled(inValue) {
			if (inValue > 9) {
				return ":" + inValue;
			} else {
				return ":0" + inValue;
			}
		}

		function showAmPm(theHour) {
			if (theHour < 12) {
				return (" am");
			} else {
				return (" pm");
			}
		}

		function showDatepfix(theDate) {
			theDate += '';
			theDateIndex = theDate.substring(theDate.length-1);
			if(theDate == 11 || theDate == 12) {
				theDateIndex = 0;
			} else if(theDateIndex > 4 || theDate == 13) {
				theDateIndex = 4;
			}
			return theDateIndex;
		}

		function fixYear() {
			thisYear = thisDateAndTime.getYear();
			if(thisYear < 1900) {
				thisYear += 1900;
			}
			return thisYear;
		}

		var dateArray = new Array ("th","st","nd","rd","th")
		var dayArray = new Array ("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
		var monthArray = new Array ("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December")

		var thisDateAndTime;
		var thisDay;
		var thisDate;
		var thisMonth;
		var thisYear
		var thisTime;
		var theDateandTime;

		function getDateTime() {

			thisDateAndTime = new Date;

			thisDay = dayArray[thisDateAndTime.getDay()];
			thisDate = thisDateAndTime.getDate() + dateArray[showDatepfix(thisDateAndTime.getDate())];
			thisMonth = monthArray[thisDateAndTime.getMonth()];
			thisYear = fixYear();
			thisTime = showTheHours(thisDateAndTime.getHours()) + showZeroFilled(thisDateAndTime.getMinutes()) + showZeroFilled(thisDateAndTime.getSeconds()) + showAmPm(thisDateAndTime.getHours());

			showDatepfix(thisDateAndTime.getDate());

			theDateandTime = thisDay + ' ' + thisDate + ' ' + thisMonth + ' ' + thisYear + ' ' + thisTime;

			navNode.lastChild.firstChild.nodeValue = theDateandTime;

			setInterval(getDateTime,1000);
		}

		function getDate() {

			thisDateAndTime = new Date;

			thisDay = dayArray[thisDateAndTime.getDay()];
			thisDate = thisDateAndTime.getDate() + dateArray[showDatepfix(thisDateAndTime.getDate())];
			thisMonth = monthArray[thisDateAndTime.getMonth()];
			thisYear = fixYear();
			thisTime = showTheHours(thisDateAndTime.getHours()) + showZeroFilled(thisDateAndTime.getMinutes()) + showZeroFilled(thisDateAndTime.getSeconds()) + showAmPm(thisDateAndTime.getHours());

			showDatepfix(thisDateAndTime.getDate());

			theDate = thisDay + ' ' + thisDate + ' ' + thisMonth + ' ' + thisYear;

			navNode.lastChild.firstChild.nodeValue = theDate;
		}

		navNode = document.getElementById('navigationprimary');
		divNode = document.createElement('DIV');
		divNode.setAttribute('id','datetime');
		timeNode = document.createTextNode('');
		navNode.appendChild(divNode);
		navNode.lastChild.appendChild(timeNode);

		getDate();

	}
}


function addEvent(obj, evType, fn, useCapture){
  if (obj.addEventListener) {
    obj.addEventListener(evType, fn, useCapture);
    return true;
  } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
    // alert('Handler could not be attached');
    return false;
  }
}

addEvent(window, 'load',  blockLinkContent, false);
addEvent(window, 'load',  modelOfCare, false);
addEvent(window, 'load',  msPopUpLink, false);
addEvent(window, 'load',  insertDateTime, false);
