var timeout = 300;
MagicMagnifyPlus.update = function(el, img, thumb) {
    if(document.getElementsByClassName('MagicMagnifyPlusContainer').length > 0) {
        MagicMagnifyPlus.stop();
    }
    el.href = img;
    el.firstChild.src = thumb;
    el.firstChild.removeAttribute("width");
    el.firstChild.removeAttribute("height");
    if(document.getElementsByClassName('MagicMagnifyPlusContainer').length == 0) {
        //MagicMagnifyPlus.start();
        setTimeout("MagicMagnifyPlus.start()", timeout);
        timeout = 100;
    }
}


function check_options() {

    var variantid = false;

    if(typeof(magicmagnifyplus_variants) === 'undefined') {
        check_options_original();
        return;
    }
    if(typeof(magicmagnifyplus_variants['start']) === 'undefined' || !magicmagnifyplus_variants['start']) {
        magicmagnifyplus_variants['start'] = true;
        //setTimeout(check_options, 100);
        return;
    }

    if(document.getElementsByClassName('MagicMagnifyPlusContainer').length == 0) {
        setTimeout(check_options, 100);
        return;
    }

    
    /* Find variant */
    for(var x in variants) {
        if(x == 'indexOf') { continue; }
        if(parseInt(x) != x) {continue;}
        if(variants[x][1].length == 0)
            continue;
        variantid = x;
        for(var c in variants[x][1]) {
            if(c == 'indexOf') { continue; }
            if(getPOValue(c) != variants[x][1][c]) {
                variantid = false;
                break;
            }
        }
        if(variantid)
            break;
    }
    if(document.getElementsByClassName('MagicMagnifyPlusContainer').length > 0) {
        MagicMagnifyPlus.stop();
    }

    
    check_options_original();

    /* If variant found ... */
    if(variantid) {
        product_anchor = document.getElementById('MagicMagnifyPlusImageproduct_thumbnail_products');
        if(product_anchor && product_anchor.firstChild) {
            product_thumbnail = product_anchor.firstChild;
        } else {
            product_thumbnail = null;
            if(document.getElementsByClassName('MagicMagnifyPlusContainer').length == 0) {
                MagicMagnifyPlus.start();
            }

        }
        /* Change product thumbnail */
        if(product_thumbnail) {
            if(typeof(magicmagnifyplus_variants['selected']) === 'undefined' || magicmagnifyplus_variants['selected'] != variantid) {
                magicmagnifyplus_variants['selected'] = variantid;

                    MagicMagnifyPlus.update(product_anchor, magicmagnifyplus_variants[variantid]['src'], magicmagnifyplus_variants[variantid]['thumbnail']);

            }
            //not sure whether we should do it
            //if(variants[variantid][0][6] && $.browser.msie) {
            //    pngFix(product_thumbnail);
            //}
            //if(product_image.isPNG) {
            //    pngFix(product_thumbnail);
            //}
            //MagicMagnify.start();

        }
    }
    return true;
}


