function PersonalData_Validate() {
	var did = GetNamedElement( 'DeliveryIsDifferent' ) ;
	var dvc = document.getElementById( 'DeliveryViaCompany' ) ;
	var dat = document.getElementById( 'DeliveryAddressTable' ) ;
	var hcn = document.getElementById( 'HasCVRNumber' ) ;

	var result = true ;

	VSCSM_ClearError( 'FirstName' ) ;
	VSCSM_ClearError( 'LastName' ) ;
	VSCSM_ClearError( 'Address' ) ;
	VSCSM_ClearError( 'ZipCode' ) ;
	VSCSM_ClearError( 'Phone' ) ;
	VSCSM_ClearError( 'Email' ) ;
	VSCSM_ClearError( 'Password' ) ;
	VSCSM_ClearError( 'DeliveryViaCompany' ) ;
	VSCSM_ClearError( 'DeliveryCompany' ) ;
	VSCSM_ClearError( 'DeliveryFirstName' ) ;
	VSCSM_ClearError( 'DeliveryLastName' ) ;
	VSCSM_ClearError( 'DeliveryAddress' ) ;
	VSCSM_ClearError( 'DeliveryZipCode' ) ;
	VSCSM_ClearError( 'HasCVRNumber' ) ;
	VSCSM_ClearError( 'CVRNumber' ) ;
	VSCSM_ClearError( 'CompanyAddressID' ) ;
	VSCSM_ClearError( 'CompanyName' ) ;
	VSCSM_ClearError( 'CompanyZipCode' ) ;
	VSCSM_ClearError( 'DoorIsLocked' ) ;

	// check contact info
	result &= VSCSM_CheckMandatory( 'FirstName', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'FirstName', 0, 64, '2' ) ;
	result &= VSCSM_CheckMandatory( 'LastName', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'LastName', 0, 64, '2' ) ;
	result &= VSCSM_CheckMandatory( 'Address', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'Address', 0, 256, '2' ) ;
	result &= VSCSM_CheckMandatory( 'ZipCode', '1' ) ;
	result &= VSCSM_CheckMandatory( 'Phone', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'Phone', 0, 11, '2' ) ;
	result &= VSCSM_CheckValidSymbols( 'Phone', ' 1234567890', '3' ) ;
	result &= VSCSM_CheckMandatory( 'Email', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'Email', 0, 256, '2' ) ;
	result &= VSCSM_CheckEmail( 'Email', '3' ) ;
	result &= VSCSM_CheckMandatory( 'Password', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'Password', 4, 30, '2' ) ;
	
	if( did.checked ) {
		result &= VSCSM_CheckMandatory( 'DeliveryViaCompany', '1' ) ;
		if( document.getElementById( 'DeliveryViaCompany_1' ).checked ) {
			// via company
			result &= VSCSM_CheckMandatory( 'HasCVRNumber', '1' ) ;
			if( document.getElementById( 'HasCVRNumber_2' ).checked ) {
				// no
				result &= VSCSM_CheckMandatory( 'CompanyName', '1' ) ;
				result &= VSCSM_CheckFieldLength( 'CompanyName', 0, 64, '2' ) ;
				result &= VSCSM_CheckMandatory( 'CompanyZipCode', '1' ) ;
			} else if( document.getElementById( 'HasCVRNumber_1' ).checked ) {
				// yes
				result &= VSCSM_CheckMandatory( 'CVRNumber', '1' ) ;
				result &= VSCSM_CheckFieldLengthWS( 'CVRNumber', 8, 8, '2' ) ;
				result &= VSCSM_CheckValidSymbols( 'CVRNumber', ' 1234567890', '3' ) ;
				result &= VSCSM_CheckMandatory( 'CompanyAddressID', '1' ) ;
			}
		} else if( document.getElementById( 'DeliveryViaCompany_2' ).checked ) {
			// check delivery address
			result &= VSCSM_CheckFieldLength( 'DeliveryCompany', 0, 64, '1' ) ;
			result &= VSCSM_CheckMandatory( 'DeliveryFirstName', '1' ) ;
			result &= VSCSM_CheckFieldLength( 'DeliveryFirstName', 0, 64, '2' ) ;
			result &= VSCSM_CheckMandatory( 'DeliveryLastName', '1' ) ;
			result &= VSCSM_CheckFieldLength( 'DeliveryLastName', 0, 64, '2' ) ;
			result &= VSCSM_CheckMandatory( 'DeliveryAddress', '1' ) ;
			result &= VSCSM_CheckFieldLength( 'DeliveryAddress', 0, 64, '2' ) ;
			result &= VSCSM_CheckMandatory( 'DeliveryZipCode', '1' ) ;
			result &= VSCSM_CheckForZipCode( 'DeliveryZipCode' ) ;
		}
	} else {
		result &= VSCSM_CheckForZipCode( 'ZipCode' ) ;
	}

	result &= VSCSM_CheckMandatory( 'DoorIsLocked', '1' ) ;

	return( result ) ;
}

