﻿function OnlyNumeric(evt)
{   evt = (evt) ? evt : ((window.event) ? event : null);
    if (evt) 
    {
        var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : ((evt.which) ? evt.which : 0));
	    if (charCode >= 48 && charCode <= 57) return;
        if (charCode == 8 || charCode == 9) return;  
        if (window.event) evt.returnValue = false;
        else evt.preventDefault();
    }
}

function CheckPostcode(objPostcode)
{
    var test;
    var size;
    
    test = objPostcode.value
    size = test.length
    test = test.toUpperCase()
    if (size==0) {return false;}
    while (test.slice(0,1) == " ")
    {	test = test.substr(1,size-1)
    }
    while(test.slice(size-1,size)== " ")
    {	test = test.substr(0,size-1)
    }
    size = test.length
    objPostcode.value = test
    if (size < 5 || size > 8)
    {	alert(test + " is not a valid postcode - wrong length");
        objPostcode.focus();
        return false;
    }
    if (!(isNaN(test.charAt(0))))
    {	alert(test + " is not a valid postcode - cannot start with a number");
        objPostcode.focus();
        return false;
    }
    if (isNaN(test.charAt(size-3)))
    {	alert(test + " is not a valid postcode - alpha character in wrong position");
        objPostcode.focus();
        return false;
    }
    if (!(isNaN(test.charAt(size-2))))
    {	alert(test + " is not a valid postcode - number in wrong position");
        objPostcode.focus();
        return false;
    }
    if (!(isNaN(test.charAt(size-1))))
    {	alert(test + " is not a valid postcode - number in wrong position");
        objPostcode.focus();
        return false;
    }
    if (!(test.charAt(size-4) == " "))
    {   outer = test.substr(size-3, size)
        inner = test.substr(0, size-outer.length)	 	   
        test = inner + " " + outer
        size = test.length
        objPostcode.value = test
    }

    count1 = test.indexOf(" ")
    count2 = test.lastIndexOf(" ")
    if (count1 != count2)
    {	alert(test + " is not a valid postcode - only one space allowed");
        objPostcode.focus();
        return false;
    }
    return true;
}    

function OpenHelp(strHelpFile)
{   
    hgt = window.screen.height;
    wdt = window.screen.width;
    posX = (wdt-300)/2
    posY = (hgt-300)/2        

    Refer = document.getElementById("ref").value 

    strHelpURL = "help/help.aspx?referid=" + Refer + "&id=" + strHelpFile
    strFeatures = "left = " + posX + ", top = " + posY + ", menubar=no, resizable=yes, scrollbars=yes, height=300, width=300, toolbar=no"
    window.open(strHelpURL, "HelpWindow", strFeatures)
}

function ClientCreditCheck(sender, args) {
    var sValue = args.Value;

    if (document.getElementById('ctl00_Main_pnlEONCreditCheck')) {

        if (document.getElementById('ctl00_Main_chkCreditCheckEON').checked) {

            args.IsValid = false;
            return;
        }
    }    
    
    args.IsValid = true;
}

    
function ClientCheckSelected(sender, args)
{
  var sValue = args.Value;
  if (sValue == "*" || sValue == "-1" || sValue == "")
  {	args.IsValid = false;
    return;
  }
  args.IsValid = true;
}
    
function ProperCase(elem)
{
	strTemp = elem.value

	strFirst = strTemp.substring(0, 1)
	strFirst = strFirst.toUpperCase()
	strRest = strTemp.substring(1, strTemp.length)

	numPos = strRest.indexOf("-")
	while( numPos != -1 )
	{
		strChar = strRest.substring(numPos+1, numPos+2)
		strChar = strChar.toUpperCase()
		strTemp = strRest.substring(0, numPos+1)
		strLast = strRest.substring(numPos+2, strRest.length+1)
		strRest = strTemp + strChar + strLast

		numPos = strRest.indexOf("-", numPos + 1)
	}

	numPos = strRest.indexOf("'")
	while( numPos != -1 )
	{
		strChar = strRest.substring(numPos+1, numPos+2)
		strChar = strChar.toUpperCase()
		strTemp = strRest.substring(0, numPos+1)
		strLast = strRest.substring(numPos+2, strRest.length+1)
		strRest = strTemp + strChar + strLast

		numPos = strRest.indexOf("'", numPos + 1)
	}

	numPos = strRest.indexOf(" ")
	while( numPos != -1 )
	{
		strChar = strRest.substring(numPos+1, numPos+2)
		strChar = strChar.toUpperCase()
		strTemp = strRest.substring(0, numPos+1)
		strLast = strRest.substring(numPos+2, strRest.length+1)
		strRest = strTemp + strChar + strLast

		numPos = strRest.indexOf(" ", numPos + 1)
	}

	elem.value=strFirst + strRest
}    

function UpperCase(elem)
{
    strTemp = elem.value
    elem.value=strTemp.toUpperCase()
}

function ValidateGasMeter(sender, args)
{
    var sValue = args.Value;
    if (sValue == "")
    {   args.isValid = false;
	    return;
    }
    if (sValue.length < 3)
    {   args.isValid = false;
	    return;
    }
    intSize = sValue.length
    numCheckDigit = (sValue.charAt(intSize -2) * 1) + (sValue.charAt(intSize -1) * 1)
    if (numCheckDigit >= 11)
    {   args.isValid = false;
	    return;
    }
    numSum = 0
    numIndex = 0
    intSize = intSize - 2
    while (intSize > 0)
    {   numSum = numSum + ((numIndex +1) * (sValue.charAt(numIndex) * 1))
	    numIndex = numIndex + 1
	    intSize = intSize - 1
    }
			
    if ((numSum % 11) != numCheckDigit)
    {   args.isValid = false;
    }
    else
    {   args.isValid = true;
    }
}    


  

  
