﻿function setNiceFormSearchOptions(checked, container)
{
    if (container != "") 
    { 
        $("#" + container ).find('div').filter('[class^=checkboxArea]').each (function (){
            setCheckbox(this.id.replace('myCheckbox', ''), checked); 
        });
        $("#" + container ).find('input').filter('[type=checkbox]').each (function () { 
                $(this).attr('checked', checked); 
        });
    }
}

function setSearchOptions(checked, container)
{
    if (container != "")
    {
        $("#" + container).find('input').filter('[type=checkbox]').attr('checked', checked);
        checked = !checked;
        $("#" + container + "selectLink").attr('href', "javascript:setSearchOptions(" + checked + ", '" + container + "');");
    }
}

function UpdateSearchResults(formId) 
{

    //for the time being, before it's hooked up to AJAX
    //just submit the form
    //document.forms[0].submit();
    $("#current_page").attr('value', '1');  //set the page back to the first one.
    $('#' + formId).submit();
}

function UpdateSelectedColor(colorNumber, colorName, sellingStyleNumber) 
  {
    var colorInfo = colorName + " | " + colorNumber;
    $("#colorInfo").html(colorInfo);
    
    var url = "/SampleOrderItem/Create/" + sellingStyleNumber + "/" + colorNumber;
    $("#addToSampleOrderText").html("<a href=\"javascript: void(0);\" onclick=\"javascript: UpdateSampleOrder('/SampleOrderItem/Create/" + sellingStyleNumber + "/" + colorNumber + "', '#addToSampleOrderText'); return false;\">order sample</a>"); 
    $(".quicklookTileSelected").attr("class", "quicklookTile");
    $("#productDetailsLink").attr("href", "/ProductSpec/Show/" + sellingStyleNumber + "/" + colorNumber);
    //UpdateViewPortImage(sellingStyleNumber, colorNumber, 341, 194, true);  
    UpdateViewPortImage(sellingStyleNumber, colorNumber, 75, 75, false);
}

function UpdateSelectedColorSHG(colorNumber, colorName, sellingStyleNumber) {
    var colorInfo = colorName + " | " + colorNumber;
    $("#colorInfo").html(colorInfo);

    //var url = "/SampleOrderItem/Create/" + sellingStyleNumber + "/" + colorNumber;
    //$("#addToSampleOrderText").html("<a href=\"javascript: void(0);\" onclick=\"javascript: UpdateSampleOrder('/SampleOrderItem/Create/" + sellingStyleNumber + "/" + colorNumber + "', '#addToSampleOrderText'); return false;\">order sample</a>");
    $(".quicklookTileSelected").attr("class", "quicklookTile");
    $("#productDetailsLink").attr("href", "/ProductSpecSHG/Show/" + sellingStyleNumber + "/" + colorNumber);
    //UpdateViewPortImage(sellingStyleNumber, colorNumber, 341, 194, true);  
    UpdateViewPortImage(sellingStyleNumber, colorNumber, 75, 75, false);
}

  function UpdateViewPortImage(sellingStyleNumber, colorNumber, width, height, isFeature) {
      var id = isFeature ? "#viewPort" : "#ViewPortCarpetImage";
      var imageURL; 
      
      //$(id).attr('src', "/Content/loading.gif");
      
      url = '/ImageSrc/ViewPortChangeImage/' + sellingStyleNumber + '/' + colorNumber;
      url += '/' + width + '/' + height + '/';
      url += isFeature ? "feature" : "nothing";
      
      $.get(url, imageURL, function(imageURL, status) {
          $(id).attr('src', imageURL);
      });
  }

function SetDropDownValues() {
   fluidSetDivById('results_per_page'); 
   fluidSetDivById('sort_by'); 
   fluidSetDivById('collectionSelect'); 
   fluidSetDivById('patternScale'); 
   fluidSetDivById('producttype'); 
   fluidSetDivById('pricerange'); 
   fluidSetDivById('sustainCat'); 
   fluidSetDivById('faceWeight'); 
   fluidSetDivById('dyeMethod'); 
   fluidSetDivById('backingType'); 
   fluidSetDivById('fibreType');  
   fluidSetDivById('style');  
}


function ChangePaginationPage(ShowTargetId, HideTargetId, TargetBaseId)
{
    var divToShow = "#" + TargetBaseId + ShowTargetId;
    var divToHide = "#" + TargetBaseId + HideTargetId

    $(divToShow).show();

    $(divToHide).hide();
}

function ChangeQuickViewColorWay(ShowTargetId, HideTargetId)
{
    ChangePaginationPage(ShowTargetId, HideTargetId, "QuickLookColorWay");
}

// ajaxbroker.js
function AjaxGet(url, divToReplace, loadingText)
{
  if (divToReplace.substr(0, 1) != "#")
    divToReplace = "#" + divToReplace;
  
  $(divToReplace).html(loadingText);
  $(divToReplace).load( url );
}

