nsAutoString valueLC = value;
nsAutoString valueLC( value );
wallet_GetSelectIndex(  nsIDOMHTMLSelectElement* selectElement,  const nsString& value,  PRInt32& index){  nsresult result;  PRUint32 length;  selectElement->GetLength(&length);  nsIDOMNSHTMLOptionCollection * options;  result = selectElement->GetOptions(&options);  if ((NS_SUCCEEDED(result)) && (nsnull != options)) {    PRUint32 numOptions;    options->GetLength(&numOptions);    for (PRUint32 optionX = 0; optionX < numOptions; optionX++) {      nsIDOMNode* optionNode = nsnull;      options->Item(optionX, &optionNode);      if (nsnull != optionNode) {        nsIDOMHTMLOptionElement* optionElement = nsnull;        result = optionNode->QueryInterface(kIDOMHTMLOptionElementIID, (void**)&optionElement);        if ((NS_SUCCEEDED(result)) && (nsnull != optionElement)) {          nsAutoString optionValue;          nsAutoString optionText;          optionElement->GetValue(optionValue);          optionElement->GetText(optionText);          nsAutoString valueLC = value;          valueLC.ToLowerCase();          optionValue.ToLowerCase();          optionText.ToLowerCase();          if (valueLC==optionValue || valueLC==optionText) {            index = optionX;            return 0;          }          NS_RELEASE(optionElement);        }        NS_RELEASE(optionNode);      }    }    NS_RELEASE(options);  }  return -1;}