// FILE		schfrm.js
// LAST MOD:	7/1/02
// ID:		@(#)schfrm.js	1.3


//This array tracks CodeSets that have been loaded already
var loaded = new Array();
var firstTime = true;

// use in exclude boxes on search screens
function exclude(field,ev,val){
	for(i=0;i<field.length;i++){
		if(ev.checked == true && val > 0)
			field[i].value = '!' + field[i].value;
		else
			field[i].value = field[i].value.replace("!","");
	}
}

// Single select parent list
function popCSListSel(obj, listName, csid, psid, type)
{
   var cd_set = parseInt(csid,10);
   var typeNbr = parseInt(type,10);
   var pcd_set = parseInt(psid,10);
   var selectedStr
   var newOpt;
   var CSdata;
   var idx;
   var CStext;
   var CSvalue;

   listName.length = 0;

   idx = obj.selectedIndex;

   //CSdata = parent.parent.parent.topframe.document.CodeSetAp.getCSData(cd_set, pcd_set, sch_input.document.LstInputForm.LM_MST_countyNNCJ.options[idx].value, typeNbr);
   CSdata = parent.parent.parent.topframe.document.CodeSetAp.getCSData(cd_set, pcd_set, obj.options[idx].value, typeNbr);
   i = 1;

   while (true)
   {
      CStext = parent.parent.parent.topframe.document.CodeSetAp.getCSText();
      CSvalue = parent.parent.parent.topframe.document.CodeSetAp.getCSValue();
	  //alert("Option# " + i + ": " + CStext);
	  if (CStext == null || CSvalue == null)
		 break;
	  listName.options[i++] = new Option(CStext,CSvalue);
        //  parent.parent.parent.topframe.document.CodeSetAp.getCSText(),
        //  parent.parent.parent.topframe.document.CodeSetAp.getCSValue());
      CSdata = parent.parent.parent.topframe.document.CodeSetAp.getNextCSData(typeNbr);
   }
}



// For "select all subdivision" button
function optionSort(a,b)
{
     if(a.text < b.text)
          return -1;
     else if(a.text > b.text)
          return 1;
     else
          return 0;

}

// Multiple selection parent list
function popCSListMul(obj, listName, csid, psid, type)
{
   //alert("in popCSListMul");
   //return;
   var cd_set = parseInt(csid,10);
   var typeNbr = parseInt(type,10);
   var pcd_set = parseInt(psid,10);
   var selectedStr
   var newOpt;
   var CSdata;
   var idx;
   var len;

   listName.length = 0;
   len = obj.length;
   idx = 0;
//alert(obj.name + " is " +obj.length+ " long");

  // put a blank in first.
   listName.options[0] = new Option(" "," ");
   i = 1;

  // Loop through options. Use all selected ones to build target list
   while (idx < len)
   {
	  //alert(idx)
	  //alert("selected: "+obj.options[idx].value);

	  if (obj.options[idx].selected == true)
	  {
         CSdata = parent.parent.parent.topframe.document.CodeSetAp.getCSData(cd_set, pcd_set, obj.options[idx].value, typeNbr);
         //alert("cs data: "+CSdata);
         while (CSdata == true)
         {
	        listName.options[i++] = new Option(
            parent.parent.parent.topframe.document.CodeSetAp.getCSText(),
            parent.parent.parent.topframe.document.CodeSetAp.getCSValue());
			try {
            	CSdata = parent.parent.parent.topframe.document.CodeSetAp.getNextCSData(typeNbr);
			} catch (e) {
				break;
			}
         }
      }
      idx++;
   }

   return true;
}

// Multiple selection parent list
function popCSListMulSorted(obj, listName, csid, psid, type)
{
   var cd_set = parseInt(csid,10);
   var typeNbr = parseInt(type,10);
   var pcd_set = parseInt(psid,10);
   var selectedStr
   var newOpt;
   var CSdata;
   var idx;
   var len;
   var holder = new Array();
   listName.length = 0;
   len = obj.length;
   idx = 0;

	// put a blank in first.
	i = 0;

	var oTemp = parent.parent.parent.topframe.document.CodeSetAp;
  // Loop through options. Use all selected ones to build target list
   while (idx < len)
   {
	  if (obj.options[idx].selected == true)
	  {

         CSdata = oTemp.getCSData(cd_set, pcd_set, obj.options[idx].value, typeNbr);
         while (CSdata == true)
         {
               holder[i++] = new Option(
               oTemp.getCSText(),
               oTemp.getCSValue());
			   try {
           			CSdata = oTemp.getNextCSData(typeNbr);
		       } catch(e) {
					break;
			   }
         }
      }
      idx++;
   }
   //Option data has been loaded into the holder array
   //now sort
   holder.sort(optionSort);

   //holder array is sorted, now load into the proper list
   for(i = 0; i < holder.length; i++)
            listName.options[i] = new Option(holder[i].text,holder[i].value);

}


