﻿// Tilføjer vare med valgt størrelse til indkøbskurven.
function doAddToBasket()
{
  //The name of input element containing the stock number
  var stockNr = 'antalILager';
  //The name of the input element containing the chosen number
  var curNumber = 'number';

  var drp = document.getElementById('sizedropdown');
  if (!drp) return;
  var recid = drp[drp.selectedIndex].value;
  var num= document.getElementById('number').value;
  AddToBasket(recid, num);
  
  if (document.location.href.indexOf('debug')>-1) alert('attempted to add ' + num + ' x ' + recid + ' to basket?!');
}

// Tilføjer vare til ønskeliste
function addToWishList() {
  var drp = document.getElementById('sizedropdown');
  if (!drp) return;
  var vare = drp[drp.selectedIndex].value;
  var vareFelt = AJS.$('idVare');
  vareFelt.value= vare;
  var wishLsForm = AJS.$('Axel_tilfoej_slet_fra_oenskeliste');
  wishLsForm.submit();
}

// Viser størrelser
function showSizes(recordid) {
  document.getElementById(recordid).style.display = 'block'; 
}

// skjuler størrelser
function hideSizes(recordid) {
  document.getElementById(recordid).style.display = 'none'; 
}



// --- Flyt  snippet fra sitelayout til sidelayout ----------------------------------------- //

function MoveSnippet(sCon, nsCon)
{
var SnippetContainer = document.getElementById(sCon);
var NewSnippetContainer = document.getElementById(nsCon);

   if (SnippetContainer && NewSnippetContainer)
   {
     Tangora.DOM.MoveElement(sCon, nsCon);
     SnippetContainer.style.display = "block";
   }
}

function LoadHandler()
{
  MoveSnippet('SnippetContainer1','NewSnippetContainer1');
  MoveSnippet('SnippetContainer2','NewSnippetContainer2');
  MoveSnippet('SnippetContainer3','NewSnippetContainer3');
  MoveSnippet('SnippetContainer4','NewSnippetContainer4');
  MoveSnippet('SnippetContainer5','NewSnippetContainer5');
  MoveSnippet('SnippetContainer6','NewSnippetContainer6');
  MoveSnippet('SnippetContainer7','NewSnippetContainer7');
  MoveSnippet('SnippetContainer8','NewSnippetContainer8');
  MoveSnippet('SnippetContainer9','NewSnippetContainer9');
  MoveSnippet('SnippetContainer10','NewSnippetContainer10');
  MoveSnippet('SnippetContainer11','NewSnippetContainer11');
}



// --- QUINT ------------------------------------------------------------------------------------------------------------------------------------//

function addToQuintWishList() {
  var drp = document.getElementById('sizedropdown');
  if (!drp) return;
  var vare = drp[drp.selectedIndex].value;
  var vareFelt = AJS.$('idVare');
  vareFelt.value= vare;
  //var url = 'http://axel.tangora.net/page101.aspx?Bruger=' + brugerID + '&Vare=' + vare;
  var wishLsForm = AJS.$('Axel_tilfoej_slet_fra_oenskeliste');
  wishLsForm.submit();
}



// --- menu javascript til baggrundsmarkering ved menuvalg ------------------------//

var menuLocation = "";

