//*****************************************
//The following input validation methods are
//used on application related html pages
//*****************************************

//Method to check if a field is blank
function isBlank( s ){
        var strLC = ' ' + '\n' + '\r';
        return isLegalChars( s, strLC );
}

//Method to do rudementary email validation
function isEmailOK( email ) {
        var intPos = email.indexOf( "@" );
        if ( intPos != email.lastIndexOf( "@" ) ) {
                return false;
        }
        if ( intPos <  1 ) {
                return false;
        }
        if ( intPos == email.length ) {
                return false;
        }
        return true;
}

//checks to see if passed in value is part of the character set
function isLegalChars( strValue, strLegalChars ) {
        var returnVal = true;
        if ( strValue.length > 0 ) {
                for ( var ii = 0; ii <  strValue.length; ii++ ) {
                        if ( strLegalChars.indexOf( strValue.charAt( ii ) ) <  0 ) {
                                returnVal = false;
                        }
                }
        }
        return returnVal;
}

//check to see if the value passed only contains numeric values or the "+" sign
function isNumeric( value ) {
        var strLC = '0123456789+';
        return isLegalChars( value, strLC );
}

function checkYear(language)
{
    if (  ( document.calculate.year.value <  1989)
       || ( document.calculate.year.value == 1989 && document.calculate.month.value <  10 )
       || ( document.calculate.year.value == 1989 && document.calculate.month.value == 10 && document.calculate.day.value < 2 ) ){
        if ( language == "en") {
                window.alert( "Dates prior to 2/10/1989 (first quotation of DSM share) are not valid. Try again." ) ;
        }
        else {
                window.alert( "Data voor 2/10/1989 (eerste notering van aandeel DSM) zijn niet valide. Probeer opnieuw." ) ;
        }
    }
    else {
            document.calculate.submit() ;
    }
}

//check to see if the value passed only contains numeric values, a space or the "+-()" signs
function isTelephoneNumber( value ) {
        var strLC = '0123456789+-() ';
        return isLegalChars( value, strLC );
}

// check if date is formatted according to ddmmyyy or dd/mm/yyyy format and if date exists
function isDate( value ){
	if ( value.length == 8 ) { // in case user enters: ddmmyyyy
		var DD = value.substring(0, 2);
		var MM = value.substring(2, 4);
		var YYYY = value.substring(4, 8);
	}
	else if ( value.length == 10 ) { // in case user enters dd/mm/yyyy
		var DD = value.substring(0, 2);
		var MM = value.substring(3, 5);
		var YYYY = value.substring(6, 10);
	}
	else { return false; } // no valid input
	if ( !isNumeric( DD ) ) {
		return false;
	}
	if ( !isNumeric( MM ) ) {
		return false;
	}
	if ( !isNumeric( YYYY ) ) {
		return false;
	}
	if ( YYYY.length != 4 ) {
		return false;
	}
	var Dtest = new Date( YYYY, MM - 1, DD )
	if ( ( Dtest.getDate() != eval( DD ) ) || ( Dtest.getMonth() != eval( MM - 1 ) ) ){
		return false;
	}
	return true;
}
function isYearFormat( value ){
	if ( value.length == 9 ) { // if user has entered yyyy/yyyy ddmmyyyy
		var yyyy = value.substring(0, 4);
		var YYYY = value.substring(5, 9);
	}
	else { return false; } // no valid input

	if ( !isNumeric( yyyy) ) {
		return false;
	}
	if ( !isNumeric( YYYY ) ) {
		return false;
	}
	if ( value.substring(4, 5) != '/') {
		return false;
	}

	if ( YYYY.length != 4 ) {
		return false;
	}
	return true;
}

//method to sent all selected checkboxes into users e-mail (=WORK-AROUND)
//Created by: M van den Bergh (DELT) Date: 25Aug2004
function doCheckBoxGroups123(){
   var firstchecked = "-1";

   // 11111111111111111
   // checkbox group ONE
   // 11111111111111111
   if (document.forms["form"].checkboxgroup_one){
         var tmp1 = "";
         firstchecked = "-1";
         for (var i=0; i < document.forms["form"].checkboxgroup_one.length; i++) {
            if (document.forms["form"].checkboxgroup_one[i].checked == true) {
               if (firstchecked<0) {
                  firstchecked = i;
               }
               tmp1 = tmp1  + "; " + document.forms["form"].checkboxgroup_one[i].value;
            }
         }
         if (firstchecked != "-1") {
            document.form.checkboxgroup_one[firstchecked].value = tmp1;
            //alert("1-"+firstchecked+" = " + tmp1);
         }
   }

   // 22222222222222222
   // checkbox group TWO
   // 22222222222222222
   if (document.forms["form"].checkboxgroup_two){
         var tmp2 = "";
         firstchecked = "-1";
         for (var i=0; i < document.forms["form"].checkboxgroup_two.length; i++) {
            if (document.forms["form"].checkboxgroup_two[i].checked == true) {
               if (firstchecked<0) {
                  firstchecked = i;
               }
               tmp2 = tmp2  + "; " + document.forms["form"].checkboxgroup_two[i].value;
            }
         }
         if (firstchecked != "-1") {
            document.form.checkboxgroup_two[firstchecked].value = tmp2;
            //alert("2-"+firstchecked+" = " + tmp2);
         }
   }
   // 3333333333333333333
   // checkbox group THREE
   // 3333333333333333333
   if (document.forms["form"].checkboxgroup_three){
         var tmp3 = "";
         firstchecked = "-1";
         for (var i=0; i < document.forms["form"].checkboxgroup_three.length; i++) {
            if (document.forms["form"].checkboxgroup_three[i].checked == true) {
               if (firstchecked<0) {
                  firstchecked = i;
               }
               tmp3 = tmp3  + "; " + document.forms["form"].checkboxgroup_three[i].value;
            }
         }
         if (firstchecked != "-1") {
            document.form.checkboxgroup_three[firstchecked].value = tmp3;
            //alert("3-"+firstchecked+" = " + tmp3);
         }
   }

}

