//
// The Webshop Store tws.js v1, Sat Jan 13 15:02:00 CET 2007
// Copyright (c) 2007 Christophe Van Durme (http://www.thewebshopstore.eu, http://www.lithium.be)
//

var toggle = false;
var xmlHttp = null;

function ClearTrackingNumber() {
	trackingnumber = document.track.trackingnumber.value;
		
	if(trackingnumber.substr(0, 4).toUpperCase() != "1Z0E" || trackingnumber.length != 18) {
		document.track.trackingnumber.value = "";
	}
}

function CalculateShippingCosts(title) {
	var country = document.getElementById("shipping_country").value;
	var postalCode = document.getElementById("shipping_zip").value;
	var weight = document.getElementById("weight").value;	
	
	xmlHttp = GetXmlHttpObject();
	
	if(xmlHttp == null) {
		alert ("Browser does not support HTTP Request");
		
		return;
	} 

	var params = "country=" + country + "&postalcode=" + postalCode + "&weight=" + weight;
	var url = "../../mybasket/ajax/shippingcosts/?" + params;

	xmlHttp.onreadystatechange = function() {
		if(xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
			document.getElementById("shipping_costs").innerHTML = xmlHttp.responseText;
			document.getElementById("calculate").innerHTML = title;
		}
	
		else {
			document.getElementById("shipping_costs").innerHTML = "<img align='left' src='http://www.eflaschen.de/layout/images/layout/indicator.gif' />";
		}
	}; 
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);	
}

