//function to check email validation
function echeck(str) 
{

	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
	   alert("Invalid E-mail ID")
	   return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   alert("Invalid E-mail ID")
	   return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		alert("Invalid E-mail ID")
		return false
	}

	 if (str.indexOf(at,(lat+1))!=-1){
		alert("Invalid E-mail ID")
		return false
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		alert("Invalid E-mail ID")
		return false
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
		alert("Invalid E-mail ID")
		return false
	 }
	
	 if (str.indexOf(" ")!=-1){
		alert("Invalid E-mail ID")
		return false
	 }

	 return true					
}

//Phone number validation
// 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 = 10;

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);
	// && s.length >= minDigitsInIPhoneNumber
	return (isInteger(s));
}

// Form validation for registere CV
function validate_form()
{

 var rnamn 						=  document.getElementById("rnamn");
 var efternamn 					=  document.getElementById("efternamn");
 var epostadress 				=  document.getElementById("epostadress");
 var personnummer 				=  document.getElementById("personnummer");
 var gatuadress 				=  document.getElementById("gatuadress");
 var postadress 				=  document.getElementById("postadress");
 var telefon1 					=  document.getElementById("telefon1");
 var telefon2 					=  document.getElementById("telefon2");
 var lakare 					=  document.getElementById("lakare");
 var sjukskoterska 				=  document.getElementById("sjukskoterska");
 var annan1 					=  document.getElementById("annan1");
 var ja 						=  document.getElementById("ja");
 var nej 						=  document.getElementById("nej");
 var annan2 					=  document.getElementById("annan2");
 var legitimeringsar			=  document.getElementById("legitimeringsar");
 var svensk						=  document.getElementById("svensk");
 var norsk						=  document.getElementById("norsk");
 var annan2						=  document.getElementById("annan2");
 var specialistkompetens		=  document.getElementById("specialistkompetens");
 var forskrivarkod				=  document.getElementById("forskrivarkod");
 var utbildningar				=  document.getElementById("utbildningar");
 var anstallningar				=  document.getElementById("anstallningar");
 var referensperson1			=  document.getElementById("referensperson1");
 var telefon_referensperson1 	=  document.getElementById("telefon_referensperson1");
 var referensperson2 			=  document.getElementById("referensperson2");
 var telefon_referensperson2 	=  document.getElementById("telefon_referensperson2");
 var vrig_info 					=  document.getElementById("vrig_info");
if(rnamn.value==''||rnamn.value==null)
 {
 	alert("Fyll i ditt Förnamn/ Efternamn")
	rnamn.focus();
	return false;
 }
/*  if(!(/^[a-zA-Z. ]+$/.test(rnamn.value)))
 {
 	alert("not valid rnamn");
	rnamn.focus();
	return false;
 } 
 if(efternamn.value!=''&&efternamn.value!=null)
 {
	 if(!(/^[a-zA-Z ]+$/.test(efternamn.value)))
	 {
		alert("not valid efternamn");
		efternamn.focus();
		return false;
	 } 
 }
 */
 //proper alphabatical validation will go for lname
 if(epostadress.value==''||epostadress.value==null)
 {
 	alert("Fyll i din epostadress")
	epostadress.focus();
	return false;
 } 

 if (echeck(epostadress.value)==false)
 {
	epostadress.value=""
	epostadress.focus()
	return false
 }
 if(personnummer.value==''||personnummer.value==null)
 {
 	alert("Fyll Personnummer")
	personnummer.focus();
	return false;
 } 
 if(gatuadress.value==''||gatuadress.value==null)
 {
 	alert("Fyll gatuadress")
	gatuadress.focus();
	return false;
 } 
 if(postadress.value==''||postadress.value==null)
 {
 	alert("Fyll postadress")
	postadress.focus();
	return false;
 } 
 if(telefon1.value==''||telefon1.value==null)
 {
 	alert("Fyll telefon1")
	telefon1.focus();
	return false;
 } 
 if (checkInternationalPhone(telefon1.value)==false)
 {
	alert("Please Enter a Valid Phone Number")
	telefon1.value=""
	telefon1.focus()
	return false
 }
 if(telefon2.value!=''&&telefon2.value!=null)
 {
 	if (checkInternationalPhone(telefon2.value)==false)
	 {
		alert("Please Enter a Valid Phone Number")
		telefon2.value=""
		telefon2.focus()
		return false
	 }
 }
 
 if(sjukskoterska.checked==false&&lakare.checked==false)
 {
 	alert("please select any one of Yrkesområde");
	return false;
 }
 if(ja.checked==false&&nej.checked==false)
 {
 	alert("please select any one of Körkort");
	return false;
 }
 
 
 /*if(referensperson1.value!=''&&referensperson1.value!=null)
 {
	 if(!(/^[a-zA-Z. ]+$/.test(referensperson1.value)))
	 {
		alert("not valid name");
		referensperson1.focus();
		return false;
	 } 
 }*/
 
 if(telefon_referensperson1.value!=''&&telefon_referensperson1.value!=null)
 {
 	if (checkInternationalPhone(telefon_referensperson1.value)==false)
	 {
		alert("Please Enter a Valid Phone Number")
		telefon_referensperson1.value=""
		telefon_referensperson1.focus()
		return false
	 }
 }
 
 /*
 if(referensperson2.value!=''&&referensperson2.value!=null)
 {
	 if(!(/^[a-zA-Z. ]+$/.test(referensperson2.value)))
	 {
		alert("not valid name");
		referensperson2.focus();
		return false;
	 } 
 }
 */
 
 if(telefon_referensperson2.value!=''&&telefon_referensperson2.value!=null)
 {
 	if (checkInternationalPhone(telefon_referensperson2.value)==false)
	 {
		alert("Please Enter a Valid Phone Number")
		telefon_referensperson2.value=""
		telefon_referensperson2.focus()
		return false
	 }
 }
 return true;
}

