function get_code(code)
{
    //var myWindow = window.open('', "tinyWindow", 'width=510,height=200,top=250,left=350,scrollbars=yes');
    //myWindow.document.write("<textarea cols='50' rows='7'>"+code+"</textarea>");
    //myWindow.document.close();
//  $('#code_content').innerHTML = "<textarea cols='50' rows='7'>"+code+"</textarea>";
    document.getElementById('code_content').innerHTML="<textarea cols='50' rows='7'>"+code+"</textarea><br><input type='button' value = 'Close' onclick = 'return close_code()' />";
    $('#code_overlay').show();
    $('#code_lightbox').show();
}

function allempty(x)
{
    var allempty = true;
    for (var i in x) {
        allempty = allempty && (!x[i]); //logic: if the current is not empty then not all are empty
    }

    return allempty;
}

function is_new_zone(x)
{
    if (allempty(Drupal.settings.quick.selectedzones))
    {
        alert("Please select at least one promo");
        return false;
    }
    
    if (x.value == 'new')
        show_popup();
}

function is_new_campaign(x)
{
    if (x.value == 'new')
        show_campaign_popup();
}

function select_zone(scope,zoneid,promo_subtype_id,promo_product)
{
    var x = Drupal;
    var qss = x.settings.quick; //quick_search_settings
    if (!qss.selectedzones) qss.selectedzones = {};

    if (allempty(qss.selectedzones))
    {
        qss.subtype = null;
        qss.product = null;
    }

    var needtosave = true;
    if (scope.checked)
    {
        var message = '';
        if ((qss.subtype) && (promo_subtype_id != qss.subtype))
        {
            message = "Please pick only promos with the same type.";
            scope.checked = false;
            needtosave = false;
        }

        if ((qss.product) && (promo_product != qss.product))
        {
            if (!needtosave)
                message += "\n also \n";

            message += "Please pick only promos from the same product.";
            scope.checked = false;
            needtosave = false;
        }

        if (message)
            alert(message);
    }

    if (needtosave)
    {
        if (scope.checked) {
            qss.selectedzones[zoneid] = zoneid;
            qss.subtype = promo_subtype_id;
            qss.product = promo_product;
        }
        else {
            qss.selectedzones[zoneid] = null;

            if (allempty(qss.selectedzones))
            {
                qss.subtype = null;
                qss.product = null;
            }
        }

        var submitstr = qss.path+"ajax/mtq_search/selector/"+qss.subtype+"/"+qss.product+"/";
        for (var i in qss.selectedzones)
            if (qss.selectedzones[i]) {
                submitstr += i+"/";
            }

        $.get(submitstr,{},function(data) {});
    }
}

function select_cur(id)
{
    $('#edit-promo-currency')[0].value = id;
    $('#quick-search-form')[0].submit();
    return false;
}

function clear_all()
{
    r = confirm("Clear all?");
    if (r)
        alert("Not Implemented yet!");
}

function get_all_code(x)
{
    if (allempty(Drupal.settings.quick.selectedzones))
    {
        alert("Please select at least one promo");
        return false;
    }

    x.disabled = true;
    var old = x.value;
    x.value = please_wait;
    var location = Drupal.settings.quick.path+'ajax/mtq_search/getcode';
    $.get(location,{}, function(data){
        x.disabled = false;
        x.value = old;
        var parsed = eval('('+data+')');
        document.getElementById('code_content').innerHTML = '';
        for (var i=0; i<parsed.length; i++) {
            document.getElementById('code_content').innerHTML = document.getElementById('code_content').innerHTML + "<textarea cols='50' rows='7'>"+parsed[i]+"</textarea>";
        }
        document.getElementById('code_content').innerHTML =document.getElementById('code_content').innerHTML + "<br><input type='button' value = 'Close' onclick = 'return close_code()' />"
        $('#code_overlay').show();
        $('#code_lightbox').show();
    });

    return false;
}

function visual_click(thea,product,lang)
{
    if (thea.className != "unavail")
    {
        if (thea.className != "checked")
        {
            document.getElementById("ch_"+product+"_"+lang).value = 1;
            thea.className = "checked";
        }
        else
        {
            document.getElementById("ch_"+product+"_"+lang).value = 0;
            thea.className = "";
        }
    }
    return false;
}

