function validatePNum(sPNum)
{
  var numbers = sPNum.match(/^(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)(\d)$/);
  var checkSum = 0;

  var d = new Date();
	var ix = sPNum.indexOf('-');

	if (ix != -1) {
		sPNum = sPNum.substring(0, ix) + sPNum.substring(ix+1);
	}
	
	if (sPNum.length == 10) sPNum = "19" + sPNum;
	
  if (!isDate(sPNum.substring(0,4),sPNum.substring(4,6),sPNum.substring(6,8))) {
    alert("Datumet " + sPNum.substring(0,8) + " är inte korrekt.");
    return false;
  }

  if (numbers == null) { return false; }

  var n;
  for (var i = 3; i <= 12; i++)
  {
    n=parseInt(numbers[i]);
    if (i % 2 == 0) {
      checkSum+=n;
    } else {
      checkSum+=(n*2)%9+Math.floor(n/9)*9
    }
  }

  if (checkSum%10==0) { return true;}
  return false;
}

function getYear(y) { return (y < 1000) ? y + 1900 : y; }

function isDate(year, month, day)
{
  month = month - 1; // 0-11 in JavaScript
  var tmpDate = new Date(year,month,day);
  if ( (getYear(tmpDate.getYear()) == year) &&
  (month == tmpDate.getMonth()) &&
  (day == tmpDate.getDate()) )
    return true;
  else
    return false;
}

function calculateDays() {

	var y = document.f1.one.value.substring(0, 4);
	var m = document.f1.one.value.substring(5, 7);
	var d = document.f1.one.value.substring(8, 10);
	var t1 = new Date(y,m-1,d);

	y = document.f1.two.value.substring(0, 4);
	m = document.f1.two.value.substring(5, 7);
	d = document.f1.two.value.substring(8, 10);
	var t2 = new Date(y,m-1,d);

	var day = 1000*60*60*24;
	var diff = Math.ceil((t2.getTime()-t1.getTime())/(day)) + 1;

	document.f1.total.value = diff;
}

function alertarray(array) {
	
}

function verifyEmail() {
	var status = false;
	var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
	if (document.f1.email.value.search(emailRegEx) == -1) {
	  alert("Felaktig e-postadress!");
	} else {
	  status = true;
	}
	return status;
}

function checkForm() {
if (f1.fromdate == "") {
	return false;
}

function test() {
	alert("Hej");
}

/***********************************************
 * AJAX...
 * ********************************************/

var xmlHttp;
var data = [];
data["month"] = 1;
data["year"] = 2;
data["selection"] = 3;
data["musid"] = 0;

function setvalue(label, value) {
//	alert ("Setting "+label+" to "+value);
	data[label] = value;
	getmonthlyreport(data["selection"], data["musid"]);
}

function getusers(timeout) {
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp == null) {
		alert ("Browser does not support HTTP Request");
		return;
	}

	var url="getuser.php?action=1";
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);

	if (timeout > 0) setTimeout("getusers("+timeout+")", timeout);
}

function getemployedmusicians(timeout, v) {
	document.getElementById("userlist").innerHTML="Uppdaterar...";
	xmlHttp = GetXmlHttpObject();
	if (xmlHttp == null) {
		alert ("Browser does not support HTTP Request");
		return;
	}
//	var musid = document.getElementById("MA_musid").innerHTML;
	var musid = v;
	var url="getuser.php?action=2&musid=" + musid;
	xmlHttp.onreadystatechange = stateChanged;
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);

	if (timeout > 0) setTimeout("getemployedmusicians("+timeout+")", timeout);
}

function getapplicants(timeout, v) {
	document.getElementById("userlist").innerHTML="Uppdaterar...";
	xmlHttp = GetXmlHttpObject();
	if (xmlHttp == null) {
		alert ("Browser does not support HTTP Request");
		return;
	}
//	var musid = document.getElementById("MA_musid").innerHTML;
	var appid = v;
	var url="getuser.php?action=21&appid=" + appid;
	xmlHttp.onreadystatechange = stateChanged;
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);

	if (timeout > 0) setTimeout("getapplicants("+timeout+")", timeout);
}

function getmonthlyreport(sel, v, m) {
//	alert (data["month"]+data["year"]);
	data["selection"] = sel;
	data["musid"] = v;
	document.getElementById("userlist").innerHTML="Uppdaterar...";
	xmlHttp = GetXmlHttpObject();
	if (xmlHttp == null) {
		alert ("Browser does not support HTTP Request");
		return;
	}
	var musid = v;
	var url="getuser.php?action=" + sel + "&musid=" + musid + "&month=" + m;
	xmlHttp.onreadystatechange = stateChanged;
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}

function stateChanged() { 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
		document.getElementById("userlist").innerHTML=xmlHttp.responseText;
	}
}

function GetXmlHttpObject() {
	var xmlHttp=null;
	try {
 // Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}

	catch (e) {
 //Internet Explorer
		try {
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}
