function chkMandatory(objControl,strMessage)
{
        var strVal=objControl.value;
        var strType=objControl.type;
        if (strType=='select-multiple' || strType=='select-one')
        {
                if (objControl.options.selectedIndex<0)
                {
                        alert(strMessage);
                        objControl.focus();
                        return false;
                }
        }
        else
        {
                var outStr = "";

                for (var n = 1 ; n <= strVal.length ; n++) 
                {
                        if (strVal.substring(n-1,n) == " ") 
                        { 
                                outStr+=""; 
                        }
                        else 
                        { 
                                outStr+=strVal.substring(n-1,n); 
                        }
                }
        
                if (outStr == "")
                {
                        objControl.value=outStr;
                        alert(strMessage);
                        objControl.focus();
                        return false;
                }
        }
        return true;
}
//****************************************************************************************************************
function chkLength(objControl,iMinLen,strMessage)
{
        if (objControl.value.length < iMinLen)
        {

                alert(strMessage);
                objControl.focus();
                return false;
        }
        return true;
}
//****************************************************************************************************************
function chkNumeric(objControl,strMessage)
{
        if (isNaN(objControl.value))
        {
                alert(strMessage);
                objControl.focus();
                return false;
        }
        return true;
}
//****************************************************************************************************************
function chkAlphaNumeric(objControl,strMessage) {
  var cValid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 ";
  for (i=0; i < objControl.value.length; i++) {
	var re = new RegExp (objControl.value.substring(i, i+1),"g");
	if (!re.test(cValid)) {
	    alert(strMessage);
		objControl.focus();
		return false;
	}
  }
  return true;
}
//****************************************************************************************************************
function Focus()
{
        var Focused=false;
        var FocusElementIndex=-1;

        if(document.forms.length > 0)
        {
                if (document.forms[0].elements.length > 0)
                {
                        for (i=0;i<document.forms[0].elements.length;i++)
                        {
                                if(document.forms[0].elements[i].type != "hidden" && Focused==false)
                                {
                                        FocusElementIndex=i;
                                        Focused=true;
                                }
                        }
                }
        }

        if (FocusElementIndex >= 0)
        {
                document.forms[0].elements[FocusElementIndex].focus();
        }
}

//****************************************************************************************************************
function chkEmail(emailStr,strErrorMsg)
{
        var emailPat=/^(.+)@(.+)$/
        var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
        var validChars="\[^\\s" + specialChars + "\]"
        var quotedUser="(\"[^\"]*\")"
        var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
        var atom=validChars + '+'
        var word="(" + atom + "|" + quotedUser + ")"
        // The following pattern describes the structure of the user
        var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
        /* The following pattern describes the structure of a normal symbolic
   domain, as opposed to ipDomainPat, shown above. */
        var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")

/* Begin with the coarse pattern to simply break up user@domain into
   different pieces that are easy to analyze. */
        var matchArray=emailStr.match(emailPat)
        if (matchArray==null) {
  /* Too many/few @'s or something; basically, this address doesn't
     even fit the general mould of a valid e-mail address. */
        alert(strErrorMsg)
        return false
        }

        var user=matchArray[1]
        var domain=matchArray[2]

// See if "user" is valid 
if (user.match(userPat)==null) {
    // user is not valid
    alert(strErrorMsg)
    return false
}

/* if the e-mail address is at an IP address (as opposed to a symbolic
   host name) make sure the IP address is valid. */
var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
    // this is an IP address
          for (var i=1;i<=4;i++) {
            if (IPArray[i]>255) {
                alert(strErrorMsg)
                return false
            }
    }
    return true
}

var domainArray=domain.match(domainPat)
if (domainArray==null) {
        alert(strErrorMsg)
    return false
}

/* Break up the domain to get a count of how many atoms
   it consists of. */
   
