// ************* Screen size ****
var map = null;
var GLOBAL_V_Screen_Width = 0, GLOBAL_V_Screen_Height = 0;
var browser_nonIE = false;
var browser_IE6plus = false;
var browser_IE4 = false;
var v_LEFT_PANES_X = 0;
var v_RIGHT_PANES_X = 0;
var v_MAX_VEH_HIDER_WIDTH = 271;
var b_HIDE_G_LOGO_AND_OVCONTROL = false;

function on_load_A(b) {
	b_HIDE_G_LOGO_AND_OVCONTROL = b;
	if( typeof( window.innerWidth ) == 'number' ) {
		browser_nonIE = true;
	} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		browser_IE6plus = true;
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		browser_IE4 = true;
	}
	workout_screen_size();
}
function on_load_Y() {	// Allows indivual jsp to hold it's own on_load_Z() after this has been called.
	workout_screen_size();
	menu_tab_hit();
}
function workout_screen_size(){
	if(browser_nonIE) {
	  GLOBAL_V_Screen_Width = window.innerWidth;
	  GLOBAL_V_Screen_Height = window.innerHeight;
	} else if(browser_IE6plus) {
	  GLOBAL_V_Screen_Width = document.documentElement.clientWidth;
	  GLOBAL_V_Screen_Height = document.documentElement.clientHeight;
	} else if(browser_IE4) {
	  GLOBAL_V_Screen_Width = document.body.clientWidth;
	  GLOBAL_V_Screen_Height = document.body.clientHeight;
	}
	try{
	 if (b_HIDE_G_LOGO_AND_OVCONTROL) {
	   document.getElementById("map").style.width = (GLOBAL_V_Screen_Width-v_LEFT_PANES_X-v_RIGHT_PANES_X) + "px";
	   document.getElementById("map").style.height = (GLOBAL_V_Screen_Height+34) + "px";
	 } else {
	   document.getElementById("map").style.width = (GLOBAL_V_Screen_Width-v_LEFT_PANES_X-v_RIGHT_PANES_X) + "px";
	   document.getElementById("map").style.height = GLOBAL_V_Screen_Height + "px";
	   if (document.getElementById('TrafficTickerCheckbox').checked == true)
		document.getElementById("map").style.height = (GLOBAL_V_Screen_Height-20) + "px";	
	 }
	}catch(e){}
	try{map.checkResize();}catch(e){}
	try{
	 document.getElementById("vehListHider").style.height = GLOBAL_V_Screen_Height + "px";
	 document.getElementById("vehListOuterDiv").style.height = GLOBAL_V_Screen_Height-105 + "px";
	}catch(e){}
	try{
	 document.getElementById("rightSideHider").style.height = GLOBAL_V_Screen_Height + "px";
	 document.getElementById("rightSideOuterDiv").style.height = GLOBAL_V_Screen_Height-105 + "px";
	}catch(e){}
	if (GLOBAL_V_Screen_Width > 850) {
		m_show_by_id('mmAppLogo');
	} else {
		m_hide_by_id('mmAppLogo');
	}
}

// ************* Main Menu ****
var v_m_topBar;
var v_m_topBar_top = -75;
var v_m_t_ID;
function menu_tab_hit(){
	v_m_topBar = document.getElementById("m_i_top_bar").style;
	if (v_m_topBar_top == 0) {
		// shrink
		document.getElementById("m_i_chev").src= "Images/m_i_tag_0.png";
		v_m_t_ID = window.setInterval("change_object_top(-75, 0, -10)",20);
	} else if (v_m_topBar_top == -75) { /* if neither 0 or -75 then its in mid flow so user can wait otherwise it breaks */
		// expand
		document.getElementById("m_i_chev").src= "Images/m_i_tag_1.png";
		v_m_t_ID = window.setInterval("change_object_top(-75, 0, 10)",20);
	}
}
function force_menu_tab_hide() {
	if (v_m_topBar_top == 0) {
		menu_tab_hit();
	}
}
function change_object_top(min, max, v){
	v_m_topBar_top = v_m_topBar_top + v;
	if (v_m_topBar_top <= min) {
		v_m_topBar_top = min;
		window.clearInterval(v_m_t_ID);
	} else if (v_m_topBar_top >= max) {
		v_m_topBar_top = max;
		window.clearInterval(v_m_t_ID);
	}
	v_m_topBar.top = v_m_topBar_top+"px";
	try{ GLOBAL_calling_page_on_size_funct(); }catch(e){}
}

