Type.registerNamespace("TradesAndServices");

TradesAndServices.TradeAndServicesCollection = function()
{
    TradesAndServices.TradeAndServicesCollection.initializeBase(this);
    this.Trades = new Array();
    this.Services = new Array();
}
TradesAndServices.TradeAndServicesCollection.prototype = {
    TradeClicked : function(element, itemID, itemName, itemPrice)
    {
        var currentItem = new TradesAndServices.VocationItem(itemID,itemName, itemPrice);
        if(element.checked)
        {
            if(!Array.contains(this.Trades, currentItem))
            {
                Array.add(this.Trades, currentItem);
            }
        }
        else
        {
            for(var i = 0; i < this.Trades.length;i++)
            {
                if(this.Trades[i].itemID == currentItem.itemID)
                    Array.removeAt(this.Trades, i);
            } 
        }
    },
    ServiceClicked : function(element, itemID, itemName, itemPrice)
    {
        var currentItem = new TradesAndServices.VocationItem(itemID,itemName, itemPrice);
        if(element.checked)
        {
            if(!Array.contains(this.Services, currentItem))
                Array.add(this.Services, currentItem);
        }
        else
        {
            for(var i = 0; i < this.Services.length;i++)
            {
                if(this.Services[i].itemID == currentItem.itemID)
                    Array.removeAt(this.Services, i);
            } 
        }
    }
}

TradesAndServices.VocationItem = function(itemID, itemName, itemPrice)
{
    TradesAndServices.VocationItem.initializeBase(this);
    this.itemID = itemID;
    this.itemName = itemName;
    this.itemPrice = itemPrice;
}
TradesAndServices.VocationItem.prototype = {
    toHtml : function()
    {
        var divItemContainer = document.createElement("div");
        var itemNameContainer = document.createElement("div");
        var itemPriceContainer = document.createElement("div");
        
        itemNameContainer.style.width="140px";
        itemNameContainer.style.styleFloat = "left";
        itemNameContainer.style.clear = "left";
        itemNameContainer.innerHTML = this.itemName;
        
        itemPriceContainer.style.width = "40px";
        //itemPriceContainer.style.styleFloat = "left";
        //itemPriceContainer.innerHTML = "<strong>&pound;" + this.itemPrice.toFixed(2)+"</strong>";
        
        divItemContainer.appendChild(itemNameContainer);
        divItemContainer.appendChild(itemPriceContainer);
        
        divItemContainer.style.clear = "both";
        
        return divItemContainer;
    }
}
try
{
TradesAndServices.TradeAndServicesCollection.registerClass('TradesAndServices.TradeAndServicesCollection');
TradesAndServices.VocationItem .registerClass('TradesAndServices.VocationItem');

var mainTradeAndServiceCollection = new TradesAndServices.TradeAndServicesCollection();
}
catch(err)
{
    alert(err.description);
}

function CheckAllChildren(obj)
{
try{
    var objParent = obj.parentNode.parentNode.parentNode;
    var objSibling = obj.parentNode.parentNode.parentNode.nextSibling;
    }
    catch(err)
    {
        alert(err.description);
    }
    
    if(obj.checked)
    {
        for(var i = 0 ; i < objSibling.getElementsByTagName("INPUT").length;i++)
        {
            if(!objSibling.getElementsByTagName("INPUT")[i].checked && !objSibling.getElementsByTagName("INPUT")[i].disabled)
            {
                try{
                    objSibling.getElementsByTagName("INPUT")[i].click();
                }
                catch(err)
                {
                    alert(err.message);
                }
                objSibling.getElementsByTagName("INPUT")[i].checked = obj.checked;
            }
        }
    }
}

function getNextSiblingByTag(object, tagName)
{
    if(object.nextSibling.tagName != tagName)
    {
        return getNextSiblingByTag(object.nextSibling,tagName);
    }
    else
    {
        var o = object.nextSibling;
        return o;
    }
}

if (typeof(Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();