/**
* emini_toolbox.js
*
* This file handles retrieving stock information
* rendering menus and other javascript functions
* @package EG
* @copyright Copyright &copy; 2005, Emini
*/

function js_redirect(s)
{
	if (s.length) {
		document.location = s;
	}
}

var followed_link = 0;

function follow_once()
{
	if (followed_link) {
		if (confirm('Systemet er ved at håndtere din forespørgsel. Tryk "OK" for at lukke denne dialogboks. Hivs du alligvel ønsker at gentage forespørgslen, så tryk "Cancel". Dette kan medføre langsommere svartider')) {
			return false;
		} else {
			return true;
		}
	} else {
		followed_link++;
		return true;
	}
}

function set_focus(id) {
	var obj = document.getElementById(id);
	if (obj) {
		obj.focus();
	}
}

/* Menu related functions */
var hide_timer = null;
var timer_interval = 500;

function safe_ie_layer(layer_id)
{
	var magic_wand = document.getElementById('magic_wand');
	var lay = document.getElementById(layer_id);
	magic_wand.style.filter='progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';
	magic_wand.style.top = lay.style.top;
	magic_wand.style.left = lay.style.left;
	magic_wand.style.width = lay.offsetWidth;
	magic_wand.style.height = lay.offsetHeight;
	magic_wand.style.zIndex = lay.style.zIndex-1;
	magic_wand.style.display = 'block';

}

function hide_menu()
{
	var magic_wand = document.getElementById('magic_wand');
	var sub_menu = document.getElementById('sub_menu');
	sub_menu.style.visibility = 'hidden';
	sub_menu.innerHTML = "";
	if (document.all) { // Bogus IE
		magic_wand.style.display = 'none';
	}
}

function stop_timer()
{
	if (hide_timer) {
		clearTimeout(hide_timer);
	}
	hide_timer = null;
}

function start_timer()
{
	stop_timer();
	hide_timer = setTimeout('hide_menu()', timer_interval);
}

function render_menu(id)
{
	var sub_menu = document.getElementById('sub_menu');
	var caller = document.getElementById('menu_' + id);
	var t = caller.offsetTop + caller.offsetHeight;
	var l = caller.offsetLeft;
	var obj = caller;

	stop_timer();

	while(obj.offsetParent){
		t += obj.offsetParent.offsetTop;
		l += obj.offsetParent.offsetLeft;
		obj = obj.offsetParent;
	}

	sub_menu.style.top = t + "px";
	sub_menu.style.left = l + "px";
	sub_menu.innerHTML = eminimenu[id];
	sub_menu.style.visibility = 'visible';

	if (document.all) { // Bogus IE
		safe_ie_layer('sub_menu');
	}
}

var live_dist = new Array;
live_dist[0] = 'edbgruppen';
live_dist[1] = 'actebis';
live_dist[2] = 'ingram';
live_dist[3] = 'rosenmeier';
live_dist[4] = 'scribona';
live_dist[5] = 'smg';
live_dist[6] = 'techdata';
var nlive_dist = 7

var xmlhttp = new Array;
var active_updates=0;
var current_stock=0;


function create_xmlhttp(id)
{
	xmlhttp[id] = false;

	try {
		xmlhttp[id] = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			xmlhttp[id] = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			xmlhttp[id] = false;
		}
	}

	if (!xmlhttp[id] && typeof XMLHttpRequest!='undefined') {
		xmlhttp[id] = new XMLHttpRequest();
	}

	if (xmlhttp[id]) {
		return true;
	} else {
		return false;
	}
}

function create_new_xmlhttp()
{
	var lxmlhttp = null;

	try {
		lxmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			lxmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			lxmlhttp = null;
		}
	}

	if (null == lxmlhttp && typeof XMLHttpRequest!='undefined') {
		lxmlhttp = new XMLHttpRequest();
	}

	return lxmlhttp;
}


function add_to_basket(serial, from_form)
{
	var f = document.getElementById('basket_input_form');
	var prod_nr = document.getElementById('add_single_prod_nr');
	var qty = document.getElementById('add_single_qty');
	var prod_name = document.getElementById('add_single_prod_name');
	var price = document.getElementById('add_single_price');
	var bframe = document.getElementById('basket');
	var orig_form = document.getElementById(from_form);

	if (orig_form == null) {
		alert('Internal error: form "'+from_form+'" does not exist');
		return false;
	}

	if (f == null) {
		alert('Internal error: renderBasketForm() not called');
		return false;
	}

	if (bframe == null) {
		alert('Internal error: no basket iframe');
		return false;
	}

	var bsel = window.frames['basket'].document.getElementById('sel_order_id');

	if (bsel == null) {
		return false;
	}

	if (bsel.value == 0) {
		alert ('Du har ingen aktiv indkøbsvogn opret venligst en ny eller vælg en eksisterende');
		return false;
	}

	prod_nr.value = document.getElementById('add_prod_nr_' + serial).value;
	qty.value = document.getElementById('add_qty_' + serial).value;
	prod_name.value = document.getElementById('add_prod_name_' + serial).value;
	price.value = document.getElementById('add_price_' + serial).value;
	f.submit();

	// Display reponse msg
	document.getElementById('addProductMsg').style.display='block';
	timeOutId = window.setTimeout("displayAddProductMsgTimeout()", 2000);

	return true;

}

function displayAddProductMsgTimeout()
{
	document.getElementById('addProductMsg').style.display='none';
	window.clearTimeout(timeOutId);
}

function enforce_length(in_field, max_length)
{
	var f = document.getElementById(in_field);

	if (f == null) {
		return true;
	}

	if (f.value.length >= max_length) {
		return false;
	}
}

function productSearchPopUp()
{
	popup = window.open("admin_product_search_popup.php", "searchpopup", "width=600,height=600,location=0,menubar=0,toolbar=0,scrollbars=1,resizable=1");
	popup.focus();
}

function openImage(id)
{
	popup = window.open('image_popup.php?rep_id='+id, "bigimage", "width=600,height=600,location=0,menubar=0,toolbar=0,scrollbars=1,resizable=1");
	window.focus();
}

function openImageUrl(url)
{
	popup = window.open('image_popup.php?is_url=1&url=' + url, "bigimage", "width=600,height=600,location=0,menubar=0,toolbar=0,scrollbars=1,resizable=1");
	window.focus();
}

/*
 * Local variables:
 * mode: c++
 * tab-width: 4
 * c-basic-offset: 4
 * End:
 * vim600: sw=4 ts=4 fdm=marker
 * vim<600: sw=4 ts=4
 */
