#=============================================================================================
# @TITLE			Configuration - Log Mode
#
# @NUMBER			WDBM_FKT_02053
#
# @DESCRIPTION		The for 'Server - Check' will be used and the shown table will be checked.
#
# @EXP_RESULT		
#
# @REQUIREMENTS		Test: WDBM_FKT_01000; WDBM_FKT_00100; WDBM_FKT_01010;
#=============================================================================================

public function trim (in str) {
	if (substr(str, 1, 1) == " ") {

		str = trim(substr(str, 2));
	}
	if (substr(str, length(str)) == " ") {
		str = trim(substr(str, 1, length(str)-1));
	}
	return (str);
} 

static header_items_ok = 1;
static header_items [] = {"Name","Size","Type","Location","Mirrored Location","Mirror Type"};
#=============================================================================================
# @STEP 1			Clicking the link for Configuration - Log Mode.
#=============================================================================================
set_window(menu_window, 1);
web_link_click("Log Mode");
wait(5);

set_window (work_window, 1);
if (new_interface == "1") {
	web_obj_get_text ("Information - CACHES - DB73", "#1", "#1", cell_value_1, "", "", 1);
} else {
	tbl_get_cell_data ("Database/Servername", "#1", "#1", cell_value_1);
}

if ((cell_value_1 == "Configuration - Log Mode" && version == "7.3.00") ||
	(cell_value_1 == "Configuration - Log Mode" && (version == "7.4.03" || version == "7.5.00" || version == "7.5.01" || version == "7.6.00"))) {
	tl_step("Title of window - '" & cell_value & "'","0","is correct");
} else {
	tl_step("Title of window - '" & cell_value & "'","1","is incorrect");
}
#=============================================================================================
# @STEP 2			Checking all items and values.
#=============================================================================================
if (version == "7.3.00") {
#=============================================================================================
# @STEP 3			For version 7.3.00.
#=============================================================================================	
	set_window(work_window, 1);
	tbl_get_cell_data("1x1_2","#2","#2",cell_value_1);
	
	if (cell_value_1 == "DUAL") {
	
		button_get_state("NewLogMode",value_1);
		button_get_info("NewLogMode","enabled",value_2);
		button_get_state("NewLogMode_1",value_3);
		button_get_info("NewLogMode_1","enabled",value_4);
		
		tbl_get_cell_data("1x1_3","#2","#3",cell_value_2);
		tbl_get_cell_data("1x1_3","#3","#3",cell_value_3);
	
		if (value_1 == 0 &&
			value_2 == 1 0 &&
			value_3 == 0 &&
			value_4 == 1 &&
		   	cell_value_2 == "SINGLE" &&
		   	cell_value_3 == "DUAL/DEMO") {
			
			tl_step("Log Mode 'DUAL' - Items check","0","all expected is displayed well");
		} else {
			tl_step("Log Mode 'DUAL' - Items check","1","not all expected is displayed well");
		}
	}
	#=============================================================================================
	# @STEP 3.1			Log Mode will be changed to 'DUAL/DEMO'.
	#=============================================================================================
	set_window(work_window, 1);
	button_set("NewLogMode_1",ON);
	web_sync(12);
	web_link_click("Change LogMode");
	wait(5);
	#=============================================================================================
	# @STEP 3.2			Checking all items and values.
	#=============================================================================================
	set_window(work_window, 1);
	tbl_get_cell_data("1x1_2","#2","#2",cell_value_4);
	
	if (cell_value_4 == "DUAL/DEMO") {
	
		tl_step("Log Mode changed to 'DUAL/DEMO'","0","done as expected");
		
		button_get_state("NewLogMode",value_5);
		button_get_info("NewLogMode","enabled",value_6);
		
		L_RC_1 = obj_exists("NewLogMode_1",0);
		
		tbl_get_cell_data("1x1_3","#2","#3",cell_value_5);
	
		if (value_5 == 0 &&
			value_6 == 1 && 
		  	L_RC_1 != 0 &&
		   	cell_value_5 == "DUAL") {
			
			tl_step("Log Mode 'DUAL/DEMO' - Items check","0","all expected is displayed well");
		} else {
			tl_step("Log Mode 'DUAL/DEMO' - Items check","1","not all expected is displayed well");
		}
	} else {
		tl_step("Log Mode changed to 'DUAL/DEMO'","1","not done - not expected");
	}
	#=============================================================================================
	# @STEP 3.3			Log Mode will be changed to 'DUAL'.
	#=============================================================================================
	set_window(state_window,72);
	web_link_click("Admin");
	
	for (i=0;i<100;i++) {
	
		if(obj_exists("Admin",0) == 0) {
			wait(5);
		} else {
			break;
		}
	}
	set_window(menu_window,2);
	web_link_click("Complete");
	wait(3);
	set_window(work_window,17);
	web_link_click("medium");
	web_sync(4);
	web_link_click("Start");
	
	for (i=0;i<100;i++) {
	
		if(obj_exists("Close",0) == 0) {
			break;
		} else {
			wait(5);
		}
	}
	
	set_window(state_window,5);
	web_link_click("Online");
	
	for (i=0;i<100;i++) {
	
		if(obj_exists("Online",0) == 0) {
			wait(5);
		} else {
			break;
		}
	}
	
	set_window(menu_window,3);
	web_link_click("Log Mode");
	wait(3);
	#=============================================================================================
	# @STEP 3.4			Checking all items and values.
	#=============================================================================================
	set_window(work_window, 1);
	tbl_get_cell_data("1x1_2","#2","#2",cell_value_1);
	
	if (cell_value_1 == "DUAL") {
	
		button_get_state("NewLogMode",value_1);
		button_get_info("NewLogMode","enabled",value_2);
		button_get_state("NewLogMode_1",value_3);
		button_get_info("NewLogMode_1","enabled",value_4);
		
		tbl_get_cell_data("1x1_3","#2","#3",cell_value_2);
		tbl_get_cell_data("1x1_3","#3","#3",cell_value_3);
	
		if (value_1 == 0 &&
			value_2 == 1 &&
			value_3 == 0 &&
			value_4 == 1 &&
		   	cell_value_2 == "SINGLE" &&
			cell_value_3 == "DUAL/DEMO") {
		   
			tl_step("Log Mode 'DUAL' - Items check","0","all expected is displayed well");
		} else {
			tl_step("Log Mode 'DUAL' - Items check","1","not all expected is displayed well");
		}
	}
	#=============================================================================================
	# @STEP 3.5			Log Mode will be changed to 'SINGLE'.
	#=============================================================================================
	set_window(work_window, 1);
	button_set("NewLogMode",ON);
	web_sync(12);
	web_link_click("Change LogMode");
	wait(60);
	#=============================================================================================
	# @STEP 3.6			Checking all items and values.
	#=============================================================================================
	set_window(work_window, 1);
	tbl_get_cell_data("1x1_2","#2","#2",cell_value_6);
	
	if(cell_value_6 == "SINGLE") {
	
		tl_step("Log Mode changed to 'SINGLE'","0","done as expected");
		
		button_get_state("NewLogMode",value_7);
		button_get_info("NewLogMode","enabled",value_8);
		button_get_state("NewLogMode_1",value_9);
		button_get_info("NewLogMode_1","enabled",value_10);
		
		tbl_get_cell_data("1x1_3","#2","#3",cell_value_7);
		tbl_get_cell_data("1x1_3","#3","#3",cell_value_8);
	
		if (value_7 == 0 &&
			value_8 == 1 && 
			value_9 == 0 &&
			value_10 == 1 &&
		   	cell_value_7 == "DUAL" &&
		   	cell_value_8 == "SINGLE/DEMO") {
			
			tl_step("Log Mode 'SINGLE' - Items check","0","all expected is displayed well");
		} else {
			tl_step("Log Mode 'SINGLE' - Items check","1","not all expected is displayed well");
		}
	} else {
		tl_step("Log Mode changed to 'SINGLE'","1","not done - not expected");
	}
	#=============================================================================================
	# @STEP 3.7			Log Mode will be changed to 'SINGLE/DEMO'.
	#=============================================================================================
	set_window(work_window, 1);
	button_set("NewLogMode_1",ON);
	web_sync(12);
	web_link_click("Change LogMode");
	wait(5);
	#=============================================================================================
	# @STEP 3.8			Checking all items and values.
	#=============================================================================================
	set_window(work_window, 1);
	tbl_get_cell_data("1x1_2","#2","#2",cell_value_4);
	
	if (cell_value_4 == "SINGLE/DEMO") {
	
		tl_step("Log Mode changed to 'SINGLE/DEMO'","0","done as expected");
		
		button_get_state("NewLogMode",value_5);
		button_get_info("NewLogMode","enabled",value_6);
		
		L_RC_1 = obj_exists("NewLogMode_1",0);
		
		tbl_get_cell_data("1x1_3","#2","#3",cell_value_5);
	
		if (value_5 == 0 &&
			value_6 == 1 && 
		   	L_RC_1 != 0 &&
		   	cell_value_5 == "SINGLE") {
			
			tl_step("Log Mode 'SINGLE/DEMO' - Items check","0","all expected is displayed well");
		} else {
			tl_step("Log Mode 'SINGLE/DEMO' - Items check","1","not all expected is displayed well");
		}
	} else {
		tl_step("Log Mode changed to 'SINGLE/DEMO'","1","not done - not expected");
	}
	#=============================================================================================
	# @STEP 3.9			Log Mode will be changed to 'SINGLE'.
	#=============================================================================================
	set_window(state_window,72);
	web_link_click("Admin");
	
	for(i=0;i<100;i++) {
	
		if(obj_exists("Admin",0) == 0) {
			wait(5);
		} else {
			break;
		}
	}
	set_window(menu_window,2);
	web_link_click("Complete");
	wait(3);
	set_window(work_window,17);
	web_link_click("medium");
	web_sync(4);
	web_link_click("Start");
	
	for(i=0;i<100;i++) {
	
		if(obj_exists("Close",0) == 0) {
			break;
		} else {
			wait(5);
		}
	}
	
	set_window(state_window,5);
	web_link_click("Online");
	
	for(i=0;i<100;i++) {
	
		if(obj_exists("Online",0) == 0) {
			wait(5);
		} else {
			break;
		}
	}
	
	set_window(menu_window,3);
	web_link_click("Log Mode");
	wait(3);
	#=============================================================================================
	# @STEP 3.10		Checking all items and values.
	#=============================================================================================
	set_window(work_window, 1);
	tbl_get_cell_data("1x1_2","#2","#2",cell_value_1);
	
	if(cell_value_1 == "SINGLE") {
	
		tl_step("Log Mode changed to 'SINGLE'","0","done as expected");
		
		button_get_state("NewLogMode",value_1);
		button_get_info("NewLogMode","enabled",value_2);
		button_get_state("NewLogMode_1",value_3);
		button_get_info("NewLogMode_1","enabled",value_4);
		
		tbl_get_cell_data("1x1_3","#2","#3",cell_value_2);
		tbl_get_cell_data("1x1_3","#3","#3",cell_value_3);
	
		if (value_1 == 0 &&
			value_2 == 1 &&
			value_3 == 0 &&
			value_4 == 1 &&
		   	cell_value_2 == "DUAL" &&
			cell_value_3 == "SINGLE/DEMO") {
			
			tl_step("Log Mode 'SINGLE' - Items check","0","all expected is displayed well");
		} else {
			tl_step("Log Mode 'SINGLE' - Items check","1","not all expected is displayed well");
		}
	} else {
		tl_step("Log Mode changed to 'SINGLE'","0","done as expected");
	}
	#=============================================================================================
	# @STEP 3.11		Log Mode will be changed to 'SINGLE'.
	#=============================================================================================
	set_window(work_window, 1);
	button_set("NewLogMode",ON);
	web_sync(12);
	set_window(work_window, 1);
	web_link_click("LOG001");
	web_sync(8);
	edit_set("MLocation","MLOG_001");
	web_link_click("OK");
	wait(3);
	web_link_click("Change LogMode");
	wait(60);
	
	set_window(work_window, 1);
	if (obj_exists("OK",0) == 0) {
		web_link_click("OK");
		wait(3);
		
		tl_step("Error occured in Step 'SINGLE --> DUAL'","1","");
	}
	#=============================================================================================
	# @STEP 3.12		Checking all items and values.
	#=============================================================================================
	set_window(work_window, 1);
	tbl_get_cell_data("1x1_2","#2","#2",cell_value_6);
	
	if(cell_value_6 == "DUAL") {
	
		tl_step("Log Mode changed to 'DUAL'","0","done as expected");
		
		button_get_state("NewLogMode",value_7);
		button_get_info("NewLogMode","enabled",value_8);
		button_get_state("NewLogMode_1",value_9);
		button_get_info("NewLogMode_1","enabled",value_10);
		
		tbl_get_cell_data("1x1_3","#2","#3",cell_value_7);
		tbl_get_cell_data("1x1_3","#3","#3",cell_value_8);
	
		if (value_7 == 0 &&
			value_8 == 1 &&
			value_9 == 0 &&
			value_10 == 1 &&
		   	cell_value_7 == "SINGLE" &&
			cell_value_8 == "DUAL/DEMO") {
			
			tl_step("Log Mode 'DUAL' - Items check","0","all expected is displayed well");
		} else {
			tl_step("Log Mode 'DUAL' - Items check","1","not all expected is displayed well");
		}
	} else {
		tl_step("Log Mode changed to 'DUAL'","1","not done - not expected");
	}
#=============================================================================================
# @STEP 4			For all versions but 7.3.00
#=============================================================================================
} else {
	set_window(work_window, 1);
	
	if (new_interface == 1) {
		web_obj_get_text ("Information - CACHES - DB73", "#1","#1", cell_value_2, "", "", 1);
	} else {
		web_obj_get_text ("Configuration - Log Mode", "#1", "#1", cell_value_2, "", "", 1);
	}
	
	if (trim(cell_value_2) == "Configuration - Log Mode") {
	
		tl_step ("Configuration - Log Mode", "0", "Header of work window is correct");
		#=============================================================================================
		# @STEP 4.1			Checking link 'Information - Log Area'.
		#=============================================================================================
		set_window(work_window, 1);
		web_link_click("Information - Log Area");
		set_window(work_window, 1);
		
		if (new_interface == 1) {
			web_obj_get_text ("Information - CACHES - DB73", "#1","#1", cell_value_3, "", "", 1);
		} else {
			web_obj_get_text ("Configuration - Log Mode", "#1", "#1", cell_value_3, "", "", 1);
		}
		
		if (trim(cell_value_3) == "Information - Log Area") {
			tl_step ("Information - Log Area", "0", "Header of work window is correct");
		} else {
			tl_step ("Information - Log Area", "1", "Header of work window is incorrect");
		}
	} else {
		tl_step ("Configuration - Log Mode", "1", "Header of work window is incorrect"); 
	}
}
