// form validation function //
function validate(form) {
	var cifra = 0;
	var ime = form.ime.value;
	var prezime = form.prezime.value;
	var kategorija_0 = form.kategorija_0.checked;
	var kategorija_1 = form.kategorija_1.checked;
	var kategorija_2 = form.kategorija_2.checked;
	var isic = form.isic.checked;
	var itic = form.itic.checked;
	var iyhg = form.iyhg.checked;
	var hosteler = form.hosteler.checked;
	var spol = form.spol.value;
	var datum_rodjenja = form.datum_rodjenja.value;
	var adresa = form.adresa.value;
	var grad = form.grad.value;
	var email = form.email.value;
	var razlog_1 = form.razlog_1.checked;
	var razlog_2 = form.razlog_2.checked;
	var razlog_3 = form.razlog_3.checked;
	var razlog_4 = form.razlog_4.checked;
	var razlog_5 = form.razlog_5.checked;
	var razlog_6 = form.razlog_6.checked;
	var razlog_7 = form.razlog_7.value;
	var zagreb = form.zagreb.checked;
	var grad_split = form.grad_split.checked;
	var osijek = form.osijek.checked;
	var datumRegex = /^[0|1|2|3][0-9]\/[0|1][0-9]\/[\d]{4}$/;
	var nameRegex = /^[a-zA-ZèæžšðÈÆŽŠÐ -]+$/;
	var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
	var messageRegex = new RegExp(/<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>/gim);

	if(kategorija_0 === false && kategorija_1 === false && kategorija_2 === false)
	{
		inlineMsg('kategorija_0','Morate odabrati kategoriju iskaznice.',2);
		return false;
	}
	if(ime == "") {
		inlineMsg('ime','Niste upisali Vaše ime.',2);
		return false;
	}
	if(!ime.match(nameRegex)) {
		inlineMsg('ime','Smijete koristiti samo slova od a do ž za ovo polje.',2);
		return false;
	}
	if(prezime == "") {
		inlineMsg('prezime','Niste upisali Vaše prezime.',2);
		return false;
	}
	if(!prezime.match(nameRegex)) {
		inlineMsg('prezime','Smijete koristiti samo slova za ovo polje.',2);
		return false;
	}
	if(spol == "") {
		inlineMsg('spol','Niste odabrali spol.',2);
		return false;
	}
	if(datum_rodjenja == "") {
		inlineMsg('datum_rodjenja','Morate upisati datum roðenja.',2);
		return false;
	}
	if(!datum_rodjenja.match(datumRegex)) {
		inlineMsg('datum_rodjenja','Krivo ste upisali datum roðenja.',2);
		return false;
	}
	if(adresa == "") {
		inlineMsg('adresa','Niste upisali adresu.',2);
		return false;
	}
	if(email == "") {
    	inlineMsg('email','Morate upisati Vašu e-mail adresu.',2);
    	return false;
	}	
	if(!email.match(emailRegex)) {
		inlineMsg('email','Molimo upišite pravilnu e-mail adresu.',2);
		return false;
	}
	if(razlog_1 === false && razlog_2 === false && razlog_3 === false && razlog_4 === false && razlog_5 === false && razlog_6 === false && razlog_7 == "")
	{
		inlineMsg('razlog_1','Molimo odaberite barem jedan razlog.',2);
		return false;
	}
	if(zagreb === false && grad_split === false && osijek === false && rijeka === false)
	{
		inlineMsg('zagreb','Molimo odaberite grad.',2);
		return false;
	}
	return true;
}

	
function kalk()
{
	var cifra = 0;
	var kategorija_0 = form.kategorija_0.checked;
	var kategorija_1 = form.kategorija_1.checked;
	var kategorija_2 = form.kategorija_2.checked;
	var isic = form.isic.checked;
	var itic = form.itic.checked;
	var iyhg = form.iyhg.checked;
	var hosteler = form.hosteler.checked;
		
	/*
	if
		kategorija_0 = 10kn
		kategorija_1 = 50kn
		kategorija_2 = 50kn
		
	isic = 40kn
	itic = 40kn
	iyhg = 75kn
	hosteler = 20kn
	*/
	
	if(kategorija_0){ cifra = 10; }
	else if(kategorija_1 || kategorija_2){ cifra = 50; }
	
	if(isic || itic){ cifra = cifra + 40 }
	
	if(iyhg){ cifra = cifra + 75 }
	
	if(hosteler){ cifra = cifra + 20 }
	
	form.ukupni_iznos.value = cifra;

}

