var old_opened_menu_id = false;
function changeBikePage(productid, colors) {

    if (colors == "Y")
        open_menu = "&menu_colors=Y";
    else
        open_menu = "&menu_models=Y";
    bikeid = "";
    if (colors == "Y") {
        for (var i in product_options) {
            checked_option_id = document.getElementById("po"+i);
            if (checked_option_id) {
                bikeid = bikeid+"&remember_options["+i+"]="+checked_option_id.value;
            }
        }
    }
    if (frame_height_classid > 0 && document.getElementById("po"+frame_height_classid) && colors == "Y") {
        window.location='product.php?productid='+productid+open_menu+"&frame_height="+product_options[frame_height_classid][1][document.getElementById("po"+frame_height_classid).value][0][0]+bikeid;
    } else {
         window.location='product.php?productid='+productid+open_menu+bikeid;
    }
}
function OpenBikeMenu(opt_id) {
    var div = document.getElementById("menu_option_"+opt_id);

    if (div) {
        if (div.className == "bike_option_menu" ) {
            $("#menu_option_image_"+opt_id).attr("src",menu_checked_src);
            div.className = "bike_option_menu_checked";
            $("#bike_options_"+opt_id).show("blind", { direction: "vertical" }, 1000);
            if (old_opened_menu_id && old_opened_menu_id != opt_id) {
                 var old_div = document.getElementById("menu_option_"+old_opened_menu_id);
                 $("#menu_option_image_"+old_opened_menu_id).attr("src",menu_unchecked_src);
                 old_div.className = "bike_option_menu";
                 $("#bike_options_"+old_opened_menu_id).hide("blind", { direction: "vertical" }, 1000);
            }
            old_opened_menu_id = opt_id;
        } else {
            $("#menu_option_image_"+opt_id).attr("src",menu_unchecked_src);
            div.className = "bike_option_menu";
            $("#bike_options_"+opt_id).hide("blind", { direction: "vertical" }, 1000);
            old_opened_menu_id = false;
        }
    }
}
function movieSendImage(x_pos, y_pos, rotation, depth, url, class_id, option_id, depending, detail_name, x_zoom) {
    var value = argsToJSON(x_pos, y_pos, rotation, depth, url, class_id, option_id, depending, detail_name, x_zoom);
    var movie = (navigator.appName.indexOf("Microsoft")!=-1 ? document.all["customer"] : document["customer"]);
        movie.sendFromJS(value);
}

function argsToJSON() {
    var JSON = '{';
    var paramsTypes =  ['x_pos', 'y_pos', 'rotation', 'depth', 'url', 'class_id', 'option_id', 'depending', 'detail_name', 'x_zoom']
    for(var i=0, l=arguments.length; i<l; i++) {
        var str = (i != arguments.length-1)?', ':''
        var arg = (typeof arguments[i]=='string')?'"'+arguments[i]+'"':arguments[i];
        JSON +=    '"' + paramsTypes[i]+'"' +':'+arg+str;
    }
    JSON+='}';
    return JSON;
}

function movieRemoveImage(class_id) {
    if (product_options[class_id][0][1] != 'Y')
        return false;
    value = '{"class_id":"'+class_id+'"}';
    var movie = (navigator.appName.indexOf("Microsoft")!=-1 ? document.all["customer"] : document["customer"]);
        movie.removeComponent(value);
}

function enableAddToCart()
{
    alert('123123');
}
function saveBike()
{
	if (!document.getElementById("po"+frame_height_classid) || !document.getElementById("po"+frame_height_classid).value) {

        OpenBikeMenu(frame_height_classid);
        alert('Selecteer eerst uw framemaat');
        return false;
    }
	
    $("#add_to_cart_button").html(loading_image_html);
    bikeid = document.orderform.productid.value;
    for (var i in product_options) {
        checked_option_id = document.getElementById("po"+i);
        if (checked_option_id) {
            bikeid = bikeid+'-'+i+"_"+checked_option_id.value;
        }
    }
    document.orderform.bike_id.value = bikeid;
    var movie = (navigator.appName.indexOf("Microsoft")!=-1 ? document.all["customer"] : document["customer"]);
    movie.saveBitmap("saveBike.php?bikeid="+bikeid);
}