function expandCollapseNode(iProdTypeId) {
    var oTab = document.getElementById("vs_table");
    var aTrs = oTab.getElementsByTagName("tr");
    var oTh  = document.getElementById("th_"+iProdTypeId);

    if (oTh.className == "hideTable") {
        oTh.className = "showTable";
        var bShow = true;
    } else {
        oTh.className = "hideTable";
        var bShow = false;
    }

    for (var i=0; i<aTrs.length; i++) {
        if (aTrs[i].id != "" && aTrs[i].id.search("tr_") >= 0) {
            var aId = aTrs[i].id.split("_");

            if (aId[1] == iProdTypeId) {
                if (bShow) {
                    aTrs[i].style.display = "";
                } else {
                    aTrs[i].style.display = "none";
                }
            }
        }
    }
    
    return false;
}

function checkAllProdsVert(iLangId, iProdTypeId, oFlag) {
    var step = 1;
    var firstFound = false;
    var oTh  = document.getElementById("th_"+iProdTypeId);

    if (oTh.className == "hide") return;

    var oTab  = document.getElementById("vs_table");
    var aAncs = oTab.getElementsByTagName("a");

    if (oFlag.checkIt == "undefined") oFlag.checkIt = true;

    for (var i=0; i<aAncs.length; i+=step) {
        if (aAncs[i].id != "" && aAncs[i].id.search("a_") >= 0) {
            var aId = aAncs[i].id.split("_");

            if (step==1 && aId[1] == iLangId && aId[2] == iProdTypeId && firstFound)
            {
                step = i - firstFound;
            }
            
            if (aId[1] == iLangId && aId[2] == iProdTypeId && aAncs[i].className != "unavail") {
                firstFound = i;
                if (oFlag.checkIt) {
                    aAncs[i].className = "checked";
                } else {
                    aAncs[i].className = "";
                }

                visual_click(aAncs[i], aId[3], iLangId);
            }
        }
    }

    if (oFlag.checkIt == true) oFlag.checkIt = false;
    else oFlag.checkIt = true;
}

function checkAllProdsHoriz(oThis) {
    if (oThis.checkIt == "undefined") oThis.checkIt = true;

    var aAncs = oThis.parentNode.parentNode.getElementsByTagName("a");

    for (var i=0; i<aAncs.length; i++) {
        var aId = aAncs[i].id.split("_");

        if( aAncs[i].className != "unavail" )
        {
            if (oThis.checkIt) {
                aAncs[i].className = "checked";
            } else {
                aAncs[i].className = "";
            }
            
            visual_click(aAncs[i], aId[3], aId[1]);
        }
    }

    if (oThis.checkIt == true) oThis.checkIt = false;
    else oThis.checkIt = true;
}

function flashAllProdsVert(iLangId, iProdTypeId, oFlag, bShowHide) {
    var oTh  = document.getElementById("th_"+iProdTypeId);

    if (oTh.className == "hide") return;

    var oTab  = document.getElementById("vs_table");
    var aAncs = oTab.getElementsByTagName("a");

    flashAncs2(aAncs, iLangId, iProdTypeId, bShowHide);

    if (oFlag.showIt == true) oFlag.showIt = false;
    else oFlag.showIt = true;
}

function flashAllLangsHoriz(oThis, bShowHide) {
    var aAncs = oThis.parentNode.parentNode.getElementsByTagName("a");

    flashAncs(aAncs, -1, -1, bShowHide);

    if (oThis.showIt == true) oThis.showIt = false;
    else oThis.showIt = true;
}

function flashAncs(aAncs, iLangId, iProdTypeId, bShowHide) {
    for (var i=0; i<aAncs.length; i++) {
        if (aAncs[i].id != "" && aAncs[i].id.search("a_") >= 0) {
            var aId = aAncs[i].id.split("_");

            if (((aId[1] == iLangId && aId[2] == iProdTypeId) || (iLangId == -1 && iProdTypeId == -1)) &&
                aAncs[i].className != "unavail" ) 
            {
                if (bShowHide == 1) {
                    if (aAncs[i].className != "checked") aAncs[i].className = 'hover';
                } else {
                    if (aAncs[i].className != "checked") aAncs[i].className = '';
                }
            }
        }
    }
}

