/*
    Project Folder functions and global vars
    functionality.
    Copyright (C) 2000-2008 Kohler Company.    All Rights Reserved.
    Author: Chris Englert
    Author: Dennis Spaag
    Date Created: July 11, 2008
*/

var projectFolder = "";
var folderId = "";

function createFolderWithItem(folderName, data) {

    var getUrl = "/ajax/createFolderWithItem.ktp?&name=" + folderName + getMyKohlerUrl(data);

    var tmp = $.ajax({
            url:getUrl,
            dataType:"json",
            success:function(data){
                projectFolder = eval(tmp.responseText);
                alert("Product was added to your new Project Folder");
            }
        // , error:function(){console.log(arguments)}
    });
    HideContent('popup_n');
    sendOmnitureAddFolder();
    sendOmnitureAddItem($("#myKohlerProductNumber").val(), $("#myKohlerPrice").val(), $("#myKohlerProductColorName").val(), $("#myKohlerSection").val());
    reloadOptions();
}

function addItem(data) {
    var folderId = $("#selectProjectFolder option:selected").val();

    if (folderId == "") {
        return;
    } else {
        folderId = encodeURIComponent(folderId);
    }

    var roomType = $("#selectRoom option:selected").val();
    if (roomType != "") {
        roomType = encodeURIComponent(roomType);
    }

    var getUrl = "/ajax/addItem.ktp?&folderId="+folderId+"&roomType="+roomType + getMyKohlerUrl(data);

    var tmp = $.ajax({
        url:getUrl,
        dataType:"json",
        success:function(data){
            // m4983: was: projectFolder= eval(tmp.responseText);
            alert("Product was added to your Project Folder");
        }
        // , error:function(){console.log(arguments)}
    });
    HideContent('popup_n');
    sendOmnitureAddItem($("#myKohlerProductNumber").val(), $("#myKohlerPrice").val(), $("#myKohlerProductColorName").val(), $("#myKohlerSection").val());
    reloadOptions();
}


function setMyFolderData(productInfo) {

    var blockA = $("#myKohler-" + productInfo[0] + "-" + productInfo[1]);
    blockA.block({
        message: '<h4 style="margin-bottom:4px;width:110px;"><nobr><img src="/common/images/busy.gif" style="margin:4px 4px 0 0;" />&nbsp;Please wait...</nobr></h4>',
         css: { border: '1px solid #666', width: '110px' }  
    });

    $.getJSON("/ajax/products/loadProduct.ktp?business=" + productInfo[0] + "&productNumber=" + productInfo[1],
            function(data) {
                var buh = data;
                $("#myKohlerProductNumber").val(data.item.productNumber);
                $("#myKohlerProductColorCode").val(data.item.colorCode);
                $("#myKohlerProductColorName").val(data.item.colorName);
                $("#myKohlerBusiness").val(productInfo[0]);
                $("#myKohlerPrice").val(data.item.price);
                $("#myKohlerSection").val(data.item.section);

                if ($("#myKohlerProductNumber").val() != "") {
                     ShowContent('popup_n');
                } else {
                    alert("Setting product to Project Folder failed.")
                }
                 blockA.unblock();

                
                return true;
            }
    );
}

function parseProductData(jObj) {

    var resultTmp = jObj.attr("id").split("-");
    var result = [
                    resultTmp[1],
                    resultTmp.slice(2).join("-")
                 ];

    return result;
}

function getMyFolderData() {
    var result = {};
    result.productNumber   = $("#myKohlerProductNumber").val();
    result.colorCode       = $("#myKohlerProductColorCode").val();
    result.colorFinishName = $("#myKohlerProductColorName").val();
    result.business        = $("#myKohlerBusiness").val();
    result.price           = $("#myKohlerPrice").val();
    result.section         = $("#myKohlerSection").val();
    return result;
}

function getMyKohlerUrl(data) {
    return "&productNumber=" + encodeURIComponent(data.productNumber)
            + "&colorFinishCode=" + encodeURIComponent(data.colorCode)
            + "&colorFinishName=" + encodeURIComponent(data.colorFinishName)
            + "&business="+ encodeURIComponent(data.business)
            + "&quantity=1"
}

function changeRoom() {
    for(var z=0; z<document.getElementById("selectRoom").options.length+1; z++) {
        document.getElementById("selectRoom").options[0] = null;
    }
    document.getElementById("selectRoom").options[0] = new Option("Select a room", "");
    for(var i=0; i<projectFolder.folders.length; i++) {
        if(document.getElementById("selectProjectFolder").options[document.getElementById("selectProjectFolder").selectedIndex].value==projectFolder.folders[i].id) {
            if(typeof(projectFolder.folders[i].rooms) != "undefined") {
                for(var p=0; p<projectFolder.folders[i].rooms.length; p++) {
                    document.getElementById("selectRoom").options[document.getElementById("selectRoom").options.length] = new Option(projectFolder.folders[i].rooms[p].name,projectFolder.folders[i].rooms[p].name);
                }
            }
        }
    }
}

function addFolders() {
    var folderName = document.getElementById("folderName").value;
    var room1 = document.getElementById("roomfld1").value;
    var room2 = document.getElementById("roomfld2").value;
    var room3 = document.getElementById("roomfld3").value;
    var room4 = document.getElementById("roomfld4").value;
    var room5 = document.getElementById("roomfld5").value;
    var tmp = $.ajax(
     {url:"/ajax/createFolderWithRooms.ktp?name="+folderName+"&rooms="+room1+"&rooms="+room2+"&rooms="+room3+"&userId=308&rooms="+room4+"&rooms="+room5,
     dataType:"json",
     success:function(data){
            projectFolder = eval(tmp.responseText)
            },
     error:function(){console.log(arguments)}
    });
    HideContent('popup_addfld');
    sendOmnitureAddFolder();
    setTimeout("location.reload(true)",1000);

}