function DoLogin() {
	if( LoginForm_Validate() ) {
		VSCSM_Exec( 'common', 'MDS_CustomerLogin', '' )
	}
}

function LoginForm_Validate() {
	var result = true ;

	VSCSM_ClearError( 'EmailAddress' ) ;
	VSCSM_ClearError( 'Password' ) ;

	result &= VSCSM_CheckMandatory( 'EmailAddress', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'EmailAddress', 0, 64, '2' ) ;
	result &= VSCSM_CheckEmail( 'EmailAddress', '3' ) ;
	result &= VSCSM_CheckMandatory( 'Password', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'Password', 4, 30, '2' ) ;

	return( result ) ;
}

function ForgottenForm_Validate() {
	var result = true ;

	VSCSM_ClearError( 'EmailAddress' ) ;
	VSCSM_ClearError( 'Password' ) ;

	result &= VSCSM_CheckMandatory( 'EmailAddress', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'EmailAddress', 0, 64, '2' ) ;
	result &= VSCSM_CheckEmail( 'EmailAddress', '3' ) ;

	return( result ) ;
}

function MealVariationForm_Validate() {
	var result = true ;
	result &= VSCSM_CheckMandatory( 'MealVariation', '1' ) ;
	return( result ) ;
}

function RecomendForm_Validate() {
	var result = true ;
	
	VSCSM_ClearError( 'EmailAddresses' ) ;
	VSCSM_ClearError( 'From' ) ;
	VSCSM_ClearError( 'ReplyTo' ) ;
	VSCSM_ClearError( 'EmailText' ) ;

	result &= VSCSM_CheckMandatory( 'EmailAddresses', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'EmailAddresses', 0, 4000, '2' ) ;
	result &= VSCSM_CheckEmailsList( 'EmailAddresses', '3' ) ;

	result &= VSCSM_CheckMandatory( 'From', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'From', 0, 64, '2' ) ;
	result &= VSCSM_CheckMandatory( 'ReplyTo', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'ReplyTo', 0, 256, '2' ) ;
	result &= VSCSM_CheckEmail( 'ReplyTo', '3' ) ;
	result &= VSCSM_CheckMandatory( 'EmailText', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'EmailText', 0, 4000, '2' ) ;

	return( result ) ;
}

function DoSendRecomend() {
	if( RecomendForm_Validate() ) {
		VSCSM_Exec( 'common', 'MDS_SendRecomend', '' ) ;
	}
}

function MDS_TipAFriendForm_Update() {
	var template = document.getElementById( 'TipAFriend_MessageTemplate' ).innerHTML ;
	var result = TemplateExpand( template ) ;
	document.getElementById( 'TipAFriend_Message' ).innerHTML = result ;
}

function TipAFriendForm_Validate() {
	var result = true ;

	VSCSM_ClearError( 'YourName' ) ;
	VSCSM_ClearError( 'YourEmail' ) ;
	VSCSM_ClearError( 'FriendEmail' ) ;
	VSCSM_ClearError( 'Content' ) ;

	result &= VSCSM_CheckFieldLength( 'YourName', 0, 64, '1' ) ;
	result &= VSCSM_CheckMandatory( 'YourEmail', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'YourEmail', 0, 256, '2' ) ;
	result &= VSCSM_CheckEmail( 'YourEmail', '3' ) ;
	result &= VSCSM_CheckMandatory( 'FriendEmail', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'FriendEmail', 0, 256, '2' ) ;
	result &= VSCSM_CheckEmail( 'FriendEmail', '3' ) ;
	result &= VSCSM_CheckMandatory( 'Content', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'Content', 0, 4000, '2' ) ;

	return( result ) ;
}

