
function TrendmarkPopupArtisan()
{
  window.open('/usercontrols/artisan_collection.html', 'Artisan Collection', 'height=980px,width=980px,scrollbars=yes');
}

function TM_SelectCity(dropDownList)
{
  var city = dropDownList.options[dropDownList.options.selectedIndex].value;

  var host = window.location.host;
  var path = "resellers/resellerlist.aspx";
  var param_c = TM_GetQueryStringParameterValue(document.URL, "c");
  var param_i = TM_GetQueryStringParameterValue(document.URL, "i");

  if(param_c != null)
    param_c = "c=" + param_c;
  else
    param_c = "";

  if(param_i != null)
    param_i = "i=" + param_i;
  else
    param_i = "";

  if(city == "ALL" || city == "ALLA")
    city = "";
  else
    city = "city=" + city;

  window.location.href = "http://" + host + "/" + path + "?" + param_c + "&" + param_i + "&" + city;

}
function TM_GetQueryStringParameterValue(queryString, parameterName)
{
  var parameterName = parameterName + "=";            // Add "=" to the parameter name (i.e. parameterName=value)

  if (queryString.length > 0)
  {
    begin = queryString.indexOf(parameterName);          // Find the beginning of the string

    // If the parameter name is not found, skip it, otherwise return the value
    if (begin != -1)
    {
      begin += parameterName.length;              // Add the length (integer) to the beginning
      end = queryString.indexOf("&", begin);          // Multiple parameters are separated by the "&" sign
      if (end == -1)
        end = queryString.length;

      return unescape(queryString.substring(begin, end));    // Return the string
    }
    return "null";                        // Return "null" if no parameter has been found
  }
}
function Trendmark_ShowProduct(productId, productUrlName, colorId)
{
  document.location.href = "http://" + document.location.host + document.location.pathname + "?pid=" + productId + "&col=" + colorId;
}
function Trendmark_ShowColor(productColorId, hiresColorId)
{
  document.getElementById("TrendmarkProductColorImage").src="/s3/productimages/2/" + productColorId + ".jpg";
  document.getElementById("TrendmarkProductColorImageLink").href="/s3/productimages/1/" + hiresColorId+ ".jpg";
}
function Trendmark_ShowHighRes(productColorId)
{
  //document.getElementById("TrendmarkProductColorImage").src="http://musto.img.s3.amazonaws.com/css/productimages/2/" + productColorId + ".jpg";
}


/********************************************************************************************************
 *  TrendMark Archive
 ********************************************************************************************************/

function TMArchive_Init()
{
   if(readCookie('tmArchiveImages'))
  {
     var strImageString = readCookie('tmArchiveImages');
     var arrItems = strImageString.split(',');

     TMArchive_UpdateButton(arrItems);
     TMArchive_UpdateImages(arrItems);
  }
}

function TMArchive_UpdateButton(arrItems)
{
  var spanCounter = document.getElementById("tmArchiveImageCount");
  var btnDownload = document.getElementById("tmArchiveBtnDownload");
  var btnClearCart = document.getElementById("tmArchiveBtnClearCart");

  if(spanCounter)
    spanCounter.innerHTML = arrItems.length;

  if(arrItems.length == 0)
  {
    btnDownload.disabled = true;
    btnClearCart.disabled = true;
  }
  else
  {
    btnDownload.disabled = false;
    btnClearCart.disabled = false;
  }

  return;

  if(arrItems.length == 0)
  {
    btnDownload.value = "Inga bilder valda";
    btnDownload.disabled = true;
  }
  else if(arrItems.length == 1)
  {
    btnDownload.value = "Ladda hem den markerade bilden";
    btnDownload.disabled = false;
  }
  else
  {
    btnDownload.value = "Ladda hem de " + arrItems.length + " markerade bilderna";
    btnDownload.disabled = false;
  }
}

function TMArchive_UpdateImages(arrItems)
{
  // Clear all selected
  var selectedItems = getElementsByClassName("Trendmark_ArchiveImageSelected");
  for(var x = 0; x < selectedItems.length; x++)
  {
    var tdImage = selectedItems[x];
    if(tdImage)
    {
      tdImage.setAttribute("class", "Trendmark_ArchiveImageUnSelected");
      tdImage.setAttribute("className", "Trendmark_ArchiveImageUnSelected");
    }
  }

  // Select from array
  for(var x = 0; x < arrItems.length; x++)
  {
    var strItem = arrItems[x];

    var tdImage = document.getElementById("tdArchive" + strItem);

    if(tdImage)
    {
      tdImage.setAttribute("class", "Trendmark_ArchiveImageSelected");
      tdImage.setAttribute("className", "Trendmark_ArchiveImageSelected");
    }
  }
}

