﻿// JScript File

//disable autocomplete
if (document.getElementsByTagName) { 
var inputElements = document.getElementsByTagName("input"); 
for (i=0; inputElements[i]; i++) { 
if (inputElements[i].className && (inputElements[i].className.indexOf("disableAutoComplete") != -1)) { 
inputElements[i].setAttribute("autocomplete","off"); 
}//if current input element has the disableAutoComplete class set. 
}//loop thru input elements 
}//basic DOM-happiness-check 


  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;
    }
}


//// panel 1 functions
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 styleObject = getStyleObject('PnlnoticePrice');
        styleObject.display = 'none'


        var mortval = document.forms[0].mortgageAmount.value
        var propval = document.forms[0].propertyvalue.value

        mortval = mortval.replace(/,/g,"");
        propval = propval.replace(/,/g,"");


	    if (parseInt(mortval) > parseInt(propval)) {
	        styleObject.display = 'block'
	    }else {
	        styleObject.display = 'none'
	    }
	    if  (mortval  != "" && propval != "") {
	        theval = mortval / propval *100
	    if (isNaN(theval)) {
	    }else {
	        document.forms[0].percent.value = Math.round(theval)
	    }
        }
    
    //end
    }
}


function PreselectMyItem(itemToSelect,thelist)
  {    // Get a reference to the drop-down
    var myDropdownList = thelist;

    // Loop through all the items
    for (iLoop = 0; iLoop< myDropdownList.options.length; iLoop++)
    {    
      if (myDropdownList.options[iLoop].value == itemToSelect)
      {
        // Item is found. Set its selected property, and exit the loop
        myDropdownList.options[iLoop].selected = true;
        break;
      }
    }  
    }
    
    function setRCheckedValue(radioObj, newValue) {
	if(!radioObj)
		return;
	var radioLength = radioObj.length;
	if(radioLength == undefined) {
		radioObj.checked = (radioObj.value == newValue.toString());
		return;
	}
	for(var i = 0; i < radioLength; i++) {
		radioObj[i].checked = false;
		if(radioObj[i].value == newValue.toString()) {
			radioObj[i].checked = true;
		}
	}
}



function checkmort(form) {
 switch (document.forms[0].mType[document.forms[0].mType.selectedIndex].value)
{  
  case "Re-mortgage":
 RequiredFieldValidator4a=document.getElementById('RequiredFieldValidator4a');
  //RequiredFieldValidator4a.enabled ='False';

   RequiredFieldValidator4b=document.getElementById('RequiredFieldValidator4b');
  RequiredFieldValidator4b.enabled ='False';
  
 changeObjectVisibility("PnlPropFound","hidden");
changeObjectVisibility("PnlFTB","hidden");
	
	//default prop found to yes and FTB to no
	PreselectMyItem('Yes',document.forms[0].PropertyFound)
	setRCheckedValue(document.forms[0].FTBuyer,'0')
		 
  break
  
  case "Purchase":
  RequiredFieldValidator4a=document.getElementById('RequiredFieldValidator4a');
  RequiredFieldValidator4a.enabled ='True';
  
   RequiredFieldValidator4b=document.getElementById('RequiredFieldValidator4b');
  RequiredFieldValidator4b.enabled ='True';
  
        changeObjectVisibility("PnlPropFound","visible");
		changeObjectVisibility("PnlFTB","visible"); 
  break
  
   case "Shared Ownership":
    RequiredFieldValidator4a=document.getElementById('RequiredFieldValidator4a');
  RequiredFieldValidator4a.enabled ='True';
  
   RequiredFieldValidator4b=document.getElementById('RequiredFieldValidator4b');
  RequiredFieldValidator4b.enabled ='True';
  
        changeObjectVisibility("PnlPropFound","visible");
		changeObjectVisibility("PnlFTB","visible"); 
  break
  
   case "Home-Ownership-Plan":
    RequiredFieldValidator4a=document.getElementById('RequiredFieldValidator4a');
  RequiredFieldValidator4a.enabled ='True';
  
   RequiredFieldValidator4b=document.getElementById('RequiredFieldValidator4b');
  RequiredFieldValidator4b.enabled ='True';
  
        changeObjectVisibility("PnlPropFound","visible");
		changeObjectVisibility("PnlFTB","visible"); 
		
		//default prop found to yes and FTB to no
	PreselectMyItem('Yes',document.forms[0].PropertyFound)
	setRCheckedValue(document.forms[0].FTBuyer,'0')
  break
  
   case "Shared-Ownership":
    RequiredFieldValidator4a=document.getElementById('RequiredFieldValidator4a');
  RequiredFieldValidator4a.enabled ='True';
  
   RequiredFieldValidator4b=document.getElementById('RequiredFieldValidator4b');
  RequiredFieldValidator4b.enabled ='True';
  
        changeObjectVisibility("PnlPropFound","visible");
		changeObjectVisibility("PnlFTB","visible"); 
		
		//default prop found to yes and FTB to no
	PreselectMyItem('Yes',document.forms[0].PropertyFound)
	setRCheckedValue(document.forms[0].FTBuyer,'0')
  break
    
  case "Buy-to-let":
   RequiredFieldValidator4a=document.getElementById('RequiredFieldValidator4a');
  RequiredFieldValidator4a.enabled ='True';
  
   RequiredFieldValidator4b=document.getElementById('RequiredFieldValidator4b');
  RequiredFieldValidator4b.enabled ='False';
  
        changeObjectVisibility("PnlPropFound","visible");
		changeObjectVisibility("PnlFTB","hidden"); 
		
		//default FTB to no
	setRCheckedValue(document.forms[0].FTBuyer,'0')
  break
  
  case "Commercial":
   RequiredFieldValidator4a=document.getElementById('RequiredFieldValidator4a');
  RequiredFieldValidator4a.enabled ='True';
  
   RequiredFieldValidator4b=document.getElementById('RequiredFieldValidator4b');
  RequiredFieldValidator4b.enabled ='False';
  
        changeObjectVisibility("PnlPropFound","visible");
		changeObjectVisibility("PnlFTB","hidden"); 
			//default FTB to no
	setRCheckedValue(document.forms[0].FTBuyer,'0')
  break
  
  case "International":
   RequiredFieldValidator4a=document.getElementById('RequiredFieldValidator4a');
  RequiredFieldValidator4a.enabled ='True';
  
   RequiredFieldValidator4b=document.getElementById('RequiredFieldValidator4b');
  RequiredFieldValidator4b.enabled ='False';
  
        changeObjectVisibility("PnlPropFound","visible");
		changeObjectVisibility("PnlFTB","hidden"); 
			//default FTB to no
	setRCheckedValue(document.forms[0].FTBuyer,'0')
  break
  
  }
};