function MDS_SaveComment( meal_id ) {
	var val = GetNamedElement( 'meal_' + meal_id + '_Comment' ).value ;
	if( !VSCSM_IsEmpty( val ) ) {
		document.getElementById( 'meal_' + meal_id + '_CommentRO' ).innerHTML = val ;
		document.getElementById( 'meal_' + meal_id + '_Input' ).style.display = 'none' ;
		document.getElementById( 'meal_' + meal_id + '_Text' ).style.display = 'inline' ;
		MDS_SendCommentsToServer( meal_id ) ;
	}
}

function MDS_EditComment( meal_id ) {
	document.getElementById( 'meal_' + meal_id + '_Input' ).style.display = 'inline' ;
	document.getElementById( 'meal_' + meal_id + '_Text' ).style.display = 'none' ;
	GetNamedElement( 'meal_' + meal_id + '_Comment' ).focus() ;
}

function MDS_MealRatingSetImage( meal_id, rating ) {
	switch( String(rating).length ) {
	case 2:
		break ;
	case 1:
		rating = '0' + rating ;
		break ;
	default:
		rating = '' ;
	}
	var img = document.getElementById( 'meal_' + meal_id + '_img_rating' ) ;
	var alt = document.getElementById( 'rating_alt_' + rating ) ;
	var r = document.getElementById( 'rating_img_' + rating ) ;
	if( r == null ) {
		r = document.getElementById( 'rating_img_' ) ;
	}
	var p = 'img/rating' + rating + '.gif' ;
	if( img.src.indexOf( p ) == -1 ) {
		img.src = r.src ;
		if( alt != null ) {
			img.alt = alt.innerHTML ;
		} else {
			img.alt = '' ;
		}
	}
}

function CalcMealRating( offset ) {
	var result = Math.ceil( offset / 30 ) * 2 - 1 ;
	if( result < 0 ) {
		result = 0 ;
	}
	return( result ) ;
}

function MDS_MealRatingMoving( meal_id, t ) {
	MDS_MealRatingSetImage( meal_id, CalcMealRating( window.event.offsetX ) ) ;
}

function MDS_MealRatingMoveOut( meal_id ) {
	var i = GetNamedElement( 'meal_' + meal_id + '_rating' ) ;
	MDS_MealRatingSetImage( meal_id, i.value ) ;
}

function MDS_MealRatingSet( meal_id ) {
	var i = GetNamedElement( 'meal_' + meal_id + '_rating' ) ;
	i.value = CalcMealRating( window.event.offsetX ) ;
	MDS_MealRatingSetImage( meal_id, i.value ) ;
	MDS_SendCommentsToServer( meal_id ) ;
}

function AjustDeliveryForm_OnLoad() {
	if( GetNamedElement( 'DeliveryZipCode_City' ) != null ) {
		MDS_CheckZipCode( 'DeliveryZipCode' ) ;
	}
	AjustDeliveryForm_Update() ;
}

