function show_hide(id){
	if (document.getElementById(id)){
		var state = document.getElementById(id).style.visibility;
		element = document.getElementById(id).style;
		switch(state){
			case 'visible':
				element.height = '0px';
				element.visibility = 'hidden';
				element.position = 'absolute';
				break;
			case 'hidden':
				element.height = '';
				element.visibility = 'visible';
				element.position = 'relative';
				break;
			default:
				element.height = '0px';
				element.visibility = 'hidden';
				element.position = 'absolute';
				break;
		}

	}
}

function show_hide_category(id, hideOthers){
	if (document.getElementById(id)){
		if (hideOthers == null) {
			hideOthers = true;
		}
		if (hideOthers) hideAllSubmenus(id);
		var state = document.getElementById(id).style.visibility;
		element = document.getElementById(id).style;
		switch(state){
			case 'visible':
				element.height = '0px';
				element.visibility = 'hidden';
				element.position = 'absolute';
				switchImage(id, 'to_plus');
				break;
			case 'hidden':
				element.height = '';
				element.visibility = 'visible';
				element.position = 'relative';
				switchImage(id, 'to_minus');
				break;
			default:
				element.height = '0px';
				element.visibility = 'hidden';
				element.position = 'absolute';
				break;
		}

	}
	return false;
}

function hideAllSubmenus(id) {
	//divs = document.getElementsByClassNameIE('sub_categories_element');
	var divs = [];
	var cl = 'sub_categories_element';
	var myclass = new RegExp('\\b'+cl+'\\b');
	element = document.getElementById('categories_container');
	var elem = element.getElementsByTagName('div');

	for (var i = 0; i < elem.length; i++) {
		var classes = elem[i].className;
		if (myclass.test(classes)) divs.push(elem[i]);
	}

	for (i=0;i<divs.length;i++) {
		div = divs[i];
		if (div.id != id) {
			div.style.visibility = 'hidden';
			div.style.position = 'absolute';
		}
	}

	imgs = element.getElementsByTagName('img');
	for (i=0;i<imgs.length;i++) {
		img = imgs.item(i);
		img.src = "/templates/default/images/swe_plus.gif";
	}

}

/*function show_hide(ids) {
	element = jQuery('#sub_ele_s' + ids);
	element.show();
	alert(element.html);
}*/

function show_hide2(id){
	hideAllPropertyWindows(id);
	if (document.getElementById(id)){
		var state = document.getElementById(id).style.visibility;
		element = document.getElementById(id).style;
		switch(state){
			case 'visible':
				element.height = '0px';
				element.visibility = 'hidden';
				break;
			case 'hidden':
				element.height = '';
				element.visibility = 'visible';
				break;
			default:
				element.height = '0px';
				element.visibility = 'hidden';
				break;
		}
	}
}

function showElement(id) {
	element = document.getElementById(id).style;
	element.visibility = 'visible';
}

function showMenuElement(id) {
	elementStyle = document.getElementById(id).style;
	elementStyle.visibility = 'visible';
	elementStyle.position = 'relative';

	element = document.getElementById(id);
	as = element.getElementsByTagName('a');

	switchImage(id, 'to_minus');
}

function switchImage(id, direction) {
	menuElement = document.getElementById('menu_element_' + id);
	menuElementImg = menuElement.getElementsByTagName('img');
	if (direction == 'to_plus') {
		srcPath = "/templates/default/images/swe_plus.gif";
	}
	if (direction == 'to_minus') {
		srcPath = "/templates/default/images/swe_minus.gif";
	}
	for (i=0;i<menuElementImg.length;i++) {
		tmp = menuElementImg.item(i);
		tmp.src = srcPath;
	}
}


function hideElement(id) {
	element = document.getElementById(id).style;
	element.visibility = 'hidden';
	return false;
}

function hideAllPropertyWindows(currentId) {
	jQuery(".products_list_property_window").each( function () {
		identifier = jQuery(this).attr("id");
		if (identifier != currentId) {
			jQuery('#' + identifier).css('visibility', 'hidden');
		}

	});

}

function price_changer(){
	subs_count = parseInt(document.forms['add2cart'].elements['subs_count'].value);
	tmp_price = parseInt(document.forms['add2cart'].elements['price'].value);
	for (prop = 1; prop <= subs_count; prop++){
		element = document.getElementById('property_'+prop);
		if (element.value != 'empty'){
			values = element.value.split('|');
			tmp_price = tmp_price + parseInt(values[1]);
		}
	}
	document.getElementById('price2').innerHTML = tmp_price;
}

