function BankTransferInfoPage_Update() {
	SBB_Selection_Update() ;
	SBB_Price_Update() ;
	SBB_Discount_Update() ;
	SBB_Delivery_Update() ;
}

function BankTransferInfoPage_OnLoad() {
	BankTransferInfoPage_Update() ;
}

function SubscriptionConfirmPage_Update() {
	SBB_Selection_Update() ;
	SBB_Price_Update() ;
	SBB_Discount_Update() ;
	SBB_Delivery_Update() ;
}

function SubscriptionConfirmPage_OnLoad() {
	SubscriptionConfirmPage_Update() ;
}

function SubscriptionDankortPage_Update() {
	SBB_Selection_Update() ;
	SBB_Price_Update() ;
	SBB_Discount_Update() ;
	SBB_Delivery_Update() ;
}

function SubscriptionDankortPage_OnLoad() {
	SubscriptionDankortPage_Update() ;
}

function SubscriptionDankortFailedPage_Update() {
	SBB_Selection_Update() ;
	SBB_Price_Update() ;
	SBB_Discount_Update() ;
	SBB_Delivery_Update() ;
}

function SubscriptionDankortFailedPage_OnLoad() {
	SubscriptionDankortPage_Update() ;
}

function SubscriptionInfoPage_Update() {
	var box_sizes = document.getElementsByName( 'BoxSize' ) ;
	for( var i = 0 ; i < box_sizes.length ; i++ ) {
		if( box_sizes[ i ].checked ) {
			GetNamedElement( 'SBB_MealVariant' ).value = box_sizes[ i ].value ;
		}
	}
	var freqs = document.getElementsByName( 'DeliveryFrequence' ) ;
	GetNamedElement( 'SBB_DeliveryFreq' ).value = '' ;
	for( var i = 0 ; i < freqs.length ; i++ ) {
		if( freqs[ i ].checked ) {
			GetNamedElement( 'SBB_DeliveryFreq' ).value = freqs[ i ].value ;
		}
	}
	GetNamedElement( 'SBB_Meals' ).value = GetNamedElement( 'MealPerDelivery' ).value + ":" + GetNamedElement( 'MealPerDelivery' ).options[ GetNamedElement( 'MealPerDelivery' ).selectedIndex ].text ;

	SBB_Selection_Update() ;
	SBB_Price_Update() ;
	SBB_Discount_Update() ;

	var box_id = GetNamedElement( 'SBB_MealVariant' ).value.split( ':' )[ 0 ] ;
	var box_prices = GetNamedElement( 'BS_Prices' ) ;
	if( box_prices ) {
		var i ;
		var boxes = box_prices.value.split( ';' ) ;
		for( i = 0 ; i < boxes.length ; i++ ) {
			var prices = boxes[ i ].split( ',' ) ;
			var tmp1 = prices[ 0 ].split( '=' ) ;
			if( tmp1.length == 2 && box_id == tmp1[ 0 ] ) {
				var j ;
				prices[ 0 ] = tmp1[ 1 ] ;
				for( j = 0 ; j < prices.length ; j++ ) {
					var tmp2 = prices[ j ].split( ':' ) ;
					var cuisine_price = document.getElementById( 'CuisinesListSelection' + tmp2[ 0 ] + '_price' ) ;
					if( cuisine_price ) {
						cuisine_price.innerHTML = tmp2[ 1 ] + ',00 kr. pr. middagspakke' ;
					}
				}
				break ;
			}
		}
	}
}

function SubscriptionInfoPage_OnLoad() {
	SubscriptionInfoPage_Update() ;
	VSCSM_ErrorAlert() ;
}

function SubscriptionInfoPage_OnDCChanged() {
	VSCSM_ClearError( 'DiscountCode' ) ;
	var discode = GetNamedElement( 'DiscountCode' ).value ;
	if( !VSCSM_IsEmpty( discode ) ) {
		var res = LoadDiscountInfoByCode( discode ) ;
		if( res == -2 ) {
			VSCSM_SetError( 'DiscountCode', document.getElementById( 'SBB_DiscountBox_Msg_6' ).innerHTML ) ;
		} else if( res == -1 ) {
			VSCSM_SetError( 'DiscountCode', document.getElementById( 'SBB_DiscountBox_Msg_1' ).innerHTML ) ;
		} else if( res == 0 ) {
			VSCSM_SetError( 'DiscountCode', document.getElementById( 'SBB_DiscountBox_Msg_2' ).innerHTML ) ;
		} else {
			VSCSM_SetError( 'DiscountCode', '' ) ;
		}
	} else {
		ClearCodeDiscount() ;
	}
	SubscriptionInfoPage_Update() ;
}

