var analyOn = false;
var softwareOn = false;
var trainingOn = false;
var otherOn = false;
var checkvar = false;

function addLoadEvent(func) {   
   var oldonload = window.onload;   
   if (typeof window.onload != 'function') {   
	 window.onload = func;   
   } else {   
	 window.onload = function() {   
	   oldonload();   
	   func();   
	 }   
   }   
}

function changeGeography() {
	  //for (i=0;i<document.oneform.region.length;i++) {
	   //if (selectedRegion == document.oneform.region[i].text) {
		  //document.oneform.region.selectedIndex = i;
	   //}
	  //}   
	  //relate(document.getElementById('m1'), m, 1);
	  for (i=0;i<document.oneform.countryName.length;i++) {
	   if (selectedCountry == document.oneform.countryName[i].text) {
		  document.oneform.countryName.selectedIndex = i;	  
	   }
	  }   
	  relate(document.getElementById('m2'), m, 2);                
}

<!--
v=false;
//-->

<!--
if (typeof(Option)+"" != "undefined") v=true;
//-->

var v = false;

function get(elt)
{
   // loop thru document.forms property and exit w/ current element index
   
   var num = -1;
   for (var i = 0; i < elt.form.elements.length; i++) {
      if (elt.form.elements[i].name == elt.name) {
        num = i;  // save element index
        break;
      }
   }
   return num;  // returns current element index
}

function sindex(num, offset, elt)
{  //***modified next line to get the right element index***
   // sel finds selected index or value of num + offset's form element
   var sel = elt.form.elements[num+offset].selectedIndex;
   if (sel < 0) sel = 0;
   return sel;
}

function relate(elt, tree, depth)
{ // relate submenus based on sel of form - calls update to redef submenus
   if (v) {
      var num = get(elt); // fetch the current elt index
      var a = tree;        // set a to be the tree array
      while (a != null && --depth != -1) {
        // traverse menu tree until we reach the corresponding option record
        a = a[sindex(num, -depth, elt)];
      }       
      // at depth 3, should end up w/ something like a[i][j][k]
      // where each index holds the value of s(elected )index in related form select elts
      if (a != null && a.length) {
         // if a array exists and it has elements,
         // feed update() w/ this record reference
         update(num, elt, a); 
         return;
      }
   }
   // if a hasn't any array elements or new Option unsupported then end up here ;)
   //jmp(form, elt); // make like a live popup
}

function update(num, elt, m)
{ 
   // updates submenus - element(num)'s menu options, and all submenus
   // if refd element exists
   if (num != -1) {
      num++; // reference next element, assume it follows in HTML
      //***modified next line to refer to elements within the same form***
      with (elt.form.elements[num]) { 
	 // null out options in reverse order (bug work-around)
         for (var i = options.length - 1; 0 < i; i--) options[i] = null; 
         // fill up next menu's items
         for (var i = 0; i < m.length; i++) 
           options[i] = (m[i].value != null) ? new Option(m[i].text, m[i].value) : new Option(m[i].text);
         options[0].selected = true; // default to 1st menu item, windows bug kludge
      }
      if (m[0].length != 0) {
         update(num, elt, m[0]); // update subsequent form if any grandchild menu exists
      }
    }
}

// Internet Explorer 4+ bug fix:
// IE4+ remembers the index of each SELECT but NOT the CONTENTS of each SELECT, 
// so it gets it wrong.
function resetIE() {
   for (var i = 0; i < 40; i++) {
      document.forms[i].reset();
   }
}

if (document.all)
   window.onload = resetIE;