function flashAncs2(aAncs, iLangId, iProdTypeId, bShowHide) {
    var step = 1;
    var firstFound = false;
    for (var i=0; i<aAncs.length; i+=step) {
        if (aAncs[i].id != "" && aAncs[i].id.search("a_") >= 0) {
            var aId = aAncs[i].id.split("_");

            if (step==1 && aId[1] == iLangId && aId[2] == iProdTypeId && firstFound)
            {
                step = i - firstFound;
            }
            if (((aId[1] == iLangId && aId[2] == iProdTypeId) || (iLangId == -1 && iProdTypeId == -1)) &&
                aAncs[i].className != "unavail" )
            {
                firstFound = i;
                if (bShowHide == 1) {
                    if (aAncs[i].className != "checked") aAncs[i].className = 'hover';
                } else {
                    if (aAncs[i].className != "checked") aAncs[i].className = '';
                }
            }
        }
    }
}

function show_popup()
{
    $('#zones_overlay').show();
    $('#zones_lightbox').show();

    return false;
}

function show_campaign_popup()
{
    close_newzone_popup();
    $('#campaigns_overlay').show();
    $('#campaigns_lightbox').show();

    return false;
}

function close_code()
{
    $('#code_overlay').hide();
    $('#code_lightbox').hide();

    return false;
}

function close_newzone_popup()
{
    $('#zones_overlay').hide();
    $('#zones_lightbox').hide();

    return false;
}

function close_newcampaign_popup()
{
    $('#campaigns_overlay').hide();
    $('#campaigns_lightbox').hide();

    return false;
}

function add_to_zone(suffix)
{
    var selectedZone = $('#zones_bottom' + suffix)[0].value;
    if (selectedZone.match(",") == null)
    {
        alert("Please select a zone");
        return false;
    }
    if (allempty(Drupal.settings.quick.selectedzones))
    {
        alert("Please select at least one promo");
        return false;
    }

    document.location = Drupal.settings.quick.path+'ajax/mtq_search/getcode/'+selectedZone.substr(selectedZone.indexOf(",")+1);


    return false;
}

function perform_action(suffix, x)
{
    if ($('#selected-action' + suffix)[0].value == 1)
        get_all_code(x);

    return false;
}

function create_zone(button)
{
    button.disabled = true;

    var name = $('#edit-Name')[0].value;
    var campaign_id = $('#edit-Campaings')[0].value;
    var tags = $('#edit-Tags')[0].value;

    var x = Drupal;
    var qss = x.settings.quick; //quick_search_settings
    var submitstr = qss.path+"ajax/create_zone/"+name+"/"+campaign_id+"/"+tags;

    $.get(submitstr,{},function(zone) {
        button.disabled = false;
        var select = $('#zones_bottom_1')[0];
        var parsed = eval('('+zone+')');
        var option = new Option($('#edit-Campaings')[0].options[$('#edit-Campaings')[0].selectedIndex].text+": "+name,campaign_id+","+parsed.id,true,true);
        select.options[select.options.length] = option;
        
        select = $('#zones_bottom_2')[0];
        parsed = eval('('+zone+')');
        option = new Option($('#edit-Campaings')[0].options[$('#edit-Campaings')[0].selectedIndex].text+": "+name,campaign_id+","+parsed.id,true,true);
        select.options[select.options.length] = option;
        close_newzone_popup();
    });

    return false;
}

function create_campaign(button)
{
    button.disabled = true;

    var name = $('#campaign_name')[0].value;
    var tags = $('#campaign_tags')[0].value;

    var x = Drupal;
    var qss = x.settings.quick; //quick_search_settings
    var submitstr = qss.path+"ajax/create_campaign/"+name+"/"+tags;

    $.get(submitstr,{},function(data) {
        button.disabled = false;
        var select = $('#edit-Campaings')[0];
        var parsed = eval('('+data+')');
        var option = new Option(parsed.name,parsed.id,true,true);
        select.options[select.options.length] = option;
        
        close_newcampaign_popup();
        show_popup();
    });

    return false;
}
