// **********************************************************
// Tittel			: Webshop.js
// Skrevet av		: Kjell Arne Brudvik
// Sist modifisert	: 18. Oktober 2005
// Firma			: Integrasjonssystemer AS
// Beskrivelse		: Forskjellige javascript funksjoner som
//                    blir benyttet i netthandelsløsningen.
// **********************************************************

// **********************************************************
// Rutinen som åpner webshop administrator vinduet i et
// eget vindu. Dette vinduet er 800x600 stort og vil da
// bli sentrert på brukerens skjerm basert på brukerens
// valgte oppløsning.
// **********************************************************
function loadWebshopAdmin() {

	var w = 800, h = 600;
	if (document.all || document.layers) {
   		w = screen.availWidth;
   		h = screen.availHeight;
	}

	var popW = 800, popH = 600;
	var leftPos = (w-popW)/2, topPos = (h-popH)/2;
	var load = window.open('webshop_admin.jsp','popup_admin','scrollbars=yes,menubar=no,resizable=no,toolbar=no,location=no,status=yes,width=' + popW + ',height=' + popH + ',top=' + topPos + ',left=' + leftPos);
	
}

function loadWebshopAdmin2() {

	var w = 800, h = 600;
	if (document.all || document.layers) {
   		w = screen.availWidth;
   		h = screen.availHeight;
	}

	var popW = 800, popH = 600;
	var leftPos = (w-popW)/2, topPos = (h-popH)/2;
	var load = window.open('webshop_admin2.jsp','popup_admin','scrollbars=yes,menubar=no,resizable=no,toolbar=no,location=no,status=yes,width=' + popW + ',height=' + popH + ',top=' + topPos + ',left=' + leftPos);
	
}

function loadWebshopOrderSpesification() {

	var w = 800, h = 600;
	if (document.all || document.layers) {
   		w = screen.availWidth;
   		h = screen.availHeight;
	}

	var popW = 800, popH = 600;
	var leftPos = (w-popW)/2, topPos = (h-popH)/2;
	var loadorder = window.open('webshop_orderspec.jsp','popup_info_order','scrollbars=yes,menubar=no,resizable=no,toolbar=no,location=no,status=yes,width=' + popW + ',height=' + popH + ',top=' + topPos + ',left=' + leftPos);
	
}

function loadWebshopProductSpesifications() {

	var w = 400, h = 300;
	if (document.all || document.layers) {
   		w = screen.availWidth;
   		h = screen.availHeight;
	}

	var popW = 400, popH = 300;
	var leftPos = (w-popW)/2, topPos = (h-popH)/2;
	var loadspec = window.open('webshop_admin_productspecs.jsp','popup_spec_spec','scrollbars=yes,menubar=no,resizable=no,toolbar=no,location=no,status=yes,width=' + popW + ',height=' + popH + ',top=' + topPos + ',left=' + leftPos);
	
}

function loadWebshopProductDescriptions() {

	var w = 400, h = 300;
	if (document.all || document.layers) {
   		w = screen.availWidth;
   		h = screen.availHeight;
	}

	var popW = 400, popH = 300;
	var leftPos = (w-popW)/2, topPos = (h-popH)/2;
	var loadspec = window.open('webshop_admin_productinfo.jsp','popup_info_desc','scrollbars=yes,menubar=no,resizable=no,toolbar=no,location=no,status=yes,width=' + popW + ',height=' + popH + ',top=' + topPos + ',left=' + leftPos);
	
}

function loadWebshopProductImage() {

	var w = 400, h = 400;
	if (document.all || document.layers) {
   		w = screen.availWidth;
   		h = screen.availHeight;
	}

	var popW = 400, popH = 400;
	var leftPos = (w-popW)/2, topPos = (h-popH)/2;
	var loadimg = window.open('webshop_productimage.jsp','popup_info_img','scrollbars=yes,menubar=no,resizable=yes,toolbar=no,location=no,status=yes,width=' + popW + ',height=' + popH + ',top=' + topPos + ',left=' + leftPos);
	
}