function AjustDeliveryForm_Update() {
	var ndd = '' ;
	var ddt = document.getElementById( 'DefaultDeliveryAddressTable' ) ;
	var sdt = document.getElementById( 'SpecialDeliveryAddressTable' ) ;
	var ddzcdd = GetNamedElement( 'DefaultDeliveryZipCode_DD' ) ;
	var ddzcndd = GetNamedElement( 'DefaultDeliveryZipCode_NDD' ) ;
	if( ddt != null && sdt != null ) {
		var delivery_option = GetSelectedRadio( 'DeliveryAddressOption', -1 ) ;
		if( delivery_option == 0 ) {
			ddt.style.display = 'inline' ;
			sdt.style.display = 'none' ;
			ndd = GetNamedElement( 'DefaultDeliveryZipCode_DD' ).value + ' d. ' + GetNamedElement( 'DefaultDeliveryZipCode_NDD' ).value ;
		} else if( delivery_option == 1 ) {
			ddt.style.display = 'none' ;
			sdt.style.display = 'inline' ;
			var v = VSCSM_RemoveSpaces( GetNamedElement( 'DeliveryZipCode' ).value ) ;
			if( !VSCSM_IsEmpty( v ) ) {
				ndd = GetNamedElement( 'DeliveryZipCode_DD' ).value + ' d. ' + GetNamedElement( 'DeliveryZipCode_NDD' ).value ;
			}
		} else {
			ddt.style.display = 'none' ;
			sdt.style.display = 'none' ;
		}
	} else {
		if( ddzcdd != null && ddzcndd != null ) {
			ndd = ddzcdd.value + ' d. ' + ddzcndd.value ;
		}
	}
	
	GetNamedElement( 'SBB_DeliveryDate' ).value = ndd ;

	var selection = '' ;
	var s = '' ;
	var recipes = document.getElementsByTagName( 'SELECT' ) ;
	for( var i = 0 ; i < recipes.length ; i++ ) {
		if( recipes[ i ].name.substring( 0, 7 ) == 'recipe_' ) {
			selection += s + recipes[ i ].value ;
			s = ',' ;
		}
	}
	recipes = document.getElementsByTagName( 'INPUT' ) ;
	for( var i = 0 ; i < recipes.length ; i++ ) {
		if( recipes[ i ].name.substring( 0, 7 ) == 'recipe_' ) {
			selection += s + recipes[ i ].value ;
			s = ',' ;
		}
	}
	GetNamedElement( 'SBB_TestSelection' ).value = selection ;

	SBB_ThisDelivery_Update() ;
	SBB_ThisDeliveryPrice() ;
	SBB_Discount_Update() ;
}

function AjustDeliveryForm_Validate() {
	var result = true ;
	
	VSCSM_ClearError( 'DeliveryAddressOption' ) ;
	VSCSM_ClearError( 'DeliveryCompanyName' ) ;
	VSCSM_ClearError( 'DeliveryFirstName' ) ;
	VSCSM_ClearError( 'DeliveryLastName' ) ;
	VSCSM_ClearError( 'DeliveryAddress' ) ;
	VSCSM_ClearError( 'DeliveryZipCode' ) ;
	VSCSM_ClearError( 'DeliveryComments' ) ;

/*	var total_recipes = 0 ;
	var recipes = document.getElementsByTagName( 'SELECT' ) ;
	for( var i = 0 ; i < recipes.length ; i++ ) {
		if( recipes[ i ].name.substring( 0, 7 ) == 'recipe_' ) {
			var num = parseInt( recipes[ i ].value.split( ':' ) ) ;
			total_recipes += num ;
		}
	}

	if( total_recipes == 0 ) {
		VSCSM_SetError( 'selection', document.getElementById( 'AjustDeliveryForm_Msg_1' ).innerHTML ) ;
		result = false ;
	}*/

	result &= VSCSM_CheckMandatory( 'DeliveryAddressOption', '1' ) ;

	var delivery_option = GetSelectedRadio( 'DeliveryAddressOption', -1 ) ;
	if( delivery_option == 1 ) {
		result &= VSCSM_CheckFieldLength( 'DeliveryCompanyName', 0, 64, '1' ) ;
		result &= VSCSM_CheckMandatory( 'DeliveryFirstName', '1' ) ;
		result &= VSCSM_CheckFieldLength( 'DeliveryFirstName', 0, 64, '2' ) ;
		result &= VSCSM_CheckMandatory( 'DeliveryLastName', '1' ) ;
		result &= VSCSM_CheckFieldLength( 'DeliveryLastName', 0, 64, '2' ) ;
		result &= VSCSM_CheckMandatory( 'DeliveryAddress', '1' ) ;
		result &= VSCSM_CheckFieldLength( 'DeliveryAddress', 0, 256, '2' ) ;
		result &= VSCSM_CheckMandatory( 'DeliveryZipCode', '1' ) ;
		result &= VSCSM_CheckRTForZipCode( 'DeliveryZipCode' ) ;
		result &= VSCSM_CheckFieldLength( 'DeliveryComments', 0, 4000, '1' ) ;
	}

	return( result ) ;
}