function AjaxPost(url, divToReplace, loadingText)
{
  if (divToReplace.substr(0, 1) != "#")
    divToReplace = "#" + divToReplace;
  
  $(divToReplace).html(loadingText);
  $.post(url, 
         {}, 
         function(result) { 
           $(divToReplace).html(result); 
         }
  );
}
// end ajaxbroker

function ChangeCurrentSampleOrder(sampleOrderId)
{
    var targetDiv = '#current_order_' + sampleOrderId;
    $(targetDiv).html('Processing...');

    $.post('/SampleOrder/Create/' + sampleOrderId, {}, function(result) 
    {
    
        $(".loginContent").find('a').each (function () { 
                if (/current_order/.test($(this).parent().attr('id')))
                    $(this).html('Make this your current sample order'); 
        });    
        
        SetSampleOrderTotal(targetDiv, result)
    });
}

var shoppingCartStackLevel=0;

function UpdateSampleOrder(ajaxCommand, targetId, sampleOrderItemId)
{
    $(targetId).html('Processing...');
    
    $.post(ajaxCommand, {}, function(result)
    {
        shoppingCartStackLevel++;
        SetSampleOrderTotal(targetId, result, sampleOrderItemId);
        ShowShoppingCart();
        setTimeout('HideShoppingCart()', 5000);
    });
}

function SetSampleOrderTotal(targetDiv, result, sampleOrderItemId)
{
        var resultArr = result.split("|");
        //alert(resultArr);

        $(targetDiv).html(resultArr[0]);

        if (resultArr.length > 0)
            $('#shoppingCartLink').html('My Cart (' + resultArr[1] + ' items)');

        if (resultArr.length > 2) {
            //check to see if this was called from the shopping cart page.
            //an extra param means the cart is full and is the current quantity of the item.
            //alert('extra param');
            if( typeof sampleOrderItemId != 'undefined' )
            {
                //alert( 'sampleitemid is defined: ' + sampleOrderItemId );
            
                var cartTextboxVal = $('#TextBoxQuantity' + sampleOrderItemId).val();
                if (cartTextboxVal != '') {
                    //alert('there is a text box: ' + cartTextboxVal );
                    $('#TextBoxQuantity' + sampleOrderItemId).val(resultArr[2]);
            }}
        }
        AjaxPost('/ShoppingBag/Show', 'shoppingBagContainer', '<img src=\'/Content/loading.gif\' />');
}

function ShowShoppingCart()
{
    //AjaxPost('/ShoppingBag/Show', 'shoppingBagContainer', '<img src=\'/Content/loading.gif\' />'); 
    if ($('#shoppingBagContainer').is(':hidden'))
        $('#shoppingBagContainer').show('slow'); 
}

function HideShoppingCart()
{
    shoppingCartStackLevel--;
    if (shoppingCartStackLevel == 0)
        $('#shoppingBagContainer').hide('slow');
}

function GoToUrl(list)
{
    var newPage = list.options[list.selectedIndex].value;
    if (newPage != "0")
        location.href=newPage;
}

function GoToUrlNewWindow(list)
{
    var newPage = list.options[list.selectedIndex].value;
    if (newPage != "0")
        window.open(newPage);
}


function showPromoArea(nbr)
{
    for (var i=1; i<=5; i++)
    {
        var promoName = "#promoAREA_" + i.toString();
        var imageName = "#ImagePromo" + i.toString();
        
        if (i == nbr)
        {
            oldSrc = $(imageName).attr('src');
            var newSrc = oldSrc;
            
            if (oldSrc.match(/PROMOtabOVER/))
            { newSrc = oldSrc.replace(/PROMOtabOVER\./, "PROMOtab."); }
            else
            { newSrc = oldSrc.replace(/PROMOtab\./, "PROMOtabOVER."); }
            
            $(imageName).attr('src', newSrc);
            $(promoName).slideToggle('normal');
        }
        else
        {
            var newSrc = $(imageName).attr('src').replace(/PROMOtabOVER\./, "PROMOtab.");
            $(imageName).attr('src', newSrc);
            $(promoName).hide();
        }
        //setTimeout(window.location="#promoArea", 2000);
        setTimeout("window.scroll(0, 10000)", 500);
    }
}

function ShowNextProfile() {
    var currentProfile = $('.projectProfile:visible');
    var nextProfileId = parseInt(currentProfile.attr('id').split('_')[1]) + 1;
    var projectsCount = $('div.projectProfile').length;
    
    currentProfile.hide();
    
    if (nextProfileId < projectsCount)
        $('#projectProfile_' + nextProfileId).show();
    else
        $('#projectProfile_0').show();
        
}

