package piglatinpkg;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: </p>
 * @author unascribed
 * @version 1.0
 */

public class PigLatin
{
  private String myEnglish;
  private String myPigLatin;

  public PigLatin(String s)
  {
    myEnglish = new String(s);
    myPigLatin = toSimplePigLatin(s);
  }

  public PigLatin(String s, boolean adv)
  {
    myEnglish = new String(s);
    if(adv) {
      myPigLatin = toAdvancedPigLatin(s);
    } else {
      myPigLatin = toSimplePigLatin(s);
    }
  }

  public String getEnglish()
  {
    return myEnglish;
  }

  public String getPigLatin()
  {
    return myPigLatin;
  }

  public String toString()
  {
    return "[English :" + myEnglish + "]\n[PigLatin :" + myPigLatin + "]";
  }

  private int findFirstVowelPosition(String s)
  {
    int i;
    for(i=0; i<s.length(); i++) {
      if(isAVowel(s.charAt(i))) {
        return i;
      }
    }
    return -1;
  }

  private String toSimplePigLatin(String s)
  {
    if(isAVowel(s.charAt(0))) {
      return new String(s);
    } else {
      return new String(s.substring(1) + s.substring(0,1) + "ay");
    }
  }

  private String toAdvancedPigLatin(String s)
  {
    int pos = findFirstVowelPosition(s);
    if(pos<0) {
      return s + "way";
    }
    if(isAVowel(s.charAt(0))) {
      return s.substring(pos) + s.substring(0,pos) + "way";
    } else {
      return s.substring(pos) + s.substring(0,pos) + "ay";
    }
  }

  private boolean isAVowel(char c)
  {
    String vowels = "AEIOUaeiou";
    if(vowels.indexOf(c) != -1) {
      return true;
    } else {
      return false;
    }
  }
}