var atomPat=new RegExp(atom,"g")
var domArr=domain.match(atomPat)
var len=domArr.length
if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) 
{
   // the address must end in a two letter or three letter word.
   alert(strErrorMsg)
   return false
}
// Make sure there's a host name preceding the domain.
if (len<2) 
{
   alert(strErrorMsg)
   return false
}
return true;
}
//*******************************************************************************************************************
	function getCountries(){
		return(   
	   '<OPTION  value=" ">Pick a Country' +
		'<OPTION value="UNK">Unknown Country' +
		'<OPTION value="AFG">Afghanistan' +
		'<OPTION value="ALB">Albania' +
		'<OPTION value="DZA">Algeria' +
		'<OPTION value="ASM">American Samoa' +
		'<OPTION value="AND">Andorra' +
		'<OPTION value="AGO">Angola' +
		'<OPTION value="AIA">Anguilla' +
		'<OPTION value="ATA">Antarctica' +
		'<OPTION value="ATG">Antigua and Barbuda' +
		'<OPTION value="ARG">Argentina' +
		'<OPTION value="ARM">Armenia' +
		'<OPTION value="ABW">Aruba' +
		'<OPTION value="AUS">Australia' +
		'<OPTION value="AUT">Austria' +
		'<OPTION value="AZE">Azerbaijan' +
		'<OPTION value="BHS">Bahamas' +
		'<OPTION value="BHR">Bahrain' +
		'<OPTION value="BGD">Bangladesh' +
		'<OPTION value="BRB">Barbados' +
		'<OPTION value="BLR">Belarus' +
		'<OPTION value="BEL">Belgium' +
		'<OPTION value="BLZ">Belize' +
		'<OPTION value="BEN">Benin' +
		'<OPTION value="BMU">Bermuda' +
		'<OPTION value="BTN">Bhutan' +
		'<OPTION value="BOL">Bolivia' +
		'<OPTION value="BIH">Bosnia and Herzegowina' +
		'<OPTION value="BWA">Botswana' +
		'<OPTION value="BVT">Bouvet Island' +
		'<OPTION value="BRA">Brazil' +
		'<OPTION value="IOT">British Indian Ocean Territory' +
		'<OPTION value="BRN">Brunei Darussalam' +
		'<OPTION value="BGR">Bulgaria' +
		'<OPTION value="BFA">Burkina Faso' +
		'<OPTION value="BDI">Burundi' +
		'<OPTION value="KHM">Cambodia' +
		'<OPTION value="CMR">Cameroon' +
		'<OPTION value="CAN">Canada' +
		'<OPTION value="CPV">Cape Verde' +
		'<OPTION value="CYM">Cayman Islands' +
		'<OPTION value="CAF">Central African Republic' +
		'<OPTION value="TCD">Chad' +
		'<OPTION value="CHL">Chile' +
		'<OPTION value="CHN">China' +
		'<OPTION value="CXR">Christmas Island' +
		'<OPTION value="ccK">Cocoa (Keeling) Islands' +
		'<OPTION value="COL">Colombia' +
		'<OPTION value="COM">Comoros' +
		'<OPTION value="COG">Congo' +
		'<OPTION value="COK">Cook Islands' +
		'<OPTION value="CRI">Costa Rica' +
		'<OPTION value="CIV">Cote Divoire' +
		'<OPTION value="HRV">Croatia' +
		'<OPTION value="CUB">Cuba' +
		'<OPTION value="CYP">Cyprus' +
		'<OPTION value="CZE">Czech Republic' +
		'<OPTION value="DNK">Denmark' +
		'<OPTION value="DJI">Djibouti' +
		'<OPTION value="DMA">Dominica' +
		'<OPTION value="DOM">Dominican Republic' +
		'<OPTION value="TMP">East Timor' +
		'<OPTION value="ECU">Ecuador' +
		'<OPTION value="EGY">Egypt' +
		'<OPTION value="SLV">El Salvador' +
		'<OPTION value="GNQ">Equatorial Guinea' +
		'<OPTION value="ERI">Eritrea' +
		'<OPTION value="EST">Estonia' +
		'<OPTION value="ETH">Ethiopia' +
		'<OPTION value="FLK">Falkland Islands (Malvinas)' +
		'<OPTION value="FRO">Faroe Islands' +
		'<OPTION value="FJI">Fiji' +
		'<OPTION value="FIN">Finland' +
		'<OPTION value="FRA">France' +
		'<OPTION value="FXX">France, Metropolitan' +
		'<OPTION value="GUF">French Guiana' +
		'<OPTION value="PYF">French Polynesia' +
		'<OPTION value="ATF">French Southern Territories' +
		'<OPTION value="GAB">Gabon' +
		'<OPTION value="GMB">Gambia' +
		'<OPTION value="GEO">Georgia' +
		'<OPTION value="DEU">Germany' +
		'<OPTION value="GHA">Ghana' +
		'<OPTION value="GIB">Gibraltar' +
		'<OPTION value="GRC">Greece' +
		'<OPTION value="GRL">Greenland' +
		'<OPTION value="GRD">Grenada' +
		'<OPTION value="GLP">>Guadeloupe' +
		'<OPTION value="GUM">Guam' +
		'<OPTION value="GTM">Guatemala' +
		'<OPTION value="GIN">Guinea' +
		'<OPTION value="GNB">Guinea-Bissau' +
		'<OPTION value="GUY">Guyana' +
		'<OPTION value="HTI">Haiti' +
		'<OPTION value="HMD">Heard and Mc Donald Islands' +
		'<OPTION value="HND">Honduras' +
		'<OPTION value="HKG">Hong Kong' +
		'<OPTION value="HUN">Hungary' +
		'<OPTION value="ISL">Iceland' +
		'<OPTION value="IND">India' +
		'<OPTION value="IDN">Indonesia' +
		'<OPTION value="IRN">Iran' +
		'<OPTION value="IRQ">Iraq' +
		'<OPTION value="IRL">Ireland' +
		'<OPTION value="ISR">Israel' +
		'<OPTION value="ITA">Italy' +
		'<OPTION value="JAM">Jamaica' +
		'<OPTION value="JPN">Japan' +
		'<OPTION value="JOR">Jordan' +
		'<OPTION value="KAZ">Kazakhstan' +
		'<OPTION value="KEN">Kenya' +
		'<OPTION value="KIR">Kiribati' +
		'<OPTION value="PRK">Korea, Democratic Peoples Rep.' +
		'<OPTION value="KOR">Korea, Republic of' +
		'<OPTION value="KWT">Kuwait' +
		'<OPTION value="KGZ">Kyrgyzstan' + 
		'<OPTION value="LAO">Lao Peoples Democratic Rep.' +
		'<OPTION value="LVA">Latvia' +
		'<OPTION value="LBN">Lebanon' +
		'<OPTION value="LSO">Lesotho' +
		'<OPTION value="LBR">Liberia' +
		'<OPTION value="LBY">Libyan Arab Jamahiriya' +
		'<OPTION value="LIE">Liechtenstein' +
		'<OPTION value="LTU">Lithuania' +
		'<OPTION value="LUX">Luxembourg' +
		'<OPTION value="MAC">Macau' +
		'<OPTION value="MKD">Macedonia' +
		'<OPTION value="MDG">Madagascar' +
		'<OPTION value="MWI">Malawi' +
		'<OPTION value="MYS">Malaysia' +
		'<OPTION value="MDV">Maldives' +
		'<OPTION value="MLI">Mali' +
		'<OPTION value="MLT">Malta' +
		'<OPTION value="MHL">Marshall Islands' +
		'<OPTION value="MTQ">Martinique' +
		'<OPTION value="MRT">Mauritania' +
		'<OPTION value="MVS">Mauritius' +
		'<OPTION value="MYT">Mayotte' +
		'<OPTION value="MEX">Mexico' +
		'<OPTION value="FSM">Micronesia, Federated States of' +
		'<OPTION value="MDA">Moldova' + 
		'<OPTION value="MCO">Monaco' +
		'<OPTION value="MNG">Mongolia' +
		'<OPTION value="MSR">Montserrat' +
		'<OPTION value="MAR">Morocco' +
		'<OPTION value="MOZ">Mozambique' +
		'<OPTION value="MMR">Myanmar' +
		'<OPTION value="NAM">Namibia' +
		'<OPTION value="NRU">Nauru' +
		'<OPTION value="NPL">Nepal' +
		'<OPTION value="NLD">Netherlands' +
		'<OPTION value="ANT">Netherlands Antilles' +
		'<OPTION value="NCL">New Caledonia' +
		'<OPTION value="NZL">New Zealand' +
		'<OPTION value="NIC">Nicaragua' +
		'<OPTION value="NER">Niger' +
		'<OPTION value="NGA">Nigeria' +
		'<OPTION value="NIU">Niue' +
		'<OPTION value="NFK">Norfolk Island' +
		'<OPTION value="MNP">Northern Mariana Islands' +
		'<OPTION value="MOR">Norway' +
		'<OPTION value="OMN">Oman' +
		'<OPTION value="PAK">Pakistan' +
		'<OPTION value="PLW">Palau' +
		'<OPTION value="PAN">Panama' +
		'<OPTION value="PNG">Papua New Guinea' +
		'<OPTION value="PRY">Paraguay' +
		'<OPTION value="PER">Peru' +
		'<OPTION value="PHL">Philippines' +
		'<OPTION value="PCN">Pitcairn' +
		'<OPTION value="POL">Poland' +
		'<OPTION value="PRT">Portugal' +
		'<OPTION value="PRI">Puerto Rico' +
		'<OPTION value="QAT">Qatar' +
		'<OPTION value="REU">Reunion' +
		'<OPTION value="ROM">Romania' +
		'<OPTION value="RUS">Russian Federation' +
		'<OPTION value="RWA">Rwanda' +
		'<OPTION value="KNA">Saint Kitts and Nevis' +
		'<OPTION value="LCA">Saint Lucia' +
		'<OPTION value="VCT">Saint Vincent and the Grenadines' +
		'<OPTION value="WSM">Samoa' +
		'<OPTION value="SMR">San Marino' +
		'<OPTION value="STP">Sao Tome and Principe' +
		'<OPTION value="SAU">Saudi Arabia' +
		'<OPTION value="SEN">Senegal' +
		'<OPTION value="SYC">Seychelles' +
		'<OPTION value="SLE">Sierra Leone' +
		'<OPTION value="SGP">Singapore' +
		'<OPTION value="SVK">Slovakia (Slovak Republic)' +
		'<OPTION value="SVN">Slovenia' +
		'<OPTION value="SLB">Solomon Islands' +
		'<OPTION value="SOM">Somalia' +
		'<OPTION value="ZAF">South Africa' +
		'<OPTION value="SGS">South Georgia  &South Sandwich Isl.' +
		'<OPTION value="ESP">Spain' +
		'<OPTION value="LKA">Sri Lanka' +
		'<OPTION value="SHN">St. Helena' +
		'<OPTION value="SPM">St. Pierre and Miquelon' +
		'<OPTION value="SDN">Sudan' +
		'<OPTION value="SUR">Suriname' +
		'<OPTION value="SJM">Svalbard and Jan Mayen Islands' +
		'<OPTION value="SWZ">Swaziland' +
		'<OPTION value="SWE">Sweden' +
		'<OPTION value="CHE">Switzerland' +
		'<OPTION value="SYR">Syrian Arab Republic' +
		'<OPTION value="TWN">Taiwan' +
		'<OPTION value="TJK">Tajikistan' + 
		'<OPTION value="TZA">Tanzania, United Republic of' +
		'<OPTION value="THA">Thailand' +
		'<OPTION value="TGO">Togo' +
		'<OPTION value="TKL">Tokelau' +
		'<OPTION value="TON">Tonga' +
		'<OPTION value="TTO">Trinidad and Tobago' +
		'<OPTION value="TUN">Tunisia' +
		'<OPTION value="TUR">Turkey' +
		'<OPTION value="TKM">Turkmenistan' +
		'<OPTION value="TCA">Turks and Caicos Islands' +
		'<OPTION value="TUV">Tuvalu' +
		'<OPTION value="UGA">Uganda' +
		'<OPTION value="UKR">Ukraine' +
		'<OPTION value="ARE">United Arab Emirates' +
		'<OPTION value="GBR">United Kingdom' +
		'<OPTION value="USA">United States of America' +
		'<OPTION value="UMI">United States Minor Outlying Islands' +
		'<OPTION value="URY">Uruguay' +
		'<OPTION value="UZB">Uzbekistan' +
		'<OPTION value="VUT">Vanuatu' +
		'<OPTION value="VAT">Vatican City State (Holy See)' +
		'<OPTION value="VEN">Venezuela' +
		'<OPTION value="VNM">Viet Nam' +
		'<OPTION value="VGB">Virgin Islands (British)' +
		'<OPTION value="VIR">Virgin Islands (U.S.)' +
		'<OPTION value="WLF">Wallisw and Futuna Islands' +
		'<OPTION value="ESH">Western Sahara' +
		'<OPTION value="YEM">Yeman' +
		'<OPTION value="YUG">Yugoslavia' +
		'<OPTION value="ZAR">Zaire' +
		'<OPTION value="ZMB">Zambia' +
		'<OPTION value="ZWE">Zimbabwe' +
		'<OPTION value=""> ____________________')
  }

