// UTF-8 Teststräng: åäöÅÄÖ

var m_detail_loaded;
var m_old_category_id = "";

function CheckZipcode() {
	var zipcode = $('customer_zipcode').value;
	zipcode = zipcode.replace(' ','')
	if (zipcode.length == 5) {
		$('customer_zipcode').value = zipcode.substring(0,3) + ' ' + zipcode.substring(3);
	}
}

function UpdateMyPage(page_to_load) {
	new Ajax.Request('../module/main/ajax_mypage.php', {
		method: 'post',
		parameters: {f: page_to_load},
		onSuccess: function(transport) {
			if (transport.responseText != "") {
				$('mypage_module').innerHTML = transport.responseText;
			}
		},
		onFailure: function(transport) {
			alert(transport.responseText);
		} 
	}
	);
}

function ShowOrderDetail(orderno) {
	new Ajax.Request('../module/main/ajax_mypage.php', {
		method: 'post',
		parameters: {f: 'LoadMyOrderDetailPage', orderno: orderno},
		onSuccess: function(transport) {
			if (transport.responseText != "") {
				$('mypage_module').innerHTML = transport.responseText;
			}
		},
		onFailure: function(transport) {
			alert(transport.responseText);
		} 
	}
	);
}

function AddToCart(prodno, value_input, prodname, price, vat, weight, stock, omit, variant, variant2) {
    var amount = parseInt($(value_input).value);
    var amount_in_cart = 0;
    if ($('variant') != null) {
			variant = $('variant').options[$('variant').selectedIndex].innerHTML;
		} else {
			variant = '';
		}
		
		if ($('variant2') != null) {
			variant2 = $('variant2').options[$('variant2').selectedIndex].innerHTML;
		} else {
			variant2 = '';
		}
		
    if ($('cartmodule_' + prodno + '_amount') != null) {
      amount_in_cart = parseInt($('cartmodule_' + prodno + '_amount').innerHTML);
    }
    
    if (omit == 't' && (amount + amount_in_cart) > stock) {
        OmitAlert(stock);
        amount = stock - amount_in_cart;
        if (amount < 1) {
            return;
            $(value_input).value = 1;
        }
    }
	new Ajax.Request('../module/cart/ajax_cart.php', {
		method: 'get',
		parameters: {f: 'AddToCart', item_no: prodno, amount: amount, item_name: prodname, price: price, vat: vat, weight: weight, variant: variant, variant2: variant2},
		onSuccess: function(transport) {
			if (transport.responseText == "") {
				$("cart_module").innerHTML = transport.responseText;
			} else {
				$("cart_module").innerHTML = transport.responseText;
			}
			$(value_input).value = 1;
		},
		onFailure: function(transport) {
			alert(transport.responseText);
		} 
	}
	);
}

function UpdateCart() {
  new Ajax.Request('../module/cart/ajax_cart.php', {
		method: 'get',
		parameters: {f: 'UpdateCart'},
		onSuccess: function(transport) {
			if (transport.responseText == "") {
				$("cart_module").innerHTML = transport.responseText;
			} else {
				$("cart_module").innerHTML = transport.responseText;
			}
		},
		onFailure: function(transport) {
			alert(transport.responseText);
		} 
	}
	);
}

function DeleteItemInCart(prodno, variant, variant2) {
  new Ajax.Request('../module/main/ajax_cart.php', {
		method: 'get',
		parameters: {f: 'DeleteItemInCart', item_no: prodno, variant: variant, variant2: variant2},
		onSuccess: function(transport) {
			UpdateCart();
			ShowCartDetail();			
		},
		onFailure: function(transport) {
			alert(transport.responseText);
		} 
	}
	);
}

function SetItemInCart(prodno, input_value, variant, variant2) {
	if (($(input_value).value) == 0) {
		DeleteItemInCart(prodno, variant, variant2);
	} else {
		new Ajax.Request('../module/main/ajax_cart.php', {
			method: 'get',
			parameters: {f: 'SetItemInCart', item_no: prodno, amount: $(input_value + variant).value, variant: variant, variant2: variant2},
			onSuccess: function(transport) {
				var otree = new PageHelper.ObjTree();
				var xmltree = otree.responseXML( transport.responseXML );
				if (xmltree != null && xmltree.response != null && xmltree.response.error != null) {
					var max_in_stock = xmltree.response.error.message;
					alert('Utgående artikel, du kan max beställa ' + max_in_stock);
					$('amount_' + prodno).value = max_in_stock;
				}
				UpdateCart();
				UpdateCartSum(prodno, variant, variant2);			
			},
			onFailure: function(transport) {
				alert(transport.responseText);
			} 
		}
		);
	}
}


function ShowCartDetail() {
	new Ajax.Request('../module/main/ajax_cart.php', {
		method: 'get',
		parameters: {f: 'ShowDetail'},
		onSuccess: function(transport) {
			if (transport.responseText == "") {
				$("main_module").innerHTML = transport.responseText;
			} else {
				$("main_module").innerHTML = transport.responseText;
			}
		},
		onFailure: function(transport) {
			alert(transport.responseText);
		} 
	}
	);
}