function checkMvalues(){
var styleObject = getStyleObject('PnlnoticePrice');
styleObject.display = 'none'

var mortval = document.forms[0].mortgageAmount.value
var propval = document.forms[0].propertyvalue.value

mortval = mortval.replace(/,/g,"");
propval = propval.replace(/,/g,"");


	if (parseInt(mortval) > parseInt(propval)) {
	styleObject.display = 'block'
	}else {
	styleObject.display = 'none'
	}
	if  (mortval  != "" && propval != "") {
	theval = mortval / propval *100
	if (isNaN(theval)) {
	}else {
	document.forms[0].percent.value = theval
	}
}
}


function check90Value(mortamount,propamount){
//var styleObject = getStyleObject('Pnlnotice90');
//styleObject.display = 'none'

var styleObject2 = getStyleObject('introText');
var styleObject3 = getStyleObject('percenttxt');

for (i=0;i<=7;i++){
if (eval("document.forms[0].credStatus_"+i).checked) {
          
           percentval = parseInt(parseInt(mortamount) / propamount *100)
               if (percentval>90) {
                   // styleObject.display = 'block';
                    styleObject3.display='block'
                 }
           }
    }
}



function CustomValidator_ClientValidateTick(validators,tickdiv) {
var styleObject = getStyleObject(tickdiv);

var arrValidators = validators.split(",");
var lastIndex = validators.length - 1;
var bolthisValid = true

 var lastValIndex = Page_Validators.length - 1;
        for (i=0; i<=lastValIndex; i++) {
           for (c=0; c<=lastIndex; c++) {
                if(Page_Validators[i].id == arrValidators[c]) {
                
                        if (Page_Validators[i].isvalid == false || Page_Validators[i].isvalid == undefined ) {
                           bolthisValid =false
                           }
                 }
            }
               
        }

    if (bolthisValid == true) {
           styleObject.border = '2px green solid'
   } else {
        styleObject.border = '2px red solid'
   }
}