function GetNamedElement( name ) {
	var list = document.getElementsByName( name ) ;
	if( list.length > 0 ) {
		return( list[ 0 ] ) ;
	}
	return( null ) ;
}

function DeliveryCheckCodeForm_Validate() {
	var result = true ;
	
	VSCSM_ClearError( 'ZipCode' ) ;

	result &= VSCSM_CheckMandatory( 'ZipCode', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'ZipCode', 0, 4, '2' ) ;
	result &= VSCSM_CheckValidSymbols( 'ZipCode', '1234567890', '3' ) ;

	return( result ) ;
}

function DoDeliveryCheckCode() {
	if( DeliveryCheckCodeForm_Validate() ) {
		VSCSM_Exec( 'common', 'MDS_CheckZipCode', '' )
	}
}

function DeliverySendEmailForm_Validate() {
	var result = true ;

	VSCSM_ClearError( 'NotifyToEmail' ) ;

	result &= VSCSM_CheckMandatory( 'NotifyToEmail', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'NotifyToEmail', 0, 256, '2' ) ;
	result &= VSCSM_CheckEmail( 'NotifyToEmail', '3' ) ;

	return( result ) ;
}

function DoDeliverySendEmail() {
	if( DeliverySendEmailForm_Validate() ) {
		VSCSM_Exec( 'common', 'MDS_SubmitDeliveryNotify', '' )
	}
}

function ePayPaymentForm_Validate() {
	var result = true ;
	
	VSCSM_ClearError( 'CardNumber' ) ;
	VSCSM_ClearError( 'CVCCode' ) ;
	VSCSM_ClearError( 'ExpireMonth' ) ;
	VSCSM_ClearError( 'ExpireYear' ) ;

	result &= VSCSM_CheckMandatory( 'CardNumber', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'CardNumber', 14, 16, '2' ) ;
	result &= VSCSM_CheckValidSymbols( 'CardNumber', '1234567890', '3' ) ;
	result &= VSCSM_CheckMandatory( 'ExpireMonth', '1' ) ;
	result &= VSCSM_CheckMandatory( 'ExpireYear', '1' ) ;
	result &= VSCSM_CheckMandatory( 'CVCCode', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'CVCCode', 3, 3, '2' ) ;
	result &= VSCSM_CheckValidSymbols( 'CVCCode', '1234567890', '3' ) ;
	
	if( !result ) {
		alert( g_common_msg_error_alert ) ;
	}

	return( result ) ;
}

function MakePayment( amount, orderid, cardno, expm, expy, cvc, accept_url, decline_url ) {
	GetNamedElement( 'orderid' ).value = orderid ;
	GetNamedElement( 'amount' ).value = amount ;
	GetNamedElement( 'cardno' ).value = cardno ;
	GetNamedElement( 'expmonth' ).value = expm ;
	GetNamedElement( 'expyear' ).value = expy ;
	GetNamedElement( 'cvc' ).value = cvc ;
	GetNamedElement( 'accepturl' ).value = 'http://' + GetSiteHostAndPort() + '/' + orderid + accept_url ;
	GetNamedElement( 'declineurl' ).value = 'http://' + GetSiteHostAndPort() + '/' + orderid + decline_url ;
	//alert( 'amount='+amount+', orderid='+orderid+', cardno='+cardno+', expm='+expm+', expy='+expy+', cvc='+cvc+', accept_url='+GetNamedElement( 'accepturl' ).value+', decline_url='+GetNamedElement( 'declineurl' ).value ) ;
	document.forms[ 'payment' ].submit() ;
}

function DoSubscriptionPay() {
	if( ePayPaymentForm_Validate() ) {
		VSCSM_DisableControl( 'BETAL' ) ;
		MakePayment( GetNamedElement( 'TotalAmountValue' ).value, GetNamedElement( 'OrderIDValue' ).value
			, GetNamedElement( 'CardNumber' ).value, GetNamedElement( 'ExpireMonth' ).value
			, GetNamedElement( 'ExpireYear' ).value, GetNamedElement( 'CVCCode' ).value
			, '/abonnement_oprettet.html', '/Betaling_dankort_failed.html' ) ;
	}
}

