#!/bin/bash

repositoryUrl=${1:-https://github.com/codecombat/codecombat.git}
deps=( git python )
NODE_VERSION=v0.10
function checkDependencies { #usage: checkDependencies [name of dependency array] [name of error checking function]
    declare -a dependencyArray=("${!1}")
    for i in "${dependencyArray[@]}"
    do
        command -v $i >/dev/null 2>&1 || { $2 "$i" >&2; exit 1; }
    done
}

function openUrl {
    case "$OSTYPE" in
        darwin*)
            open $@;;
        linux*)
            xdg-open $@;;
        *)
            echo "$@";;
    esac
}

function basicDependenciesErrorHandling {
    case "$1" in
    "python")
        echo "Python isn't installed. Please install it to continue."
        read -p "Press enter to open download link..."
        openUrl http://www.python.org/download/
        exit 1
        ;;
    "git")
        echo "Please install Git.(If you're running mac, this is included in the XCode command line tools."
    esac
 }


function checkIsRoot {
    if [[ $EUID -ne 0 ]]; then
        echo "This script must be run as root (run 'sudo ./$me $installDirectory')" 1>&2
        exit 1
    fi
}

function checkNodeVersion {
    #thanks https://gist.github.com/phatblat/1713458
    node --version | grep ${NODE_VERSION}
    if [[ $? != 0 ]] ; then
        echo "Node was found, but not version 0.10. Make sure 0.10 is installed before running the install script."
        echo "Also, make sure `sudo node -v` also returns v0.10.x."
        exit 1
    fi
}

checkDependencies deps[@] basicDependenciesErrorHandling
#check for node
if command -v node >/dev/null 2>&1; then
    checkNodeVersion
fi
#install git repository
git clone $repositoryUrl coco
#python ./coco/scripts/devSetup/setup.py
echo "Now copy and paste 'sudo python ./coco/scripts/devSetup/setup.py' into the terminal!"