koodoNetwork = function (options) {
    target = this;
    this.type = "";
    this.urlEn = "";
    this.urlFr = "";
    this.data = [];
    this.countries = [];
    $.extend(this, options);

    this.loadData = function (lang) {
        var obj = this;
        var url = this.urlEn;
        if (lang.toLowerCase() == "fr")
            url = this.urlFr;
        $.ajax({
            url: url,
            dataType: ($.browser.msie) ? "text" : "xml",
            success: function (data) {
                var xml;
                if (typeof data == "string") {
                    xml = new ActiveXObject("Microsoft.XMLDOM");
                    xml.async = false;
                    xml.loadXML(data);
                } else {
                    xml = data;
                }
                if (typeof (xml) != "undefined") {
                    $('item', xml).each(function (i) {
                        var p = new Object();
                        for (var i = 0; i < this.childNodes.length; i++) {
                            if (this.childNodes[i].nodeType != 1)
                                continue;
                            var name = this.childNodes[i].tagName;
                            p[name] = dataHandler.generateObject(this.childNodes[i].childNodes);
                        }
                        obj.data.push(p);
                    });
                    obj.loadCountries();
                }
            },
            failed: function (data) {
                var xml = data;
            }
        });
    }

	this.isUSA = function(str){
		var USA_en_patt = "usa";
		var USA_en_len = 3;
		var USA_fr_patt = "tats-unis";
		var USA_fr_len = 10;
		var USA_en = str.length == USA_en_len && str.toLowerCase().match(USA_en_patt) != null;
		var USA_fr = str.length == USA_fr_len && str.toLowerCase().match(USA_fr_patt) != null;
		if (USA_en || USA_fr){
			return true;
		}
		return USA_en || USA_fr;
	}
    this.loadCountries = function () {
		var USA_label = [];
        for (var i = 0; i < this.data.length; i++) {
			var c = this.data[i].country;
            
			if (target.isUSA(c)){
				if ($.inArray(c, USA_label) < 0)
					USA_label.push(c);
			}
			else{
				if ($.inArray(c, this.countries) < 0)
	                this.countries.push(c);
			}
        }
        this.countries.sort();
		this.countries = USA_label.concat(this.countries);
    }

    this.loadRates = function (country) {
        var retval = [];
        for (var i = 0; i < this.data.length; i++) {
            if (this.data[i].country == country) {
                retval.push(this.data[i]);
            }
        }
        return retval;
    }

}
koodoTravelling = function (options) {
    target = this;
    this.language = "";
    this.selection = "";
    this.network = "";
    this.networks = [];
    $.extend(this, options);

    this.loadData = function () {
        this.networks.push(new koodoNetwork({ "type": "HSPA", "urlEn": "/en/xml/HSPA.xml", "urlFr": "/fr/xml/HSPA.xml" }));
        this.networks.push(new koodoNetwork({ "type": "CDMA", "urlEn": "/en/xml/CDMA.xml", "urlFr": "/fr/xml/CDMA.xml" }));
        for (var i = 0; i < this.networks.length; i++) {
            this.networks[i].loadData(this.language);
        }
    }

    this.selectedNetwork = function () {
        for (var i = 0; i < this.networks.length; i++) {
            if (this.networks[i].type == this.network) {
                return this.networks[i];
            }
        }
        return null;
    }
}

var isIE = $.browser.msie;
var defaultLang = "en", winLoc = String(window.location);
if (winLoc.indexOf('/fr/') > -1)
    defaultLang = "fr";
var koodoHelpTravelling = new koodoTravelling({ "language": defaultLang });
koodoHelpTravelling.loadData();