var newwin = null;
function doPopup(f) {
	newwin = window.open('', 'paywin', 'scrollbars,status,width=550,height=600');
	newwin.focus();
	if (!self.name) self.name = 'shopwin';
	if (!newwin.opener) newwin.opener = self;
	return true;
}

function goLeftMenuSearch(e) {
	category = !isNaN(e.category_search.value)?(e.category_search.value):('');
	brand = !isNaN(e.brand.value)?(e.brand.value):('');
	name = e.name.value;

	//alert(category);
	document.location.href = '/index.php?doc=search&brand=' + brand + '&category_search=' + category + '&name=' + name + '&search=1&offset=0&sort_by=&sort_type=asc';
	//http://akvariumbutiken.se/index.php?doc=search&brand=30&category=&name=&offset=0&sort_by=&sort_type=asc
}

function goLeftMenuSearch_afterReturnKey(e, event) {
	if(event.keyCode == 13) {
		return goLeftMenuSearch(e);
	} else {
		return false;
	}
}

function goFullSearch(e) {
	category = !isNaN(e.category_search_searching.value)?(e.category_search_searching.value):('');
	brand = !isNaN(e.brand.value)?(e.brand.value):('');
	name = e.name.value;

	//alert(category);
	document.location.href = '/index.php?doc=search&brand=' + brand + '&category_search=' + category + '&name=' + name + '&search=1&offset=0&sort_by=&sort_type=asc';
	//http://akvariumbutiken.se/index.php?doc=search&brand=30&category=&name=&offset=0&sort_by=&sort_type=asc
}

function goBrandSelect(e) {
	//category_variable_name = !isNaN(e.category_variable_name.value)?(e.category_variable_name.value):('');

	categoryVariableName = (e.category_variable_name.value);
	category_id1 = !isNaN(e.category_id_for_brand_search.value)?(e.category_id_for_brand_search.value):('');

	//category = !isNaN(category_id_for_brand_select.value)?(category_id_for_brand_select.value):('');
	brand = !isNaN(e.brand_id.value)?(e.brand_id.value):('');
	//name = e.name.value;

	//alert(category);
	document.location.href = '/index.php?doc=search&brand=' + brand + '&' + categoryVariableName + '=' + category_id1 + '&name=&search=0&offset=0&sort_by=&sort_type=asc';
	//http://akvariumbutiken.se/index.php?doc=search&brand=30&category=&name=&offset=0&sort_by=&sort_type=asc
}

function generate_expris(){
	var price = document.getElementById('price').value;
	var profit = document.getElementById('profit_margin').value;
	if (price != '' && profit != '' && !isNaN(price) && !isNaN(profit)){
		var ret = Math.ceil(parseFloat(price) + (parseFloat(price) * (parseFloat(profit)/100)));
		document.getElementById('expris').value = ret;
	}else document.getElementById('expris').value = '!';
}

function generate_inpris(){
	var expris = document.getElementById('expris').value;
	var vat = document.getElementById('vat').value;
	if (expris != '' &&  vat != '' && !isNaN(expris) && !isNaN(vat)){
		var ret = Math.ceil(parseFloat(expris) + (parseFloat(expris) * (parseFloat(vat)/100)))
		document.getElementById('inpris').value = ret;
	}else document.getElementById('inpris').value = '!';
}

function doWhenExPriceChange() {
	if (document.getElementById('price').value > 0 &&
		document.getElementById('vat').value > 0 &&
		document.getElementById('expris').value > 0 ) {

		document.getElementById('profit_margin').value = ((document.getElementById('expris').value / document.getElementById('price').value) * 100) - 100
		//doPriceChange();
		generate_expris();
		generate_inpris();

	}
}

function doWhenInkPriceChange() {
	if (document.getElementById('price').value > 0 &&
		document.getElementById('vat').value > 0 &&
		document.getElementById('inpris').value > 0 ) {

		document.getElementById('profit_margin').value = (document.getElementById('inpris').value / (document.getElementById('price').value * ((document.getElementById('vat').value/100) + 1) ) * 100) - 100
		generate_expris();
		generate_inpris();
	}
}



/*calculate price brutto in product properties (without 'expris' field)*/
function generate_price_brutto(){
	var price = document.getElementById('article_price').value;
	var vat = document.getElementById('vat').value;
	var profit = document.getElementById('profit').value;

	if (!isNaN(price) && !isNaN(vat) && !isNaN(profit)){
		var priceWithProfit = Math.ceil(parseFloat(price) + (parseFloat(price) * (parseFloat(profit)/100)));
		var priceWithProfitAndVat = Math.ceil(parseFloat(priceWithProfit) + (parseFloat(priceWithProfit) * (parseFloat(vat)/100)))
		document.getElementById('price_brutto_calculated').value = priceWithProfitAndVat;
	}else document.getElementById('price_brutto_calculated').value = '!';
}

