/**
 * delivers all javascript functions needed for the 'cart' - module
 * @author Michael Biedermann
 * @version 0.1
 * @copyright 2005
 **/
 

 
function cartDeleteItem(cartID, msgDelete, productID)
{
	if(confirm(msgDelete))
	{
        if(document.cartForm.userID.value==0 || document.cartForm.accessID.value=="")
        {
            var cartString=document.cartForm.cartString.value;
            var cartArray=cartString.split(";");
            cartString="";
            for(var i=0;i<cartArray.length;i++)
            {
                if(cartArray[i]!=productID)
                {
                    if(cartString=="")
                        cartString=cartArray[i];
                    else
                        cartString+=";"+cartArray[i];
                }

            }
            for(var i=0;i<document.forms.length;i++)
            {
                if(document.forms[i].cartString)
                    document.forms[i].cartString.value=cartString;
            }
            cartDeleteItemFromList(""+productID+"");
            smallCart_refresh_logout();
        }
        else
        {
    	    document.cartForm.actionType.value="del";
            document.cartForm.cartID.value=cartID;
            document.mainFrameForm.ajaxOnUpdateFunction.value="cartDeleteItemFromList";
            ajaxUpdate("cartForm", "cartID");
        }
	}
}

function cartDeleteUnavailable(cartID)
{
    document.cartForm.actionType.value="del";
    document.cartForm.cartID.value=cartID;
    document.mainFrameForm.ajaxOnUpdateFunction.value="smallCart_refresh";
    ajaxUpdate("cartForm", "cartID");
}

function cartDeleteItemFromList(returnArray)
{
    returnArray=returnArray.split(";;");
    if(returnArray.length!=0)
    {
        document.getElementById("cartItem"+returnArray[0]).parentNode.removeChild(document.getElementById("cartItem"+returnArray[0]));
        var cartItems=document.getElementById("cartItems").innerHTML.split(",");
        var subtotal=0;
        for(var i=0;i<cartItems.length;i++)
        {
            if(cartItems[i]==returnArray[0])
                cartItems.splice(i,1);
        }
        for(var i=0;i<cartItems.length;i++)
            subtotal=parseFloat(parseFloat(subtotal)+parseFloat(document.cartForm.elements["productPrize["+cartItems[i]+"]"].value));

        document.getElementById("cartItems").innerHTML=cartItems;
        if(cartItems.length==0)
        {
            document.getElementById("emptyCartDiv").style.display="block";
            document.getElementById("cartInfoDiv").style.display="none";
            document.getElementById("cartHeaderDiv").style.display="none";
            document.getElementById("cartBuyLink").style.display="none";
            document.getElementById("cartContentTotalsDiv").style.display="none";
        }
        else
        {
            document.getElementById("cartCount").innerHTML=cartItems.length;
            document.getElementById("cartSubtotal").innerHTML=subtotal.toFixed(2);
        }
        smallCart_refresh();
    }
}

function cartOrder(newModuleID, msgWrongAmount, altModuleID)
{
    if(document.cartForm.userID.value==0 || document.cartForm.accessID.value=="")
        document.cartForm.menuItemID.value=altModuleID;
    else
        document.cartForm.menuItemID.value=newModuleID;
  	document.cartForm.submit();
}

function cartCalculateSubtotal()
{
    var cartItems=document.getElementById("cartItems").innerHTML.split(",");
    var subtotal=0;
    var subscriptions=document.getElementById("cartSubscriptions").innerHTML.split(";");
    for(var i=0; i<cartItems.length; i++)
    {
        //check subscription
        var deliveriesPerYear=0;
        var duration=0;
        if(document.cartForm.elements["subscription["+cartItems[i]+"]"])
        {
            for(var j=0;j<subscriptions.length;j+=3)
            {
                if(document.cartForm.elements["subscription["+cartItems[i]+"]"].value==subscriptions[j])
                    deliveriesPerYear=subscriptions[j+2];
            }
            duration=document.cartForm.elements["duration["+cartItems[i]+"]"].value;
        }
        cartItemValue=(1+duration*deliveriesPerYear/12)*parseFloat(document.cartForm.elements["productPrize["+cartItems[i]+"]"].value)*parseFloat(document.cartForm.elements["amount["+cartItems[i]+"]"].value);
        subtotal+=cartItemValue;
    }
    document.getElementById("cartSubtotal").innerHTML=subtotal.toFixed(2);
}

function cartChangeAmount(msgWrongAmount)
{
    var countItems=0;
    var cartItems=document.getElementById("cartItems").innerHTML.split(",");
    var subtotal=0;
    for(var i=0; i<cartItems.length; i++)
    {
        if(isNaN(document.cartForm.elements["visible_amount["+cartItems[i]+"]"].value) || document.cartForm.elements["visible_amount["+cartItems[i]+"]"].value==0)
        {
            alert(msgWrongAmount);
            document.cartForm.elements["visible_amount["+cartItems[i]+"]"].value=1;
        }
        document.cartForm.elements["amount["+cartItems[i]+"]"].value=parseInt(document.cartForm.elements["unit["+cartItems[i]+"]"].value)*parseInt(document.cartForm.elements["visible_amount["+cartItems[i]+"]"].value);
    }
    cartCalculateSubtotal();
}

function cart_subscriptionChange(cartID)
{
    var subscriptions=document.getElementById("cartSubscriptions").innerHTML.split(";");
    var deliveriesPerYear=0;
    for(var i=0;i<subscriptions.length;i+=3)
    {
        if(subscriptions[i]==document.cartForm.elements["subscription["+cartID+"]"].value)
            deliveriesPerYear=subscriptions[i+2];
    }
    document.cartForm.elements["duration["+cartID+"]"].options.length=0;
    if(deliveriesPerYear==0)
        document.cartForm.elements["duration["+cartID+"]"].options[0]=new Option(0,0);
    else
    {
        var iteration=12/deliveriesPerYear;
        if(iteration<1)
            iteration=1;
        for(var i=iteration;i<=12;i+=iteration)
            document.cartForm.elements["duration["+cartID+"]"].options[document.cartForm.elements["duration["+cartID+"]"].options.length]=new Option(i,i);
    }
    cartCalculateSubtotal();
}

function showAboHelp(language)
{
    window.cartHelpFrame.location.href="./cart/showAboHelp."+language+".php";
    document.getElementById("cartHelpDiv").style.display="block";
}

function hideAboHelp()
{
    document.getElementById("cartHelpDiv").style.display="none";
}


