// Copyright 1999-2002 Alexandre CABADET - HEADWAY CREATIVE


var isBasketLoaded = false;
var items = new Array();
var nrOfItems = 0;


///////////////////////////////////////////////////////////
// Product functions
///////////////////////////////////////////////////////////
function DeskSaverFR()
{
    this.p_artnr ="ds_fr";
    this.p_name = "DeskSaver&nbsp;v3.01";
    this.p_price = StringToFloat("19,90");
    this.p_uid = "151432";
    this.p_image = "";
    this.p_label = "Prix&nbsp;Unitaire&nbsp;en&nbsp;Euros&nbsp;:&nbsp;19.90&nbsp;&euro;";
}

function DeskSaverUS()
{
    this.p_artnr ="ds_us";
    this.p_name = "DeskSaver&nbsp;v3.01";
    this.p_price = StringToFloat("19,90");
    this.p_uid = "151433";
    this.p_image = "";
    this.p_label = "Unit&nbsp;Price&nbsp;in&nbsp;USD:&nbsp;19.90$";
}

function DeskSaverProFR()
{
    this.p_artnr ="dsp_fr";
    this.p_name = "DeskSaver&nbsp;Pro&nbsp;v3.01";
    this.p_price = StringToFloat("23,90");
    this.p_uid = "151434";
    this.p_image = "";
    this.p_label = "Prix&nbsp;Unitaire&nbsp;en&nbsp;Euros&nbsp;:&nbsp;23.90&nbsp;&euro;";
}

function DeskSaverProUS()
{
    this.p_artnr ="dsp_us";
    this.p_name = "DeskSaver&nbsp;Pro&nbsp;v3.01";
    this.p_price = StringToFloat("23,90");
    this.p_uid = "151435";
    this.p_image = "";
    this.p_label = "Unit&nbsp;Price&nbsp;in&nbsp;USD:&nbsp;23.90$";
}

function getCurrentProduct()
{
    var product;
    var product_page = getWindowFile(window.mainFrame.mainWorkFrame);

    if (product_page == 'page_ds.html' || product_page == 'page_ds_plus.html' || product_page == 'page_download_ds.html')
    {
        if (siteLanguage == 'fr')
            product = new DeskSaverFR();
        else
            product = new DeskSaverUS();
    }

    if (product_page == 'page_dsp.html' || product_page == 'page_dsp_plus.html' || product_page == 'page_download_dsp.html')
    {
        if (siteLanguage == 'fr')
            product = new DeskSaverProFR();
        else
            product = new DeskSaverProUS();
    }
    
    return product;
}


///////////////////////////////////////////////////////////
// Basket functions
///////////////////////////////////////////////////////////
var eurocurrency = StringToFloat('6,55957');

function checknum(str)
{
    if (str == "")
    {
        if (siteLanguage == 'fr')
            alert("Veuillez indiquer une valeur comprise entre 0 et 999.");
        else
            alert("Please indicate a value between 0 and 999.");
        return false
    }
    for (var i = 0; i < str.length; i++)
    {
        var ch = str.substring(i, i + 1)
            if (ch < "0" || ch > "9")
            {
                if (siteLanguage == 'fr')
                    alert("Veuillez indiquer une valeur comprise entre 0 et 999.");
                else
                    alert("Please indicate a value between 0 and 999.");
                return false
            }
    }
    return true
}

function convdec(str)
{
    if (str == 0) {
        return "0,00";
    } else {
        var s = "" + Math.round(str * 100);
        return(s.substring(0, s.length-2) + "," + s.substring(s.length-2, s.length));
    }
}

function position(artnr)
{
    var j = -1;
    for (var i = 0; i < items.length; i++) {
        if (items[i].artnr == artnr) {
            j = i;
        }
    }
    return j;
}

function posname(name)
{
    var j = -1;
    for (var i = 0; i < items.length; i++) {
        if (items[i].name == name) {
            j = i;
        }
    }
    return j;
}

function getNrOfItems()
{
    var j = 0;
    for (var i = 0; i < items.length; i++) {
        j += items[i].qty;
    }  
    return j;
}

function item(artnr,name,price,qty,uid,image)
{
    this.artnr = artnr;
    this.name = name;
    this.price = price;
    this.qty = qty;
    this.uid = uid;
    this.image = image;    
}

function initBasket()
{
    for (var i = 0; i < items.length; i++)
    {
        items[i].qty = 0;
    }
    nrOfItems = 0;
}

function showBasket(location, lg)
{
    var page;
    page = 'page_basket.html';
    if (lg) page = '/' + lg + '/' + page;
    window.mainFrame.mainWorkFrame.location = page;
}