// ************* Left Side Menu (Vehicle Tab) ****
var v_m_leftBar;
var v_v_tab;
var v_v_Id;
function GLOBAL_F_veh_tab_hit(){
	m_close_options('1');
	v_m_leftBar = document.getElementById("vehListHider").style;
	v_v_tab = document.getElementById("vehicle_list_tab").style;
	if (v_LEFT_PANES_X == v_MAX_VEH_HIDER_WIDTH) {
		// shrink
		document.getElementById("map").style.width = (GLOBAL_V_Screen_Width-v_RIGHT_PANES_X) + "px";
		document.getElementById("map").style.left = "0px";
		document.getElementById("m_v_chev").src= "Images/m_v_tag_0.png";
		v_v_Id = window.setInterval("change_object_left(-30)",30);
		try{map.checkResize();}catch(e){}
	} else if (v_LEFT_PANES_X == 0) { /* if neither 0 or v_MAX_VEH_HIDER_WIDTH then its in mid flow so user can wait otherwise it breaks */
		// expand, but first move the map to the right along with the vehicle tab
		document.getElementById("m_v_chev").src= "Images/m_v_tag_1.png";
		v_v_Id = window.setInterval("change_object_left(30)",30);
	}
}
function GLOBAL_F_Force_veh_tab(extend){
	if ((v_LEFT_PANES_X == v_MAX_VEH_HIDER_WIDTH && !extend) || 
	    (v_LEFT_PANES_X == 0 && extend))
	{	GLOBAL_F_veh_tab_hit(); }
}
function change_object_left(v){
	v_LEFT_PANES_X = v_LEFT_PANES_X + v;
	if (v_LEFT_PANES_X <= 0) {
		v_LEFT_PANES_X = 0;
		window.clearInterval(v_v_Id);
	} else if (v_LEFT_PANES_X >= v_MAX_VEH_HIDER_WIDTH) {
		v_LEFT_PANES_X = v_MAX_VEH_HIDER_WIDTH;
		window.clearInterval(v_v_Id);
		document.getElementById("map").style.width = (GLOBAL_V_Screen_Width-v_MAX_VEH_HIDER_WIDTH-v_RIGHT_PANES_X) + "px";
		document.getElementById("map").style.left = v_MAX_VEH_HIDER_WIDTH + "px";
		try{map.checkResize();}catch(e){}
	}
	v_m_leftBar.width = v_LEFT_PANES_X+"px";
	v_v_tab.left = v_LEFT_PANES_X+"px";
	try{ GLOBAL_calling_page_on_size_funct(); }catch(e){}
}

// ************* Right Side Panel  ****
var v_m_rightBar;
var v_rs_tab;
var v_rs_Id;
function GLOBAL_F_rhs_tab_hit(){
	m_close_options('1');
	v_m_rightBar = document.getElementById("rightSideHider").style;
	v_rs_tab = document.getElementById("right_side_tab").style;
	if (v_RIGHT_PANES_X == v_MAX_VEH_HIDER_WIDTH) {
		// shrink
		document.getElementById("map").style.width = (GLOBAL_V_Screen_Width-v_LEFT_PANES_X) + "px";
		document.getElementById("m_rs_chev").src= "Images/m_v_tag_1.png";
		v_rs_Id = window.setInterval("change_object_right(-30)",30);
		try{map.checkResize();}catch(e){}
	} else if (v_RIGHT_PANES_X == 0) { /* if neither 0 or v_MAX_VEH_HIDER_WIDTH then its in mid flow so user can wait otherwise it breaks */
		// expand, but first move the map to the right along with the vehicle tab
		document.getElementById("m_rs_chev").src= "Images/m_v_tag_0.png";
		v_rs_Id = window.setInterval("change_object_right(30)",30);
	}
}
function GLOBAL_F_Force_rhs_tab(extend){
	if ((v_RIGHT_PANES_X == v_MAX_VEH_HIDER_WIDTH && !extend) || 
	    (v_RIGHT_PANES_X == 0 && extend))
	{	GLOBAL_F_rhs_tab_hit(); }
}
function change_object_right(v){
	v_RIGHT_PANES_X = v_RIGHT_PANES_X + v;
	if (v_RIGHT_PANES_X <= 0) {
		v_RIGHT_PANES_X = 0;
		window.clearInterval(v_rs_Id);
	} else if (v_RIGHT_PANES_X >= v_MAX_VEH_HIDER_WIDTH) {
		v_RIGHT_PANES_X = v_MAX_VEH_HIDER_WIDTH;
		window.clearInterval(v_rs_Id);
		document.getElementById("map").style.width = (GLOBAL_V_Screen_Width-v_MAX_VEH_HIDER_WIDTH-v_LEFT_PANES_X) + "px";
		try{map.checkResize();}catch(e){}
	}
	v_m_rightBar.width = v_RIGHT_PANES_X+"px";
	v_rs_tab.right = v_RIGHT_PANES_X+"px";
	try{ GLOBAL_calling_page_on_size_funct(); }catch(e){}
}