function initLists() {
  if (!v) return 0;
  var args = initLists.arguments;
  var argLen = args.length - 1;
  var temp = new Array();  
  //this loop iterates through each 2nd argument (arrays) 
  for(var arg=argLen; arg>0; arg-=2) {
    var list = args[arg-1];     
    var a = args[arg];
    var newSubI = 0, oldSubI = 0;
    for(var i=0; i<a.length;i++) {
     if (a[i] != "") {
        //create a new Option with the appropriate submenu
        temp[temp.length] = new O(a[i], null, (arg==argLen ? null : m[oldSubI++]));
      }
      else {
//        temp = temp.sort(compare);
        m[newSubI++] = temp; 
        temp = new Array(); 
      }
    }
    //reset the length of array
    m.length = newSubI;
  }
  //set up the listboxes 
  //get the root list
  var elt = args[0];
  if (typeof (elt=elt.form.elements[get(elt)-1]) != "undefined")
    relate(elt,m,1); 
  return 0;
}

function fillBaseList(index, elt, a) {
  if (v) {
    //create a new Option for each array element   
    for(var i=0; i<a.length; i++) a[i] = new O(a[i],null);
    //fill the list
    // null out options in reverse order (bug work-around)
    for (var i = elt.options.length - 1; 0 < i; i--) 
      elt.options[i] = null; 
    // fill up menu's items
    for (var i = 0; i < a.length; i++) 
      elt.options[i] = a[i].value != null ? 
                       new Option(a[i].text, a[i].value) : 
                       new Option(a[i].text);
    elt.options[0].selected = true; // default to 1st menu item, windows bug kludge
  }
}

// Check if Option constructor is supported
if ((typeof(Option) + "") != "undefined") 
{ v = true; }
else {  
	alert("This page is best viewed in Netcape or IE 4+."); 
}

// This constructor works equally well for 2D,3D and over
function O(text, value, submenu) {
   this.text = text;
   this.value = value;
   this.length = 0;  
   if (submenu != null) {
      // submenu is an array of options...
      for (var i = 0; i < submenu.length; ) {
         this[i] = submenu[i];
         this.length = ++i;
      }
   }
}



//***new function to sort the lists*** 
function compare(a,b) {
   return (a.text > b.text)? 1 : -1; 
}