/*
function addToBasket(form)
{
    var g=0;
    var h=g+1, i=g+2, j=g+3, k=g+4, l=g+5, m=g+6, n=g+7, o=g+8, p=g+9;
    var p_artnr = form.elements[g].value;
    var p_name = form.elements[h].value;
    if (form.elements[m].type == 'select-one') {
        p_name += ', ' + form.elements[l].value;
        p_name += ': ' + form.elements[m].options[form.elements[m].selectedIndex].value;    
    }
    if (form.elements[o].type == 'select-one') {
        p_name += ', ' + form.elements[n].value;
        p_name += ': ' + form.elements[o].options[form.elements[o].selectedIndex].value;    
    }
    var p_price = StringToFloat(form.elements[i].value);
    var p_uid = form.elements[j].value;
    var p_image = form.elements[k].value;
    var p_qty = parseInt(form.elements[p].options[form.elements[p].selectedIndex].value,10);
    var pos = position(p_artnr);
    if (pos >= 0 ) {
        if (items[pos].name == p_name) {
            items[pos].qty += p_qty;
        } else {
            items[items.length] = new item(p_artnr,p_name,p_price,p_qty,p_uid,p_image);
        }  
    } else {
        items[items.length] = new item(p_artnr,p_name,p_price,p_qty,p_uid,p_image);
    }  
    nrOfItems = getNrOfItems();
}
*/

function quickBuyProduct(form, product)
{
    if (!product)
      product = getCurrentProduct();

    if (product)
    {
        initBasket();
        addToBasket(product, 1);
        displayOrderWindow();
        initBasket();
    }
}

function addProductToBasket(form)
{
    var product = getCurrentProduct();
    var product_quantity = parseInt(form.elements[0].options[form.elements[0].selectedIndex].value,10);

    if (product && product_quantity)
        addToBasket(product, product_quantity);
}

function addToBasket(product, p_qty)
{
    var pos = position(product.p_artnr);
    if (pos >= 0 ) {
        if (items[pos].name == product.p_name) {
            items[pos].qty += p_qty;
        } else {
            items[items.length] = new item(product.p_artnr,product.p_name,product.p_price,p_qty,product.p_uid,product.p_image);
        }  
    } else {
        items[items.length] = new item(product.p_artnr,product.p_name,product.p_price,p_qty,product.p_uid,product.p_image);
    }  
    nrOfItems = getNrOfItems();
}

function deleteFromBasket(artnr)
{
    var pos = position(artnr);
    items[pos].qty = 0;
    nrOfItems = getNrOfItems();
    window.mainFrame.mainWorkFrame.location="page_basket.html";
}

function updateBasket(form)
{
    for (var g = 0; g < form.elements.length-1;  g += 2) {
        var h = g + 1; 
        var p_artnr = form.elements[g].value;
        var p_qty = parseInt(form.elements[h].value,10);
        var pos = position(p_artnr);
        if (pos >= 0 ) {
            items[pos].qty = p_qty;
        }
    }
    nrOfItems = getNrOfItems();
    window.mainFrame.mainWorkFrame.location="page_basket.html";
}

function showBasketItems()
{
    var s = new String("");
    var subtotal = 0;
    var total = 0;
    for (var i=0; i<items.length; i++) {
        if (items[i].qty > 0) {
            s += '<tr>';
            s += '<td width="29" valign="middle" align="center" bgcolor="#FFFFFF">';
            s += '<input type="hidden" name="artnr" value="' + items[i].artnr   + '">';
            s += '<input type="text" name="quantity' + items[i].uid + '" value="'   + items[i].qty + '" size="3" maxlength="3" class="text_XXS_Red">';
            s += '</td>';
            s += '<td valign="middle" bgcolor="#FFFFFF" colspan="3" class="text_XXS_Red">' + items[i].name + '</td>';
            s += '<td width="54" align="center" valign="middle" bgcolor="#FFFFFF">';
            if (items[i].image != '') {
                s += '<img src="' + items[i].image + '" width="30">';
            } else {
                s += '&nbsp;';
            }  
            s += '</td>';
            s += '<td width="41" align="right" valign="middle" bgcolor="#FFFFFF" class="text_XXS_Blue">' + convdec(items[i].price) + '</td>';
            subtotal = items[i].qty * items[i].price;
            total += subtotal;
            s += '<td width="64" align="right" valign="middle" bgcolor="#FFFFFF" class="text_XXS_Blue">' + convdec(subtotal) + '</td>';
            s += '<td width="21" align="center"><a onMouseOver="return parent.parent.setStatus();" href="javascript:parent.parent.deleteFromBasket(\'' + items[i].artnr +   '\')">';
            s += '<img src="images/recycled.gif"';
            if (siteLanguage == 'fr')
              s += ' alt="Supprimer cet article du panier"';
            else
              s += ' alt="Delete this product from basket"';
            s += ' width="9" height="10" border="0"></a></td>\n';
            s += '</tr>';
        }
    }
    s += '<tr valign="baseline">'; 
    s += '<td align="left" colspan="6" bgcolor="#000000" valign="top"><img src="../images/dottrans.gif" width="1" height="2"></td>';
    s += '<td width="64" align="left" bgcolor="#000000" valign="top"><img src="../images/dottrans.gif" width="1" height="2"></td></tr>';
    s += '<tr valign="baseline"><td width="29"></td><td width="102"></td><td width="33"></td><td width="53"></td>';
    s += '<td colspan="2" bgcolor="#DDDDDD" align="right" class="text_XXS_Blue">';
    if (siteLanguage == 'fr')
        s += 'Montant&nbsp;:';
    else
        s += 'Amount:';
    s += '</td>';
    s += '<td width="64" align="right" bgcolor="#DDDDDD" class="text_XXSB_Blue">' + convdec(total) + '</td>';
    s += '<td width="21" align="center">&nbsp;</td></tr>';
    /*
    var fftotal = total * eurocurrency;
    s += '<tr valign="baseline"><td width="29"></td><td width="102"></td><td width="33"></td><td width="53"></td>';
    s += '<td colspan="2" bgcolor="#666666" align="right"><font face="Arial, Helvetica, sans-serif" size="1" color="#FFFFFF"><b>en francs français&nbsp;:</b></font></td>';
    s += '<td width="64" align="right" bgcolor="#666666"><font face="Arial, Helvetica, sans-serif" size="1" color="#FFFFFF"><b>' + convdec(fftotal) + '</b></font></td>';
    s += '<td width="21" align="center">&nbsp;</td></tr>';
    s += '<tr valign="middle">';
    */
    s += '<td width="312" align="right" colspan="6" valign="top" height="10" class="text_XXS_Blue">';
    if (siteLanguage == 'fr')
        s += 'Si vous avez modifié les quantités, cliquez sur&nbsp;:';
    else
        s += 'If you modified quantities, click on:';
    s += '</td>';
    s += '<td width="64" align="right" height="10">';
    if (nrOfItems != 0)
        s += '<input type="button" value="';
    else
        s += '<input type="button" disabled value="';
    if (siteLanguage == 'fr')
        s += 'Recalculer';
    else
        s += 'Calculate';
    s += '" onClick="';
    for (var i=0; i<items.length; i++) {
        if (items[i].qty > 0) {
            s += 'if (!parent.parent.checknum(quantity' + items[i].uid + '.value)) {quantity' + items[i].uid + '.focus(); quantity' + items[i].uid + '.select(); return;}';
        }
    }
    s += 'parent.parent.updateBasket(this.form)" class="text_XXSB_Blue">';
    s += '</form></td>';
    s += '<td width="21" align="center">&nbsp;</td></tr>';
    return s;
}