function UpdateCartSum(item_no, variant, variant2) {
	var sum_before = PageHelper.Converter.StringToFloat($('cart_total_sum').innerHTML.replace('.', ''));
	var sum_after = sum_before - PageHelper.Converter.StringToFloat($('sum_' + item_no + variant + variant2).innerHTML.replace('.', ''));
	$('sum_' + item_no + variant + variant2).innerHTML = PageHelper.Converter.FloatToFixedThousandString(PageHelper.Converter.StringToFloat($('amount_' + item_no + variant).value) * PageHelper.Converter.StringToFloat($('price_' + item_no + variant).innerHTML.replace('.', '')), '.');
  $('cart_total_sum').innerHTML = PageHelper.Converter.FloatToFixedThousandString(sum_after + PageHelper.Converter.StringToFloat($('sum_' + item_no + variant + variant2).innerHTML.replace('.', '')));
}


function RegisterNewCustomer() {
	$('button_register_customer').style.display = 'none';
	var input_ok = ValidateCustomerInput(true, false);
	if (input_ok) {
		var params = $H();
		params.merge($H({f: 'RegisterNewCustomer'}));
		params.merge($('customer_registration_form').serialize(true));
		//Sparar ner kunden
		new Ajax.Request('../module/main/ajax_mypage.php', {
				asynchronous: false,
				method: 'post',
				parameters: params,
				onSuccess: function(transport) {
					var otree = new PageHelper.ObjTree();
					var xmltree = otree.responseXML( transport.responseXML );
					if (xmltree != null && xmltree.response != null && xmltree.response.error != null) {
						$('save_error_message').value = xmltree.response.error.message;
					} else {
						//Logga in
						new Ajax.Request('../module/login/ajax_login.php', {
							method: 'post',
							parameters: {f: 'Login', username: $('customer_email').value, password: $('customer_password').value},
							onSuccess: function(transport) {
								var otree = new PageHelper.ObjTree();
								var xmltree = otree.responseXML( transport.responseXML );
								if (xmltree != null && xmltree.response != null && xmltree.response.error != null) {
									$('login_error_message').value   = xmltree.response.error.message;
								} else {
									//Uppdatera inloggningsruta
									new Ajax.Request('../module/login/ajax_login.php', {
										method: 'post',
										parameters: {f: 'LoadLoggedin'},
										onSuccess: function(transport) {
											if (transport.responseText != "") {
												$('login_module').innerHTML = transport.responseText;
											}
											
											//$('main_module').innerHTML = "Du är nu registrerad och inloggad.";
											LoadMainPage(true);
										},
										onFailure: function(transport) {
											alert(transport.responseText);
										} 
									}
									);
								}
							},
							onFailure: function(transport) {
								alert(transport.responseText);
							} 
						}
						);
					}
				} 
			}
		);
	}
	$('button_register_customer').style.display = '';
}

//function ShowDetail(item_no, subitem) {
//	new Ajax.Request('../module/main/ajax_item.php', {
//		method: 'get',
//		parameters: {f: 'item_detail', item_no: item_no},
//		onSuccess: function(transport) {
//			if (transport.responseText == "") {
//				$("main_module").innerHTML = transport.responseText;
//			} else {
//				$("main_module").innerHTML = transport.responseText;
//				if (pageTracker != null) {
//					var item_no_analytic = item_no.toString().replace(' ', '_');
//					item_no_analytic = item_no_analytic.replace('"', '');
//					item_no_analytic = item_no_analytic.replace("'", '');
//					pageTracker._trackPageview("ItemDetail?ID=" + item_no_analytic);
//				}
//			}
//			if (subitem) {
//				if ($('selected_sub_item') != null) {
//					$('selected_sub_item').focus();
//				}
//			}
//		},
//		onFailure: function(transport) {
//			alert(transport.responseText);
//		} 
//	}
//	);
//}



function GoToItem(category_id, item_id) {
	document.location = m_webshop_url + '/?category_id=' + category_id + '&item_id=' + item_id;
}

