﻿// JScript File
function createBreadcrumbArray() {
        var arrFieldNames=new Array();
		    arrFieldNames[0]='Property £';
			arrFieldNames[1]='Mortgage £';
			arrFieldNames[2]='Type';
			arrFieldNames[3]='Property found';
			arrFieldNames[4]='First-time';
			arrFieldNames[5]='Good Credit';
			arrFieldNames[6]='Family income';
			arrFieldNames[7]='Proof of income';
			arrFieldNames[8]='Current Lender';
			arrFieldNames[9]='Current Lender';
		
	
			 
	       setCookieArray("fieldresults","blank^blank^blank^blank^blank^blank^blank^blank^blank")
	       	
	       	
	       setCookieArray("fieldnames", "Property value^Loan amount^Mortgage type^Property found^First-time buyer^Good Credit^Family income^Proof of income^Current Lender^Current Rate");

}


function storefieldresult(theid,thetype,theitem) {

document.getElementById('breadcrumb').style.display = 'block'

    var theresult
        if (thetype == "text") {

            theresult = callBreadcrumbText(theitem)
        }
        
        if (thetype == "radio") {
            theresult = callBreadcrumbRadio(theitem)
            
        }
        
        if (thetype == "select") {
            theresult = callBreadcrumbSelect(theitem)
        }
        
         if (thetype == "check") {
            theresult = callBreadcrumbCheck(theitem)
        }
		
		  if (thetype == "the90") {

			var textamount = CurrencyFormatted(theitem)
            theresult = '£' + CommaFormatted(textamount)
        }
     
    resultsArray = getCookieArray('fieldresults')  ;
  
    resultsArray[theid] = theresult;
    
       var ArString = ""
      for (i=0;i<resultsArray.length;i++) {
        result = resultsArray[i];  
        ArString = ArString + result +"^";
      }
        setCookieArray("fieldresults",ArString)
     
      writeResultsString();
}

function callBreadcrumbText(theitem) {

 if (theitem.value != undefined) { 

    if (theitem.id == 'mortgageAmount' || theitem.id == 'propertyvalue' ) {
    var textamount = CurrencyFormatted(theitem.value)

    return '£' + CommaFormatted(textamount)
    }else {   
     return theitem.value
}
 }
}

function getCookieArray(name){
  
    cookieStr = getCookie(name)
    arrCookie = cookieStr.split("^")
    return arrCookie
}

function getCookie (name) {
var dcookie = document.cookie; 
var cname = name + "=";
var clen = dcookie.length;
var cbegin = 0;
        while (cbegin < clen) {
        var vbegin = cbegin + cname.length;
                if (dcookie.substring(cbegin, vbegin) == cname) { 

                var vend = dcookie.indexOf (";", vbegin);
                        if (vend == -1) vend = clen;
                return unescape(dcookie.substring(vbegin, vend));
              
                }
        cbegin = dcookie.indexOf(" ", cbegin) + 1;
                if (cbegin == 0) break;
        }
return null;
}

function setCookieArray(name,str){
    document.cookie = name + "=" + escape (str) + 
"; path=/";
}

function writeResultsString() {

     var ArrayResults = new getCookieArray("fieldresults");
     var ArrayFieldNames = new getCookieArray("fieldnames");
     
    document.getElementById('breadcrumb').innerHTML = ""
    
       for (i=0;i<ArrayFieldNames.length;i++) {
            if (ArrayResults[i] != "" && ArrayResults[i] != undefined && ArrayResults[i] != "blank") {
             document.getElementById('breadcrumb').innerHTML = document.getElementById('breadcrumb').innerHTML + "<span class='crumblabel'>"+ArrayFieldNames[i] + ":</span> "+ArrayResults[i]+" | " ;
             }
        }
};


function blankBreadcrumb() {
    document.getElementById('breadcrumb').innerHTML = '';
}


function callBreadcrumbCheck(theitem) {

    if (theitem.checked) {
        return 'yes'
    } else {
        return 'no'
    }
}



function callBreadcrumbRadio(radioObj) {
radioObj = eval('document.forms[0].'+radioObj)

	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	
	for(var i = 0; i < radioLength; i++) {
	
		if(radioObj[i].checked) {

	if (radioObj[i].name == 'CredStatusDD' || radioObj[i].name == 'SelfCertDD') {
	
	if(radioObj[i].value == '1' ) {
			
			    return 'no'
			    } 
			    
			    if(radioObj[i].value == '0' ) {
			    
			    return 'yes'
			    } 
			    
	
	}
	
			if(radioObj[i].value == '1' || radioObj[i].value == 'yes' ) {
			
			    return 'yes'
			    } 
			    if(radioObj[i].value == '0' || radioObj[i].value == 'no') {
			    
			    return 'no'
			    } 
			    
			  
			    
			}
		}

	return "";
}