function addToFvBike()
{
	if (!document.getElementById("po"+frame_height_classid) || !document.getElementById("po"+frame_height_classid).value) {
        OpenBikeMenu(frame_height_classid);
        alert('Selecteer eerst uw framemaat');
        return false;
    }

    document.orderform.mode.value = "add2fv";
    $("#add_to_fv_button").html(loading_image_html);
    bikeid = document.orderform.productid.value;
    for (var i in product_options) {
        checked_option_id = document.getElementById("po"+i);
        if (checked_option_id) {
            bikeid = bikeid+'-'+i+"_"+checked_option_id.value;
        }
    }
    document.orderform.bike_id.value = bikeid;
    var movie = (navigator.appName.indexOf("Microsoft")!=-1 ? document.all["customer"] : document["customer"]);
        movie.saveBitmap("saveBike.php?bikeid="+bikeid);
}

function placeBikeItem()
{
    document.orderform.submit();
}

function recalculateCost()
{
    extra_cost = 0;
    frame_height_cost = 0;
    for (var i in product_options) {
        if (!product_options[i][0])
            continue;
        checked_option_id = document.getElementById("po"+i);
        if (checked_option_id) {
            checked_option = product_options[i][1][checked_option_id.value];
            checked_option_cost = checked_option[0][2] == '$' ? checked_option[0][1] : (default_price*checked_option[0][1]/100);
            if (product_options[i][0][5] != 'frame_height') {
                extra_cost = extra_cost + price_format(checked_option_cost,"", ".")/1;
            } else {
                frame_height_cost = checked_option_cost/1;
            }
        }
    }
//    $("#extra_options_cost").innerHTML = currency_symbol+"&nbsp;"+price_format(extra_cost);
    $("#bike_total_cost").html(currency_symbol+"&nbsp;"+price_format(extra_cost+default_price+frame_height_cost));

}

function DefaultBikeOptions()
{
    movieSendImage(product_image[0],product_image[1], product_image[2], product_image[3], product_image[5], 0, 0, 0, "Background", product_image[4]);
    if (use_favourite_options == "Y") {
        for (var classid in favourite_options) {
            if (favourite_options[classid] && favourite_options[classid]>0) {
                changeBikeOption(classid, favourite_options[classid]);
            }
        }
    } else {
        for (var classid in default_product_options) {
            if (remembered_product_options[classid] && remembered_product_options[classid]>0) {
                changeBikeOption(classid, remembered_product_options[classid]);
            }
            else if (default_product_options[classid] && default_product_options[classid]>0) {
                changeBikeOption(classid, default_product_options[classid]);
            }
        }
    }
}

function reloadBikePage()
{
    window.location = "product.php?productid="+document.orderform.productid.value;
}

function play_option_sound(sound_file) {
   $("#options_sound_section").html("<embed src=\""+sound_file+"\" hidden=true autostart=true loop=false></embed>");
}


function changeBikeOption(classid,optionid) {
    optclass_avail = true;
    if (transportrek_classid == classid && fietszitje_voor_classid !=0 && transportrek_classid!=0) {
        deleteBikeOption(fietszitje_voor_classid, default_product_options[fietszitje_voor_classid]);
        $("#no_voor_message_"+fietszitje_voor_classid).css({display:""});
    }
    if (product_options[classid][0][3] != 0 && product_options[classid][0][4] == "Y" && !checked_class_options[product_options[classid][0][3]]) {
        optclass_avail = false;
    }
    if (optclass_avail && classid && optionid) {
        generateRightMenu(classid,optionid);
        generateBottomMenu(classid,optionid);
        sendImageToFlash(classid,optionid);
        recalculateCost();
        for (var i in product_options) {
            if (!product_options[i][0])
                continue;
            if (product_options[i][0][3] == classid) {
                if (product_options[i][0][4] == "Y" && $("#bike_options_list_unavailable_"+i))
                    $("#bike_options_list_unavailable_"+i).css({display:"none"});
                if (checked_class_options[i]) {
                    generateRightMenu(i, checked_class_options[i]);
                    generateBottomMenu(i, checked_class_options[i]);
                    sendImageToFlash(i, checked_class_options[i]);
                } else if(default_product_options[i]) {
                    generateRightMenu(i, default_product_options[i]);
                    generateBottomMenu(i, default_product_options[i]);
                    sendImageToFlash(i, default_product_options[i]);
                }
                recalculateCost();
            }
        }
    }

    bike_class = product_options[classid];
    if (bike_class[0][5] == 'frame_height' && optionid == "") {
        $("#frame_height_option_name").html(product_name);
        $("#frame_height_option_cost").html(currency_symbol+"&nbsp;"+price_format(default_price));
        for (var i in product_options) {
            if (!product_options[i][0] || !$("#no_frame_message_"+i))
                continue
            $("#no_frame_message_"+i).css({display:""});
        }
        recalculateCost();
    }
}