document.getElementsByClassNameIE = function(cl) {
	var retnode = [];
	var myclass = new RegExp('\\b'+cl+'\\b');
	var elem = this.getElementsByTagName('*');

	for (var i = 0; i < elem.length; i++) {
		var classes = elem[i].className;
		if (myclass.test(classes)) retnode.push(elem[i]);
	}
	return retnode;
};


function changePromoPrice() {
	trs = jQuery('.product_prices');
	/*alert(trs.length);
	for (tr in trs) {
		/*element = jQuery(tr + ' .p_inkpris');
		var eleid = element.id;
		alert(eleid.val());
		//alert('f');

		alert(jQuery(tr).children(".row_2").val());

		break;
	}*/

	pricePercent = jQuery('#price_percent').val()/100;

	jQuery(".product_prices").each( function () {
		identifier = jQuery(this).attr("id");

		priceElement = jQuery('#price_src_' + identifier);
		promoPriceElement = jQuery('#price_dest_' + identifier);

		promoPriceElement.val(Math.round(priceElement.text() * pricePercent * 100) / 100);

	});
}

function disableQuantityInput(id) {
	if (jQuery('#' + id).attr('disabled')) {
		jQuery('#' + id).attr('disabled', '');
	} else {
		jQuery('#' + id).attr('disabled', 'disabled');
	}
}

function setTransportAmounts(productId) {
	productAmount = parseInt(jQuery('#transport_amount_total_' + productId).text());
	productSelectedAmount = parseInt(jQuery('#transport_amount_selected_' + productId).val());

	if (productSelectedAmount > productAmount || productSelectedAmount < 0 || !isNumeric(productSelectedAmount)) {
		productSelectedAmount = productAmount;
		jQuery('#transport_amount_selected_' + productId).val(productAmount);
	}

	jQuery('#transport_amount_remain_' + productId).text(productAmount - productSelectedAmount);

}


function isNumeric(inputVal) {
	if (inputVal != '') {
		if (isNaN(parseFloat(inputVal))) {
			return false;
		}
	}
    return true
}

function goBasketSearch() {
	//orderId = e.add_order_id.value;
	//addDateMin = e.add_date_min['year'].value;
	//addDateMin = jQuery('[name=add_date_min]').val();
	orderId = document.getElementsByName("add_order_id").item(0).value;


	addDateMinElementYear = document.getElementsByName("add_date_min[year]");
	addDateMinElementMonth = document.getElementsByName("add_date_min[month]");
	addDateMinElementDay = document.getElementsByName("add_date_min[day]");
	addDateMin = addDateMinElementYear.item(0).value + '-' + addDateMinElementMonth.item(0).value + '-' + addDateMinElementDay.item(0).value;

	addDateMaxElementYear = document.getElementsByName("add_date_max[year]");
	addDateMaxElementMonth = document.getElementsByName("add_date_max[month]");
	addDateMaxElementDay = document.getElementsByName("add_date_max[day]");
	addDateMax = addDateMaxElementYear.item(0).value + '-' + addDateMaxElementMonth.item(0).value + '-' + addDateMaxElementDay.item(0).value;

	//numberOfItems = e.number_of_items.value;
	//addName = e.add_name.value;
	//addLastname = e.add_lastname.value;

	numberOfItems = document.getElementsByName("number_of_items").item(0).value;
	addName = document.getElementsByName("add_name").item(0).value;
	addLastname = document.getElementsByName("add_lastname").item(0).value;

/*	alert(orderId);
	alert(numberOfItems);
	alert(addName);
	alert(addLastname);*/

	document.location.href = '/?part=baskets&add_order_id=' + orderId + '&add_date_min=' + addDateMin + '&add_date_max=' + addDateMax + '&add_name=' + addName + '&add_lastname=' + addLastname + '&number_of_items=' + numberOfItems;
}

function goBasketSearch_afterReturnKey(event) {
	if(event.keyCode == 13) {
		return goBasketSearch();
	} else {
		return false;
	}
}

function orderByNumberSearch() {
	queryString = jQuery('#qs').val();
	orderNumber = jQuery('#order_search_numer').val();
	document.location.href = '/order_go.php?qs=' + queryString + '&order_nr=' + orderNumber;
	return false;
}

function orderByNumberSearch_afterReturnKey(event) {
	if(event.keyCode == 13) {
		return orderByNumberSearch();
	} else {
		return false;
	}
}