function loadWebshopProductUrls() {

	var w = 400, h = 300;
	if (document.all || document.layers) {
   		w = screen.availWidth;
   		h = screen.availHeight;
	}

	var popW = 400, popH = 300;
	var leftPos = (w-popW)/2, topPos = (h-popH)/2;
	var loadurls = window.open('webshop_admin_producturls.jsp','popup_info_url','scrollbars=yes,menubar=no,resizable=no,toolbar=no,location=no,status=yes,width=' + popW + ',height=' + popH + ',top=' + topPos + ',left=' + leftPos);
	
}

// **********************************************************
// Rutine som spør brukeren om den virkelig vil at
// handlekurven skal tømmes. Returnerer enten "true" eller
// "false" som blir sjekket i det skjemaet som kallet
// kommer fra.
// **********************************************************
function confirmCartDelete() {

	var agree = confirm("Er du sikker på at du vil tømme handlekurven?");
	if (agree) {
		return true;
	} else {
		return false;
	}

}

function confirmProductDelete() {

	var agree = confirm("Er du sikker på at du vil fjerne denne varen?");
	if (agree) {
		return true;
	} else {
		return false;
	}

}

function validateCustomerForm(form) {
	
	var customerFirstname = form.txtFirstname;
	var customerLastname = form.txtLastname;
	var customerAddress = form.txtAddress1;
	alert(customerFirstname);
	
	if (!customerFirstname) {
		alert("Du må fylle inn fornavnet ditt!");
		customerFirstname.focus();
		customerFirstname.select();		
		return false;
	}
	
	return true;
	
}

function checkName(field) {
  if (field.value == "") {
    alert("Du må fylle inn fornavnet ditt!");
	field.focus();
	field.blur();
	field.select();
  }
  else {
    if (field.value.split(" ").length < 2) {
	  alert("Fornavnet må være ett ordentlig navn!");
	  field.focus();
	  field.blur();
	  field.select();
	}
  }
}

function checkEmail(field) {
  if (field.value.indexOf("@") == -1) {
    alert("Dette er ikke en korrekt e-post adresse!");
	field.focus();
	field.blur();
	field.select();
  }

}

// **********************************************************
// Rutinen for å validere det skjemaet som inneholder data
// om registrering av nytt produkt. Sjekker om alle feltene
// er fylt ut, samt at den også validerer at enkelte av
// feltene kan bare bestå av tall.
// **********************************************************
function validateAddProduct(form) {

	var productID = form.txtProductID;
	var producerID = form.txtProducerID;
	var productName = form.txtProductName;
	var productDescription = form.txtProductDescription;
	var productBuyPrice = form.txtProductBuyPrice;
	var productPrice = form.txtProductPrice;
	var productWeight = form.txtProductWeight;
	var productStock = form.txtStock;

	if (!productID) { 
		alert("Du må skrive inn et varenummer!");
		productID.focus();
		productID.select();
		return false;
	}
	
	if (!producerID) {
		alert("Du må skrive inn produsentens varenummer!");
		return false;
	}
	
	if (!productName) {
		alert("Du må skrive inn et navn på produktet!");
		return false;
	}
	
	if (!productDescription) {
		alert("Du må skrive inn en beskrivelse på produktet!");
		return false;
	}
	
	if (!productBuyPrice) {
		alert("Du må skrive inn en innkjøpssum!");
		return false;
	}
	
	if (!productPrice) {
		alert("Du må skrive inn en utsalgspris!");
		return false;
	}
	
	if (!productWeight) {
		alert("Du må skrive inn vekten på produktet!");
		return false;
	}
	
	if (!productStock) {
		alert("Du må fylle inn et lagerført antall!");
		return false;
	}
	
	if (!checkIfNumber(productID)) {
		alert("Varenummer kan BARE bestå av tall, og kan IKKE starte med 0!");
		return false;
	}
	
	if (!checkIfNumber(productStock)) {
		alert("Beholdning kan BARE bestå av tall, og kan ikke starte med 0!");
		return false;
	}

	return true;

}

// **********************************************************
// Sjekk om en gitt string inneholder bare tall. Returner
// "true" om det er tilfelle, om ikke returner "false".
// **********************************************************
function checkIfNumber(string) {
	
	if (isNaN(parseInt(string))) {
		return false;
	} else {
		return true;
	}
	
}