function activeMenuHandler(){
	// check om der skal bruges innerText eller textContent (IE/FF)
  var hasInnerText = (document.getElementsByTagName("body")[0].innerText != undefined) ? true : false;

  var activeMenuLocationURL = location.href;
  var host = location.host.toString();
  var hostLength = host.length + 7; // 7=http:// + hostdomæne.

  // hvis vi er på en detaljeside, vil der være tilføjet et # samt menulinket på det aktuelle menupunkt
  var menuParam = location.hash; 
  if(menuParam != ""){
    // fjerner #. (der er kun brug for selve linket) 
    // Aktiveres når der er klik på produktdetalje.
    var activeMenuLocation = menuParam.substr(1, menuParam.length); 
  }
  else{
    // trækker den aktuelle menu ud af URL'en. Ved klik på menupunkt.
    var activeMenuLocation = location.pathname + location.search;
  }  

  // henter alle menuer (den første [0] er topnavigationen)
  var menus = document.getElementsByTagName('ul');

  var activeMenu = null;
  var brands = activeMenuLocation.substr(1,6);

  if(brands == 'brands'){ // checker om det er brandmenuen
    activeMenu = menus[2]; 
  }
  else{
    activeMenu = menus[1]; // ellers er det typemenuen
  }

  // henter alle menupunkter fra den aktive menudel 
  var links = activeMenu.getElementsByTagName('li');

  // går alle links igennem for at finde frem til hvilket menupunkt, der skal highlightes.
  var link = null;
  for(var i=0; i<links.length; i++){
    link = links[i].firstChild.toString(); // firstChild = <a...>
    thelink = link.substr(hostLength, link.length); // henter alt efter http://www.quint.dk
    if(thelink == activeMenuLocation){ // checker om linket er det aktive
    	if(!hasInnerText){
    		var outletCheck = links[i].textContent; // FF
    	}
    	else{
    		var outletCheck = links[i].innerText; // IE
    	}
    	if(outletCheck == 'Outlet'){
    		var actClass = 'activeMenuOutlet';
    	}
    	if(!hasInnerText){
    		var udsalgCheck = links[i].textContent; // FF
    	}
    	else{
    		var udsalgCheck = links[i].innerText; // IE
    	}
    	if(udsalgCheck == 'Udsalg'){
    		var actClass = 'activeMenuUdsalg';
    	}
    	else{
    		var actClass = 'activeMenu';
    	}
   		links[i].className = actClass; // HER SKAL FJERNES EN KOMMENTAR FOR AT AKTIVERE
	var menuLocation = "#" + thelink; // menuLocation bruges til at opdatere alle produktdeltaljelinks, så menupunktet også er aktivt, når der klikkes på et produkt.
    }
  }

  // produktDiv er den DIV, som har fået id "produkter" i sidelayouts
  // pt. er det: 
  // "Quint v3 - brand-detaljeoversigt"
  // "Quint v3 - produkt-oversigt"
  // "Axel v3 - brand-detaljeoversigt"
  // "Axel v3 - produkt-oversigt"
  var produktDiv = document.getElementById('produkter');

  if(produktDiv != null && menuLocation != undefined){
	  // alle links i DIV med id "produkter" tilføjet den aktuelle menuLocation
	  var produktDivLinks = produktDiv.getElementsByTagName('a');
	  for(var i = 0; i<produktDivLinks.length; i++){
	    produktDivLinks[i].href += menuLocation;
	  }
  }
} // slut activeMenuHandler


// når siden er loadet markeres det menupunkt, som er det aktive
Tangora.Events.AddHandler(window, 'onload', activeMenuHandler);











// --- INTRANET -------------------------------------------------------------------------------------------------------------------------------//

//------------ Viser dato på intranet ----------------------------------------------//

  function GetDay(intDay){
    var DayArray = new Array("Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag");
    return DayArray[intDay];
    }

  function GetMonth(intMonth){
    var MonthArray = new Array("Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December");
    return MonthArray[intMonth]; 	  	 
    }
  function getDateStrWithDOW(){
    var today = new Date();
    var year = today.getYear();
    if(year<1000) year+=1900;
    var todayStr = GetDay(today.getDay()) + " ";
    todayStr += "den " + today.getDate() + ". " + GetMonth(today.getMonth());
    todayStr += " " + year;
    return todayStr;
    }

 // --- Slet standart indhold på input felt ved klik --------------------------------------//

function clearText(thefield){
  if (thefield.defaultValue==thefield.value)
  thefield.value = "";
} 

function LoadRelatedProducts(items, pageId, targetId)
{
  var loader = document.createElement("div");
  loader.id = "loader";
  loader.innerHTML = "<img src='/media/axel/ajax-loader.gif' /> Henter relaterede varer...";
  var target = document.getElementById(targetId);
  if(target) target.appendChild(loader);

  var url = "/page" + pageId + ".aspx?itemfilter=" + items;
  AjaxLoadRelatedProducts(url, RenderResult, targetId);
}

function RenderResult(html, targetId)
{
  var target = document.getElementById(targetId);
  target.innerHTML = html;
}

function AjaxLoadRelatedProducts(url, callback, targetId)
{
  	var storage = tsAjax.createInstance("bgsave");
	storage.method="post";
	storage.TargetId = targetId;

	storage.CallbackFunction = callback;

	tsAjax.innerHTML(url,"tsAjax","bgsave",null,null,RelatedProductsCallback);
}

