var currProjID;
var currProjName;

var strNowContinueLookingSelector = "#nowContinueLooking";

$(function(){
  $('#mpfTabs li').hover(function(){
    $(this).addClass('tabHover');  
    $(this).children('img.viewActive').show();
    $(this).children('img.viewInactive').hide();
  },function(){
    $(this).removeClass('tabHover');
    if(!$(this).hasClass('active')){
      $(this).children('img.viewActive').hide();
      $(this).children('img.viewInactive').show();
    }
  }); 
});

$(function(){
  $('#forgotPasswordLink').click(function(){
    $('#mpfResetPassModal').show();
    $('#mpfFail').hide();
    $('#mpfSuccess').show();
  });
  $('#closePWModal').click(function(){
    $('#mpfResetPassModal').hide();
  });
});

$(function(){
  $('#mpfTabs li').click(function(){
    var contentID = $(this).attr('id').replace('tab','');
    mpfChangeTab(contentID);        
  });
});

$(function(){
  $('#resetPWSubmit').click(function(){
    if($('#resetPWEmail').val() == "")
      alert("Please enter your email address");
    else{
      $.ajax({
         type: "GET",
         url: "/my_projects/resetPassword.aspx",
         data: "email="+$('#resetPWEmail').val(),
         error: function(){
          $('#mpfFail').html("There was an error processing your request.")
         },
         success: function(msg){         
           if (msg == "not found"){
              $('#mpfFail').html("<br /><br />The email address you provided could not be located in the database. Please create an account.")
              $('#mpfSuccess').hide();
              $('#mpfFail').show();
           }
           else
             $('#mpfSuccess').html("<br /><br />Thank you.  Your request has been processed. A temporary password has been sent to the email address you provided.")         
         }
      });
    }
    return false;
  });
});
  
$(function(){
  $('#btnCreate').click(function(){
    //alert($('#txtProjectName').val());
    if ($('#txtProjectName').val() == ""){
      alert("Please enter a name for your project");
      return false;
    }
    $.ajax({
       type: "GET",
       url: "/my_projects/addProject.aspx",
       data: "title="+$('#txtProjectName').val(),
       success: function(){
         $(strNowContinueLookingSelector).children().show();
         $(strNowContinueLookingSelector + " span").show();
         $(strNowContinueLookingSelector + " a").show();
         $('#tabAllProjects').show();
         //mpfChangeTab("AllProjects");
       }
    });
    return false;
  });  
});

$(function(){
  $('#tabAllProjects, #btnAllProjects').click(function(){      
    getAllProjects();
  });  
});

$(function(){
  $('#sortAlphabetically').click(function(){      
    getAllProjects("name");
    $('#sortAlphabetically').hide();
    $('#sortModified').show();    
  });  
  $('#sortModified').click(function(){      
    getAllProjects("modified");
    $('#sortAlphabetically').show();
    $('#sortModified').hide();
  });  
});  

$(function(){
  $('#tabCurrentProject').click(function(){      
    getCurrProj();
  });  
});

$(function(){
  $('#tabCreateNew').click(function(){      
    $('#txtProjectName').val('');
    $(strNowContinueLookingSelector).children().hide();
  });  
});

$(function(){
  $('#close').click(function(){      
    $('#mpfNoteModal').hide();
    $('.modalWindow').hide();
    return false;
  });  
});

$(function(){
  $('#modalSaveNoteButton').click(function(){
    var qs = "proj="+$('#hdnNoteID').val().replace('-','&prod=')+"&note="+$('#txtNote').val();
    $.ajax({
       type: "POST",
       url: "/my_projects/setNote.aspx",
       data: qs,
       success: function(msg){
         if (msg == "updated"){          
            var newNote = "<b>My Note: </b>";
                if ($('#txtNote').val().length > 100)
                  newNote += $('#txtNote').val().substr(0,100) + "...";
                else
                  newNote += $('#txtNote').val();
                newNote += "<div class=\"seeMoreEdit\"><a href=\"#\" id=\"seeNote_"+$('#hdnNoteID').val()+"\" class=\"mpfNoteLink seeNote\">see more ></a>";
                newNote += "&nbsp;<a href=\"#\" id=\"editNote_"+$('#hdnNoteID').val()+"\" class=\"mpfNoteLink editNote\">edit ></a></div>"
            $('#note_'+$('#hdnNoteID').val()).html(newNote);
            bindNoteLinks();
            $('#mpfNoteModal').hide();
         }else{
           alert('There was an error saving your note. Please try again');
         }         
       }
    });
    return false;
  });  
});

