'''
All possible transform functions.

You need to complete this file.

Those whose name starts with transform_ will appear in the menu option.
You can write as many helper functions as you want to support these primary functions.

Created on Sep 20, 2011

@author: YOU THE COMPSCI 6 STUDENT WHOSE NAME IS HERE
'''

def transform_identity (word):
    '''Identity transform (no change).
       Note, this simply serves as an example transform.
    '''
    return word


def transform_uppercase (word):
    '''Transform to UPPERCASE (no decode).
       Note, this simply serves as an example transform.
    '''
    return word.upper()


def transform_pigify (word):
    '''Encode into Pig-latin from English.
       Note, when transforming the string word, 
             do not change its capitalization or punctuation.
       Note, this transformation is not unique, 
             some different words may be transformed into the same pig-latin word.
    '''
    # TODO: complete this function so that it returns a new version of the string word,
    #       assuming word is in English, use the rules of pig-latin to encode the word
    return word


def transform_unpigify (word):
    '''Decode from Pig-latin into English.
       Note, when transforming the string word, 
             do not change its capitalization or punctuation.
       Note, since some words may represent multiple different English words, 
             choose the final English word you think is more common.
    '''
    # TODO: complete this function so that it returns a new version of the string word,
    #       assuming word is in pig-latin, undo the pig-latin rules to decode the word to English
    return word


def transform_rot13 (word):
    '''ROT-13 substitution cipher (both encodes and decodes).
       Note, since this transformation is symmetrical, 
       it can serve as encoder and decoder for the same message.
    '''
    # TODO: complete this function so that it returns a new version of the string word, 
    #       with each letter rotated by 13 places.
    return word