// ************* Left Side OPAQUE ****
var v_LEFT_OPAQUE_X = 0;
function GLOBAL_F_lhs_opaque_tab_hit(){
	m_close_options('1');
	v_m_leftBar = document.getElementById("vehListHider").style;
	v_v_tab = document.getElementById("vehicle_list_tab").style;
	if (v_LEFT_OPAQUE_X == v_MAX_VEH_HIDER_WIDTH) { // shrink
		document.getElementById("m_v_chev").src= "Images/m_v_tag_0.png";
		v_v_Id = window.setInterval("change_opaque_obj_left(-30)",30);
	} else if (v_LEFT_OPAQUE_X == 0) { /* if neither 0 or v_MAX_VEH_HIDER_WIDTH then its in mid flow so user can wait otherwise it breaks */
		document.getElementById("m_v_chev").src= "Images/m_v_tag_1.png";
		v_v_Id = window.setInterval("change_opaque_obj_left(30)",30);
	}
}
function change_opaque_obj_left(v){
	v_LEFT_OPAQUE_X += v;
	if (v_LEFT_OPAQUE_X <= 0) {
		v_LEFT_OPAQUE_X = 0;
		window.clearInterval(v_v_Id);
	} else if (v_LEFT_OPAQUE_X >= v_MAX_VEH_HIDER_WIDTH) {
		v_LEFT_OPAQUE_X = v_MAX_VEH_HIDER_WIDTH;
		window.clearInterval(v_v_Id);
	}
	v_m_leftBar.width = v_LEFT_OPAQUE_X+"px";
	v_v_tab.left = v_LEFT_OPAQUE_X+"px";
}


// ************* Options etc ****
function m_close_options(id) {
	try{ document.getElementById('m_main_options_box'+id).style.display= "none"; }catch(e){}
}
function m_show_screen_options(id, clicked_on_point, x, y) {
	try{
		var rc_style = document.getElementById('m_main_options_box'+id).style;
		rc_style.left = (x+v_LEFT_PANES_X)+"px";
		rc_style.top = y+"px";
		rc_style.display= "block";
	}catch(e){}
	if (clicked_on_point) {
		try{document.getElementById('m_main_options_pointer'+id).style.display= "block";}catch(e){}
		try{document.getElementById('m_main_opt_right_click_only'+id).style.display= "block";}catch(e){}
	} else {
		try{document.getElementById('m_main_options_pointer'+id).style.display= "none";}catch(e){}
		try{document.getElementById('m_main_opt_right_click_only'+id).style.display= "none";}catch(e){}
	}
}

// ************* Google load / Unload ****
function unload_google_map() {
	try{ map.disableGoogleBar(); }catch(e){}
	try{ GUnload(); }catch(e){}
}


function load_google_map_simple() {
    try {
	// Display the map, with some controls and set the initial location
	map = new google.maps.Map2(document.getElementById("map"));
	var topRight = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(100,1));
	map.addControl(new google.maps.MapTypeControl(), topRight);

	var zoomPos = new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(0,35));
	map.addControl(new google.maps.LargeMapControl(), zoomPos);

	map.setCenter(new google.maps.LatLng(55, -10), 6);
	var v_bounds = new google.maps.LatLngBounds(new google.maps.LatLng(59,-26),new google.maps.LatLng(50,1.8));
	map.setZoom(map.getBoundsZoomLevel(v_bounds));
    }catch(e){}
}
function load_google_plain_map() {
    try {
	map = new google.maps.Map2(document.getElementById("map"));
	map.setCenter(new google.maps.LatLng(55, -10), 6);
	var v_bounds = new google.maps.LatLngBounds(new google.maps.LatLng(59,-26),new google.maps.LatLng(50,1.8));
	map.setZoom(map.getBoundsZoomLevel(v_bounds));
    }catch(e){}
}

// ************* Misc ****
function m_show_by_id(in_id){ try{document.getElementById(in_id).style.display='block';}catch(e){} }
function m_hide_by_id(in_id){ try{document.getElementById(in_id).style.display='none';}catch(e){} }
