﻿/*
 * ArticleDetails v1.0.1 - Article details popup and transfering.
 * Created by Janus Kamp Hansen
 * Copyright (c) 2009 Solar A/S (www.solar.eu)
 * /// S H A R E D   C L A S S   -   B E   C A R E F U L L   I F   Y O U   C H A N G E   A N Y T H I N G ///
*/
var ajaxHttp = null;  
var dropdownStockLevel = null;
var labelStockLevel = null;

var returnObject = null;

/* added lpf */
/* used to return value from popup box        */
function customFacebox(link, returnobject) {
  jQuery.facebox({ajax: link + '?returnobject=' + returnobject});
}

/* inserts value on certain item */
function returnFaceBoxWithValue(result, inputbox) {
  try {
      document.getElementById(inputbox).value = result;            
      document.forms[0].submit(); // can be changed to ajax with advanges
  }
  catch(e){alert(e)}
}

function articleDetails(artNo) {

}

function articleDetails(artNo, price, stocks) {

  $(document).bind('afterReveal.facebox', function() {
    try {
      dropdownStockLevel = getElementsByClass('ddlBranches')[0];
      labelStockLevel = getElementsByClass('lblBranchStockLevel')[0];

      document.getElementById(dropdownStockLevel.id).attachEvent('onchange', fnSelectedBranchIndexChanged);
      imagePreview();

    } catch (e) {
    }
  });

  $(document).bind('onclose.facebox', function() {
    window.setTimeout('tryUpdateActiveDocument()', 300);
});

  jQuery.facebox({ ajax: '/SGS/Weblink/Articles/ArticleDetails.aspx?articleNo='+artNo+'&Price='+price+'&Stocks='+stocks }) 
  window.setTimeout('tryUpdateActiveDocument()', 300);
}

function articleDetailsModal(artNo, price, stocks) {
  var URL = '/SGS/Weblink/Articles/ArticleDetails.aspx?modal=true&articleNo='+artNo+'&Price='+price+'&Stocks='+stocks;
  window.open(URL, '', 'height=700px, width=950px, center=yes, help=no, resizable=yes, scrool=yes, fullscreen=no,status=no, unadorned=yes, modal=yes', '');
  window.setTimeout('tryUpdateActiveDocument()', 200);
  
}


function articleDetailsX(artNo, price, stocks) {
  jQuery.facebox({ ajax: '/SGS/Weblink/Articles/ArticleDetails.aspx?articleNo='+artNo+'&XPrice='+price+'&Stocks='+stocks }) 
   window.setTimeout('tryUpdateActiveDocument()', 200);
}

//Rettelse lavet 6/4/2010 : Ehej. 
//Funktion tager nu højde for at den ikke altid kommer fra facebox vindue.
function addArticleToActiveDocument(artNo, amount, specialPrice, specialStockAmount, mode) {
    if (parent.window != null) {
       parent.window.jQuery.facebox({ ajax: '/sgs/weblink/Services/AddToActiveDocument.aspx?A=' + artNo + '&Q=' + amount + '&P=' + specialPrice + '&S=' + specialStockAmount + '&M=' + mode + '' })
    }
    else {
        jQuery.facebox({ ajax: '/sgs/weblink/Services/AddToActiveDocument.aspx?A=' + artNo + '&Q=' + amount + '&P=' + specialPrice + '&S=' + specialStockAmount + '&M=' + mode + '' })
        if (getQuerystring('modal', 'false') == 'true') {
            $(document).bind('close.facebox', function() {
                window.close();
                window.opener.tryUpdateActiveDocument();
            })
    }
  }  
  
  tryUpdateActiveDocument();
}

function closeFaceBox() {
  jQuery(document).trigger('close.facebox');
}

function tryUpdateActiveDocument() {
  try {
    updateActiveDocument();
  } catch(e) {
  }
  try{    
    if (parent.window) {
      if (parent.window.head) {
        parent.window.head.updateActiveDocument();
      }
    }       
  } catch(e) {
  }
  
  try { refreshDockPane(); } catch(e) { }    

}

//function conceptChangeDetails(params) {
//    jQuery.facebox({ ajax: '/sgs/weblink/search/conceptarticlereplace.aspx?' + params })
//
//}

//function conceptChangeResult(result) {
//  document.getElementById(txtHiddenReplaceArticleID).value = result;
//  document.forms[0].submit();
//}

function getXMLHTTPRequest(){
  if (window.XMLHttpRequest) {
  // If IE7, Mozilla, Safari, and so on: Use native object
    xmlHttp = new XMLHttpRequest();
  }
  else
  {
    if (window.ActiveXObject) {
    // ...otherwise, use the ActiveX control for IE5.x and IE6
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
  return xmlHttp;
}


function fnSelectedBranchIndexChanged() {
  
  ajaxHttp = getXMLHTTPRequest();

  try {  
    var input = dropdownStockLevel.options(dropdownStockLevel.selectedIndex).value;
     
	  ajaxHttp.open('GET', '/sgs/weblink/Articles/ArticleDetails.aspx?ajaxmethod=getbranchstocklevel&branchid='+input+'');
	  ajaxHttp.onreadystatechange = function() {
		  if (ajaxHttp.readyState == 4){
			  labelStockLevel.innerHTML = ajaxHttp.responseText;
			  startFade();
	    }
	  }

	  ajaxHttp.send(null);
	} catch(e) {
	}  

}

var col = 255;

function startFade() {
  labelStockLevel.style.fontWeight = 'bold';
  labelStockLevel.style.fontSize = '11px';
  col=255;
  fade();
}

function fade() { 
  labelStockLevel.style.color="rgb(" + col + "," + col + "," + col + ")"; 
  col-=5; 
  if(col>0) { setTimeout('fade()', 10); } else {  } 
}



function getElementsByClass(searchClass, node, tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

function getQuerystring(key, default_)
{
  if (default_==null) default_=""; 
  key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
  var qs = regex.exec(window.location.href);
  if(qs == null)
    return default_;
  else
    return qs[1];
} 			