function GetXmlHttpObject() {
	try {
		xmlHttp = new XMLHttpRequest();
	}

	catch(e) {
		try {
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}

		catch(e) {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}

	return xmlHttp;
}

function GetElementByClass(className) {
	var elements = document.body.getElementsByTagName("*");
	
	for(var i = 0; i < elements.length; i++) {
		if(elements[i].className == className) {
			return elements[i];
		}
	}
}

function GetTrackingDetails() {
	var trackingNumber = document.getElementById("trackingnumbers").value;	
	var trackingDetails = document.getElementById("trackingdetails");
		
	xmlHttp = GetXmlHttpObject();
	
	if(xmlHttp == null) {
		alert ("Browser does not support HTTP Request");
		
		return;
	} 
	
	var params = "trackingnumber=" + trackingNumber;
	var url = "../../myhistory/document/track/?" + params;
	
	if(trackingNumber > 0) {	
		xmlHttp.onreadystatechange = GotTrackingDetails; 
		xmlHttp.open("GET", url, true);
		xmlHttp.send(null);
	}
	
	else {
		trackingDetails.innerHTML = "";		
	}
}

function GetTrackingDetailsHomepage() {
	var trackingNumber = document.getElementById("trackingnumber").value;
		
	xmlHttp = GetXmlHttpObject();
	
	if(xmlHttp == null) {
		alert ("Browser does not support HTTP Request");
		
		return;
	} 
	
	var params = "trackingnumber=" + trackingNumber;
	var url = "../../shipping/action/track/?" + params;
	
	if(toggle == false) {
		Effect.toggle("trackingdetails", "BLIND");
	
		toggle = true;
	}
	
	xmlHttp.onreadystatechange = GotTrackingDetailsHomepage; 
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}


function GotTrackingDetails() {
	if(xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
		 document.getElementById("trackingdetails").innerHTML = xmlHttp.responseText;		
	}
	
	else {
		document.getElementById("trackingdetails").innerHTML = "<img align='left' src='http://www.eflaschen.de/layout/images/layout/indicator.gif' />";
	}
}

function GotTrackingDetailsHomepage() {
	if(xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
		var trackingDetails = xmlHttp.responseText;		
		
		GetElementByClass("trackingdetails").innerHTML = trackingDetails;
	}
	
	else {
		GetElementByClass("trackingdetails").innerHTML = "<img align='left' src='http://www.eflaschen.de/layout/images/layout/indicator.gif' />";
	}
}

function ToggleTrackingDetails(title_div, div, id, effect){
	
	var field = document.getElementsByClassName(title_div);
	
	for(i=0; i < field.length ;i++)
	{
		if (i != id && document.getElementById(div+'_'+i)) 
			Effect.BlindUp(div+'_'+i, {duration:0.5});
		document.getElementById(title_div+'_'+i).className = "";
	} 
	
	document.getElementById(title_div+'_'+id).className = "selected";
	
	if (document.getElementById(div+'_'+id)) 
		Effect.toggle(div+'_'+id,effect, {duration:0.5});
}



function CheckVAT(field){
	
	VatCode = document.getElementById(field+'[code]').value;
	VatNr = document.getElementById(field+'[nr]').value;
	
	if (VatCode && VatNr) 
		if (!checkVATNumber(VatCode + VatNr)){
			  alert ("VAT number has invalid format");
			  document.getElementById(field+'[nr]').value = '';
			  document.getElementById(field+'[nr]').focus();
		}
	
}


function ChangeNews(id){
	new Ajax.Updater('news_content', "news/ajax/item.php?n="+id)
}

function CheckQuantity(field){
	
	var quantity = document.getElementById(field).value;
	
	if (quantity>1) {
	} else {
		alert(WrongQuantity);
		document.getElementById(field).value = '';
	}
	
}

function ChooseClosure(id,qty){
	
	document.getElementById('closure['+qty+']').value = id;
	hideLightbox();
	document.getElementById('formulier['+qty+']').submit();
}


function ToggleSubmenu (div,id,effect){
	var display = document.getElementById(div+'_'+id).style.display;
	var title, sign;
	
	if (display=='none'){
		title = HideSubmenu;
		sign = '[-]';
	} else {
		title = ShowSubmenu;
		sign = '[+]';
	}
		
	document.getElementById('submenu_toggler_'+id).title = title;
	document.getElementById('submenu_toggler_'+id).innerHTML = sign;
	
	Effect.toggle(div+'_'+id,effect);
}

function animate(properties) {
	// Variables
	var _steps = (properties.duration * 1000) / 50,
		_element,
		_i = 0;

	// If we haven't started yet, the current step is 1
	if (!properties.step) {
		properties.step = 1;
	}

	// Process all the elements in this animation
	while ((_element = properties.elements[_i++])) {
		if (!_element.currentValue) {
			_element.currentValue = _element.startValue;
		}

		// What change should be made to the currentValue during each step?
		if (!_element.change) {
			if (_element.startValue < _element.endValue) {
				_element.change = "_element.currentValue + " + (_element.endValue - _element.startValue) / _steps;
			} else if (_element.startValue > _element.endValue) {
				_element.change = "_element.currentValue - " + (_element.startValue - _element.endValue) / _steps;
			}
		}
		
		// Calculate the new current value
		_element.currentValue = eval(_element.change);

		// Apply the new value
		_element.domNode.style[_element.styleRule] = (_element.preFix ? _element.preFix : "") + (properties.step == _steps ? _element.endValue : _element.currentValue) + (_element.postFix ? _element.postFix : "");
	}

	// As long as we haven't finished, set a new timeout
	if (properties.step < _steps) {
		properties.step++;

		setTimeout(function() {
			animate(properties);
		}, 50);
	}
}

function specDescription(element, description, event) {
	// Cross-browser event handling
	event = event || window.event;

	// Box
	var _box = document.createElement("div");
	_box.className = "specdescription";

	// Title
	var _heading = document.createElement("h4");
	_heading.appendChild(document.createTextNode(description.title));
	_box.appendChild(_heading);

	// Text
	var _description = document.createElement("p");
	_description.appendChild(document.createTextNode(description.text));
	_box.appendChild(_description);

	// Table
	if (description.table) {
		var _table = document.createElement("table"),
			_tbody = document.createElement("tbody"),
			_tr, _td;

		for (var _row in description.table) {
			_tr = document.createElement("tr");

			for (var _cell in description.table[_row]) {
				_td = document.createElement("td");
				_td.appendChild(document.createTextNode(description.table[_row][_cell]));
				_tr.appendChild(_td);
			}

			_tr.appendChild(_td);
			_tbody.appendChild(_tr);
		}

		_table.appendChild(_tbody);
		_box.appendChild(_table);
	}

	// Position
	_box.style.top = (event.pageY ? event.pageY : event.clientY + document.documentElement.scrollTop + document.body.scrollTop) + 0 + "px";
	_box.style.left = (event.pageX ? event.pageX : event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft) + (-180) + "px";

	// Fade in
	animate({
		duration : 0.2,
		elements : [
			{
				domNode : _box,
				styleRule : 'opacity',
				startValue : 0,
				endValue : 1
			},
			
			{
				domNode : _box,
				styleRule : 'filter',
				startValue : 0,
				preFix : 'alpha(opacity=',
				postFix : ')',
				endValue : 100
			}
		]
	});

	// Set mouseout handler
	element.onmouseout = function() {
		_box.style.visibility = "hidden"; // Opera fix
		_box.parentNode.removeChild(_box);
	}

	// Add the box to the DOM
	document.getElementById("wrapper").appendChild(_box);
}

/*
function clickIE() {
if (document.all) {
return false;
}
} 
function clickNS(e) {
if (document.layers||(document.getElementById&&!document.all)) { 
if (e.which==2||e.which==3) {
return false;
}
}
} 
if (document.layers) {
document.captureEvents(Event.MOUSEDOWN);
document.onmousedown=clickNS;
} 
else{
document.onmouseup=clickNS;
document.oncontextmenu=clickIE;
} 
document.oncontextmenu=new Function("return false") 

*/