function doValidation() {
        CustomValidator_ClientValidateTick('RequiredFieldValidator2,RegularExpressionValidator1,RangeValidator11','propertyvalue');
        CustomValidator_ClientValidateTick('RegularExpressionValidator3,RequiredFieldValidator3,RangeValidator22','mortgageAmount');
        CustomValidator_ClientValidateTick('RegularExpressionValidator4','percent');
        CustomValidator_ClientValidateTick('RequiredFieldValidator1,RequiredFieldValidator6,RegularExpressionValidator5','firstname')
       CustomValidator_ClientValidateTick('RequiredFieldValidator8,RequiredFieldValidator33,RegularExpressionValidator6','lastname');
       CustomValidator_ClientValidateTick('RequiredFieldValidator9,RangeValidator1,RequiredFieldValidator34','dobDay')
 CustomValidator_ClientValidateTick('RequiredFieldValidator10,RangeValidator2,RequiredFieldValidator35','dobMonth');
        CustomValidator_ClientValidateTick('RequiredFieldValidator11,RangeValidator3,RequiredFieldValidator36','dobYear');
        CustomValidator_ClientValidateTick('RequiredFieldValidator14,RequiredFieldValidator15','postcode');
        CustomValidator_ClientValidateTick('RequiredFieldValidator16,RequiredFieldValidator17','street');
        CustomValidator_ClientValidateTick('RequiredFieldValidator18,RequiredFieldValidator19','city');
        CustomValidator_ClientValidateTick('RequiredFieldValidator5,RegularExpressionValidator2','email');
        CustomValidator_ClientValidateTick('RequiredFieldValidator12,RegularExpressionValidator29','hometel');
        CustomValidator_ClientValidateTick('RequiredFieldValidator13,RegularExpressionValidator33','evetel');
        CustomValidator_ClientValidateTick('RequiredFieldValidator16','yrsCover');
        CustomValidator_ClientValidateTick('RequiredFieldValidator17','CoverAmount');
        CustomValidator_ClientValidateTick('RequiredFieldValidator31','JointLIFirstName');
        CustomValidator_ClientValidateTick('RequiredFieldValidator32','JointLILastName');
           CustomValidator_ClientValidateTick('RequiredFieldValidator28,RangeValidator4','JointLIDOBDay');
           CustomValidator_ClientValidateTick('RequiredFieldValidator29,RangeValidator5','JointLIDOBMonth');
           CustomValidator_ClientValidateTick('RequiredFieldValidator30,RangeValidator6','JointLIDOBYear');
};


function Panel1() {
WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions('botnav2', '', true, '', '', false, false))
doValidation()
}



function Panel3() {
WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions('btnMortgage', '', true, '', '', false, false))
doValidation()
}



function Panel4() {
WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions('button1', '', true, '', '', false, false))
doValidation()
}

var expdate = new Date();
expdate.setTime (expdate.getTime() +  (24 * 60 * 60 * 1000 * 365));
 
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]='Credit status';
			arrFieldNames[6]='Life insurance';
			arrFieldNames[7]='Title';
			arrFieldNames[8]='First name';
			arrFieldNames[9]='Last name';
			arrFieldNames[10]='Postcode';
			arrFieldNames[11]='Email';
			arrFieldNames[12]='Day tel';
			arrFieldNames[13]='Eve tel';
			arrFieldNames[14]='Notes';
			arrFieldNames[15]='Newsletter';
			arrFieldNames[16]='Smoker';
			arrFieldNames[17]='Cover length';
			arrFieldNames[18]='Cover amount';
			arrFieldNames[19]='Cover payment';
			
			 
	       setCookieArray("fieldresults","blank^blank^blank^blank^blank^blank^blank^blank^blank^blank^blank^blank^blank^blank^blank^blank^blank^blank^blank^blank")
	       	
	       	
	       setCookieArray("fieldnames", "Property value^Borrow how much^Mortgage type^Property found^First-time buyer^Credit status^Life insurance^Title^First name^Last name^Postcode^Email^Day tel^Eve tel^Notes^Newsletter^Smoker^Cover length^Cover amount^Cover payment");

}

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++) {
     
          if (checkMortType(i,theid,theresult) == true) {
              result = resultsArray[i];
            ArString = ArString + result +"^";
            } else {
            
            ArString = ArString + 'blank' +"^";
          }

      }
      
      
        setCookieArray("fieldresults",ArString)
      
      writeResultsString();
}

function checkMortType(counterID,ItemID,itemResult) {

if (counterID == '3' && ItemID == '2' && itemResult =='Re-mortgage') {
    return false
    }
if (counterID == '4' && ItemID == '2' && itemResult =='Re-mortgage') {
    return false
} else {

    return true
}

}

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 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 getCookieArray(name){
    cookieStr = getCookie(name)
    arrCookie = cookieStr.split("^")
    return arrCookie
}


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 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].value == '1' || radioObj[i].value == 'yes' ) {
			    return 'yes'
			    } 
			    if(radioObj[i].value == '0' || radioObj[i].value == 'no') {
			    return 'no'
			    } 
			}else {
		//return	radioObj[i].value;
			}
		}

	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"
myCredStatus[7] = "Bankrupt"

var strResult = ""
    for (i=0;i<8;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 getSelectedRadio(buttonGroup) {
   // returns the array number of the selected radio button or -1 if no button is selected
   if (buttonGroup[0]) { // if the button group is an array (one button is not an array)
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            return i
         }
      }
   } else {
      if (buttonGroup.checked) { return 0; } // if the one button is checked, return zero
   }
   // if we get to this point, no radio button is selected
   return -1;
} // Ends the "getSelectedRadio" function