function generateRightMenu(classid, optionid) {
    if (classid) {
        bike_class = product_options[classid];
        bike_option = product_options[classid][1][optionid];
        if (bike_class[0][5] == 'Lamp voor')
            return false;
        if (bike_class[0][5] == 'Achterlicht')
            return false;
        for (var t in bike_class[1]) {
            if (optionid != "" && t == optionid) {
                if (bike_class[0][0] == "I") {
                    $("#bike_item_checked_"+t).css({color:"#73b42b"});
                    $("#bike_item_checked_image_"+t).css({display:""});
                    if ($("#bike_item_delete_image_"+t))
                        $("#bike_item_delete_image_"+t).css({display:""});
                } else if (bike_class[0][0] == "C") {
                    $("#bike_item_checked_"+t).css({color:"#73b42b"});
                    $("#bike_item_checked_checkbox_"+t).attr("src",checkbox_checked_icon);
                } else if (bike_class[0][0] == "S") {
                    selectBikeOptions = document.orderform.elements["bike_options_list_"+classid];
                    for (var i=0; i < selectBikeOptions.options.length; i++)
                    {
                        if (selectBikeOptions.options[i].value == t) {
                            selectBikeOptions.options[i].selected = true;
                        }
                    }
                }
            } else {
                if (bike_class[0][0] == "I") {
                    $("#bike_item_checked_"+t).css({color:"#808080"});
                    $("#bike_item_checked_image_"+t).css({display:"none"});
                    if ($("#bike_item_delete_image_"+t))
                        $("#bike_item_delete_image_"+t).css({display:"none"});
                } else if (bike_class[0][0] == "C") {
                    $("#bike_item_checked_"+t).css({color:"#808080"});
                    $("#bike_item_checked_checkbox_"+t).attr("src", checkbox_unchecked_icon);
                }
            }
        }
    }
}

function sendImageToFlash(classid,optionid) {
    if (classid) {
        config_class = product_options[classid];
        if (config_class[0][1] != 'Y')
            return false;
        config_option = product_options[classid][1][optionid];
        //movieRemoveImage(classid);

        if (config_class[0][3] != 0 && checked_class_options[config_class[0][3]]) {
            dependingid = checked_class_options[config_class[0][3]];
        } else {
            dependingid = 0;
        }
        if (dependingid != 0 && config_class[0][3] != 0) {
            if (depending_cord) {
                depending_found = false;
                for (var dcord =0; dcord<depending_cord.length; dcord++) {
                    if (depending_cord[dcord][1] == optionid && depending_cord[dcord][0] == classid && depending_cord[dcord][2] == dependingid) {
                        movieSendImage(depending_cord[dcord][3], depending_cord[dcord][4], depending_cord[dcord][5], depending_cord[dcord][6], config_option[0][9], classid, optionid, dependingid, config_option[0][0], depending_cord[dcord][7]);
                        checked_class_options[classid] = optionid;
                        depending_found = true;
                    }
                }
                if (!depending_found) {
                    movieSendImage(config_option[0][4], config_option[0][5], config_option[0][6], config_option[0][7], config_option[0][9], classid, optionid, dependingid, config_option[0][0], config_option[0][8]);
                    checked_class_options[classid] = optionid;
                }
            }

        } else {
            movieSendImage(config_option[0][4], config_option[0][5], config_option[0][6], config_option[0][7], config_option[0][9], classid, optionid, 0, config_option[0][0], config_option[0][8]);
            checked_class_options[classid] = optionid;
        }
    }
}

