
var nextButton;
var backButton;
var errorTable;
var mainForm;
var tzoInput;
var productInput;
var errorSpan;
var senderEmailInput;
var senderFirstnameInput;
var rcptFirstnameInput;
var rcptEmailInput;
var previewImg;
var layoutSelect;
var languageSelect;

function remove(s, t) {
  /*
  **  Remove all occurrences of a token in a string
  **    s  string to be processed
  **    t  token to be removed
  **  returns new string
  */
  i = s.indexOf(t);
  r = "";
  if (i == -1) return s;
  r += s.substring(0,i) + remove(s.substring(i + t.length), t);
  return r;
}

function mfs() {
	if (nextButton)
		nextButton.disabled = true;
	if (errorTable)
		errorTable.style.display = "none";
	mainForm.submit();
}

function tzo() {
	if (tzoInput)
		tzoInput.value = ((new Date().getTimezoneOffset()) / 60) * -1;
}

function cas(step) {
	switch (step) {
		case 2:
			if (!cas2())
				return false;
		case 3:
			mainForm.target = "_self";
			mainForm.action = "Payment_Giftcard.asp?s=4";
	}
	mfs();
	return true;
}

function cas2() {
	var msg; msg = "";
	if (senderFirstnameInput.value.length == 0)
		msg += "Vennligst skriv inn ditt navn.\n";
	if (senderEmailInput) {
		if (senderEmailInput.value.length == 0)
			msg += "Vennligst skriv inn din e-postadresse.\n";
		if (!validateEmail(senderEmailInput.value, true, false))
			msg += "Vennligst skriv inn en gyldig e-postadresse\n";
	}
	if (rcptFirstnameInput.value.length == 0)
		msg += "Vennligst skriv inn mottagerens navn.\n";
	if (rcptEmailInput) {
		if (rcptEmailInput.value.length == 0)
			msg += "Vennligst skriv inn mottagerens e-postadresse.\n";
		if (!validateEmail(rcptEmailInput.value, true, false))
			msg += "Vennligst skriv inn en gyldig e-postadresse\n";
	}
	if (msg.length > 0) {
		doubleAlert(msg);
		return false;
	}
	return true;
}

function setProduct(prod) {
	if (productInput)
		productInput.value = prod;
}

function doubleAlert(msg) {
	if (errorTable)
		errorTable.style.display = "block";
	if (errorSpan) {
		errorSpan.innerHTML = msg.replace(new RegExp(/\n/g), "<br />");
		if (errorSpan.scrollIntoView)
			errorSpan.scrollIntoView();
	}
	alert(msg);
}

// Email Validation Javascript
// copyright 23rd March 2003, by Stephen Chapman, Felgall Pty Ltd
// You have permission to copy and use this javascript provided that
// the content of the script is not changed in any way.
function validateEmail(addr,man,db) {
	if (addr == '' && man) {
	   if (db) alert('Vennligst skriv inn en gyldig e-postadresse');
	   return false;
	}
	var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
	for (i=0; i<invalidChars.length; i++) {
	   if (addr.indexOf(invalidChars.charAt(i),0) > -1) {
	      if (db) alert('Vennligst skriv inn en gyldig e-postadresse');
	      return false;
	   }
	}
	for (i=0; i<addr.length; i++) {
	   if (addr.charCodeAt(i)>127) {
	      if (db) alert("Vennligst skriv inn en gyldig e-postadresse");
	      return false;
	   }
	}
	var atPos = addr.indexOf('@',0);
	if (atPos == -1) {
	   if (db) alert('Vennligst skriv inn en gyldig e-postadresse');
	   return false;
	}
	if (atPos == 0) {
	   if (db) alert('Vennligst skriv inn en gyldig e-postadresse');
	   return false;
	}
	if (addr.indexOf('@', atPos + 1) > - 1) {
	   if (db) alert('Vennligst skriv inn en gyldig e-postadresse');
	   return false;
	}
	if (addr.indexOf('.', atPos) == -1) {
	   if (db) alert('Vennligst skriv inn en gyldig e-postadresse');
	   return false;
	}
	if (addr.indexOf('@.',0) != -1) {
	   if (db) alert('Vennligst skriv inn en gyldig e-postadresse');
	   return false;
	}
	if (addr.indexOf('.@',0) != -1){
	   if (db) alert('Vennligst skriv inn en gyldig e-postadresse');
	   return false;
	}
	if (addr.indexOf('..',0) != -1) {
	   if (db) alert('Vennligst skriv inn en gyldig e-postadresse');
	   return false;
	}
	var suffix = addr.substring(addr.lastIndexOf('.')+1);
	if (suffix.length != 2 && suffix != 'com' && suffix != 'net' && suffix != 'org' && suffix != 'edu' && suffix != 'int' && suffix != 'mil' && suffix != 'gov' & suffix != 'arpa' && suffix != 'biz' && suffix != 'aero' && suffix != 'name' && suffix != 'coop' && suffix != 'info' && suffix != 'pro' && suffix != 'museum') {
	   if (db) alert('Vennligst skriv inn en gyldig e-postadresse');
	   return false;
	}
	return true;
}

function changeImg(id) {
	if (previewImg)
		previewImg.src = "/i/Giftcard/" + id + ".jpg";
}

function casb(loc) {
	if (backButton)
		backButton.disabled = true;
	location.href = loc;
}

function preload(images) {
	imgObj = new Image();
	for(i = 0; i <= images.length; i++)
		imgObj.src = images[i];
}

function preview(img) {
	var winprops = "height=340,width=620,resizable=0,status=no,toolbar=no,menubar=no,location=no";
	window.open(remove(img.src, "small/"), null, winprops);
}

function openPreview() {
	if (cas2()) {
		window.open("about:blank", "giftcardPreview", "height=500,width=705,scrollbars=1,resizable=1,status=0,toolbar=no,menubar=0,location=0");
		mainForm.target = "giftcardPreview";
		mainForm.action = "Payment_GiftCard_View.asp?popup=1";
		mainForm.submit();
	}
}

function previewPre() {
	window.open("Payment_Giftcard_View.asp?popup=1&preview=1&Layout=" + layoutSelect.value + "&Language=" + languageSelect.value, "giftcardPreview", "height=500,width=705,scrollbars=1,resizable=1,status=0,toolbar=no,menubar=0,location=0");
}

function init() {
	nextButton = document.getElementById("NextButton");
	errorTable = document.getElementById("errorTABLE");
	mainForm = document.getElementById("MainForm");
	tzoInput = document.getElementById("TZO");
	productInput = document.getElementById("Product");
	errorSpan = document.getElementById("errormsg");
	senderEmailInput = document.getElementById("SenderEmail");
	senderFirstnameInput = document.getElementById("SenderFirstname");
	rcptFirstnameInput = document.getElementById("RcptFirstname");
	rcptEmailInput = document.getElementById("RcptEmail");
	previewImg = document.getElementById("previewImg");
	backButton = document.getElementById("PrevButton");
	previewButton = document.getElementById("PreviewButton");
	layoutSelect = document.getElementById("Layout");
	languageSelect = document.getElementById("Language");
	tzo();
}