﻿    
    
	/* Functions */
    
    function changeColour(id,selected)
		 {
		    var item;
			var itemImage;
    		if (document.getElementById) {
				item = document.getElementById(id);
				itemImage = document.getElementById('img' + id);
			}
		    if (selected == true) {
			    if (item.style.backgroundColor != "#fbce02") {
			        item.style.backgroundColor = "#fbce01";
			        itemImage.src = "/images/furniture/redOnWhite/moreInfoOn.gif";
			    }
			} else if (selected == false) {
			    if (item.style.backgroundColor != "#fbce02") {
			        item.style.backgroundColor = "#FDF4C7";
			        itemImage.src = "/images/furniture/redOnWhite/moreInfo.gif";
			        }
			}
			if (id.substring(0,4) == 'rate' && id != 'rate0') {
			    changeColour('rate0',false);
			}
			if (id.substring(0,4) == 'less' && id != 'lessChanceRate0') {
			    changeColour('lessChanceRate0',false);
			}
			if (id.substring(0,4) == 'unfi' && id != 'unfilteredRate0') {
			    changeColour('unfilteredRate0',false);
			}
		}

        function lockColour(id) {
            var item;
            var itemImage;
            item = document.getElementById(id);
			itemImage = document.getElementById('img' + id);
			if (item.style.backgroundColor == "#fbce02") {
			    item.style.backgroundColor = "#FDF4C7";
			    itemImage.src = "/images/furniture/redOnWhite/moreInfo.gif";    
			} else {
			    item.style.backgroundColor = "#fbce02";
			    itemImage.src = "/images/furniture/redOnWhite/moreInfoOn.gif";    
			} 
        }

		function showLevel( _levelId ) {
			var thisLevel = document.getElementById( _levelId );
			thisLevel.style.display = "block";
			}
		function hideLevel( _levelId ) {
			var thisLevel = document.getElementById( _levelId );
			thisLevel.style.display = "none";
			}
		function toggleLevel( _levelId ) {
			var thisLevel = document.getElementById( _levelId );
			if (thisLevel.style.display == "none") {
				thisLevel.style.display = "block";
			} else {
				thisLevel.style.display = "none";
			}
		}
			
        
        function linkNavigate( _levelId ) {
			if (String(_levelId) == 'cfImage5') {
    		    var thisLevel = document.getElementById( _levelId );
    		    var thisCard = thisLevel.alt;
			    var thisURL = document.getElementById('hlkCard' + thisLevel.alt);
			    window.location = thisURL.href;
			}
		}
	    function checkLink( _levelId ) {
			if (String(_levelId) == 'cfImage5') {
    		    var thisLevel = document.getElementById( _levelId );
                var thisName = document.getElementById('h3Card' + thisLevel.alt);
                thisLevel.title = thisName.innerHTML;
                thisLevel.style.cursor = 'pointer';
			}
		}
			
		function selectVertTab( _levelId) {
			var thisLevel = document.getElementById( 'home' + _levelId);
			var thisImageLevel = document.getElementById( 'img_home' + _levelId);
			thisLevel.style.display = "block";
			thisImageLevel.src = '/images/layout/navigation/' + _levelId + 'Selected.gif';
		}
		function deselectVertTab(_levelId){
			var thisLevel = document.getElementById( 'home' + _levelId);
			var thisImageLevel = document.getElementById( 'img_home' + _levelId);
			thisLevel.style.display = "none";
			thisImageLevel.src = '/images/layout/navigation/' + _levelId + 'Unselected.gif';
		}
		function switchLevel( _levelId) {
			var thisLevel = document.getElementById( _levelId );
			if ( thisLevel.style.display == "block") {
				thisLevel.style.display = "none";
				}
			else {
				thisLevel.style.display = "block";
				}
			}
			
		function markAsRead( _ImageId) {
			var oThisImage = document.getElementById( _ImageId);
			var sThisImage = Right(oThisImage.src.toLowerCase(),14);
			if (sThisImage == "/envclosed.gif") { 
				oThisImage.src = "/images/smc/envopen.gif";
				}
			}
		
		function expandRetract( _ImageId, _Mode) {
			var oThisImage = document.getElementById( _ImageId);
			var sThisImage = Right(oThisImage.src.toLowerCase(),11);
			if (sThisImage == "/expand.gif") { 
				oThisImage.src = "/images/furniture/widgets/retract.gif";
				}
			else {
				oThisImage.src = "/images/furniture/widgets/expand.gif";			
				}
			
			if (_Mode == "accountType") {
				var sAccountType = Right(_ImageId,3)
				var oAllDivs = document.getElementsByTagName("div");
				var iNoOfDivs = oAllDivs.length;
				for (var iLoop = 0; iLoop < iNoOfDivs ; iLoop ++){
					var oThisDiv = oAllDivs[iLoop];
					if ((oThisDiv.id.indexOf(sAccountType) > -1) && (oThisDiv.id != sAccountType)) {
						if (sThisImage == "/expand.gif") {
							oThisDiv.style.display = "block";
						} else {
							oThisDiv.style.display = "none";
						}
					}
				} 
			}
		}
	
	
		function switchIFrame( _LevelId, _targetURL ) {
			var iFrame = document.getElementById(_LevelId);
			if (iFrame != null) {
				if (iFrame.src.indexOf('account') < 1) {
				iFrame.src = _targetURL
				}
			}
			
		}
	
	
		function showAccPayDetail( _date, _status, _balance, _limit, _change, _style, _extraInfo ) {
			//alert('date:' + _date);
			//alert('status:' + _status);
			//alert('balance:' + _balance);
			//alert('limit:' + _limit);
			var accHistoryDateDiv = document.getElementById('detailAccHistoryDate');
			var accHistoryStatusDiv = document.getElementById('detailAccHistoryStatus');
			var accHistoryBalanceDiv = document.getElementById('detailAccHistoryBalance');
			var accHistoryLimitDiv = document.getElementById('detailAccHistoryLimit');
			var accHistoryChangeDiv = document.getElementById('detailAccHistoryChange');
			var accHistoryStatusTextDiv = document.getElementById('detailAccHistoryStatusText');
			var accHistoryStatusTextContentDiv = document.getElementById('accHistoryStatusText' + _status);
			var accHistoryInfoTextDiv=document.getElementById('detailAccHistoryInfo');
			accHistoryDateDiv.innerHTML = _date;
			accHistoryStatusDiv.innerHTML = '<div class="accStatusCode"><div class="sc' + _style + '">' + _status + '</div></div>';
			accHistoryStatusTextDiv.innerHTML = accHistoryStatusTextContentDiv.innerHTML + _extraInfo;
			if (_balance == 'BLOCK') {
				var premiumOnlyDiv=document.getElementById('premiumOnly');
				accHistoryBalanceDiv.innerHTML = premiumOnlyDiv.innerHTML;
				accHistoryLimitDiv.innerHTML = premiumOnlyDiv.innerHTML;
				accHistoryChangeDiv.innerHTML = premiumOnlyDiv.innerHTML;
			}
			else {
				accHistoryBalanceDiv.innerHTML = _balance;
				accHistoryLimitDiv.innerHTML = _limit;
				accHistoryChangeDiv.innerHTML = _change;
			}
		
		}
		
		function showAccDetail(_levelId) {
			var iPreviousRecord=_levelId+1;
			var iNextRecord=_levelId-1;
			var ahDiv = document.getElementById('accountDetailsInfoBox');
			var ahDateDiv = document.getElementById('detailAccHistoryDate');
			var ahStatusDiv = document.getElementById('detailAccHistoryStatus');
			var ahBalanceDiv = document.getElementById('detailAccHistoryBalance');
			var ahLimitDiv = document.getElementById('detailAccHistoryLimit');
			var ahChangeDiv = document.getElementById('detailAccHistoryChange');
			var ahStatusTextDiv = document.getElementById('detailAccHistoryStatusText');
			var ahPreviousAccDiv = document.getElementById('detailsAccPreviousAccount');
			var ahPreviousAccDate = document.getElementById('mth'+iPreviousRecord);
			var ahNextAccDiv = document.getElementById('detailsAccNextAccount');
			var ahNextAccDate = document.getElementById('mth'+iNextRecord);
			var ahDate = document.getElementById('mth'+_levelId).innerHTML;
			var ahStatus = document.getElementById('cde'+_levelId).innerHTML;
			var ahBalance = document.getElementById('bal'+_levelId).innerHTML;
			var ahLimit = document.getElementById('lim'+_levelId).innerHTML;
			var ahChange = document.getElementById('chg'+_levelId).innerHTML;
			var ahStyle = document.getElementById('css'+_levelId).innerHTML;
			var ahExtraInfo = document.getElementById('xtr'+_levelId).innerHTML;
			var ahStatusTextContentDiv = document.getElementById('accHistoryStatusText' + ahStatus);
			
			ahDateDiv.innerHTML = ahDate;
			ahStatusDiv.innerHTML = '<div class="accStatusCode" style="cursor:default;"><div class="sc' + ahStyle + '" style="cursor:default;">' + ahStatus + '</div></div>';
			ahStatusTextDiv.innerHTML = ahStatusTextContentDiv.innerHTML + ahExtraInfo;
			
			if (ahPreviousAccDate != null){
				ahPreviousAccDiv.innerHTML = '<a onclick="showAccDetail(' + iPreviousRecord + ');"><span style="color:#F90;">&lt;&lt;</span>&nbsp;' + ahPreviousAccDate.innerHTML + '</a>';
			} else {
				ahPreviousAccDiv.innerHTML = '';
			}

			if (ahNextAccDate != null) {
			    if (iNextRecord != -1) {
			        ahNextAccDiv.innerHTML = '<a onclick="showAccDetail(' + iNextRecord + ');">' + ahNextAccDate.innerHTML + '</span>&nbsp;<span style="color:#F90;">&gt;&gt;</span></a>';
			    } else {
			        ahNextAccDiv.innerHTML = '';
			    }
			} else {
			    ahNextAccDiv.innerHTML = '';
			}
			
		
			if (ahBalance == 'BLOCK') {
				var premiumOnlyDiv=document.getElementById('premiumOnly');
				ahBalanceDiv.innerHTML = premiumOnlyDiv.innerHTML;
				ahLimitDiv.innerHTML = premiumOnlyDiv.innerHTML;
				ahChangeDiv.innerHTML = premiumOnlyDiv.innerHTML;
			}
			else {
				ahBalanceDiv.innerHTML = ahBalance;
				ahLimitDiv.innerHTML = ahLimit;
				ahChangeDiv.innerHTML = ahChange;
			}
			ahDiv.style.display = "block";
		}
		
	
	
		function Left(str, n){
			if (n <= 0)
				return "";
			else if (n > String(str).length)
				return str;
			else
				return String(str).substring(0,n);
		}
		function Right(str, n){
			if (n <= 0)
			   return "";
			else if (n > String(str).length)
			   return str;
			else {
			   var iLen = String(str).length;
			   return String(str).substring(iLen, iLen - n);
			}
		}

		var haveSubmitted=false;
		function FirstSubmitOnly()
		{
			if(haveSubmitted) return false;
			haveSubmitted=true;
			return true;    //we want the first click to occur.
		}
		
	function popUpSeal(URL) 
	{
		day = new Date();
		id = day.getTime();
		eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,titlebar=yes,status=yes,menubar=0,resizable=1,width=516,height=650,left = 5,top = 5');");
	}
	
	function countCharacters(formname,formbox,formbutton,outputmessagebox,maxlength) {
			var theForm = document.getElementById(formname);
			var theMessage = document.getElementById(formbox);
			var theSubmitButton = document.getElementById(formbutton);
			var total = 0;
			var messagelength = 0;
			var removelength = 0;
			var theCharacterCount = document.getElementById(outputmessagebox);
			if(theForm != null && theMessage != null && theSubmitButton != null && theCharacterCount != null){
				total=(maxlength-(theMessage.value.length));
				messagelength=(theMessage.value.length);
				removelength=((theMessage.value.length)-maxlength)
			    
				if (total > 0) {
					theCharacterCount.innerHTML = 'You have ' + total + ' characters remaining';
    				theSubmitButton.disabled=false;
				}
				if (total < 1) {
					theCharacterCount.innerHTML = '<font color="#940000">You have no characters remaining.</font>';
    				theSubmitButton.disabled=false;
				}
				if (total < 0) {
					theCharacterCount.innerHTML = '<font color="#940000">You have entered ' + messagelength + ' characters, the limit is ' + maxlength + ' characters, please shorten your message by ' + removelength + ' characters.</font>';
    				theSubmitButton.disabled=true;
				}
			}
		}
		
		function memoryGuard( _levelId ) {
				var trackerText = document.getElementById('trackerText');
				var trackerCount = document.getElementById('trackerCount');
		
				if (trackerText.innerHTML.indexOf(_levelId) > -1) {
				} else {
					trackerText.innerHTML = trackerText.innerHTML + _levelId;
					trackerCount.innerHTML = parseInt(trackerCount.innerHTML) + 1;
				}
				if (trackerCount.innerHTML == 21) {
					alert('Sorry, to conserve memory we need to reload this page and close all of your open graphs.\n\nOur developers are working on a multi-page version of this output for our customers with large credit reports.\n\nPlease accept our sincere apologies for the inconvenience caused.');
					location.reload();
				}
			}
			
		/*Report Info*/
		var cX = 0; var cY = 0; var rX = 0; var rY = 0;
		function UpdateCursorPosition(e){ cX = e.pageX; cY = e.pageY;}
		function UpdateCursorPositionDocAll(e){ cX = event.clientX; cY = event.clientY;}
		if(document.all) { document.onmousemove = UpdateCursorPositionDocAll; }
		else { document.onmousemove = UpdateCursorPosition; }
		function AssignPosition(d) {
			if(self.pageYOffset) {
				rX = self.pageXOffset;
				rY = self.pageYOffset;
			} 
			else if(document.documentElement && document.documentElement.scrollTop) {
				rX = document.documentElement.scrollLeft;
				rY = document.documentElement.scrollTop;
			}
			else if(document.body) {
				rX = document.body.scrollLeft;
				rY = document.body.scrollTop;
			}
			if(document.all) {
				cX += rX; 
				cY += rY;
				}
			d.style.left = (cX+10) + "px";
			d.style.top = (cY+10) + "px";
		}

		function HideContent(d) {
			if(d.length < 1) { return; }
			document.getElementById(d).style.display = "none";
			}

		function ShowContent(d) {
		if(d.length < 1) { return; }
		var dd = document.getElementById(d);
		AssignPosition(dd);
		dd.style.display = "block";
		}

		function ReverseContentDisplay(d) {
		if(d.length < 1) { return; }
		var dd = document.getElementById(d);
		AssignPosition(dd);
		if(dd.style.display == "none") { dd.style.display = "block"; }
		else { dd.style.display = "none"; }
		}

		// Auto Suggest	
		
		function AutoSuggest(elem, suggestions) {
			var me = this;
			this.elem = elem;
			this.suggestions = suggestions;
			this.eligible = new Array();
			this.inputText = null;
			this.highlighted = -1;
			this.div = document.getElementById("autoSuggest");
			var TAB = 9;
			var ENTER = 13;
			var ESC = 27;
			var KEYUP = 38;
			var KEYDN = 40;
			elem.setAttribute("autocomplete","off");
			if(!elem.id) {
				var id = "autosuggest" + idCounter;
				idCounter++;
				elem.id = id;
			}
			elem.onkeydown = function(ev) {
				var key = me.getKeyCode(ev);
				switch(key)	{
					case TAB:
						me.useSuggestion();
						break;
					case ESC:
						me.hideDiv();
						break;
					case KEYUP:
						if (me.highlighted > 0)	{
							me.highlighted--;
						}
						me.changeHighlight(key);
						break;
					case ENTER:
						return false;
						break;
					case KEYDN:
						if (me.highlighted < (me.eligible.length - 1)){
							me.highlighted++;
						}
						me.changeHighlight(key);
						break;
				}
			};
		
			elem.onkeyup = function(ev) {
				var key = me.getKeyCode(ev);
				switch(key)	{
					case TAB:
					case ESC:
					case KEYUP:
					case KEYDN:
					return;
					default:
						if (this.value != me.inputText && this.value.length > 0){
							me.inputText = this.value;
							me.getEligible();
							me.createDiv();
							me.showDiv();
						} 					
						else {
							me.hideDiv();
						}
				}
			};

			this.useSuggestion = function()	{
				if (this.highlighted > -1)	{
					this.elem.value = this.eligible[this.highlighted];
					//this.hideDiv();
					setTimeout("document.getElementById('" + this.elem.id + "').focus()",0);
				}
			};

			this.showDiv = function() {
				this.div.style.display = 'block';
			};

			this.hideDiv = function() {
				//this.div.style.display = 'none';
				this.highlighted = -1;
			};

			this.changeHighlight = function() {
				var lis = this.div.getElementsByTagName('LI');
				for (i in lis)	{
					var li = lis[i];
					if (this.highlighted == i) {
						li.className = "selected";
					}
					else {
						li.className = "";
					}
				}
			};

			this.createDiv = function()	{
				var ul = document.createElement('ul');
				if (this.eligible.length > 0) {
					for (i in this.eligible) {
						var word = this.eligible[i];
						var li = document.createElement('li');
						var a = document.createElement('a');
						a.href='/help/jargon/' + word.toLowerCase().replace(/ /g,'-') + '.htm'; 
						a.innerHTML = '' + word + '';
						li.appendChild(a);
						if (me.highlighted == i){
							li.className = "selected";
						}
						ul.appendChild(li);
					}
				} else {
					var li = document.createElement('li');
					li.innerHTML = '<span class="error" style="padding:0;">Sorry, no matches</span>';
					ul.appendChild(li);
				}
				this.div.replaceChild(ul,this.div.childNodes[0]);
				ul.onmouseover = function(ev){
					var target = me.getEventSource(ev);
					while (target.parentNode && target.tagName.toUpperCase() != 'LI') {
						target = target.parentNode;
					}
					var lis = me.div.getElementsByTagName('LI');
					for (i in lis) {
						var li = lis[i];
						if(li == target) {
							me.highlighted = i;
							break;
						}
					}
					me.changeHighlight();
				};
	
				ul.onclick = function(ev) {
					//me.useSuggestion();
					//me.hideDiv();
					//me.cancelEvent(ev);
					//return false;
				};
	
				//this.div.className="suggestion_list";
				//this.div.style.position = 'absolute';

			};
	
			this.getEligible = function() {
				this.eligible = new Array();
				for (i in this.suggestions) {
					var suggestion = this.suggestions[i];
					if(suggestion.toLowerCase().indexOf(this.inputText.toLowerCase()) == "0") {
						this.eligible[this.eligible.length]=suggestion;
					}
				}
			};
		
			this.getKeyCode = function(ev) {
				if(ev) {			//Moz
					return ev.keyCode;
				}
				if(window.event) {	//IE
					return window.event.keyCode;
				}
			};
		
			this.getEventSource = function(ev) {
				if(ev){			//Moz
					return ev.target;
				}
				if(window.event) {	//IE
					return window.event.srcElement;
				}
			};

			this.cancelEvent = function(ev) {
				if(ev) {			//Moz
					ev.preventDefault();
					ev.stopPropagation();
				}
				if(window.event) {	//IE
					window.event.returnValue = false;
				}
			}
		}
		var idCounter = 0;
		
		
		// Auto Suggest ENDS
	
	//** redirect to non-secure ID theft page if customer is logged in
	
	function redirectHTTPS() {
	var txt = "You are about to be redirected to a non-secure connection as this page contains the Google Maps API.  Click OK to continue.";
	if (confirm(txt)) {
	    window.location='http://www.annualcreditreport.co.uk/identity-theft/default.htm';
	    }
    }
    
    
    function drawStars(iRating) {
		var sGreenStar = '/images/furniture/widgets/stars/green.gif';
		var sOrangeStar = '/images/furniture/widgets/stars/orange.gif';
		var sRedStar = '/images/furniture/widgets/stars/red.gif';
		var sGreyStar = '/images/furniture/widgets/stars/grey.gif';
		var imgStarOne = document.getElementById('starOne');
		var imgStarTwo = document.getElementById('starTwo');
		var imgStarThree = document.getElementById('starThree');
		var imgStarFour = document.getElementById('starFour');
		var imgStarFive = document.getElementById('starFive');
		var imgHoldOne = document.getElementById('holdOne');
		var imgHoldTwo = document.getElementById('holdTwo');
		var imgHoldThree = document.getElementById('holdThree');
		var imgHoldFour = document.getElementById('holdFour');
		var imgHoldFive = document.getElementById('holdFive');
		var divStarRating = document.getElementById('starRating');
		var divHoldRating = document.getElementById('holdRating');
				
		if (iRating == 1) {
			imgStarOne.src = sRedStar;
			imgStarTwo.src = sGreyStar;
			imgStarThree.src = sGreyStar;
			imgStarFour.src = sGreyStar;
			imgStarFive.src = sGreyStar;
			divStarRating.innerHTML = 'Weak';
		} else if (iRating == 2) {
			imgStarOne.src = sRedStar;
			imgStarTwo.src = sRedStar;
			imgStarThree.src = sGreyStar;
			imgStarFour.src = sGreyStar;
			imgStarFive.src = sGreyStar;
			divStarRating.innerHTML = 'Below Average';
		} else if (iRating == 3) {
			imgStarOne.src = sOrangeStar;
			imgStarTwo.src = sOrangeStar;
			imgStarThree.src = sOrangeStar;
			imgStarFour.src = sGreyStar;
			imgStarFive.src = sGreyStar;
			divStarRating.innerHTML = 'Average';
		} else if (iRating == 4) {
			imgStarOne.src = sGreenStar;
			imgStarTwo.src = sGreenStar;
			imgStarThree.src = sGreenStar;
			imgStarFour.src = sGreenStar;
			imgStarFive.src = sGreyStar;
			divStarRating.innerHTML = 'Good';
		} else if (iRating == 5) {
			imgStarOne.src = sGreenStar;
			imgStarTwo.src = sGreenStar;
			imgStarThree.src = sGreenStar;
			imgStarFour.src = sGreenStar;
			imgStarFive.src = sGreenStar;	
			divStarRating.innerHTML = 'Strong';
		} else {
			imgStarOne.src = imgHoldOne.src;
			imgStarTwo.src = imgHoldTwo.src;
			imgStarThree.src = imgHoldThree.src;
			imgStarFour.src = imgHoldFour.src;
			imgStarFive.src = imgHoldFive.src;	
			divStarRating.innerHTML = divHoldRating.innerHTML;
		}
	}
	
	