function SubscriptionInfoPage_Validate() {
	var result = true ;
	
	VSCSM_ClearError( 'BoxSize' ) ;
	VSCSM_ClearError( 'MealPerDelivery' ) ;
	VSCSM_ClearError( 'DeliveryFrequence' ) ;
	VSCSM_ClearError( 'CuisinesListSelection' ) ;
	VSCSM_ClearError( 'DiscountCode' ) ;

	result &= VSCSM_CheckMandatory( 'BoxSize', '1' ) ;
	result &= VSCSM_CheckMandatory( 'MealPerDelivery', '1' ) ;
	result &= VSCSM_CheckMandatory( 'DeliveryFrequence', '1' ) ;
	result &= VSCSM_CheckMandatory( 'CuisinesListSelection', '1' ) ;
	result &= VSCSM_CheckFieldLength( 'DiscountCode', 0, 12, '1' ) ;

	var cnt = VSCSM_SelectionCount( 'CuisinesListSelection' ) ;
	var meals = parseInt( GetNamedElement( 'MealPerDelivery' ).value ) ;
	if( meals > cnt ) {
		VSCSM_SetError( 'MealPerDelivery', VSCSM_GetControlErrorMessage( 'MealPerDelivery', 'ex1', '' ) ) ;
		result = false ;
	}

	if( !result ) {
		alert( g_common_msg_error_alert ) ;
	}

	return( result ) ;
}

function DoSaveSubscriptionInfo() {
	var order_state = GetInteger( 'current_order_state' ) ;
	if( order_state == 1 ) {
		alert( document.getElementById( 'msg_subscription_1' ).innerHTML ) ;
	}
	if( order_state == 2 ) {
		alert( document.getElementById( 'msg_subscription_2' ).innerHTML ) ;
	}
	if( order_state == 3 ) {
		alert( document.getElementById( 'msg_subscription_3' ).innerHTML ) ;
	}
	if( SubscriptionInfoPage_Validate() ) {
		VSCSM_Exec( 'common', 'MDS_SaveSubscriptionData', '' ) ;
	}
}