function getSelectedRadioValue(buttonGroup) {
   // returns the value of the selected radio button or "" if no button is selected
   var i = getSelectedRadio(buttonGroup);
   if (i == -1) {
      return "";
   } else {
      if (buttonGroup[i]) { // Make sure the button group is an array (not just one button)
         return buttonGroup[i].value;
      } else { // The button group is just the one button, and it is checked
         return buttonGroup.value;
      }
   }
} // Ends the "getSelectedRadioValue" function

function getSelectedCheckbox(buttonGroup) {
   // Go through all the check boxes. return an array of all the ones
   // that are selected (their position numbers). if no boxes were checked,
   // returned array will be empty (length will be zero)
   var retArr = new Array();
   var lastElement = 0;
   if (buttonGroup[0]) { // if the button group is an array (one check box is not an array)
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            retArr.length = lastElement;
            retArr[lastElement] = i;
            lastElement++;
         }
      }
   } else { // There is only one check box (it's not an array)
      if (buttonGroup.checked) { // if the one check box is checked
         retArr.length = lastElement;
         retArr[lastElement] = 0; // return zero as the only array value
      }
   }
   return retArr;
} // Ends the "getSelectedCheckbox" function

function getSelectedCheckboxValue(buttonGroup) {
   // return an array of values selected in the check box group. if no boxes
   // were checked, returned array will be empty (length will be zero)
   var retArr = new Array(); // set up empty array for the return values
   var selectedItems = getSelectedCheckbox(buttonGroup);
   if (selectedItems.length != 0) { // if there was something selected
      retArr.length = selectedItems.length;
      for (var i=0; i<selectedItems.length; i++) {
         if (buttonGroup[selectedItems[i]]) { // Make sure it's an array
            retArr[i] = buttonGroup[selectedItems[i]].value;
         } else { // It's not an array (there's just one check box and it's selected)
            retArr[i] = buttonGroup.value;// return that value
         }
      }
   }
   return retArr;
} // Ends the "getSelectedCheckBoxValue" function


function createLIBreadcrumbArray() {
var arrFieldNames=new Array();
		    arrFieldNames[0]='Property £';
			arrFieldNames[1]='Mortgage £';
			arrFieldNames[2]='Type';
			arrFieldNames[3]='Property found';
			arrFieldNames[4]='First-time';
			arrFieldNames[5]='Credit status';
			arrFieldNames[6]='Life insurance';
			arrFieldNames[7]='Title';
			arrFieldNames[8]='First name';
			arrFieldNames[9]='Last name';
			arrFieldNames[10]='Postcode';
			arrFieldNames[11]='Email';
			arrFieldNames[12]='Day tel';
			arrFieldNames[13]='Eve tel';
			arrFieldNames[14]='Notes';
			arrFieldNames[15]='Newsletter';
			arrFieldNames[16]='Smoker';
			arrFieldNames[17]='Cover length';
			arrFieldNames[18]='Cover amount';
			arrFieldNames[19]='Occupation';
			arrFieldNames[20]='Debt reduce';
			arrFieldNames[21]='Critical illness';
			arrFieldNames[22]='Joint cover';
			
			 
	       setCookieArray("fieldresults","blank^blank^blank^blank^blank^blank^blank^blank^blank^blank^blank^blank^blank^blank^blank^blank^blank^blank^blank^blank^blank^blank^blank")
	       	
	       	
	       setCookieArray("fieldnames", "Property value^Borrow how much^Mortgage type^Property found^First-time buyer^Credit status^Life insurance^Title^First name^Last name^Postcode^Email^Day tel^Eve tel^Notes^Newsletter^Smoker^Cover length^Cover amount^Occupation^Debt reduce^Critical illness^Joint cover");
document.getElementById('breadcrumb').innerHTML = ""
}


function cleanMortAmount(field) {
var amount
amount = field.value
    if (amount < 20000) {
        field.value = amount* 1000
    }
}


function CurrencyFormatted(amount)
{
	var i = parseFloat(amount);
	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;
}


function numeralsOnly(currv, evt, decimal) {
    evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : 
        ((evt.which) ? evt.which : 0));
    if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 46) {
        return false;
    }
    if (charCode == 46) {  
        if (decimal == 0) { 
            return false;
        } else {
         if (currv.indexOf(".") != -1) {
             return false;
         }
     }
 } else if (currv.indexOf(".") != -1) {   
     var s = currv.substring(currv.indexOf("."));
  if (s.length > decimal) {
   return false;
  }
 }
    return true;
}


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";}
}
}