var strAjaxError = "There was an error access your products.  Please try again later.";
var strProjectIDKey = "mpf_curr_proj";

function setCurrProj(){  
  /*$.ajax({
     type: "GET",
     url: "/my_projects/setCurrProject.aspx",
     data: "id=" + currProjID + "&cb=" + new Date().getTime(),
     async: false,
     success: function(msg){
       //$('#currProjTabName').html(currProjName);
       $('#currProjectName').html("&nbsp;"+currProjName.substr(0,(currProjName.length -5)));
       $('#tabCurrentProject').show();
alert("currProjID = " + currProjID + "\nmsg = " + msg + "\n");
       getCurrProj();
     },
     error: function() {
        alert(strAjaxError);
     }
  });*/
//alert("currProjID = " + currProjID + "\n");
  $.cookie(strProjectIDKey, currProjID);
  $('#currProjectName').html("&nbsp;"+currProjName.substr(0,(currProjName.length -5)));
  $('#tabCurrentProject').show();
  getCurrProj();
}

function getCurrProj(){
var debug = "";

    var projID = $.cookie(strProjectIDKey);
  $('#currProjectPaging').empty();
  $('#mpfCurrentProjectProducts').html("<div style=\"text-align: center; padding: 60px 0px;\"><img src=\"/img/myProjectFolder/ajax-loader.gif\"</div>");
  var xml = $.ajax({
     type: "GET",
     url: "/my_projects/getCurrProject.aspx",
     data: "id=" + projID + "&cb="+ new Date().getTime(),
     dataType: xml,
     error: function(xhr, desc, e){
      $('#mpfCurrentProjectProducts').html("<li><br /><br />" + strAjaxError + "</li>");
     },
     success: function(strXml){
//alert(strXml);
//return;
        $('#mpfCurrentProjectProducts').empty();                 
        var productData = "";
        var noteData = ""; 
        var separator = ""; 
        projID = $(strXml).find('projectID').text();
//alert("projID = " + projID + "\n");
        var pageNumber = 1;
        var numProducts = 0;
        var rowCount = 0;
        var newPage = false;
        var rowCountMet = false;
        var pageNumberFlag = false;
        if($(strXml).find('project').text() == "no products"){
          $('#mpfCurrentProjectProducts').html("<li><br /><br />There are currently no products in this folder.<br /> To add your favorite products to this project use the yellow folder icons as you browse through the site.</li>");
          return;
        }
        $(strXml).find('division').each(function(div){
          var divName = $(this).find('divisionName').text();                    
          if(rowCountMet){
            pageNumberFlag = true;
            rowCountMet = false;
          }
          else{
            newPage = false;
          }
          writeDivName = true;          
          $(this).find('product').each(function(i){
//alert(i + " - " + $(this).find('name').text() + "\n");
             if (i%3 == 0){
               rowCount += 1;
               $('#mpfCurrentProjectProducts').append(productData);
               $('#mpfCurrentProjectProducts').append("<li class=\"first test1 mpfProdPage prodPage"+pageNumber+"\" style=\"height: 1px; margin: 0px;\">&nbsp;</li>");
               $('#mpfCurrentProjectProducts').append(noteData);
               if(i != 0)
                  $('#mpfCurrentProjectProducts').append("<li class=\"first mpfProdPage prodPage"+pageNumber+"\">&nbsp;</li>");
               productData = "";
               noteData = "";
               separator = "";
             }
             if(pageNumberFlag){
              pageNumber += 1;
              pageNumberFlag = false;
             }
             if(newPage){
              //alert(rowCount + " - " + i + " - " + div);
               $('#mpfCurrentProjectProducts').append("<li class=\"divisionName divDuplicate first mpfProdPage prodPage"+pageNumber+"\">"+divName+"</li>");
               newPage = false;
             }
             if (writeDivName){
               $('#mpfCurrentProjectProducts').append("<li class=\"divisionName first mpfProdPage prodPage"+pageNumber+"\">"+divName+"</li>");
               writeDivName = false;
             }
             var prodID = $(this).find('id').text();
             var prodURL = $(this).find('url').text();
             
              productData += "<li class=\"mpfProductContainer ";
              productData += (i%3 == 0)?"first":"";
             productData += " mpfProdPage prodPage"+pageNumber+"\">";                          
             productData += "<a href=\""+prodURL+"\" id='projNameID-"+prodID+"' class=\"productListingName\">"+$(this).find('name').text()+"</a>";                                        
             if($(this).find('thumbnail').text() != "" && $(this).find('thumbnail').text() != "/img/productthumbnails/")
                productData += "<img src='"+$(this).find('thumbnail').text()+"' class='mpfProdThumbnail'/>";
             productData += ($(this).find('colors').text() != "")?"<div class=\"colorsContainer\">"+$(this).find('colors').text()+"</div>":"";
             productData += "<div class=\"productInfo\">";
             $(this).find('attributes').children().each(function(i){
                productData += ($(this).text() != "")?"<b>"+$(this).attr("name")+"</b>"+": "+$(this).text()+"<br />":"";
             });             
             //productData += "test"+div+"-"+i;             
             productData += "</div>";
             //productData += div + " - " + i+ " - " + rowCount;
       // Create notes row in the same fashion as the product Data row                   
             noteData += "<li class=\"mpfProductContainer ";             
             noteData += (i%3 == 0)?"first":"";
             noteData += " mpfProdPage prodPage"+pageNumber+" separatorContainer notesWrapper\">";
             noteData += "<div class=\"productNote\" id=\"note_"+currProjID+"-"+prodID+"\" >";
             if ($(this).find('note').text() != ""){
                noteData += "<b>My Note: </b>";
                if ($(this).find('note').text().length > 100)
                  noteData += $(this).find('note').text().substr(0,100) + "...";
                else
                  noteData += $(this).find('note').text();
                noteData += "<div class=\"seeMoreEdit\"><a href=\"#\" id=\"seeNote_"+currProjID+"-"+prodID+"\" class=\"mpfNoteLink seeNote\">see more ></a>";
                noteData += "&nbsp;<a href=\"#\" id=\"editNote_"+currProjID+"-"+prodID+"\" class=\"mpfNoteLink editNote\">edit ></a></div>"
             }else{
                noteData += "<a href=\"#\" id=\"addNote_"+currProjID+"-"+prodID+"\" class=\"mpfNoteLink addNote\">add note ></a>";
             }
             noteData += "</div>";
             noteData += "<div class=\"deleteProdLink\"><a id=\""+projID+"-"+prodID+"\" href=\"#\">-delete item</a></div>";
             noteData += "</li>";             
       // End notes section      
             productData += "</li>";
             
             if (rowCount%3 == 0){             
               if (i%3 == 2){
                 pageNumberFlag = true;
                 newPage = true; //set new page flag to redisplay division name
                 rowCountMet = false;                
               }else{
                rowCountMet = true;
               }
             }             
             //separator += "<div class=\"separatorContainer\" style=\"height: 1px;\"></div>";
          }); // end product each                 
        }); // end division each 
        $('#mpfCurrentProjectProducts').append(productData);
        $('#mpfCurrentProjectProducts').append("<li class=\"first test2 mpfProdPage prodPage"+pageNumber+"\">&nbsp;</li>");
        $('#mpfCurrentProjectProducts').append(noteData);   
        var pageCount = Math.ceil(rowCount/3);
        if ( pageCount > 1){            
            $('#currProjectPaging').html("<span style=\"color: #000000;\">Page&nbsp;</span> ");
            var pageList = "&nbsp; ";
            for(var j=1; j<=pageCount; j++){              
              pageList += "<a href=\"#\" class=\"mpfProdPageLink\" id=\"prodPage"+j+"\">"+j+"</a> &nbsp; | &nbsp;";              
            }
            pageList += "<a href=\"#\" id=\"mpfProdShowAllLink\">show all</a>";
            $('#currProjectPaging').append(pageList);
            $('.mpfProdPageLink').click(function(){
              $('.mpfProdPageLink, #mpfProdShowAllLink').removeClass('selected');
              $('.divDuplicate').show();
              $('.mpfProdPage').hide();              
              $('.'+$(this).attr('id')).show();
              $(this).addClass('selected').blur();
              return false;
            });
            $('#mpfProdShowAllLink').click(function(){
              $('.mpfProdPageLink').removeClass('selected');
              $('.mpfProdPage').show();
              $('.divDuplicate').hide();
              $(this).addClass('selected').blur();
              return false;
            });
            $('#mpfCurrentProjectProducts li.mpfProductContainer').hide();
            $('#mpfCurrentProjectProducts li.divisionName').hide(); 
            $('#mpfCurrentProjectProducts li.mpfProdPage').hide();             
            $('.prodPage1').show();
            $('#prodPage1').addClass('selected');
          }       
        bindNoteLinks();
        $('.deleteProdLink a').click(function(){            
            var id=$(this).attr('id');
            var qs = "proj=" + id.replace("-", "&prod=") + "&cb=" + new Date().getTime();
//alert("qs = " + qs + "\n");
            if(confirm('Do you want to delete this product?')){
              $('body').css('cursor', 'wait');
              setTimeout(function() {
                $.ajax({
                  type: "GET",
                  url: "/my_projects/deleteProjProd.aspx",
                  data: qs,
                  success: function(){
                    getCurrProj();                     
                  }
                });
                $('body').css('cursor', 'default');
              }, 0); 
            }
            return false;
         });
     },
     complete: function(){}
  });
  mpfChangeTab("CurrentProject");
}