///////////////////////////////////////////////////////////
// Order functions
///////////////////////////////////////////////////////////
function displayOrderButtons()
{
    var s = new String("");
    s += '<form name="basket_order" method="post">\n';
    s += '<input type="button" value="';
    if (siteLanguage == 'fr')
        s += 'Parcourir les articles';
    else
        s += 'Browse products';
    s += '" onClick="javascript:parent.parent.getURL(\'page_home.html\');" class="text_XSB_Blue">\n';
    if (nrOfItems != 0)
    {
        s += '<input type="button" value="';
        if (siteLanguage == 'fr')
            s += 'Poursuivre la commande';
        else
            s += 'Validate';
        s += '" onClick="javascript:parent.parent.displayOrderWindow();" class="text_XSB_Blue">\n';
        // s += '" onClick="top.location=\'' + getOrderURL() + '\'">\n';
    }
    else
    {
        s += '<input type="button" disabled value="';
        if (siteLanguage == 'fr')
            s += 'Poursuivre la commande';
        else
            s += 'Validate';
        s += '" class="text_XSB_Blue">\n';
        s += '</form>\n';
    }
    return s;
}

function displayOrderWindow()
{
    basketWidth=(screen.availWidth/4)*3;
    basketHeight=screen.availHeight-100;
    basketLeft = screen.availWidth/2-basketWidth/2; if (basketLeft<0) basketLeft=0;
    basketTop = screen.availHeight/2-basketHeight/2-30; if (basketTop<0) basketTop=0;
    var orderWindow = window.open(getOrderURL(),"orderWindow","width="+basketWidth+",height="+basketHeight+",top="+basketTop+",left="+basketLeft+",scrollbars=yes,resizable=1");
}

function getOrderURL()
{
    // http://shareit1.element5.com/cart.html?PRODUCT[151432]=3&DELIVERY[151432]=EML&languageid=6
    // https://secure.element5.com/shareit/checkout.html?PRODUCT[151432]=3&DELIVERY[151432]=EML&languageid=6
    orderAddress = 'https://secure.element5.com/shareit/checkout.html?';
    for (var i = 0; i < items.length; i++) {
        orderAddress += 'PRODUCT[' + items[i].uid + ']=' + items[i].qty + '&DELIVERY[' + items[i].uid + ']=EML';
        if (i != items.length-1) orderAddress += '&';
        else orderAddress += '&stylefrom=' + items[0].uid;
    }

    if (siteLanguage == 'fr')
        orderAddress += '&languageid=6&currencies=EUR';
    else
        orderAddress += '&languageid=1';

    return orderAddress;
}


///////////////////////////////////////////////////////////
// The following codeline must be the last one !!!
///////////////////////////////////////////////////////////
isBasketLoaded = true;