function Left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}

function callBreadcrumbSelect(theitem) {
var myCredStatus = new Array()
myCredStatus[0] = "CCJs"
myCredStatus[1] = "Defaults"
myCredStatus[2] = "Mortgage arrears"
myCredStatus[3] = "Repossession pending"
myCredStatus[4] = "Previously turned down"
myCredStatus[5] = "No proof of income"
myCredStatus[6] = "Late or missed payment on loans and credit cards"

var strResult = ""
    for (i=0;i<6;i++) {
        if (eval('document.forms[0].credStatus_'+i+'.checked')){
            strResult = strResult  + myCredStatus[i] +", "
        }
    }
	
	//remove trailing comma
	strResult = Left(strResult, String(strResult).length - 2)

    return strResult
}

function CurrencyFormatted(theamount)
{
theamount = theamount.toString();


var y=theamount.replace(".",'');    //now without comma

var x=y.replace(/,/g,'');    //now without comma




	var i = parseFloat(x);
	if(isNaN(i)) { i = 0.00; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if(s.indexOf('.') < 0) { s += '.'; }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
	s = minus + s;
	return s;
}


function CommaFormatted(amount)
{



	var delimiter = ","; // replace comma if desired
	var a = amount.split('.',2)
	var d = a[1];
	var i = parseInt(a[0]);
	if(isNaN(i)) { return ''; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	var n = new String(i);
	var a = [];
	while(n.length > 3)
	{
		var nn = n.substr(n.length-3);
		a.unshift(nn);
		n = n.substr(0,n.length-3);
	}
	if(n.length > 0) { a.unshift(n); }
	n = a.join(delimiter);
	if(d.length < 1) { amount = n; }
	else { amount = n + '.' + d; }
	amount = minus + amount;
	return amount;
}

/// end of breadcrumb functions

function cleanupvals(theval) {

theval = theval.toString();


var y=theval.replace(".",'');    //now without comma

var x=y.replace(/,/g,'');    //now without comma

return x
}


function checkMvalues(){

if ("undefined" != typeof(document.forms[0].mortgageAmount)) {



var mortval = document.forms[0].mortgageAmount.value
var propval = document.forms[0].propertyvalue.value
var mtype = document.getElementById('mType').value

mortval = cleanupvals(mortval)
propval = cleanupvals(propval)
//clean up


if  (mortval  != "" && propval != "") {
	theval = mortval / propval *100
	if (isNaN(theval)) {
	}else {

document.getElementById('percent').value = Math.round(theval)
	

	}
}

   
var LTVlimit = 90

switch (mtype)
  {
    case 0: { LTVlimit = 90;var styleObject = getStyleObject('PnlnoticePrice'); break }
    case 'Re-mortgage': {
    
            LTVlimit = 85; 
            var styleObject = getStyleObject('PnlnoticePrice'); 
            $get('PnlnoticePrice').innerHTML = "Max Loan to value currently available is 85%. We've set your loan value accordingly."
            break 
    }
    
     case 'Purchase': {
     
         LTVlimit = 90 ; 
         var styleObject = getStyleObject('PnlnoticePrice'); 
         
         
         var ftb = document.getElementById('FTBuyer_0')
         if (ftb == null) {
            break
         }
           if (ftb.checked) {
                ftb = 'yes'
           }
           else {
                ftb = 'no'
           }
           
         if (ftb == "yes") {
                    LTVlimit = 85
            }
            
    
         break 
     }
      case 'Buy-to-let':{LTVlimit = 85  ;var  styleObject = getStyleObject('pnlLTValert'); break }
       case 'Commercial':{LTVlimit = 90  ;var  styleObject = getStyleObject('PnlnoticePrice');break }
        case 'International':{LTVlimit = 90  ;var styleObject = getStyleObject('PnlnoticePrice'); break }

    default: { LTVlimit = 90;var styleObject = getStyleObject('PnlnoticePrice'); break }
    
   
  }
  
  
  /// check for absolutes
     var proofincome = document.getElementById('SelfCertDD_0')
 
   if (proofincome.checked) {
        proofincome = 'yes'
   }
   else {
        proofincome = 'no'
   }
 if (proofincome == "no") {
            LTVlimit = 85
    }
    
  var goodcredit = document.getElementById('CredStatusDD_0')
 
   if (goodcredit.checked) {
        goodcredit = 'yes'
   }
   else {
        goodcredit = 'no'
   }
 if (goodcredit == "no") {
            LTVlimit = 80
    }
    
    
     
    
    
    
  

styleObject.display = 'none'

mortval = mortval.replace(/,/g,"");
propval = propval.replace(/,/g,"");

// check if loan value is over 95% of prop value show message and update loan value
percval = mortval / propval *100

	if (percval > LTVlimit) {
	
	styleObject.display = 'block'
	//and set value
	
	document.forms[0].mortgageAmount.value = parseInt(propval/100) * LTVlimit;
	document.forms[0].percent.value = LTVlimit

	}else {
	styleObject.display = 'none'
	}
	
//	if  (mortval  != "" && propval != "") {
	//theval = mortval / propval *100
	//if (isNaN(theval)) {
	//}else {
	//if (percval <LTVlimit) {
	//document.forms[0].percent.value = Math.round(theval)
	//}
	//}
//}


}




}

  function getStyleObject(objectId) {
  // checkW3C DOM, then MSIE 4, then NN 4.
  //
  if(document.getElementById && document.getElementById(objectId)) {
	return document.getElementById(objectId).style;
   }
   else if (document.all && document.all(objectId)) {  
	return document.all(objectId).style;
   } 
   else if (document.layers && document.layers[objectId]) { 
	return document.layers[objectId];
   } else {
	return false;
   }
}

function changeObjectVisibility(objectId, newVisibility) {
    // first get the object's stylesheet
    var styleObject = getStyleObject(objectId);

    // then if we find a stylesheet, set its visibility
    // as requested
    //
    if (styleObject) {
	styleObject.visibility = newVisibility;
	return true;
    } else {
	return false;
    }
}

function getPercent(form) { 
aVal = document.forms[0].propertyvalue.value
aVal = aVal.replace(/,/g,"");



if  (document.forms[0].percent.value != "") {
    mort = aVal/100 * document.forms[0].percent.value
    document.forms[0].mortgageAmount.value = Math.round(mort)
    
   storefieldresult(1,'the90',Math.round(mort));
    
    ///bits to set the alert as required
  

        var mortval = document.forms[0].mortgageAmount.value
       var propval = document.forms[0].propertyvalue.value

        mortval = mortval.replace(/,/g,"");
        propval = propval.replace(/,/g,"");


	
	    if  (mortval  != "" && propval != "") {
	        theval = mortval / propval *100
	    if (isNaN(theval)) {
	    }else {
	    //alert(document.forms[0].percent.value)
	     //   document.forms[0].percent.value = parseint(theval)
	    }
        }


checkMvalues()
    //end
    }

 
}

function RemoveSpaces(thefield) {

var elem = thefield

var str = elem.value;

str = str.replace(' ' ,'');

elem.value = str;
}


function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj1=obj.style; v=(v=='show')?'block':(v=='hide')?'none':v; }

	if(obj1.display == 'block')
		obj1.display = 'none';
	else
		obj1.display = 'block';

	
	 }

}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}