//Form Validation for bestall_personal
function validate_bestall_personal()
{
	var av_personal			= document.getElementById("av_personal");
	var specialitet			= document.getElementById("specialitet");	
	var startdatum			= document.getElementById("startdatum");
	var slutdatum			= document.getElementById("slutdatum");
	var ovrig_information	= document.getElementById("ovrig_information");
	var kommun				= document.getElementById("kommun");
	var avdelning			= document.getElementById("avdelning");
	var kontaktperson		= document.getElementById("kontaktperson");
	var address				= document.getElementById("adress");
	var postadress			= document.getElementById("postadress");
	var telefon				= document.getElementById("telefon");
	var e_post				= document.getElementById("e_post");
	
	 if(av_personal.value==''||av_personal.value==null)
	 {
		alert("Fyll av_personal")
		av_personal.focus();
		return false;
	 } 
	 if(specialitet.value==''||specialitet.value==null)
	 {
		alert("Fyll specialitet")
		specialitet.focus();
		return false;
	 } 
	 if(startdatum.value==''||startdatum.value==null)
	 {
		alert("Fyll startdatum")
		startdatum.focus();
		return false;
	 } 
	 if(slutdatum.value==''||slutdatum.value==null)
	 {
		alert("Fyll slutdatum")
		slutdatum.focus();
		return false;
	 } 
	 if(kommun.value==''||kommun.value==null)
	 {
		alert("Fyll kommun")
		kommun.focus();
		return false;
	 } 
	 if(kontaktperson.value==''||kontaktperson.value==null)
	 {
		alert("Fyll kontaktperson")
		kontaktperson.focus();
		return false;
	 } 
	 /*
	 if(!(/^[a-zA-Z. ]+$/.test(kontaktperson.value)))
	 {
		alert("not valid kontaktperson namn");
		kontaktperson.focus();
		return false;
	 } */
	 if(telefon.value==''||telefon.value==null)
	 {
		alert("Fyll telefon")
		telefon.focus();
		return false;
	 }
	 if (checkInternationalPhone(telefon.value)==false)
	 {
		alert("Please Enter a Valid Phone Number")
		telefon.value=""
		telefon.focus()
		return false
	 }
	 if(e_post.value==''||e_post.value==null)
	 {
		alert("Fyll e_post")
		e_post.focus();
		return false;
	 }
	 if (echeck(e_post.value)==false)
	 {
		e_post.value=""
		e_post.focus()
		return false
	 }
	 return true;
}

//Function to validate Beställ Hushållsnäratjänster

function validate_hush()
{
	var namn	 = document.getElementById("namn");
	var e_post	 = document.getElementById("e_post");
	var telefon  = document.getElementById("telefon");
 	if(namn.value==''||namn.value==null)
 	{
		alert("Fyll namn")
		namn.focus();
		return false;
 	} 
	/*
 	if(!(/^[a-zA-Z. ]+$/.test(namn.value)))
 	{
		alert("not valid namn namn");
		namn.focus();
		return false;
 	} */
	if(e_post.value==''||e_post.value==null)
 	{
		alert("Fyll e_post")
		e_post.focus();
		return false;
 	}
	if (echeck(e_post.value)==false)
 	{
		e_post.value=""
		e_post.focus()
		return false
 	}
	if(telefon.value==''||telefon.value==null)
 	{
		alert("Fyll telefon")
		telefon.focus();
		return false;
 	}
 	if (checkInternationalPhone(telefon.value)==false)
 	{
		alert("Please Enter a Valid Phone Number")
		telefon.value=""
		telefon.focus()
		return false
 	}
 	
 	return true;
}