var m            = new Array();
var country        = new Array();
var province        = new Array();


  country[0] = "Choose...";
   province[0] = "--";
   province[1] = "";
  country[1]="United States";
   province[2] = "Choose...";
   province[3]="Alabama";
   province[4]="Alaska";
   province[5]="Arizona";
   province[6]="Arkansas";
   province[7]="California";
   province[8]="Colorado";
   province[9]="Connecticut";
   province[10]="Delaware";
   province[11]="District of Columbia";
   province[12]="Florida";
   province[13]="Georgia";
   province[14]="Hawaii";
   province[15]="Idaho";
   province[16]="Illinois";
   province[17]="Indiana";
   province[18]="Iowa";
   province[19]="Kansas";
   province[20]="Kentucky";
   province[21]="Louisiana";
   province[22]="Maine";
   province[23]="Maryland";
   province[24]="Massachusetts";
   province[25]="Michigan";
   province[26]="Minnesota";
   province[27]="Mississippi";
   province[28]="Missouri";
   province[29]="Montana";
   province[30]="Nebraska";
   province[31]="Nevada";
   province[32]="New Hampshire";
   province[33]="New Jersey";
   province[34]="New Mexico";
   province[35]="New York";
   province[36]="North Carolina";
   province[37]="North Dakota";
   province[38]="Ohio";
   province[39]="Oklahoma";
   province[40]="Oregon";
   province[41]="Pennsylvania";
   province[42]="Rhode Island";
   province[43]="South Carolina";
   province[44]="South Dakota";
   province[45]="Tennessee";
   province[46]="Texas";
   province[47]="Utah";
   province[48]="Vermont";
   province[49]="Virginia";
   province[50]="Washington";
   province[51]="West Virginia";
   province[52]="Wisconsin";
   province[53]="Wyoming";
   province[54]="";
  country[2]="Canada";
   province[55] = "Choose...";  
   province[56]="Alberta";
   province[57]="British Columbia";
   province[58]="Manitoba";
   province[59]="New Brunswick";
   province[60]="Newfoundland";
   province[61]="Northwest Territories";
   province[62]="Nova Scotia";
   province[63]="Nunavut";
   province[64]="Ontario";
   province[65]="Prince Edward Island";
   province[66]="Quebec";
   province[67]="Saskatchewan";
   province[68]="Yukon";
   province[69]="";
  country[3]="Afghanistan";
   province[70]="n/a";
   province[71]="";
  country[4]="Albania";
   province[72]="n/a";
   province[73]="";
  country[5]="Algeria";
   province[74]="n/a";
   province[75]="";
  country[6]="Andorra";
   province[76]="n/a";
   province[77]="";
  country[7]="Angola";
   province[78]="n/a";
   province[79]="";
  country[8]="Antigua and Barbuda";
   province[80]="n/a";
   province[81]="";
  country[9]="Argentina";
   province[82]="n/a";
   province[83]="";
  country[10]="Armenia";
   province[84]="n/a";
   province[85]="";
  country[11]="Austria";
   province[86]="n/a";
   province[87]="";
  country[12]="Azerbaijan";
   province[88]="n/a";
   province[89]="";
  country[13]="Bahamas";
   province[90]="n/a";
   province[91]="";
  country[14]="Bahrain";
   province[92]="n/a";
   province[93]="";
  country[15]="Bangladesh";
   province[94]="n/a";
   province[95]="";
  country[16]="Barbados";
   province[96]="n/a";
   province[97]="";
  country[17]="Belarus";
   province[98]="n/a";
   province[99]="";
  country[18]="Belgium";
   province[100]="n/a";
   province[101]="";
  country[19]="Belize";
   province[102]="n/a";
   province[103]="";
  country[20]="Bolivia";
   province[104]="n/a";
   province[105]="";
  country[21]="Bosnia and Herzegovina";
   province[106]="n/a";
   province[107]="";
  country[22]="Botswana";
   province[108]="n/a";
   province[109]="";
  country[23]="Brazil";
   province[110]="n/a";
   province[111]="";
  country[24]="Bulgaria";
   province[112]="n/a";
   province[113]="";
  country[25]="Cambodia";
   province[114]="n/a";
   province[115]="";
  country[26]="Cameroon";
   province[116]="n/a";
   province[117]="";
  country[27]="Canada";
   province[118] = "Choose...";  
   province[119]="Alberta";
   province[120]="British Columbia";
   province[121]="Manitoba";
   province[122]="New Brunswick";
   province[123]="Newfoundland";
   province[124]="Northwest Territories";
   province[125]="Nova Scotia";
   province[126]="Nunavut";
   province[127]="Ontario";
   province[128]="Prince Edward Island";
   province[129]="Quebec";
   province[130]="Saskatchewan";
   province[131]="Yukon";
   province[132]="";
  country[28]="Chad";
   province[133]="n/a";
   province[134]="";
  country[29]="Chile";
   province[135]="n/a";
   province[136]="";
  country[30]="China";
   province[137]="n/a";
   province[138]="";
  country[31]="Colombia";
   province[139]="n/a";
   province[140]="";
  country[32]="Costa Rica";
   province[141]="n/a";
   province[142]="";
  country[33]="Croatia";
   province[143]="n/a";
   province[144]="";
  country[34]="Cuba";
   province[145]="n/a";
   province[146]="";
  country[35]="Cyprus";
   province[147]="n/a";
   province[148]="";
  country[36]="Czech Republic";
   province[149]="n/a";
   province[150]="";
  country[37]="Denmark";
   province[151]="n/a";
   province[152]="";
  country[38]="Dominican Republic";
   province[153]="n/a";
   province[154]="";
  country[39]="Ecuador";
   province[155]="n/a";
   province[156]="";
  country[40]="Egypt";
   province[157]="n/a";
   province[158]="";
  country[41]="El Salvador";
   province[159]="n/a";
   province[160]="";
  country[42]="Estonia";
   province[161]="n/a";
   province[162]="";
  country[43]="Ethiopia";
   province[163]="n/a";
   province[164]="";
  country[44]="Fiji";
   province[165]="n/a";
   province[166]="";
  country[45]="Finland";
   province[167]="n/a";
   province[168]="";
  country[46]="France";
   province[169]="n/a";
   province[170]="";
  country[47]="Gambia";
   province[171]="n/a";
   province[172]="";
  country[48]="Georgia";
   province[173]="n/a";
   province[174]="";
  country[49]="Germany";
   province[175]="n/a";
   province[176]="";
  country[50]="Ghana";
   province[177]="n/a";
   province[178]="";
  country[51]="Greece";
   province[179]="n/a";
   province[180]="";
  country[52]="Grenada";
   province[181]="n/a";
   province[182]="";
  country[53]="Guatemala";
   province[183]="n/a";
   province[184]="";
  country[54]="Guyana";
   province[185]="n/a";
   province[186]="";
  country[55]="Haiti";
   province[187]="n/a";
   province[188]="";
  country[56]="Honduras";
   province[189]="n/a";
   province[190]="";
  country[57]="Hungary";
   province[191]="n/a";
   province[192]="";
  country[58]="Iceland";
   province[193]="n/a";
   province[194]="";
  country[59]="India";
   province[195]="n/a";
   province[196]="";
  country[60]="Indonesia";
   province[197]="n/a";
   province[198]="";
  country[61]="Iran";
   province[199]="n/a";
   province[200]="";
  country[62]="Iraq";
   province[201]="n/a";
   province[202]="";
  country[63]="Ireland";
   province[203]="n/a";
   province[204]="";
  country[64]="Israel";
   province[205]="n/a";
   province[206]="";
  country[65]="Italy";
   province[207]="n/a";
   province[208]="";
  country[66]="Jamaica";
   province[209]="n/a";
   province[210]="";
  country[67]="Japan";
   province[211]="n/a";
   province[212]="";
  country[68]="Jordan";
   province[213]="n/a";
   province[214]="";
  country[69]="Kazakhstan";
   province[215]="n/a";
   province[216]="";
  country[70]="Kenya";
   province[217]="n/a";
   province[218]="";
  country[71]="Kiribati";
   province[219]="n/a";
   province[220]="";
  country[72]="Kuwait";
   province[221]="n/a";
   province[222]="";
  country[73]="Laos";
   province[223]="n/a";
   province[224]="";
  country[74]="Latvia";
   province[225]="n/a";
   province[226]="";
  country[75]="Lebanon";
   province[227]="n/a";
   province[228]="";
  country[76]="Lesotho";
   province[229]="n/a";
   province[230]="";
  country[77]="Liberia";
   province[231]="n/a";
   province[232]="";
  country[78]="Libya";
   province[233]="n/a";
   province[234]="";
  country[79]="Liechtenstein";
   province[235]="n/a";
   province[236]="";
  country[80]="Lithuania";
   province[237]="n/a";
   province[238]="";
  country[81]="Luxembourg";
   province[239]="n/a";
   province[240]="";
  country[82]="Macedonia";
   province[241]="n/a";
   province[242]="";
  country[83]="Madagascar";
   province[243]="n/a";
   province[244]="";
  country[84]="Malawi";
   province[245]="n/a";
   province[246]="";
  country[85]="Malaysia";
   province[247]="n/a";
   province[248]="";
  country[86]="Maldives";
   province[249]="n/a";
   province[250]="";
  country[87]="Malta";
   province[251]="n/a";
   province[252]="";
  country[88]="Mauritius";
   province[253]="n/a";
   province[254]="";
  country[89]="Mexico";
   province[255]="n/a";
   province[256]="";
  country[90]="Micronesia";
   province[257]="n/a";
   province[258]="";
  country[91]="Moldova";
   province[259]="n/a";
   province[260]="";
  country[92]="Monaco";
   province[261]="n/a";
   province[262]="";
  country[93]="Mongolia";
   province[263]="n/a";
   province[264]="";
  country[94]="Montenegro";
   province[265]="n/a";
   province[266]="";
  country[95]="Morocco";
   province[267]="n/a";
   province[268]="";
  country[96]="Mozambique";
   province[269]="n/a";
   province[270]="";
  country[97]="Myanmar";
   province[271]="n/a";
   province[272]="";
  country[98]="Namibia";
   province[273]="n/a";
   province[274]="";
  country[99]="Nepal";
   province[275]="n/a";
   province[276]="";
  country[100]="Netherlands";
   province[277]="n/a";
   province[278]="";
  country[101]="New Zealand";
   province[279]="n/a";
   province[280]="";
  country[102]="Nicaragua";
   province[281]="n/a";
   province[282]="";
  country[103]="Niger";
   province[283]="n/a";
   province[284]="";
  country[104]="Nigeria";
   province[285]="n/a";
   province[286]="";
  country[105]="North Korea";
   province[287]="n/a";
   province[288]="";
  country[106]="Norway";
   province[289]="n/a";
   province[290]="";
  country[107]="Oman";
   province[291]="n/a";
   province[292]="";
  country[108]="Other";
   province[293]="n/a";
   province[294]="";
  country[109]="Pakistan";
   province[295]="n/a";
   province[296]="";
  country[110]="Palau";
   province[297]="n/a";
   province[298]="";
  country[111]="Panama";
   province[299]="n/a";
   province[300]="";
  country[112]="Papua New Guinea";
   province[301]="n/a";
   province[302]="";
  country[113]="Paraguay";
   province[303]="n/a";
   province[304]="";
  country[114]="Peru";
   province[305]="n/a";
   province[306]="";
  country[115]="Philippines";
   province[307]="n/a";
   province[308]="";
  country[116]="Poland";
   province[309]="n/a";
   province[310]="";
  country[117]="Portugal";
   province[311]="n/a";
   province[312]="";
  country[118]="Qatar";
   province[313]="n/a";
   province[314]="";
  country[119]="Romania";
   province[315]="n/a";
   province[316]="";
  country[120]="Russia";
   province[317]="n/a";
   province[318]="";
  country[121]="Rwanda";
   province[319]="n/a";
   province[320]="";
  country[122]="Saudi Arabia";
   province[321]="n/a";
   province[322]="";
  country[123]="Senegal";
   province[323]="n/a";
   province[324]="";
  country[124]="Serbia";
   province[325]="n/a";
   province[326]="";
  country[125]="Sierra Leone";
   province[327]="n/a";
   province[328]="";
  country[126]="Singapore";
   province[329]="n/a";
   province[330]="";
  country[127]="Slovakia";
   province[331]="n/a";
   province[332]="";
  country[128]="Slovenia";
   province[333]="n/a";
   province[334]="";
  country[129]="Somalia";
   province[335]="n/a";
   province[336]="";
  country[130]="South Africa";
   province[337]="n/a";
   province[338]="";
  country[131]="South Korea";
   province[339]="n/a";
   province[340]="";
  country[132]="Spain";
   province[341]="n/a";
   province[342]="";
  country[133]="Sri Lanka";
   province[343]="n/a";
   province[344]="";
  country[134]="St. Lucia";
   province[345]="n/a";
   province[346]="";
  country[135]="Sudan";
   province[347]="n/a";
   province[348]="";
  country[136]="Suriname";
   province[349]="n/a";
   province[350]="";
  country[137]="Swaziland";
   province[351]="n/a";
   province[352]="";
  country[138]="Sweden";
   province[353]="n/a";
   province[354]="";
  country[139]="Switzerland";
   province[355]="n/a";
   province[356]="";
  country[140]="Syria";
   province[357]="n/a";
   province[358]="";
  country[141]="Tajikistan";
   province[359]="n/a";
   province[360]="";
  country[142]="Tanzania";
   province[361]="n/a";
   province[362]="";
  country[143]="Thailand";
   province[363]="n/a";
   province[364]="";
  country[144]="Trinidad and Tobago";
   province[365]="n/a";
   province[366]="";
  country[145]="Tunisia";
   province[367]="n/a";
   province[368]="";
  country[146]="Turkey";
   province[369]="n/a";
   province[370]="";
  country[147]="Turkmenistan";
   province[371]="n/a";
   province[372]="";
  country[148]="Uganda";
   province[373]="n/a";
   province[374]="";
  country[149]="Ukraine";
   province[375]="n/a";
   province[376]="";
  country[150]="United Arab Emirates";
   province[377]="n/a";
   province[378]="";
  country[151]="United Kingdom";
   province[379]="n/a";
   province[380]="";
  country[152]="United States";
   province[381]="Choose...";
   province[382]="Alabama";
   province[383]="Alaska";
   province[384]="Arizona";
   province[385]="Arkansas";
   province[386]="California";
   province[387]="Colorado";
   province[388]="Connecticut";
   province[389]="Delaware";
   province[390]="District of Columbia";
   province[391]="Florida";
   province[392]="Georgia";
   province[393]="Hawaii";
   province[394]="Idaho";
   province[395]="Illinois";
   province[396]="Indiana";
   province[397]="Iowa";
   province[398]="Kansas";
   province[399]="Kentucky";
   province[400]="Louisiana";
   province[401]="Maine";
   province[402]="Maryland";
   province[403]="Massachusetts";
   province[404]="Michigan";
   province[405]="Minnesota";
   province[406]="Mississippi";
   province[407]="Missouri";
   province[408]="Montana";
   province[409]="Nebraska";
   province[410]="Nevada";
   province[411]="New Hampshire";
   province[412]="New Jersey";
   province[413]="New Mexico";
   province[414]="New York";
   province[415]="North Carolina";
   province[416]="North Dakota";
   province[417]="Ohio";
   province[418]="Oklahoma";
   province[419]="Oregon";
   province[420]="Pennsylvania";
   province[421]="Rhode Island";
   province[422]="South Carolina";
   province[423]="South Dakota";
   province[424]="Tennessee";
   province[425]="Texas";
   province[426]="Utah";
   province[427]="Vermont";
   province[428]="Virginia";
   province[429]="Washington";
   province[430]="West Virginia";
   province[431]="Wisconsin";
   province[432]="Wyoming";
   province[433]="";
  country[153]="Uruguay";
   province[434]="n/a";
   province[435]="";
  country[154]="Uzbekistan";
   province[436]="n/a";
   province[437]="";
  country[155]="Venezuela";
   province[438]="n/a";
   province[439]="";
  country[156]="Vietnam";
   province[440]="n/a";
   province[441]="";
  country[157]="Yemen";
   province[442]="n/a";
   province[443]="";
  country[158]="Zimbabwe";
   province[444]="n/a";
   province[445]="";
  country[159]="Other";
   province[446]="n/a";
   province[447]="";
   
//############################## PHONE NUMBER VALIDATION ##############################//

function numbersonly(myfield, e, dec){
	var key;
	var keychar;
	if (window.event)
		key = window.event.keyCode;
	else if (e)
		key = e.which;
	else
		return true;
		keychar = String.fromCharCode(key);
	if ((key==null) || (key==0) || (key==8) || 
		(key==9) || (key==13) || (key==27) )
		return true;
	else if ((("0123456789").indexOf(keychar) > -1))
		return true;
	else if (dec && (keychar == ".")){
		myfield.form.elements[dec].focus();
		return false;
		}
	else
		return false;
}

//############################## PHONE NUMBER VALIDATION ##############################//