function generateBottomMenu(classid, optionid)
{
    var bike_class = product_options[classid];
    var bike_option = product_options[classid][1][optionid];
    
    input_product_option = '<input type="hidden" id="po'+classid+'"name="product_options['+classid+']" value="'+optionid+'" />';

    if (bike_class[0][5] == 'frame_height') {
        additional_cost = parseFloat(bike_option[0][2] == '$' ? bike_option[0][1] : (default_price*bike_option[0][1]/100));
        additional_cost = additional_cost+default_price;
        $("#frame_height_option_name").html(bike_class[0][2]+"&nbsp;:&nbsp;"+bike_option[0][0]);
        $("#frame_height_option_cost").html(currency_symbol+"&nbsp;"+price_format(additional_cost)+input_product_option);
        for (var i in product_options) {
            if (!product_options[i][0] || !$("#no_frame_message_"+i))
                continue
            $("#no_frame_message_"+i).css({display:"none"});
        }
        return true;
    }

    var return_div =  document.createElement('DIV');
    return_div.className="js_bottom_menu_class_1";

    var image_div = document.createElement('DIV');
        image_div.className="js_bottom_menu_class_2";

    var image_check = document.createElement('IMG');
        image_check.src = check_icon_src;

    image_div.appendChild(image_check);
    return_div.appendChild(image_div);

    var name_div = document.createElement('DIV');
        name_div.className="js_bottom_menu_class_3";
    
    name_div.innerHTML = "&nbsp;"+bike_class[0][2]+"&nbsp;:&nbsp;"+bike_option[0][0];
    return_div.appendChild(name_div);

    var cost_div = document.createElement('DIV');
        cost_div.className="js_bottom_menu_class_4";

    additional_cost = parseFloat(bike_option[0][2] == '$' ? bike_option[0][1] : (default_price*bike_option[0][1]/100));
    cost_div.innerHTML = currency_symbol+"&nbsp;"+price_format(additional_cost)+input_product_option;

    var delete_div = document.createElement('DIV');
        delete_div.className="js_bottom_menu_class_5";
    if (default_product_options[classid] && default_product_options[classid] == optionid) {
        delete_div.innerHTML = "&nbsp;";
    } else {
        default_option_id = (default_product_options[classid]) ? default_product_options[classid] : 0;
        delete_div.innerHTML = "<div class='js_bottom_menu_class_6' onclick="+'"'+"javascript: deleteBikeOption('"+classid+"','"+default_option_id+"');"+'"'+"><img class='js_bottom_menu_class_7' src='"+delete_icon_src+"' align='middle'/>&nbsp;"+lbl_delete+"&nbsp;</div>";
    }
    return_div.appendChild(delete_div);
    return_div.appendChild(cost_div);
    if (bike_class[0][5] == 'Lamp voor') {
        return_div.style.visibility = "hidden";
    }
    if (bike_class[0][5] == 'Achterlicht') {
        return_div.style.visibility = "hidden";
    }
    
    if ($("#selected_bike_option"+classid).html()) {
        var return_bike_option = $("#selected_bike_option"+classid);
        return_bike_option.empty();
        return_bike_option.append(return_div);
    } else {
        var options_list_div = $("#selected_options_list");
        var return_bike_option = document.createElement('DIV');
        return_bike_option.id = "selected_bike_option"+classid;
        return_bike_option.className = "js_bottom_menu_class_8"
        return_bike_option.style.clear = "both";
        return_bike_option.appendChild(return_div);
        options_list_div.append(return_bike_option);
    }
}

function deleteBikeOption(classid, default_optid) {
    if (transportrek_classid == classid && fietszitje_voor_classid !=0 && transportrek_classid!=0) {
        deleteBikeOption(fietszitje_voor_classid, default_product_options[fietszitje_voor_classid]);
        $("#no_voor_message_"+fietszitje_voor_classid).css({display:"none"});
    }
    if (default_optid != 0) {
        changeBikeOption(classid, default_optid);
    } else {
        generateRightMenu(classid, "");
        if ($("#selected_bike_option"+classid)) {
            var return_bike_option = $("#selected_bike_option"+classid);
            return_bike_option.remove();
        }
        movieRemoveImage(classid);
        checked_class_options[classid] = false;
        for (var i in product_options) {
            if (!product_options[i][0])
                continue;
            if (product_options[i][0][3] == classid) {
                if ($("#bike_options_list_unavailable_"+i) && product_options[i][0][4] == "Y") {
                    $("#bike_options_list_unavailable_"+i).css({display:""});
                    if ($("#selected_bike_option"+i).html()) {
                        var return_bike_option = $("#selected_bike_option"+i);
                        return_bike_option.empty();
                    }
                    if (checked_class_options[i]) {
                        movieRemoveImage(i);
                        generateRightMenu(i, "");
                        checked_class_options[i] = false;
                    }
                } else {
                    if (checked_class_options[i]) {
                        changeBikeOption(i,checked_class_options[i]);
                    } else if(default_product_options[i]) {
                        changeBikeOption(i,default_product_options[i]);
                    }
                }
            }
        }
        recalculateCost();
    }
}
if (AC_FL_RunContent == 0) {
    alert("This page requires AC_RunActiveContent.js.");
} else {
    AC_FL_RunContent(
            'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0',
            'width', '725',
            'height', '562',
            'src', bike_configurator_src,
            'quality', 'high',
            'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
            'align', 'top',
            'play', 'true',
            'loop', 'true',
            'scale', 'showall',
            'wmode', 'window',
            'devicefont', 'false',
            'id', 'customer',
            'bgcolor', '#ffffff',
            'name', 'customer',
            'menu', 'true',
            'allowFullScreen', 'false',
            'allowScriptAccess','sameDomain',
            'movie', bike_configurator_src,
            'salign', ''
                ); //end AC code
}

