//////////////////////////////////// misc //////////////////////////////////// 

function wsh_DisablePostBack(val)
{
    document.body.style.cursor = val ? 'wait' : 'default';
}

//////////////////////////////////// add //////////////////////////////////// 

function wsh_AddOrderLine(entityId, recordId)
{
    wsh_DisablePostBack(true);
    if (typeof(service.wsWSHWeb) != 'undefined' && service.wsWSHWeb != null) 
        service.wsWSHWeb.callService(wsh_AddOrderLineCallBack, 'AddOrderLine', entityId, recordId);
    else 
        wsh_CallAddOrderLine(entityId, recordId);
}

function wsh_AddOrderLineCallBack(result) 
{
    wsh_DisablePostBack(false);
    if (result.error)
    {
        alert(result.errorDetail.string);
        return;
    }
    document.location.href = '../pages/page.aspx?page=wshbasketpage';
}

function wsh_CallAddOrderLine(entityId, recordId)
{
    if (service.readyState == 'complete') 
    {
        service.useService('../WebServices/WSHWebService.asmx?WSDL', 'wsWSHWeb');
        wsh_AddOrderLine(entityId, recordId);
    }
    else
        window.setTimeout('wsh_CallAddOrderLine(' + entityId + ', ' + recordId + ')', 500); 
}

//////////////////////////////////// delete //////////////////////////////////// 

function wsh_DelOrderLine(entityId, recordId)
{
    wsh_DisablePostBack(true);
    if (typeof(service.wsWSHWeb) != 'undefined' && service.wsWSHWeb != null) 
        service.wsWSHWeb.callService(wsh_DelOrderLineCallBack, 'DelOrderLine', entityId, recordId);
    else 
        wsh_CallDelOrderLine(entityId, recordId);
}

function wsh_DelOrderLineCallBack(result) 
{
    wsh_DisablePostBack(false);
    if (result.error)
    {
        alert(result.errorDetail.string);
        return;
    }
    document.location.href = '../pages/page.aspx?page=wshbasketpage';
}

function wsh_CallDelOrderLine(entityId, recordId)
{
    if (service.readyState == 'complete') 
    {
        service.useService('../WebServices/WSHWebService.asmx?WSDL', 'wsWSHWeb');
        wsh_DelOrderLine(entityId, recordId);
    }
    else
        window.setTimeout('wsh_CallDelOrderLine(' + entityId + ', ' + recordId + ')', 500); 
}

//////////////////////////////////// edit //////////////////////////////////// 

function wsh_EditOrderLine(orderLineId, columnName, value)
{
    wsh_DisablePostBack(true);
    if (typeof(service.wsWSHWeb) != 'undefined' && service.wsWSHWeb != null) 
        service.wsWSHWeb.callService(wsh_EditOrderLineCallBack, 'EditOrderLine', orderLineId, columnName, value);
    else 
        wsh_CallEditOrderLine(orderLineId, columnName, value);
}

function wsh_EditOrderLineCallBack(result) 
{
    wsh_DisablePostBack(false);
    if (result.error)
    {
        alert(result.errorDetail.string);
        return;
    }
    if (result.value != null)
        for (var i=0;i<result.value.length;i++)
        {
            var col = document.getElementById(result.value[i][0]);
            if (col != null && col.tagName=='TD')
                col.innerHTML = "<NOBR>" + result.value[i][1] + "</NOBR>";
        }
}

function wsh_CallEditOrderLine(orderLineId, columnName, value)
{
    if (service.readyState == 'complete') 
    {
        service.useService('../WebServices/WSHWebService.asmx?WSDL', 'wsWSHWeb');
        wsh_EditOrderLine(orderLineId, columnName, value);
    }
    else
        window.setTimeout('wsh_CallEditOrderLine(' + orderLineId + ', \'' + columnName + '\', \'' + value + '\')', 500); 
}

//////////////////////////////////// update //////////////////////////////////// 

function wsh_UpdateOrderLine(orderLineId, columnName)
{
    wsh_DisablePostBack(true);
    if (typeof(service.wsWSHWeb) != 'undefined' && service.wsWSHWeb != null) 
        service.wsWSHWeb.callService(wsh_UpdateOrderLineCallBack, 'UpdateOrderLine', orderLineId, columnName);
    else 
        wsh_CallUpdateOrderLine(orderLineId, columnName);
}

function wsh_UpdateOrderLineCallBack(result) 
{
    wsh_DisablePostBack(false);
    if (result.error)
    {
        alert(result.errorDetail.string);
        return;
    }
    document.getElementById(result.value[0]) = result.value[1];
}

function wsh_CallUpdateOrderLine(orderLineId, columnName)
{
    if (service.readyState == 'complete') 
    {
        service.useService('../WebServices/WSHWebService.asmx?WSDL', 'wsWSHWeb');
        wsh_UpdateOrderLine(orderLineId, columnName);
    }
    else
        window.setTimeout('wsh_CallUpdateOrderLine(' + orderLineId + ', \'' + columnName + ')', 500); 
}
