var currentTab = 1;
var submit_once = false;
var submitTimeoutID =   null;

function tabswitch(num)
{
    /*
    var pages = document.getElementById('pages');
    var tabs  = document.getElementById('tabs');
	pages.className	= 'tab_'+num;
	tabs.className	= 'switch_'+num;
	currentTab = num;
	return false;
	*/
}

function validate(num,gotoTab)
{
    var obj_regexp1 = /^\S[A-Za-z\s.]+$/; // Voornaam, Achternaam, Plaatsnaam, Bedrijfsnaam, Functie
	var obj_regexp2 = /^\S[A-Za-z0-9\-\\\/. ]*$/; // Adres, Postcode
	var obj_regexp3 = /^\S[0-9\-\+ \(\)]+$/; // Telefoonnummer
	var obj_regexp4 = /^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$/; // E-mailadres
	var obj_regexp5	= /^\S[^\\<>]*$/;  // anything but these characters
	var obj_regexp6 = /^\S[^\\<>0-9]*$/;  // anything but these characters and no numbers either
	var re_postcode	= /^[0-9]{4}\s*[A-Za-z]{2}$/;	// postcode, maar dan ietsje strakker (alleen als Land = Nederland)
	var re_NumbersOnly =   /^[0-9]+$/;
	var placeHolders =   /^[-\s\.]+$/;

	var msgprepend = 'Het veld ';
	var msgappend  = ' is helaas niet (juist) ingevuld.\nU dient dit veld correct in te vullen voordat u verder gaat.\n\nDank u voor uw medewerking.';
	var msgthanks  = '\n\nDank u voor uw medewerking';
	var this_tab   = null;

    // tabblad PersoonsGegevens
    this_tab = 1;

    // geslacht
    var sexe_man	=	document.getElementById('sexe_man').checked;
    var sexe_vrouw	=	document.getElementById('sexe_vrouw').checked;

    if(!sexe_man && !sexe_vrouw)
    {
    	alert('Kies een aanhef '+msgthanks);
    	setTabFocus(this_tab);
    	return false;
    }

    // voorletters
    var obj_to_test = document.getElementById('firstname');
    if (obj_regexp6.test(obj_to_test.value) == false)
    {
    	alert(msgprepend +  'Voorletters' + msgappend);
    	setTabFocus(this_tab,obj_to_test);
    	return false;
    }
    // tussenvoegsel
    var obj_to_test = document.getElementById('tussn');
    if(obj_to_test.value.length > 0 )
    {
        if (obj_regexp6.test(obj_to_test.value) == false)
        {
        	alert(msgprepend +  'Tussenvoegsel' + msgappend);
        	setTabFocus(this_tab,obj_to_test);
        	return false;
        }
    }
    // achternaam (id="achternaam")
    var obj_to_test = document.getElementById('lastname');
    if (obj_regexp5.test(obj_to_test.value) == false)
    {
    	alert(msgprepend +  'Achternaam' + msgappend);
        setTabFocus(this_tab,obj_to_test);
    	return false;
    }

    // email
    var obj_to_test = document.getElementById('email');
    if (obj_regexp4.test(obj_to_test.value) == false)
    {
    	alert(msgprepend +  'Email' + msgappend);
    	setTabFocus(this_tab,obj_to_test);
    	return false;
    }
    
    // telefoon
    var obj_to_test = document.getElementById('work_phone');

    if (obj_regexp3.test(obj_to_test.value) == false)
    {
    	alert(msgprepend +  'Telefoon' + msgappend);
    	setTabFocus(this_tab,obj_to_test);
    	return false;
    }

	// bedrijfsnaam
    var obj_to_test = document.getElementById('company');
    if (obj_regexp5.test(obj_to_test.value) == false)
    {
    	alert(msgprepend +  'Bedrijf' + msgappend);
        setTabFocus(this_tab,obj_to_test);
    	return false;
    }
    
    // functie
    var obj_to_test = document.getElementById('job_title');
    if (obj_to_test.selectedIndex == 0)
    {
    	alert('Selecteer uw functie'+msgthanks);
    	setTabFocus(this_tab,obj_to_test);
    	return false;
    }
    
    // omvang
    var obj_to_test = document.getElementById('omvang');
    
    if (obj_to_test.selectedIndex == 0)
    {
    	alert('Selecteer een Bedrijfsgrootte'+msgthanks);
    	setTabFocus(this_tab,obj_to_test);
    	return false;
    }
    
    var obj_to_test = document.getElementById('branche');
    if (obj_to_test.selectedIndex == 0)
    {
        alert('Selecteer een branche'+msgthanks);
        setTabFocus(this_tab,obj_to_test);
        return false;
    }
    
    if(false == document.getElementById('std9').checked)
    {
        alert('U dient akkoord te gaan met de voorwaarden'+msgthanks);
        setTabFocus(this_tab);
        return false;
    }

    


    // adres
    /*var obj_to_test = document.getElementById('adres');
    if (obj_regexp5.test(obj_to_test.value) == false)
    {
    	alert(msgprepend +  'Bedrijfsadres' + msgappend);
    	setTabFocus(this_tab,obj_to_test);
    	return false;
    }*/
    // huisnummer
   /* var obj_to_test = document.getElementById('huisnr');
    if (re_NumbersOnly.test(obj_to_test.value) == false)
    {
    	alert(msgprepend +  'Huisnummer' + msgappend);
    	setTabFocus(this_tab,obj_to_test);
    	return false;
    }*/
    // postcode (only check strict format when in Holland)
    /*var countryEl	= document.getElementById('land');
    var country		= countryEl.options[(countryEl.options.selectedIndex)].value;
    var obj_to_test = document.getElementById('pcode');
    if(country == 146)
    {
        if (re_postcode.test(obj_to_test.value) == false)
        {
        	alert(msgprepend +  'Postcode' + msgappend);
        	setTabFocus(this_tab,obj_to_test);
        	return false;
        }
    }
    else	// not in Holland
    {
    	if (obj_regexp5.test(obj_to_test.value) == false)
    	{
    		alert(msgprepend +  'Postcode' + msgappend);
    		setTabFocus(this_tab,obj_to_test);
        	return false;
    	}
    }*/
    // plaats
    /*var obj_to_test = document.getElementById('plaats');
    if (obj_regexp5.test(obj_to_test.value) == false)
    {
    	alert(msgprepend +  'Plaats' + msgappend);
    	setTabFocus(this_tab,obj_to_test);
    	return false;
    }*/

    

    // mobiele telefoon
    /*var obj_to_test = document.getElementById('mobiel');
    if(obj_to_test.value.length > 0)
    {
        if (obj_regexp3.test(obj_to_test.value) == false)
        {
        	alert(msgprepend +  'Mobiel' + msgappend);
        	setTabFocus(this_tab,obj_to_test);
        	return false;
        }
    }*/

	return true;
}

