var isIE = (window.navigator.userAgent.indexOf("MSIE") > 0);

function isValidEmail(email, required) {
    if (required==undefined) {   // if not specified, assume it's required
        required=true;
    }
    if (email==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (email.length==0) {  
        if (required) {
            return false;
        }
        return true;
    }
    if (! allValidChars(email)) {  // check to make sure all characters are valid
        return false;
    }
    if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
        return false;
    } else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
        return false;
    } else if (email.indexOf("@") == email.length) {  // @ must not be the last character
        return false;
    } else if (email.indexOf("..") >=0) { // two periods in a row is not valid
	return false;
    } else if (email.indexOf(".") == email.length) {  // . must not be the last character
	return false;
    }
    return true;
}

function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  for (var i=0; i < email.length; i++) {
    var letter = email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}

function addFields(f) {
	if (document.getElementById(f+'_1').style.display == 'none') {
		document.getElementById(f+'_1').style.display = 'inline';
	} else {
		document.getElementById(f+'_2').style.display = 'inline';
	}

}

function validateForm(form)
{
	var va = new Array(); //array for correct values	
	var ve;				  //array of fields for validation
	var checkOk = false;  //flag to indicate if validation is passed
	
	if( form.id == 'ank_s_1' ) {
		//first step of applicant form
		ve = new Array("fio", "email", "phone_num", "bdate_day", "citizen", "study", "sdate_day"); // validation elements
	}
	
	if( form.id == 'ank_s_2' ) {
		//second step of applicant form
		ve = new Array("organisation", "work", "city", "position", "lang"); // validation elements
	}
	
	for ( el in ve )
	{
		var vs = "s_" + ve[el]; // validation span id
		
		if (document.getElementById(ve[el]).value == '' || (ve[el] == 'email' && !isValidEmail(document.getElementById(ve[el]).value)))
		{
			//got empty fields, show error warning ang highlight empty fields
			document.getElementById(vs).className = "sve";
		}
		else {
			document.getElementById(vs).className = "";
			va.push(1);
		}
	}
	
	if ( va.length == ve.length ) {
		checkOk = true;
	}
	
	if ( checkOk == false ) { 
		document.getElementById('vNotice').style.display = 'none';
		document.getElementById('vError').style.display = 'inline';
	}
	
	return checkOk;
}