function CancelSubscriptionForm_Validate() {
	var result = true ;

	VSCSM_ClearError( 'RegNumber' ) ;
	VSCSM_ClearError( 'KontoNumber' ) ;

	if( GetNamedElement( 'RegNumber' ) != null ) {
		result &= VSCSM_CheckMandatory( 'RegNumber', '1' ) ;
		result &= VSCSM_CheckFieldLength( 'RegNumber', 0, 4, '2' ) ;
		result &= VSCSM_CheckValidSymbols( 'RegNumber', '0123456789', '3' ) ;
	}

	if( GetNamedElement( 'KontoNumber' ) != null ) {
		result &= VSCSM_CheckMandatory( 'KontoNumber', '1' ) ;
		result &= VSCSM_CheckFieldLength( 'KontoNumber', 0, 10, '2' ) ;
		result &= VSCSM_CheckValidSymbols( 'KontoNumber', '0123456789', '3' ) ;
	}

	if( !result ) {
		alert( g_common_msg_error_alert ) ;
	}

	return( result ) ;
}

function DoCancelSubscription() {
	if( CancelSubscriptionForm_Validate() ) {
		VSCSM_Exec( 'common', 'MDS_CancelSubscribe', '' ) ;
	}
}

function CancelSubscriptionForm2_Validate() {
	var result = true ;

	VSCSM_ClearError( 'RegNumber' ) ;
	VSCSM_ClearError( 'KontoNumber' ) ;
	VSCSM_ClearError( 'ExitPoll_T1' ) ;
	VSCSM_ClearError( 'ExitPoll_T2' ) ;

	if( GetNamedElement( 'RegNumber' ) != null ) {
		result &= VSCSM_CheckFieldLength( 'RegNumber', 0, 4, '2' ) ;
		result &= VSCSM_CheckValidSymbols( 'RegNumber', '0123456789', '3' ) ;
	}

	if( GetNamedElement( 'KontoNumber' ) != null ) {
		result &= VSCSM_CheckFieldLength( 'KontoNumber', 0, 10, '2' ) ;
		result &= VSCSM_CheckValidSymbols( 'KontoNumber', '0123456789', '3' ) ;
	}

	result &= VSCSM_CheckFieldLength( 'ExitPoll_T1', 0, 4000, '1' ) ;
	result &= VSCSM_CheckFieldLength( 'ExitPoll_T2', 0, 4000, '1' ) ;

	if( !result ) {
		alert( g_common_msg_error_alert ) ;
	}

	return( result ) ;
}

function DoCancelSubscription2() {
	if( CancelSubscriptionForm2_Validate() ) {
		VSCSM_Exec( 'common', 'MDS_CancelSubscribe2', '' ) ;
	}
}

function SendTipACollegueForm_Validate() {
	var result = true ;
	
	VSCSM_ClearError( 'YourName' ) ;
	VSCSM_ClearError( 'YourEmail' ) ;
	VSCSM_ClearError( 'CollegueName' ) ;
	VSCSM_ClearError( 'CollegueEmail' ) ;
	VSCSM_ClearError( 'CompanyName' ) ;
	VSCSM_ClearError( 'ColleguePosition' ) ;
	VSCSM_ClearError( 'Message' ) ;

	result &= VSCSM_CheckFieldLength( 'YourName', 0, 64, '1' ) ;
	result &= VSCSM_CheckMandatory( 'YourEmail', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'YourEmail', 0, 256, '2' ) ;
	result &= VSCSM_CheckEmail( 'YourEmail', '3' ) ;
	result &= VSCSM_CheckMandatory( 'CollegueName', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'CollegueName', 0, 64, '2' ) ;
	result &= VSCSM_CheckMandatory( 'CollegueEmail', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'CollegueEmail', 0, 256, '2' ) ;
	result &= VSCSM_CheckEmail( 'CollegueEmail', '3' ) ;
	result &= VSCSM_CheckFieldLength( 'CompanyName', 0, 64, '1' ) ;
	result &= VSCSM_CheckFieldLength( 'ColleguePosition', 0, 64, '1' ) ;
	result &= VSCSM_CheckMandatory( 'Message', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'Message', 0, 4000, '2' ) ;

	return( result ) ;
}