function PersonalDataPage_Update() {
	var did = GetNamedElement( 'DeliveryIsDifferent' ) ;
	var dvc = document.getElementById( 'DeliveryViaCompany' ) ;
	var dat = document.getElementById( 'DeliveryAddressTable' ) ;
	var hcn = document.getElementById( 'HasCVRNumber' ) ;
	var cnt = document.getElementById( 'CVRNumberTable' ) ;
	var cmt = document.getElementById( 'CompanyNameTable' ) ;
	var lkt = document.getElementById( 'LockedKeyInfoTable' ) ;
	dvc.style.display = 'none' ; 
	dat.style.display = 'none' ;
	hcn.style.display = 'none' ;
	cnt.style.display = 'none' ;
	cmt.style.display = 'none' ;
	lkt.style.display = 'none' ;
	GetNamedElement( 'SBB_DeliveryZipCode' ).value = '' ;
	GetNamedElement( 'SBB_DeliveryDate' ).value = '' ;
	if( did.checked ) {
		// delivery address is different

		//MI@TODO: removing company address
		document.getElementById( 'DeliveryViaCompany_2' ).checked = true;
		//dvc.style.display = 'inline' ;
		
		if( document.getElementById( 'DeliveryViaCompany_1' ).checked ) {
			// delivery via company
			hcn.style.display = 'inline' ;
			if( document.getElementById( 'HasCVRNumber_1' ).checked ) {
				cnt.style.display = 'inline' ;
				var cai = document.getElementsByName( 'CompanyAddressIDEx' ) ;
				if( cai != null ) {
					for( var i = 0 ; i < cai.length ; i++ ) {
						if( cai[ i ].checked ) {
							var s = cai[ i ].value.split( ':' ) ;
							GetNamedElement( 'CompanyAddressID' ).value = s[ 0 ] ;
							GetNamedElement( 'SBB_DeliveryZipCode' ).value = s[ 1 ] + ':' + s[ 2 ] ;
							GetNamedElement( 'SBB_DeliveryDate' ).value = s[ 3 ] + ':' + s[ 4 ] ;
							break ;
						}
					}
				}
			} else if( document.getElementById( 'HasCVRNumber_2' ).checked ) {
				cmt.style.display = 'inline' ;
			}
		} else if( document.getElementById( 'DeliveryViaCompany_2' ).checked ) {
			// delivery address is different
			dat.style.display = 'inline' ;
			GetNamedElement( 'SBB_DeliveryZipCode' ).value = GetNamedElement( 'DeliveryZipCode' ).value + ':' + GetNamedElement( 'DeliveryZipCode_City' ).value ;
			GetNamedElement( 'SBB_DeliveryDate' ).value = GetNamedElement( 'DeliveryZipCode_DD' ).value + ':' + GetNamedElement( 'DeliveryZipCode_NDD' ).value ;
		}
	} else {
		GetNamedElement( 'SBB_DeliveryZipCode' ).value = GetNamedElement( 'ZipCode' ).value + ':' + GetNamedElement( 'ZipCode_City' ).value ;
		GetNamedElement( 'SBB_DeliveryDate' ).value = GetNamedElement( 'ZipCode_DD' ).value + ':' + GetNamedElement( 'ZipCode_NDD' ).value ;
	}
	if( document.getElementById( 'DoorIsLocked_1' ).checked ) {
		lkt.style.display = 'inline' ;
		GetNamedElement( 'SBB_DeliveryDoorLocked' ).value = 'True' ;
	} else {
		GetNamedElement( 'SBB_DeliveryDoorLocked' ).value = 'False' ;
	}

	SBB_Selection_Update() ;
	SBB_Price_Update() ;
	SBB_Discount_Update() ;
	SBB_Delivery_Update() ;
}

function PersonalDataPage_OnLoad() {
	var cvrnumber = VSCSM_RemoveSpaces( GetNamedElement( 'CVRNumber' ).value ) ;
	if( !VSCSM_IsEmpty( cvrnumber ) ) {
		CheckCVR( cvrnumber ) ;
	}
	MDS_LoadZipCode( 'DeliveryZipCode' ) ;
	MDS_LoadZipCode( 'ZipCode' ) ;
	PersonalDataPage_Update() ;
	VSCSM_ErrorAlert() ;

	SetDefaultPaymentMethod();	
}

function PersonalDataPage_OnCVRNumber() {
	var result = true ;
	VSCSM_ClearError( 'CVRNumber' ) ;

	result &= VSCSM_CheckMandatory( 'CVRNumber', '1' ) ;
	result &= VSCSM_CheckFieldLengthWS( 'CVRNumber', 8, 8, '2' ) ;
	result &= VSCSM_CheckValidSymbols( 'CVRNumber', ' 1234567890', '3' ) ;
	
	if( result ) {
		var cvr = VSCSM_RemoveSpaces( GetNamedElement( 'CVRNumber' ).value ) ;
		var res = CheckCVR( cvr ) ;
		if( res == 0 ) {
			document.getElementById( 'CVRNumber_Wrong' ).style.display = 'inline' ;
		} else {
			document.getElementById( 'CVRNumber_Wrong' ).style.display = 'none' ;
		}
		PersonalDataPage_Update() ;
	} else {
		GetNamedElement( 'CVRNumber' ).focus() ;
	}
}

function PersonalDataPage_Validate() {
	var result = true ;
	VSCSM_ClearError( 'PaymentType' ) ;

	result &= PersonalData_Validate() ;
	var el = document.getElementById( 'SubscriptionMethodSelection_2' ) ;
	if (el.checked) {
		result &= VSCSM_CheckMandatory( 'PaymentType', '1' ) ;
	}
	if( !result ) {
		alert( g_common_msg_error_alert ) ;
	}
	else {
		if (!document.getElementById("chkTerms").checked) {
			alert(document.getElementById("lblValidationMsg1").innerHTML);
			result &= false;
		}
	}

	return( result ) ;
}