function ShowDetail(item_no, subitem, category_id, olditemno) {

	if (category_id != null && category_id != '' && category_id != 'null') {
		//Om kategori angivits så ska den markeras i trädet
		ddtreemenu.SetSelectedCategory('treemenu', category_id, m_old_category_id);
		ddtreemenu.ExpandTreeFromCategory('treemenu', category_id); //Om man inte klickar i trädet.
	}

	if (item_no != null && item_no != '' && item_no != 'null') {
		//Visa artikel i main
		new Ajax.Request('../module/main/ajax_item.php', {
			method: 'get',
			parameters: {f: 'item_detail', item_no: item_no, olditemno: olditemno},
			onSuccess: function(transport) {
				if (transport.responseText == "") {
					$("main_module").innerHTML = transport.responseText;
				} else {
					$("main_module").innerHTML = transport.responseText;
					if (pageTracker != null) {
						var item_no_analytic = item_no.toString().replace(' ', '_');
						item_no_analytic = item_no_analytic.replace('"', '');
						item_no_analytic = item_no_analytic.replace("'", '');
						pageTracker._trackPageview("ItemDetail?ID=" + item_no_analytic);
					}
				}
				if (subitem) {
					if ($('selected_sub_item') != null) {
						$('selected_sub_item').focus();
					}
				}
			},
			onFailure: function(transport) {
				alert(transport.responseText);
			} 
		}
		);
		
	} else if (category_id != null && category_id != '' && category_id != 'null') {

		//Visa kategori i main
		new Ajax.Request('../module/main/ajax_item_list.php', {
			method: 'get',
			parameters: {f: 'CategoryList', item_category_id: category_id},
			onSuccess: function(transport) {
				if (transport.responseText == "") {
					$("main_module").innerHTML = transport.responseText;
				} else {
					$("main_module").innerHTML = transport.responseText;
				}
			},
			onFailure: function(transport) {
				alert(transport.responseText);
			} 
		}
		);
	}
	
	if (category_id != null && category_id != '' && category_id != 'null') {
		//Sätt brödsmulorna
		new Ajax.Request('../module/breadcrumbs/ajax_breadcrumbs.php', {
			method: 'get',
			parameters: {f: 'ShowCategory', category_id: category_id},
			onSuccess: function(transport) {
				if (transport.responseText == "") {
					$("breadcrumbs_module").innerHTML = transport.responseText;
				} else {
					$("breadcrumbs_module").innerHTML = transport.responseText;
				}
			},
			onFailure: function(transport) {
				alert(transport.responseText);
			} 
		}
		);
	}
}

function ShowSubItem() {
	ShowDetail($('selected_sub_item').options[$('selected_sub_item').selectedIndex].id, true, '', $('item_no').value);
}

function ShowMainItem(olditemno) {
	ShowDetail(olditemno, true);
}

function ToCheckout() {
	new Ajax.Request('../module/main/ajax_for_checkout.php', {
		asynchronous: false,
		method: 'post',
		parameters: {f: 'LoadCheckout'},
		onSuccess: function(transport) {
			if (transport.responseText != "") {
				$('main_module').innerHTML = transport.responseText;
			}
		},
		onFailure: function(transport) {
			alert(transport.responseText);
		} 
	}
	);
	//Google analytics i kassan
	if (pageTracker != null && $('the_iframe') != null) {
		$('the_iframe').src = pageTracker._getLinkerUrl($('the_iframe').src);
	}
}

function ShowLargeImage() {
	var path = $('selected_image_path').value ;
	var img_height = PageHelper.Converter.StringToFloat($('selected_image_height').value) + 70 ;
	var img_width = PageHelper.Converter.StringToFloat($('selected_image_width').value) + 45 ;
	var modal_width  = GetScreenSize().width;
	var modal_height = GetScreenSize().height;
	var title = $('item_name').innerHTML;
	
	if(img_width < modal_width){
		modal_width = img_width;
	}
	if(img_height < modal_height){
		modal_height = img_height;
	}
	var modalparams = $H({large_image_source: path});
	if (title == null) {
		title = '';
	}
	Modalbox.show("../modal/modal_show_image.php", {title: title, closeString: 'Stäng', loadingString: 'Laddar...', height: modal_height, width: modal_width, params: modalparams});
}

function ChangeImage(imagepath, large_imagepath, width, height) {
	$('selected_image_normal_path').src = imagepath;
	$('selected_image_path').value = large_imagepath;
	$('selected_image_height').value = height;
	$('selected_image_width').value = width;
}

function GetScreenSize() {
	var winWidth = 0, winHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    winWidth = window.innerWidth;
    winHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    winWidth = document.documentElement.clientWidth;
    winHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    winWidth = document.body.clientWidth;
    winHeight = document.body.clientHeight;
  }
  return {width: winWidth, height: winHeight};
}
function LoadMainLink(id) {
	new Ajax.Request('../module/main/ajax_html.php', {
		method: 'get',
		parameters: {f: 'LoadUserPage', page_id: id},
		onSuccess: function(transport) {
			if (transport.responseText == "") {
				$("main_module").innerHTML = transport.responseText;
			} else {
				$("main_module").innerHTML = transport.responseText;
			}
		},
		onFailure: function(transport) {
			alert(transport.responseText);
		} 
	}
	);
}
function LoadMainLockedLink(locked_id) {
	var htmltext = "";
	new Ajax.Request('/module/main/ajax_html.php', {
		asynchronous: false,
		method: 'get',
		parameters: {f: 'LoadLockedUserPage', page_id: locked_id},
		onSuccess: function(transport) {
			htmltext = transport.responseText;
		},
		onFailure: function(transport) {
			alert(transport.responseText);
		}
	}
	);
	return htmltext;
}
function LoadMainPage(login) {
	new Ajax.Request('../module/main/ajax_main.php', {
		method: 'get',
		parameters: {f: 'LoadMainPage', login: login},
		onSuccess: function(transport) {
			if (transport.responseText == "") {
				$("main_module").innerHTML = transport.responseText;
			} else {
				$("main_module").innerHTML = transport.responseText;
			}
		},
		onFailure: function(transport) {
			alert(transport.responseText);
		} 
	}
	);
}
