var rootUrl = 'http://' + window.location.hostname + '/';

var removeImageUrl = rootUrl + 'images/skin/remove.gif';
var addImageUrl = rootUrl + 'images/skin/cartbutton.gif';

function AddToBasket(itemid,chartimage,type,parameter)
{
   
    if(chartimage.src == removeImageUrl) {
        RemoveFromBasket(itemid,chartimage,type,parameter,null,true); 
        return;
    }
    chartimage.src = removeImageUrl;    
    var url=rootUrl+"ajaxtools/Basket.aspx?action=additem&itemid=" + itemid + "&type=" + type + "&parameter=" + parameter;
    var myAjax = new Ajax.Request(url,{
	    method: 'post',
	    onFailure:function() {alert('error.');},
	    onComplete:function(transport) {AddToBasketCompleted(transport);},
	    onException:function(transport, e){alert(e);}
    });
    
}
function AddToBasketCompleted(transport) 
{	
        UpdateBasket();	
}

function RemoveFromBasket(itemid,chartimage,type,parameter, elementToRemove,updateBasket)
{
    
    var url=rootUrl+"ajaxtools/Basket.aspx?action=removeitem&itemid=" + itemid + "&type=" + type + "&parameter="+ parameter;
    var myAjax = new Ajax.Request(url,{
	    method: 'post',
	    onFailure:function() {alert('error.');},
	    onComplete:function(transport) {RemoveFromBasketCompleted(transport,chartimage,type,parameter,elementToRemove,updateBasket);},
	    onException:function(transport, e){alert(e);}
    });
}
function RemoveFromBasketCompleted(transport,chartimage, type, parameter, elementToRemove,updateBasket) {
    if(updateBasket)
        UpdateBasket();	

    if(chartimage) {
        if(type == 'photo') {
            if(parameter == 1)
                chartimage.src = addImageUrl;
        }
        if(type == 'document') {
            chartimage.src = addImageUrl;
        }
        if (type == 'video') {
            chartimage.src = addImageUrl;
        }
    }
    if(elementToRemove) {
        if(updateBasket)
            UpdateBasketCount();
        $(elementToRemove).style.display = 'none';
    }
}

function UpdateBasketCount() {
    var url=rootUrl+"ajaxtools/Basket.aspx?action=showbasket&type=count";
    var myAjax = new Ajax.Request(url,{
	    method: 'post',
	    onFailure:function() {alert('error.');},
	    onComplete:function(transport) {UpdateBasketCountCompleted(transport);},
	    onException:function(transport, e){alert(e);}
    });
}

function UpdateBasketCountCompleted(transport) {
    $("spanItemCount").innerText = transport.responseText;
}
function UpdateBasket() {
    var url=rootUrl+"ajaxtools/Basket.aspx?action=showbasket&type=all";
    var myAjax = new Ajax.Request(url,{
	    method: 'post',
	    onFailure:function() {alert('error.');},
	    onComplete:function(transport) {UpdateBasketCompleted(transport);},
	    onException:function(transport, e){alert(e);}
    });
}

function UpdateBasketCompleted(transport) {
    $("basketContent").innerHTML = transport.responseText;
}
function EmptyBasket() {
    var url=rootUrl+"ajaxtools/Basket.aspx?action=emptybasket";
    var myAjax = new Ajax.Request(url,{
	    method: 'post',
	    onFailure:function() {alert('error.');},
	    onComplete:function(transport) {EmptyBasketCompleted(transport);},
	    onException:function(transport, e){alert(e);}
    });
}
function EmptyBasketCompleted(transport) {
    UpdateBasket();
}

function getXmlHttpRequestObject() 
{	
    if (window.XMLHttpRequest) 
    {		
        return new XMLHttpRequest();	
    } 
    else if (window.ActiveXObject) 
    {
        return new ActiveXObject("Microsoft.XMLHTTP");	
    } 
    else 
    {		
        alert("Your browser does not support Ajax!");	
    }
}

function CheckAllElements(element, check) {
    var collection = document.getElementById(element).getElementsByTagName('INPUT');
    for (var x=0; x<collection.length; x++) {
        if (collection[x].type.toUpperCase()=='CHECKBOX')
            collection[x].checked = check;
    }
}
function RemoveCheckedFromBasket(element) {
    var formcollection = document.getElementById(element).getElementsByTagName('INPUT');
    for (var i=0; i<formcollection.length; i++) {
        if (formcollection[i].type.toUpperCase()=='CHECKBOX')
        {
            if(formcollection[i].checked) {
                
                var name = (formcollection[i].name == null?formcollection[i].id:formcollection[i].name)
                var formName = name.replace("checkbox","hiddendiv");
                var formElement = document.getElementById(formName);
                if(formElement) {
                    var collection = formElement.getElementsByTagName('input');
                    var itemID;
                    var type;
                    var parameter;
                    var elementToRemove;
                    for (var y=0; y<collection.length; y++) {
                        if(collection[y].name == 'OxygenID')
                            elementToRemove = collection[y].value;
                        if(collection[y].name == 'type')
                            type = collection[y].value;
                        if(collection[y].name == 'Parameter')
                            parameter = collection[y].value;
                        if(collection[y].name == 'ArticleNumber')
                            itemID = collection[y].value;
                    }
                    RemoveFromBasket(itemID,null,type,parameter, elementToRemove,false)
                }
            }
        }
    }
    UpdateBasketCount();
    UpdateBasket();
}