function getAllProjects(sort){
    if (sort == null)
      sort = "modified";
    $('#projectList').html("<li style=\"width: 100%; padding-bottom: 100px;\"><div style=\"text-align: center; padding: 60px 0px;\"><img src=\"/img/myProjectFolder/ajax-loader.gif\"</div></li>");    
    var intUserID = $.cookie("mpf_user_id");
//alert("intUserID = " + intUserID + "\n");
    
    var xml = $.ajax({
       type: "GET",
       url: "/my_projects/getAllProjects.aspx",
       data: "userID=" + intUserID + "&sort=" + sort + "&cb=" + new Date().getTime(),
       dataType: xml,
       error: function(xhr, desc, e){
        $('#projectList').html("<li><br /><br />There was an error access your projects.  Please try again later.</li>");
       },
       success: function(xml){
          $('#projectList').empty();
          var project;
          var pageCount = Math.ceil((($(xml).find('project').length+1)/9));
          $('#allProductsPaging').empty();
          if (pageCount > 1){            
            $('#allProductsPaging').html("<span style=\"color: #000000;\">Page&nbsp;</span> ");
            var pageList = "&nbsp; ";
            for(var j=1; j<=pageCount; j++){              
              pageList += "<a href=\"#\" class=\"mpfPageLink\" id=\"page"+j+"\">"+j+"</a> &nbsp; | &nbsp;";              
            }
            pageList += "<a href=\"#\" id=\"mpfShowAllLink\">show all</a>";
            $('#allProductsPaging').append(pageList);
            $('.mpfPageLink').click(function(){
              $('.mpfPageLink, #mpfShowAllLink').removeClass('selected');
              $('.mpfPage').hide();
              $('.'+$(this).attr('id')).show();
              $(this).addClass('selected').blur();
            });
            $('#mpfShowAllLink').click(function(){
              $('.mpfPageLink').removeClass('selected');
              $('.mpfPage').show();
              $(this).addClass('selected').blur();
            });
          }    
          var projCount = 0;               
          if($(xml).find('project').length >=1 ){
          	var strUrl = $.jqURL.url();
          	var strSpanishSuffix = "es";
          	var strFrenchSuffix = "fr";
          	var strMyColorViewImgExtension = ".gif";
          	var strMyColorViewImgSrc;
          	strMyColorViewImgSrc = "/img/myProjectFolder/img_colorview_folder" + strMyColorViewImgExtension;
          	if(strUrl.indexOf("/" + strSpanishSuffix + "/") >= 0) {
          		strMyColorViewImgSrc = strMyColorViewImgSrc.replace(strMyColorViewImgExtension, "_" + strSpanishSuffix + strMyColorViewImgExtension);
          	} else if(strUrl.indexOf("/" + strFrenchSuffix + "/") >= 0) {
          		strMyColorViewImgSrc = strMyColorViewImgSrc.replace(strMyColorViewImgExtension, "_" + strFrenchSuffix + strMyColorViewImgExtension);
          	}
            $('#projectList').append("<li class=\"mpfPage page1\"><img src=\"" + strMyColorViewImgSrc + "\" usemap=\"#colorViewMap\" /></li>");
            bindColorviewLinks();
            projCount=1;
          }
          $(xml).find('project').each(function(i){
             projCount+=1;
             var projID = $(this).find('id').text();
             project = "";
             project += "<li class=\"mpfPage page"+(Math.ceil(projCount/9))+"\">" +
                "<a href=\"#\" id='projFolderID-"+projID+"' class=\"projectListingFolder\">";
//alert("$(this).find('image').text() = " + $(this).find('image').text() + "\n");
             if($(this).find('image').text() != "" && $(this).find('image').text() != "/img/productthumbnails/"){
                project += "<img src=\"" + $(this).find('image').text() +"\" />";
             }
             project += "</a><div class=\"mpfGeneralInfo clear\"><a href=\"#\" id=\"projNameID-"+projID+"\" class=\"projectListingName\">"+$(this).find('name').text()+"<span style=\"color: #eff0f1;\">_</span>></a>" +
                "<span class=\"productListingUpdated\">updated:";    
             if($(this).find('modifiedDate').text() != "")
                project += $(this).find('modifiedDate').text();
             else
                project += $(this).find('createDate').text();
             project += "</span><a class=\"deleteProjLink\" id=\""+projID+"\" href=\"#\">-delete</a></div>" +
                "</li>";
             $('#projectList').append(project);
          });
          $('.mpfPage').hide();
          $('.page1').show();
          $('#page1').addClass('selected');
          
          $('.projectListingName').click(function(){
            currProjID = $(this).attr('id').replace("projNameID-","");   
            currProjName = $(this).html().replace(" &gt;","");
            setCurrProj();
          });
          
          $('.projectListingFolder').click(function(){
            currProjID = $(this).attr('id').replace("projFolderID-","");
            currProjName = $(this).siblings('div').children('.projectListingName').html().replace(" &gt;","");
            setCurrProj();
          });
          
          $('.deleteProjLink').click(function(){            
            var id=$(this).attr('id');
            var qs = "proj="+id;
            if(confirm('Would you like to remove this project from \'My Project Folder\'')){
              $('body').css('cursor', 'wait');
              setTimeout(function() {
                $.ajax({
                  type: "GET",
                  url: "/my_projects/deleteProj.aspx",
                  data: qs,
                  success: function(){
                    getAllProjects();         
                  }
                });
                $('body').css('cursor', 'default');
              }, 0); 
            }
            return false;
         });
       },
       complete: function(){}              
    });
    mpfChangeTab("AllProjects");
}

function mpfChangeTab(id){
    $('#mpfTabs li').removeClass('active');
    $('img.viewActive').hide();
    $('img.viewInactive').show();
    $('#mpfTabs li img.viewActive').hide();
    $('#tab'+id).addClass('active');
    $('#tab'+id).children('img.viewActive').show();
    $('#tab'+id).children('img.viewInactive').hide();
    $('.tabContent').hide();    
    $('#mpf'+id).show();
}

function bindNoteLinks(){
    $('.mpfNoteLink').click(function(){          
      $('#txtNote').val("Loading...");
      $('#mpfNoteModal').css('top',$(document).scrollTop()+150);
      $('#mpfNoteModal').show();
      var id=$(this).attr('id').replace("seeNote_","").replace("addNote_","").replace("editNote_","");
      var qs="proj="+id.replace("-","&prod=")+"&cb="+new Date().getTime();
      var xml =$.ajax({
                type: "GET",
                url: "/my_projects/getNote.aspx",
                data: qs,
                success: function(xml){          
                  var note = $(xml).find('note').text();                                    
                  $('#txtNote').val(note);
                }
              });
      $('#hdnNoteID').val(id);
      return false;
    });
}