function DoSendTipACollegue() {
	if( SendTipACollegueForm_Validate() ) {
		VSCSM_Exec( 'common', 'MDS_SendTipACollegue', '' ) ;
	}
}

function SendCompanyRequestForm_Validation() {
	var result = true ;
	
	VSCSM_ClearError( 'Name' ) ;
	VSCSM_ClearError( 'Email' ) ;
	VSCSM_ClearError( 'Phone' ) ;
	VSCSM_ClearError( 'Position' ) ;
	VSCSM_ClearError( 'RequestType' ) ;
	VSCSM_ClearError( 'Comments' ) ;

	result &= VSCSM_CheckMandatory( 'Name', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'Name', 0, 64, '2' ) ;
	result &= VSCSM_CheckMandatory( 'Email', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'Email', 0, 256, '2' ) ;
	result &= VSCSM_CheckEmail( 'Email', '3' ) ;
	result &= VSCSM_CheckMandatory( 'Phone', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'Phone', 0, 11, '2' ) ;
	result &= VSCSM_CheckValidSymbols( 'Phone', ' 0123456789', '3' ) ;
	result &= VSCSM_CheckMandatory( 'Position', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'Position', 0, 64, '2' ) ;
	result &= VSCSM_CheckMandatory( 'RequestType', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'Comments', 0, 4000, '1' ) ;

	return( result ) ;
}

function DoSendCompanyRequest() {
	if( SendCompanyRequestForm_Validation() ) {
		VSCSM_Exec( 'common', 'MDS_SendCompanyRequest', '' ) ;
	}
}

function UnsubscribeNewsletterForm_Validate() {
	var result = true ;
	
	VSCSM_ClearError( 'Email' ) ;

	result &= VSCSM_CheckMandatory( 'Email', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'Email', 0, 256, '2' ) ;
	result &= VSCSM_CheckEmail( 'Email', '3' ) ;

	return( result ) ;
}

function DoUnsubscribeNewsletter() {
	if( UnsubscribeNewsletterForm_Validate() ) {
		VSCSM_Exec( 'common', 'MDS_UnsubscribeNewsletter', '' ) ;
	}
}

function MDS_CAStatus_OnLoad() {
	var pause_selection = document.getElementById( 'PauseWeeks' ) ;
	if( pause_selection != null ) {
		if( pause_selection.value != '-1' ) {
		var opts = pause_selection.options ;
		if( opts != null && opts != 'undefined' ) {
			for( var i = opts.length - 1 ; i >= 0 ; i-- ) {
					if( opts[ i ].value == '-1' ) {
						pause_selection.removeChild( opts[ i ] ) ;
						break ;
					}
				}
			}
		}
	}
}

function MDS_CancelSubscriptionConfirmation_OnLoad() {
	var hdm = document.getElementById( 'HasDeliveryMessage' ) ;
	if( hdm != null ) {
		alert( hdm.innerHTML ) ;
	}
}

function EmployeeLogin_OnLoad() {
	var st = GetInteger( 'State_EmployeeLoginBox', 0 ) ;
	var celb = document.getElementById( 'EmployeeLoginBox' ) ;
	var celbe = document.getElementById( 'EmployeeLoginBox_Error' ) ;
	var cela = document.getElementById( 'EmployeeLogin_Accept' ) ;
	if( celb != null ) {
		celb.style.display = (st < 2?'':'none') ;
	}
	if( celbe != null ) {
		celbe.style.display = (st==1?'':'none') ;
	}
	if( cela != null ) {
		cela.style.display = (st==2?'':'none') ;
	}
}

function DoEmployeeLogin() {
	var pw_ctrl = document.getElementById( 'EmployeeLogin_Password' ) ;
	if( pw_ctrl != null ) {
		var pw = pw_ctrl.value ;
		if( !VSCSM_IsEmpty( pw ) ) {
			VSCSM_Exec( 'common', 'MDS_EmployeeLogin', pw ) ;
		} else {
			pw_ctrl.focus() ;
		}
	}
}