function checkcurrentTab(gotoTab)
{
    if(currentTab != gotoTab)
    {
        if(validate(currentTab))
        {
            tabswitch(gotoTab);
        }
    }
}

function setTabFocus(num,el)
{
    //alert('setTabFocus\n\nnem\t:'+num+'\nel\t'+el+'\ncurrentTab\t'+currentTab);
    if(num)
    {
        if(currentTab != num)
    	{
    	    tabswitch(num);
    	}
    }
    if(num && el)
    {
    	el.focus();
    }
}

function inschrijfcheck()
{
    var valid1    =   validate(1);
    if(false == valid1)
    {
        return false;
    }
    /*
    var valid2    =   validate(2);
    if(false == valid2)
    {
        return false;
    }
    var valid3    =   validate(3);
    if(false == valid3)
    {
        return false;
    }
    */
    return true;
    /*
    if(submit_once == false)  // do not hammer the submit button thankyou
    {
      submit_once = true;
      return true;// nothing on the hand, let's go
    }
    else
    {
        return false;
    }
    */
}

function checkboxesCheckedCheck(containerID)
{
    var checks  =   document.getElementById(containerID).getElementsByTagName('INPUT');
    var checked =   false;
    for(var i =0, j = checks.length; i<j; i++)
    {
        var check  =   checks[i];
        try
        {
            checked  =   check.checked;
        }
        catch(e)
        {
           checked  =   check.getAttribute('checked');
        }
        if(checked == true)
        {
            break;
        }
    }
    return checked;
}

function isDefaultOption(elID)
{
    var el = document.getElementById(elID);
    return ('null' == el.options[el.selectedIndex].value) ? true : false;
}

function clearSubmitOnce()
{
    submit_once = false;
    alert('submit_once : ' + submit_once );
}

function clearradio(elID)
{
    var el = document.getElementById(elID);
    var rbuttons = el.getElementsByTagName('INPUT');
    for(var i =0,j = rbuttons.length; i<j ;i++)
    {
        var rbut = rbuttons[i];
        rbut.checked = false;
    }
}

function selectcbox(id)
{
    var cbox = document.getElementById(id);
    cbox.checked   =   (cbox.checked)  ? false : true;
}
