﻿var ContagionAPI_wrapper;
var ContagionAPI;
var ContagionAPI_IFrame;
var ContagionAPI_startupdata="<NoData/>";


function ContagionAPI_send(xml, data) {
    ContagionAPI_IFrame.contentWindow.PostContagionData(xml, data);
}

function ContagionAPI_init(wrapper, iframe) {
    ContagionAPI_IFrame = iframe;
    ContagionAPI_wrapper = wrapper;
    ContagionAPI = new ContagionAPI_createAPIObject();
}

function ContagionAPI_getInitData() {
	ContagionAPI_wrapper.InitData(ContagionAPI_startupdata);
}

function ContagionAPI_sendEvent(channel, item, subitem, block, source, password) {
    var xml = "<Request><Command>SendEvent</Command><Channel>" + channel + "</Channel><Item>" + item + "</Item><SubItem>" + subitem + "</SubItem><Block>" + block + "</Block><Source>" + source + "</Source><Password>" + password + "</Password></Request>";
    var data = new Array();
    ContagionAPI_send(xml, data);
}

function ContagionAPI_sendEmail(subject, body, password) {
    var xml = "<Request><Command>SendEmail</Command><Subject>" + subject + "</Subject><Body>" + body + "</Body><Password>" + password + "</Password></Request>";
    var data = new Array();
    ContagionAPI_send(xml, data);
}

function ContagionAPI_postScore(firstname, lastname, agency, score, playdata, password) {
    var xml = "<Request><Command>PostScore</Command><FirstName>" + firstname + "</FirstName><LastName>" + lastname + "</LastName><Agency>" + agency + "</Agency><Score>" + score + "</Score><PlayData>" + playdata + "</PlayData><Password>" + password + "</Password></Request>";
    var data = new Array();
    ContagionAPI_send(xml, data);
}

function ContagionAPI_createWindowExchange(password) {
    var xml = "<Request><Command>CreateWindowExchange</Command><Password>" + password + "</Password></Request>";
    var data = new Array();
    ContagionAPI_send(xml, data);
}

function ContagionAPI_createWindowExchangeReturn(id)
{
    ContagionAPI_wrapper.WindowExchangeID(id);
}

function ContagionAPI_createIdentity(firstname, lastname, agency, email, upassword, password) {
    var xml = "<Request><Command>CreateIdentity</Command><FirstName>" + firstname + "</FirstName><LastName>" + lastname + "</LastName><Agency>" + agency + "</Agency><Email>" + email + "</Email><UPassword>" + upassword + "</UPassword><Password>" + password + "</Password></Request>";
    var data = new Array();
    ContagionAPI_send(xml, data);
}

function ContagionAPI_createIdentityReturn(id) {
    ContagionAPI_wrapper.IdentityCreated(id);
}

function ContagionAPI_authenticate(email, upassword, password) {
    var xml = "<Request><Command>Authenticate</Command><Email>" + email + "</Email><UPassword>" + upassword + "</UPassword><Password>" + password + "</Password></Request>";
    var data = new Array();
    ContagionAPI_send(xml, data);
}

function ContagionAPI_authenticateReturn(id, data) {
    ContagionAPI_wrapper.Authenticated(id, data);
}

function ContagionAPI_exists(email, password) {
    var xml = "<Request><Command>Exists</Command><Email>" + email + "</Email><Password>" + password + "</Password></Request>";
    var data = new Array();
    ContagionAPI_send(xml, data);
}

function ContagionAPI_existsReturn(result) {
    ContagionAPI_wrapper.Exists(result);
}

function ContagionAPI_emailPassword(email, password) {
    var xml = "<Request><Command>EmailPassword</Command><Email>" + email + "</Email><Password>" + password + "</Password></Request>";
    var data = new Array();
    ContagionAPI_send(xml, data);
}

function ContagionAPI_createAPIObject() {
    this.sendEmail = ContagionAPI_sendEmail;
    this.sendEvent = ContagionAPI_sendEvent;
    this.postScore = ContagionAPI_postScore;
    this.createIdentity = ContagionAPI_createIdentity;
    this.authenticate = ContagionAPI_authenticate;
    this.createWindowExchange = ContagionAPI_createWindowExchange;
    this.getInitData = ContagionAPI_getInitData;
    this.exists = ContagionAPI_exists;
    this.emailPassword = ContagionAPI_emailPassword;
}