function sendOmnitureAddFolder() {
    omniture = s_gi(s_account);
    omniture.linkTrackVars='events';
    omniture.linkTrackEvents='event7';
    omniture.events = 'event7';
    omniture.tl(true, 'o', 'Add Folder');
}

function sendOmnitureAddItem(sku, price, color, category) {
    omniture = s_gi(s_account);
    omniture.linkTrackVars='products,events';
    omniture.linkTrackEvents='event8,event18';
    omniture.products = ';' + sku + ';;;EVENT8=' + price + '|EVENT18=1,eVar19=' + color + '|EVAR1=' + category;
    omniture.events = 'event8,event18';
    omniture.tl(true, 'o', 'Add Folder');
}

function deleteFolder() {
    var tmp = $.ajax(
     {url:"/ajax/deleteFolder.ktp?folderId="+folderId,
     dataType:"json",
     success:function(data){
            projectFolder = eval(tmp.responseText)
            },
     error:function(){console.log(arguments)}
    });

    HideContent('popup_del');
    setTimeout("location.reload(true)",1000)
//            location.reload(true);
}

function showDelete(id) {
    folderId = id;
    ShowProjFldContent('popup_del');
}

function reloadOptions() {
    var tmp = $.ajax({
        url:"/ajax/folderOptions.ktp",
        dataType:"json",
        success:function(data){
            projectFolder = eval(tmp.responseText);
            $('#selectProjectFolder option').not(':first').remove();
            for(var i=0; i<data.folders.length; i++) {
                document.getElementById("selectProjectFolder").options[document.getElementById("selectProjectFolder").options.length] = new Option(data.folders[i].name,data.folders[i].id);
            }
            if (data.folders.length < 1) {
                $("#mykohlerdd").removeClass("open");
                $("#mykohlerdd").addClass("closed");
                $("#mykolherinputfld").removeClass("closed");
                $("#mykolherinputfld").addClass("open");
                $("#mykohlerpftoggle").hide();

            } else {
                $("#mykohlerdd").removeClass("closed");
                $("#mykohlerdd").addClass("open");
                $("#mykolherinputfld").removeClass("open");
                $("#mykolherinputfld").addClass("closed");
                $("#mykohlerpftoggle").show();
                $("#createProjectFolderCheckbox").attr("checked", false);
                $("#projFolderName").val("Enter a new project folder name");
            }
        }
        // , error:function(){console.log(arguments)}
    });
}


$(function(){

    if (document.getElementById("selectProjectFolder")) {

    reloadOptions();
    
    }

    $(".saveToMyKohlerFolder").click(function() {
        var productInfo = parseProductData($(this));
        setMyFolderData(productInfo);

    });

    $("#saveFolderAction").click(function() {

        if ($("#myKohlerProductNumber").val() == "") {
            return;  // if empty we are going to give up
        }

        if ($("#mykohlerdd").hasClass("open")) {
            addItem(getMyFolderData());

        } else {
            var folderName = $("#projFolderName").val();
            if (folderName == "Enter a new project folder name" || folderName == "") {
                return;
            }
            createFolderWithItem(encodeURIComponent(folderName), getMyFolderData());

        }

        return false;

    });


    $("#printFolderAnchor").click(function() {
        var printChoice = $('input:checked[name=viewoption]').val();
        if (printChoice == "textonly") {
            window.open("/projectfolder/folderPrint.ktp?folderId="+$("#folderId").val(),"print","");
        } else {
            // window.open("/projectfolder/printfolder.pdf?folderId="+$("#folderId").val() + "&pdf=1","print","");
            window.open("/projectfolder/folder.ktp?folderId="+$("#folderId").val() + "&pdf=1","print","");
        }

    });

    $("#emailFolderAnchor").click(function() {

        var sendOption = "";
        if ($("input[name='sendOption']:checked").length == 1) {
            sendOption = encodeURIComponent($("input[name='sendOption']:checked").val());
        }

        var urlParams = "?folderId=" + encodeURIComponent($("#folderId").val()) +
                        "&sendOption=" + sendOption +
                        "&toEmail=" + encodeURIComponent($("#projectEmailToEmail").val()) +
                        "&fromEmail=" + encodeURIComponent($("#projectEmailFromEmail").val()) +
                        "&firstName=" + encodeURIComponent($("#projectEmailFirstName").val()) +
                        "&lastName=" + encodeURIComponent($("#projectEmailLastName").val()) +
                        "&message=" + encodeURIComponent($("#projectEmailMessage").val());

        $.getJSON("/ajax/mailFolder.ktp" + urlParams,
                function(data) {
                    if(data.emailProjectFolder && data.emailProjectFolder.status == "ERROR") {
                            var error = "You have errors in the following fields:<br />";
                            $.each(data.emailProjectFolder.errors, function(i,item){
                                if (item.message && $.trim(item.message).length > 0)
                                error += "&nbsp;-&nbsp;" + item.message + "<br />";
                            });
                            $("#emailErrorMessage").html(error);
                            $("#emailErrorMessage").show();
                        } else {
                            HideContent('email_n');
                            clearProjectEmailForm();
                            ShowContent('email_n_closed');
                        }
                }
        );

    });

});