// START OF MESSAGE SCRIPT //

var MSGTIMER = 20;
var MSGSPEED = 5;
var MSGOFFSET = 3;
var MSGHIDE = 3;

// build out the divs, set attributes and call the fade function //
function inlineMsg(target,string,autohide) {
  var msg;
  var msgcontent;
  if(!document.getElementById('msg')) {
    msg = document.createElement('div');
    msg.id = 'msg';
    msgcontent = document.createElement('div');
    msgcontent.id = 'msgcontent';
    document.body.appendChild(msg);
    msg.appendChild(msgcontent);
    msg.style.filter = 'alpha(opacity=0)';
    msg.style.opacity = 0;
    msg.alpha = 0;
  } else {
    msg = document.getElementById('msg');
    msgcontent = document.getElementById('msgcontent');
  }
  msgcontent.innerHTML = string;
  msg.style.display = 'block';
  var msgheight = msg.offsetHeight;
  var targetdiv = document.getElementById(target);
  targetdiv.focus();
  var targetheight = targetdiv.offsetHeight;
  var targetwidth = targetdiv.offsetWidth;
  var topposition = topPosition(targetdiv) - ((msgheight - targetheight) / 2);
  var leftposition = leftPosition(targetdiv) + targetwidth + MSGOFFSET;
  msg.style.top = topposition + 'px';
  msg.style.left = leftposition + 'px';
  clearInterval(msg.timer);
  msg.timer = setInterval("fadeMsg(1)", MSGTIMER);
  if(!autohide) {
    autohide = MSGHIDE;  
  }
  window.setTimeout("hideMsg()", (autohide * 1000));
}

// hide the form alert //
function hideMsg(msg) {
  var msg = document.getElementById('msg');
  if(!msg.timer) {
    msg.timer = setInterval("fadeMsg(0)", MSGTIMER);
  }
}

// face the message box //
function fadeMsg(flag) {
  if(flag == null) {
    flag = 1;
  }
  var msg = document.getElementById('msg');
  var value;
  if(flag == 1) {
    value = msg.alpha + MSGSPEED;
  } else {
    value = msg.alpha - MSGSPEED;
  }
  msg.alpha = value;
  msg.style.opacity = (value / 100);
  msg.style.filter = 'alpha(opacity=' + value + ')';
  if(value >= 99) {
    clearInterval(msg.timer);
    msg.timer = null;
  } else if(value <= 1) {
    msg.style.display = "none";
    clearInterval(msg.timer);
  }
}

// calculate the position of the element in relation to the left of the browser //
function leftPosition(target) {
  var left = 0;
  if(target.offsetParent) {
    while(1) {
      left += target.offsetLeft;
      if(!target.offsetParent) {
        break;
      }
      target = target.offsetParent;
    }
  } else if(target.x) {
    left += target.x;
  }
  return left;
}

// calculate the position of the element in relation to the top of the browser window //
function topPosition(target) {
  var top = 0;
  if(target.offsetParent) {
    while(1) {
      top += target.offsetTop;
      if(!target.offsetParent) {
        break;
      }
      target = target.offsetParent;
    }
  } else if(target.y) {
    top += target.y;
  }
  return top;
}

// preload the arrow //
if(document.images) {
  arrow = new Image(7,80); 
  arrow.src = "msg_arrow.gif"; 
}