var movieName = "flashEmbed";

function login(userName, password) {
    Auth.Login(userName, password, true, loginCallBack);
} 
function loginCallBack(Arg) {
    getMovie().loginCallBack(Arg);
}

function loginByEmail(Email, Password) {
    Auth.CheckUserByEmailPassword(Email, Password, loginByEmailCallBack);
}

function loginByEmailCallBack(Arg){
 getMovie().loginByEmailCallBack(Arg);
}



function logout(){
	Auth.Logout(logoutCallBack);	
}

function logoutCallBack(Arg){
	getMovie().logoutCallBack(Arg);	
}

function getServerTime(){
    Game.GetServerTime(getServerTimeCallBack);	
}

function getServerTimeCallBack(Arg) {
    getMovie().getServerTimeCallBack(Arg);	
}
function getUserName() {
    Auth.getUserName(getUserNameCallBack);
}

function getUserNameCallBack(Arg) {
    getMovie().getUserNameCallBack(Arg);
}

function hasPlayed(){
	Game.hasPlayed(hasPlayedCallBack);	
}

function hasPlayedCallBack(Arg){
	getMovie().hasPlayedCallBack(Arg);	
}

function isUserLoggedIn(){
    //   Auth.getLoginResult(readCookie('SessionUID'), isUserLoggedInCallBack);
    Auth.isLoggedIn(isUserLoggedInCallBack);
}
function isUserLoggedInCallBack(Arg){
     getMovie().isUserLoggedInCallBack(Arg);
}



function gameStart(isPractice){
//	var retObj={};
//	retObj.NumberOfStars = 1;
//	retObj.Hint = "statement";
//	retObj.PuzzleUID= "345343455";
//	retObj.GameIdentifier = "5663464645";		
//	retObj.Puzzle = ["W", "W", "W", "W", "*", "W", "W", "W", "W", "W", "W", "W", "W", "W", "W"];
// 	gameStartCallBack(retObj);
   Game.gameStart(isPractice, gameStartCallBack);

}

function gameStartCallBack(Arg){
	getMovie().gameStartCallBack(Arg);
}

function gameTimeout(userID, puzzledID){
	//
}

function gameTimeoutCallBack(Arg){
	getMovie().gameTimeoutCallBack(Arg);
}

function gameGetLetter( Position,  Puzzle_SUID,  GameIdentifier){
//	var retObj={};
//	var puzzleLetters = ["T", "H", "I", "S", " ", "G", "A", "M", "E", " ", "R", "U", "L", "E", "S"];
//	retObj.puzzleLetter = puzzleLetters[puzzlePosition];
//	gameGetLetterCallBack(retObj);

    Game.GetLetter(Position, Puzzle_SUID, GameIdentifier, gameGetLetterCallBack);

}

function gameGetLetterCallBack(Arg){
	getMovie().gameGetLetterCallBack(Arg);	
}

function gameGuessAnswer( Puzzle_SUID,  GameIdentifier,  isPractice,  Answer){
//	var retObj = {};
//	retObj.errorCode = (puzzleGuess == "THIS GAME RULES") ? "Success":"GeneralFailure";
    //	gameGuessAnswerCallBack(retObj);

    Game.gameGuessAnswer(Puzzle_SUID, GameIdentifier, isPractice, Answer, gameGuessAnswerCallBack);
}

function gameGuessAnswerCallBack(Arg){
	getMovie().gameGuessAnswerCallBack(Arg);	
}

function getMovie() {
    if (window[movieName]){
        return window[movieName];
    } else {
        return document[movieName];
    }
}
