var xmlHttp
var y;

var optionOrg;
var optionText;
var optionAbbrev;

var loginPage=0;
var formName;
var formName2;
var formName3 = null;
var formName4;
var formName5;
var whichDiv;
function xx(y) {
                          var zz=document.createElement('optgroup');
			  var yy=document.createElement('option');
			  zz.label="User Added";
			  yy.text=y.text;
			  yy.value=y.value;
 		          zz.appendChild(yy);
                          aa = document.getElementById(optionOrg).value;
                          //alert("this is " + formName3 + " and " + aa);
                          if(formName3) {
			   if(aa==1||aa==3||aa==4||aa==10||aa==11||aa==12||aa==13||aa==14||aa==15) {
              		    var xx=document.getElementById(formName2);                         
                           }
                           else {
              		    var xx=document.getElementById(formName3); 
                           }
                          }
                          else {
              		    var xx=document.getElementById(formName2);                         
 			  }

			  try
			    {
			    xx.add(zz,null); // standards compliant
			    //xx.add(yy,null); // standards compliant
			    }
			  catch(ex)
			    {
			    //xx.add(zz); // IE only
    			    xx.options.add(new Option(yy.text,yy.value));
			    //xx.add(yy); // IE only
			    }
}

function beginAjax()
{
var args = beginAjax.arguments;
formName=args[0];
formName2=args[1];
formName3=args[2];
formName4=args[3];
formName5=args[4];

xmlHttp=GetXmlHttpObject();

if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
var url="ajaxBackend.php";

var abbrev2Send = document.getElementById(optionAbbrev).value;
if(abbrev2Send == "") {
abbrev2Send = document.getElementById(optionText).value;
}

var parameters = "optionText=" + encodeURI( document.getElementById(optionText).value ) + 
"&optionOrg=" + encodeURI( document.getElementById(optionOrg).value ) +
"&optionAbbrev=" + encodeURI( abbrev2Send );
if(document.getElementById(optionText).value != "") {
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("POST",url,true);
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", parameters.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(parameters);
}
}

function adderCtrl(theDivtoShow,theImgtoShow)
{

if(whichDiv==1) {
optionOrg = 'optionOrg';
optionText = 'optionText';
optionAbbrev = 'optionAbbrev';
}
else if(whichDiv==2) {
optionOrg = 'optionOrg2';
optionText = 'optionText2';
optionAbbrev = 'optionAbbrev2';
}

else if(whichDiv==3) {
optionOrg = 'optionOrg3';
optionText = 'optionText3';
optionAbbrev = 'optionAbbrev3';
}

else if(whichDiv==4) {
optionOrg = 'optionOrg4';
optionText = 'optionText4';
optionAbbrev = 'optionAbbrev4';
}

if(document.getElementById(theDivtoShow).style.display=="none") {
 document.getElementById(theDivtoShow).style.display="block";
 document.getElementById(theImgtoShow).src="minus.jpg";
}
else {
 document.getElementById(theDivtoShow).style.display="none";
 document.getElementById(theImgtoShow).src="plus.jpg";
}
}


function verifyThis() {
 var result = true;

if(whichDiv==1) {
optionOrg = "optionOrg";
optionText = "optionText";
optionAbbrev = "optionAbbrev";
}
else if(whichDiv==2) {
optionOrg = "optionOrg2";
optionText = "optionText2";
optionAbbrev = "optionAbbrev2";
}

else if(whichDiv==3) {
optionOrg = "optionOrg3";
optionText = "optionText3";
optionAbbrev = "optionAbbrev3";
}

else if(whichDiv==4) {
optionOrg = "optionOrg4";
optionText = "optionText4";
optionAbbrev = "optionAbbrev4";
}


 var n1 = document.getElementById(optionAbbrev).value;
 var n2 = document.getElementById(optionText).value;
 var n3 = document.getElementById(optionOrg).selectedIndex;

 if(n3==-1||n2=="") {alert("Please completely fill the 'Add to abbrelist' fields!");result=false;}
 return result;  //if you use return true, it returns ture all the way to the first level, such that you can not check 
}


function stateChanged()
{
 if (xmlHttp.readyState==4 && xmlHttp.status == 200)
  {
   var xmlDoc=xmlHttp.responseXML.documentElement;
   var z=document.createElement('optgroup');
   y=document.createElement('option');
   z.label="User Added";
   y.text=xmlDoc.getElementsByTagName('optionText')[0].lastChild.data;
   y.value=xmlDoc.getElementsByTagName('optionValue')[0].lastChild.data
   var x=document.getElementById(formName);
   z.appendChild(y);
    try
    {
     x.add(z,null); // standards compliant
     //x.add(y,null); // standards compliant
    }
    catch(ex)
    {
     //x.options.appendChild(new Option("xxxx","xxxxx"));
     x.options.add(new Option(y.text,y.value));
     //x.add(y); // IE only
    }
    selectAddedOption(x,y.value);
    alert(y.text + " has been successfully appended to picklist(s). Scroll to picklist bottom to find entry.");
   if(loginPage==0) {
    xx(y);
   }
  }
}

function selectAddedOption(theDiv,theValue) {



for (var i=0;i<theDiv.options.length;i++)
 {
  if (theDiv.options[i].value==theValue) {
   theDiv.options[i].selected=true;
  }
  else {
   theDiv.options[i].selected=false;
  }
 }
}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}