function RelatedProductsCallback()
{
	if (this.ajaxObj!=null) {
		if (this.ajaxObj.readyState==4) {
			var RT = this.ajaxObj.responseText;

			this.CallbackFunction(RT, this.TargetId);
											
			if (this.statusElement!=null) {this.statusElement.innerHTML = this.statusText_Done;}
			if (this.resultElement!=null) {this.resultElement.innerHTML = RT}
		} else {
		   }			
	} else {
		var RT = this.IF.innerHTML;
		if (this.statusElement!=null) {this.statusElement.innerHTML = this.statusText_Done;}
		if (this.resultElement!=null) {this.resultElement.innerHTML = RT}
	}
}
//Rotate images
function initImageRotator()
{
  var loader = document.createElement("div");
  loader.id = "loader";
  loader.style.display = "none";
  document.getElementsByTagName("body")[0].appendChild(loader);

  var wrap = document.getElementById("produkter");
  if(!wrap) return;

  var imgs = wrap.getElementsByTagName("img");

  for(var i = 0; i < imgs.length; i++)
  {
    imgs[i].org = imgs[i].src;
    imgs[i].imgArray = new Array();
    imgs[i].timer = "0";
    imgs[i].index = 0;
    imgs[i].mouseOver = false;
    imgs[i].onmouseover = masterImageMouseOver;
    imgs[i].onmouseout = masterImageMouseOut;    
  }
}
Tangora.Events.AddHandler(window,"onload",initImageRotator);

function masterImageMouseOver()
{
  this.mouseOver = true;

  if(this.imgArray.length == 0)
  {
    var loader = document.getElementById("loader");
    loader.innerHTML = "";

    var base = this.src.substring(0, this.src.lastIndexOf("_"));
     
    for(var i = 1; i < 4; i++)
    {
	var img = document.createElement("img");
	img.onload = imgLoaded;
	img.onerror = imgError;
	img.master = this;
	img.src = base + "_" + i + ".jpg";
	loader.appendChild(img);
    }
  }
  else if(this.mouseOver)
    rotateImage(this);
}

function imgLoaded()
{
  this.master.imgArray.push(this.src);
  if(this.master.imgArray.length >= 3)
    rotateImage(this.master);
}
function imgError()
{
  this.master.imgArray.push(null);
  if(this.master.imgArray.length >= 3)
    rotateImage(this.master);
}
function masterImageMouseOut()
{
  try
  {
  this.mouseOver = false;
  window.clearTimeout(this.timer);
  this.timer = "";
  this.src = this.org;
  }
  catch(ex)
  {
  }
}

function rotateTimer()
{
  window.clearTimeout(this.timer);
  var that = this;
 
  this.timer = window.setTimeout(function(){rotateImage(that);},1000);
}
function rotateImage(img)
{
  if(!img.mouseOver) return;

  try
  {
  var u = img.imgArray.length;
  var i = parseInt(img.index)+1;
  if(i >= u) i = 0;
  
  var nImg = null;
  img.index = i;

  if(img.imgArray[i] != null)
  {
    img.src = img.imgArray[i];
    rotateTimer.call(img);
  }
  else
    rotateImage(img);
  }
  catch(ex)
  {}
}

var GenericAjaxLoader = function(page)
{
  this.CallbackHandler = null;
  this.Load = function(sender)
  {
    var rnd = Math.random(10).toString().replace(".","");
    var url = location.protocol + "//" + location.host + "/" + page;
    if(page.indexOf("?") == -1)
	url += "?";
    else url += "&";
	url += "rndkey=" + rnd;
		
    var loader = tsAjax.createInstance(rnd);
    loader.method="get";
    loader.Sender = sender

    if(this.CallbackHandler != null) loader.callbackHandler = this.CallbackHandler;
    if(this.CallbackHandler != null) tsAjax.innerHTML(url,"tsAjax",rnd,null,null,this.GenericCallbackHandler);
    else return tsAjax.innerHTML(url,null,rnd,null,null,null);
  }

  this.GenericCallbackHandler = function()
  {
    if (this.ajaxObj!=null) {
	if (this.ajaxObj.readyState==4) {
	  var RT = this.ajaxObj.responseText;
	  this.callbackHandler.call(this.Sender,RT);
											
	  if (this.statusElement!=null) {this.statusElement.innerHTML = this.statusText_Done;}
	  if (this.resultElement!=null) {this.resultElement.innerHTML = RT}
	  } else {
	}			
    } else {
	var RT = this.IF.innerHTML;
	if (this.statusElement!=null) {this.statusElement.innerHTML = this.statusText_Done;}
	if (this.resultElement!=null) {this.resultElement.innerHTML = RT}
    }
  }
}
