/*
   Created by: Christian Gutman
*/
function xList(){
   this.list = new Object();
}
/*xList.prototype.IsEmpty(){
   return (parseInt(this.Count()) == 0;) ? true : false;
}*/
xList.prototype.Clear = function(){
   this.list = new Object();
}              
xList.prototype.ContainsKey = function(key){
   var exists = false;
   for (var i in this.list) {
       if (i == key && this.list[i] != null) {
           exists = true;
           break;
       }     
   }
   return exists;
}
xList.prototype.ContainsValue = function(value){
   var contains = false;
   if (value != null) {
       for (var i in this.list) {
           if (this.list[i] == value) {
               contains = true;
               break;
           }
       }
   }        
   return contains;
}
xList.prototype.Get = function(key) {
    var value = 0;
    for (var i in this.list) {
        var keyThis = "{" + i + "}";
        var keyPass = "{" + key + "}";
        if (keyThis == keyPass) {
            value = this.list[i];
            break;
        }
    }
    return value;
}
xList.prototype.isEmpty = function(){
   return (parseInt(this.Count()) == 0) ? true : false;
}
xList.prototype.KeysToArray = function(){
   var keys = new Array();
   for (var i in this.list) {
       if (this.list[i] != null)
           keys.push(i);
   }
   return keys;
}
xList.prototype.Put = function(key, value){
   if (key == null || value == null) {
       throw "NullPointerException {" + key + "},{" + value + "}";
   }else{
       this.list[key] = value;
   }
}
xList.prototype.Remove = function(key){
   var rtn = this.list[key];
   this.list[key] = null;
   return rtn;
}    
xList.prototype.Count = function(){
   var size = 0;
   for (var i=0 in this.list) {
       if (this.list[i] != null)
           size ++;
   }
   return size;
}
xList.prototype.toString = function(){
   var result = "";
   for (var i in this.list)
   {     
       if (this.list[i] != null)
           result += "{" + i + "},{" + this.list[i] + "}\n";  
   }
   return result;
}
xList.prototype.toJsonXML = function() {
    var result = '{';
    result += 'record:{ "order" : "#S' + this.toXml() + 'E#" }';
    result += '},';
    return result;
}
xList.prototype.toXml = function() {
    var result = "<itemorders>";
    for (var i in this.list) {
        if (this.list[i] != null) {
            result += "<product>"
            result += "<code>"
            result += i;
            result += "</code>";
            result += "<unit>"
            result += this.list[i];
            result += "</unit>";
            result += "</product>"
        }
    }
    result += "</itemorders>";
    return result;
}
createXMLDocument = function(string) {
    var browserName = navigator.appName;
    var doc;
    if (browserName == 'Microsoft Internet Explorer') {
        doc = new ActiveXObject('Microsoft.XMLDOM');
        doc.async = 'false'
        doc.loadXML(string);
    } else {
        doc = (new DOMParser()).parseFromString(string, 'text/xml');
    }
    return doc;
}

xList.prototype.ValuesToArray = function(){
   var values = new Array();
   for (var i in this.list) {
       if (this.list[i] != null)
           values.push(this.list[i]);
   }
   return values;
}                                  
xList.prototype.InnerList = function(){
   return this.list;
}