function TMArchive_ToggleImage(celTrendMarkImageSelected, TrendMarkHiResImageID)
{
  var strImageString = "";

   if(readCookie('tmArchiveImages'))
     strImageString = readCookie('tmArchiveImages');

   var bItemWasRemoved = false;
  var arrItems = strImageString.split(',');
  var arrItemsModified = [];

  for(var x = 0; x < arrItems.length; x++)
  {
    var strItem = arrItems[x];
    if(strItem != "")
    {
      if(strItem == TrendMarkHiResImageID)
      {
        bItemWasRemoved = true;
      }
      else
      {
        arrItemsModified.push(strItem);
      }
    }
  }

  if(!bItemWasRemoved)
    arrItemsModified.push(TrendMarkHiResImageID);

  TMArchive_UpdateButton(arrItemsModified);
  TMArchive_UpdateImages(arrItemsModified);

  createCookie("tmArchiveImages", arrItemsModified.toString(), 30);
}

function TMArchive_ClearCart()
{
  eraseCookie("tmArchiveImages");

  TMArchive_UpdateButton([]);
  TMArchive_UpdateImages([]);
}

function TMArchive_Download()
{
  //alert("Cookie: " + readCookie('tmArchiveImages'));
  location.href="/Downloader.aspx?cc=a";
}

function TMArchive_Search()
{
  var txtCtrl = document.getElementById("txtTMArchiveSearch");
  var txtSearchString = txtCtrl.value;

  location.href = "/tm/Archive/Search.aspx?s=" + txtSearchString ;

}

function fnTrapKD(btn, event)
{
  if (document.all)
  {
    if (event.keyCode == 13)
    {
      event.returnValue=false;
      event.cancel = true;
      btn.click();
      return false;
    }
  }
  else if (document.getElementById)
  {
    if (event.which == 13)
    {
      event.returnValue=false;
      event.cancel = true;
      btn.click();
      return false;
    }
  }
  else if(document.layers)
  {
    if(event.which == 13)
    {
      event.returnValue=false;
      event.cancel = true;
      btn.click();
      return false;
    }
  }
}


/********************************************************************************************************
 * Cookie-functions
 ********************************************************************************************************/

function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else var expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

function eraseCookie(name) {
  createCookie(name,"",-1);
}

/********************************************************************************************************
 *  Helpers
 ********************************************************************************************************/

var getElementsByClassName = function (className, tag, elm){
  if (document.getElementsByClassName) {
    getElementsByClassName = function (className, tag, elm) {
      elm = elm || document;
      var elements = elm.getElementsByClassName(className),
        nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
        returnElements = [],
        current;
      for(var i=0, il=elements.length; i<il; i+=1){
        current = elements[i];
        if(!nodeName || nodeName.test(current.nodeName)) {
          returnElements.push(current);
        }
      }
      return returnElements;
    };
  }
  else if (document.evaluate) {
    getElementsByClassName = function (className, tag, elm) {
      tag = tag || "*";
      elm = elm || document;
      var classes = className.split(" "),
        classesToCheck = "",
        xhtmlNamespace = "http://www.w3.org/1999/xhtml",
        namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
        returnElements = [],
        elements,
        node;
      for(var j=0, jl=classes.length; j<jl; j+=1){
        classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
      }
      try  {
        elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
      }
      catch (e) {
        elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
      }
      while ((node = elements.iterateNext())) {
        returnElements.push(node);
      }
      return returnElements;
    };
  }
  else {
    getElementsByClassName = function (className, tag, elm) {
      tag = tag || "*";
      elm = elm || document;
      var classes = className.split(" "),
        classesToCheck = [],
        elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
        current,
        returnElements = [],
        match;
      for(var k=0, kl=classes.length; k<kl; k+=1){
        classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
      }
      for(var l=0, ll=elements.length; l<ll; l+=1){
        current = elements[l];
        match = false;
        for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
          match = classesToCheck[m].test(current.className);
          if (!match) {
            break;
          }
        }
        if (match) {
          returnElements.push(current);
        }
      }
      return returnElements;
    };
  }
  return getElementsByClassName(className, tag, elm);
};

String.prototype.reverse=function(){return this.split("").reverse().join("");};
Number.prototype.withCommas=function(){var x=6,y=parseFloat(this).toFixed(2).toString().reverse();while(x<y.length){y=y.substring(0,x)+","+y.substring(x);x+=4;}return y.reverse();};
Number.prototype.toCurrency=function(){return(arguments[0]?arguments[0]:"$")+this.withCommas();};

/********************************************************************************************************/