function sethelp() {
instructions.innerHTML = '<p><b>Good</b> - No problem</p><p><b>Fair</b> - Missed odd payment or old problem</p><p><b>Poor</b> - CCJs or other recent issues </p>';
}

function unsethelp() {
instructions.innerHTML =''
}




var DH = 0;var an = 0;var al = 0;var ai = 0;if (document.getElementById) {ai = 1; DH = 1;}else {if (document.all) {al = 1; DH = 1;} else { browserVersion = parseInt(navigator.appVersion); if ((navigator.appName.indexOf('Netscape') != -1) && (browserVersion == 4)) {an = 1; DH = 1;}}} function fd(oi, wS) {if (ai) return wS ? document.getElementById(oi).style:document.getElementById(oi); if (al) return wS ? document.all[oi].style: document.all[oi]; if (an) return document.layers[oi];}
function pw() {return window.innerWidth != null? window.innerWidth: document.body.clientWidth != null? document.body.clientWidth:null;}
function mouseX(evt) {if (evt.pageX) return evt.pageX; else if (evt.clientX)return evt.clientX + (document.documentElement.scrollLeft ?  document.documentElement.scrollLeft : document.body.scrollLeft); else return null;}
function mouseY(evt) {if (evt.pageY) return evt.pageY; else if (evt.clientY)return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop); else return null;}


function popUp(evt,oi) {
if (DH) {var wp = pw(); 
ds = fd(oi,1); dm = fd(oi,0); 
st = ds.visibility; 
if (dm.offsetWidth) ew = dm.offsetWidth; 
else if (dm.clip.width) ew = dm.clip.width; if (st == "visible" || st == "show") { 
ds.visibility = "hidden"; 
} else {
tv = mouseY(evt) -60; 
lv = mouseX(evt) - (ew/2); if (lv < 2) lv = 2; 
else if (lv + ew > wp) lv -= ew/2; if (!an) {
lv += 'px';tv += 'px';
} 
ds.left = lv; 
ds.top = tv; 
ds.visibility = "visible";}
}
}

function digitsOnly(obj){
obj.value=obj.value.replace(/[^\d]/g,'');
}