// Multiple selection parent list
function popSubDivision(listName, csid, type)
{
   var cd_set = parseInt(csid,10);
   var typeNbr = parseInt(type,10);
   var CSdata;
   var holder = new Array();
   var CSText;
   listName.length = 0;

   // put a blank in first.
   holder[0] = new Option(" "," ");
   i = 1;

   CSdata = parent.parent.parent.topframe.document.CodeSetAp.getCSData(cd_set, typeNbr);
   while (CSdata == true)
   {
       CSText = parent.parent.parent.topframe.document.CodeSetAp.getCSValue();

       if (CSText != 'NOT IN SUBDIVISION')
       {
       holder[i++] = new Option(
       parent.parent.parent.topframe.document.CodeSetAp.getCSText(),
       parent.parent.parent.topframe.document.CodeSetAp.getCSValue());
      }
      CSdata = parent.parent.parent.topframe.document.CodeSetAp.getNextCSData(typeNbr);

   }

   //Option data has been loaded into the holder array
   //now sort
   holder.sort(optionSort);

   //holder array is sorted, now load into the proper list
   for(i = 0; i < holder.length; i++)
            listName.options[i] = new Option(holder[i].text,holder[i].value);

}

function popSubDivisionPhp(listName, csid, type)
{
  var obj = document.SchInputForm[listName];
  popSubDivision(obj, csid, type);
}

function popCSListMulSortedPhp(obj, listName, csid, psid, type)
{
	var obj2 = document.SchInputForm[listName];
	popCSListMulSorted(obj, obj2, csid, psid, type);

}

function updateZoneShortcut(townHiddenField, hideUpdate)
{
    var codes = new Array();
    codes[0] = document.getElementsByName('codesNNXN')[0];

    var towns = new Array();
    towns[0] = document.getElementsByName('citiesNNXN')[0];
    
    var txtCodesArray = new Array;
    var txtTownsArray = new Array;
    for(var i =0;i<codes.length;i++)
    {
        if(0 != codes[i].value.length)
        {
            txtCodesArray.push(codes[i].value);
            txtTownsArray.push(towns[i].value);
        }
    }

    var txtCodes = txtCodesArray.join(',');
    var txtTowns = txtTownsArray.join(',');

	var codeField = null;
	if (townHiddenField == null)
	{
		if (document.title != "Hotsheet Search"){
		    	codeField = document.getElementsByName('LM_MST_zone_srtYYNT')[0];
				}
		if (document.title == "Hotsheet Search")		{
			 codeField = document.getElementsByName('LM_HST_zone_srtYYNT')[0];

		}
	}
	else
	{

		codeField = document.getElementsByName(townHiddenField)[0];
	}
    codeField.value = txtCodes;

    var townField = document.getElementsByName('townsTxtNNXN')[0];
    townField.value = txtTowns;

	if ( null == hideUpdate )
	{
    	parent.dispSchStr(townField, 'City:');
	}
}

function getCookieData(label)
{
   var labelLen = label.length
   var cLen = document.cookie.length
   var i = 0
   while (i < cLen)
   {
      var j = i + labelLen
      if (document.cookie.substring(i,j) == label)
      {
         j++
         var cEnd = document.cookie.indexOf(";",j)
         if (cEnd == -1)
            cEnd = document.cookie.length
         return unescape(document.cookie.substring(j,cEnd))
      }
      i++
   }
   return ""
}

function GLO_getAccountID()
{
    var strCookie = getCookieData("INVDAT");
    var strArray =  strCookie.split(",");
    return strArray[3];
}

function mailDisp2()
{
	var mlink ="/" + GLO_getAccountID() + "/mailidx.php";
	mailWin = window.open(mlink,"SDMailForm","width=440,height=430")
}

function switchImg(ev1,ev2)
{
	document.images[ev1].src = document.images[ev2].src;
}
