function fnIsFilled(strField) {
	if (strField == "" || strField == null) {
		return false;
	}
	return true;
}

function check_email(e) {
	ok = "1234567890qwertyuiop[]asdfghjklzxcvbnm.@-_QWERTYUIOPASDFGHJKLZXCVBNM";

	for(i=0; i < e.length ;i++){
		if(ok.indexOf(e.charAt(i))<0){ 
			return (false);
		}	
	} 

	if (document.images) {
		re = /(@.*@)|(\.\.)|(^\.)|(^@)|(@$)|(\.$)|(@\.)/;
		re_two = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
		if (!e.match(re) && e.match(re_two)) {
			return (-1);		
		} 
	}
}


// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 5;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}
function trim(s)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not a whitespace, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (c != " ") returnString += c;
    }
    return returnString;
}
function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
var bracket=3
strPhone=trim(strPhone)
if(strPhone.indexOf("+")>1) return false
if(strPhone.indexOf("-")!=-1)bracket=bracket+1
if(strPhone.indexOf("(")!=-1 && strPhone.indexOf("(")>bracket)return false
var brchr=strPhone.indexOf("(")
if(strPhone.indexOf("(")!=-1 && strPhone.charAt(brchr+2)!=")")return false
if(strPhone.indexOf("(")==-1 && strPhone.indexOf(")")!=-1)return false
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}


var max=0;
function showChar(obj,obj3)
{
	if(max==0)
	{
		max=obj3.firstChild.nodeValue*1;
	}
	len=obj.value.length;
	var cur=max*1;
	cur=cur-len;
	if(cur<0)
	{
		var obj2=obj;
		var str=obj2.value.substring(0,max*1);
		obj2.value=str;
		alert('Du får inte skriva fler tecken!');
//		showChar(obj2,max);
		return false;
	}
	else
	{
		var obj2=obj3;
		var str=document.createTextNode(cur);
		obj2.replaceChild(str,obj2.firstChild);
		return true;
	}
}		

var maxx=0;
function showCharx(objx,obj3x)
{
	if(maxx==0)
	{
		maxx=obj3x.firstChild.nodeValue*1;
	}
	lenx=objx.value.length;
	var curx=maxx*1;
	curx=curx-lenx;
	if(curx<0)
	{
		var obj2x=objx;
		var strx=obj2x.value.substring(0,maxx*1);
		obj2x.value=strx;
		alert('Du får inte skriva fler tecken!');
//		showChar(obj2x,maxx);
		return false;
	}
	else
	{
		var obj2x=obj3x;
		var strx=document.createTextNode(curx);
		obj2x.replaceChild(strx,obj2x.firstChild);
		return true;
	}
}		

function fnCheckSave()
{
	var validation = false;

	with (document.konferens2009) {
		if (!fnIsFilled(form_fnamn.value)) {
			alert("Du måste ange förnamn");
			form_fnamn.focus();
			return false;
		}
		else if (!fnIsFilled(form_enamn.value)) {
			alert("Du måste ange efternamn");
			form_enamn.focus();
			return false;
		}
		else if (!fnIsFilled(form_arbetsplats.value)) {
			alert("Du måste ange arbetsplats");
			form_arbetsplats.focus();
			return false;
		}
		else if (!fnIsFilled(form_adress.value)) {
			alert("Du måste ange adress");
			form_adress.focus();
			return false;
		}
		else if (!fnIsFilled(form_postnummer.value)) {
			alert("Du måste ange postnummer");
			form_postnummer.focus();
			return false;
		}
		else if (!fnIsFilled(form_ort.value)) {
			alert("Du måste ange ort");
			form_ort.focus();
			return false;
		}
		else if (!fnIsFilled(form_telarb.value)) {
			alert("Du måste ange telefonnummer");
			form_telarb.focus();
			return false;
		}
  	else if (checkInternationalPhone(form_telarb.value)==false){
  		alert("Du måste ange ett korrekt telefonnummer");
  		form_telarb.focus();
  		return false;
  	}
		else if (!fnIsFilled(form_mobil.value)) {
			alert("Du måste ange mobilnummer");
			form_mobil.focus();
			return false;
		}
  	else if (checkInternationalPhone(form_mobil.value)==false){
  		alert("Du måste ange ett korrekt mobilnummer");
  		form_mobil.focus();
  		return false;
  	}
		else if (!fnIsFilled(form_email.value)) {
			alert("Du måste ange e-post");
			form_email.focus();
			return false;
		}
		else if (!check_email(form_email.value)) {
			alert("Du måste ange en korrekt e-post");
			form_email.focus();
			return false;
		}
		else if (!fnIsFilled(form_arbetarsom.value)) {
			alert("Du måste ange vad du arbetar som");
			form_arbetarsom.focus();
			return false;
		}
		else if (form_anm.checked == false) {
			alert("Du måste bocka för att du anmäler dig till konferensen");
			form_anm.focus();
			return false;
		}
		else {
			validation = true;
		}
	}

  return validation;
}