Ext.BLANK_IMAGE_URL = '/libs/ext/resources/images/default/s.gif';
var hideInterval = 0;
var activeButton = 0;
Ext.onReady(function(){
	// Third Level Menus
	var productsSDMenu = new Ext.menu.Menu({
		id: 'productsSDMenu',
		cls: 'thrd_lvl_menu',
		listeners: {
			mouseover: cancelHiding,
			mouseout: hideMenu
		},
		items: [{
			id: 'sd_full_description',
			activeClass: 'menu_item_active',
			text: 'FULL DESCRIPTION',
			handler: onItemClick,
			link: '/page/pr_description'
		}, {
			id: 'sd_at_a_glance',
			activeClass: 'menu_item_active',
			text: 'AT A GLANCE',
			handler: onItemClick,
			link: '/page/sqldetective_at_a_glance'
		}, {
			id: 'sd_kits_at_a_glance',
			activeClass: 'menu_item_active',
			text: 'KITS AT A GLANCE',
			handler: onItemClick,
			link: '/page/addons_at_a_glance'
		}, {
			id: 'sd_screenshots',
			activeClass: 'menu_item_active',
			text: 'SCREENSHOTS',
			handler: onItemClick,
			link: '/page/screen_shots'
		}, {
			id: 'sd_online_tutorials',
			activeClass: 'menu_item_active',
			text: 'ONLINE TUTORIALS',
			handler: onItemClick,
			link: '/page/tutorial_sqldetective'
		}, {
			id: 'sd_faq',
			activeClass: 'menu_item_active',
			text: 'FAQ',
			handler: onItemClick,
			link: '/page/faq_marketing'
		}, {
			id: 'sd_system_requirements',
			activeClass: 'menu_item_active',
			text: 'SYSTEM REQUIREMENTS',
			handler: onItemClick,
			link: '/page/requirements'
		}]
	});
	
	var productsCSMenu = new Ext.menu.Menu({
		id: 'productsCSMenu',
		cls: 'thrd_lvl_menu',
		listeners: {
			mouseover: cancelHiding,
			mouseout: hideMenu
		},
		items: [{
			id: 'cs_full_description',
			activeClass: 'menu_item_active',
			text: 'FULL DESCRIPTION',
			handler: onItemClick,
			link: '/page/clearsql_pr_description'
		}, {
			id: 'cs_at_a_glance',
			activeClass: 'menu_item_active',
			text: 'AT A GLANCE',
			handler: onItemClick,
			link: '/page/clearsql_at_a_glance'
		}, {
			id: 'cs_why_clearsql',
			activeClass: 'menu_item_active',
			text: 'WHY <b><i>Clear</i>SQL</b>?',
			handler: onItemClick,
			link: '/page/clearsql_who_sould_you_use'
		}, {
			id: 'cs_screenshots',
			activeClass: 'menu_item_active',
			text: 'SCREENSHOTS',
			handler: onItemClick,
			link: '/page/clearsql_screen_shots'
		}, {
			id: 'cs_rules_for_audit',
			activeClass: 'menu_item_active',
			text: 'RULES FOR AUDIT',
			handler: onItemClick,
			link: '/page/clearsql_rules_plsql'
		}, {
			id: 'cs_faq',
			activeClass: 'menu_item_active',
			text: 'FAQ',
			handler: onItemClick,
			link: '/page/clearsql_faq_marketing'
		}, {
			id: 'cs_system_requirements',
			activeClass: 'menu_item_active',
			text: 'SYSTEM REQUIREMENTS',
			handler: onItemClick,
			link: '/page/clearsql_system_requirements'
		}]
	});
	var productsCDBMenu = new Ext.menu.Menu({
		id: 'productsCDBMenu',
		cls: 'thrd_lvl_menu',
		listeners: {
			mouseover: cancelHiding,
			mouseout: hideMenu
		},
		items: [{
			id: 'cdb_pr_description',
			activeClass: 'menu_item_active',
			text: 'FULL DESCRIPTION',
			handler: onItemClick,
			link: '/page/cleardb_pr_description'
		},{
			id: 'cdb_at_a_glance',
			activeClass: 'menu_item_active',
			text: 'AT A GLANCE',
			handler: onItemClick,
			link: '/page/cleardb_at_a_glance'
		}, {
			id: 'cdb_faq',
			activeClass: 'menu_item_active',
			text: 'FAQ',
			handler: onItemClick,
			link: '/page/cleardb_faq_marketing'
		}, {
			id: 'cdb_screenshots',
			activeClass: 'menu_item_active',
			text: 'SCREENSHOTS',
			handler: onItemClick,
			link: '/page/cleardb_screen_shots'
		}, {
			id: 'cdb_system_requirements',
			activeClass: 'menu_item_active',
			text: 'SYSTEM REQUIREMENTS',
			handler: onItemClick,
			link: '/page/cleardb_system_requirements'
		}]
	});
	var releaseHistoryMenu = new Ext.menu.Menu({
		id: 'releaseHistoryMenu',
		cls: 'thrd_lvl_menu',
		listeners: {
			mouseover: cancelHiding,
			mouseout: hideMenu
		},
		items: [{
            id: 'sd_release_history',
            activeClass: 'menu_item_active',
			text: '<b>SQL<i>Detective</i> 4.3</b>',
			handler: onItemClick,
			link: '/page/release_history'
		}, {
			id: 'cs_release_history',
			activeClass: 'menu_item_active',
			text: '<b><i>Clear</i>SQL for Oracle 5.6</b>',
			handler: onItemClick,
			link: '/page/clearsql_release_history'
		}, {
			id: 'cdb_release_history',
			activeClass: 'menu_item_active',
			text: '<b><i>Clear</i>DB for Oracle 2.5</b>',
			handler: onItemClick,
			link: '/page/cleardb_release_history'
		}]
	});
	
	
	// Second Level Menus
	var productsMenu = new Ext.menu.Menu({
		id: 'products_menu',
		cls: 'scnd_lvl_menu',
		defaults: {
			handler: onItemClick,
			activeClass: 'menu_item_active'
		},
		items: [{
			id: 'products_sd',
			text: '<b>SQLD<i>etective</i></b>',
			menu: productsSDMenu,
			link: '/page/pr_description'
		}, {
			id: 'products_cs',
			text: '<b><i>Clear</i>SQL</b>',
			menu: productsCSMenu,
			link: '/page/clearsql_pr_description'
		}, {
			id: 'products_cdb',
			text: '<b><i>Clear</i>DB</b>',
			menu: productsCDBMenu,
			link: '/page/cleardb_at_a_glance'
		}],
		listeners: {
			mouseover: cancelHiding,
			mouseout: hideMenu
		}
	});
	var downloadsMenu = new Ext.menu.Menu({
		id: 'downloads_menu',
		cls: 'scnd_lvl_menu',
		defaults: {
			handler: onItemClick,
			activeClass: 'menu_item_active'
		},
		items: [{
			id: 'free_trial',
			text: 'FREE TRIAL',
			link: '/page/dl_trial'
		}, {
			id: 'updates_and_upgrades',
			text: 'UPDATES AND UPGRADES',
			link: '/page/dl_upgrades'
		}],
		listeners: {
			mouseover: cancelHiding,
			mouseout: hideMenu
		}
	});
	var supportMenu = new Ext.menu.Menu({
		id: 'support_menu',
		cls: 'scnd_lvl_menu',
		defaults: {
			handler: onItemClick,
			activeClass: 'menu_item_active'
		},
		items: [{
			id: 'technical_support',
			text: 'TECHNICAL SUPPORT',
			link: '/page/annual_maintenance_service'
		}, {
			id: 'release_history',
			text: 'RELEASE HISTORY',
			menu: releaseHistoryMenu,
			link: '/page/release_history'
		}, {
			id: 'faq',
			text: 'FAQ',
			link: '/page/faq'
		}, {
			id: 'technical_forum',
			text: 'TECHNICAL FORUM',
			link: '/cgi-bin/ikonboard.cgi'
		}, {
			id: 'resend_password',
			text: 'RESEND PASSWORD',
			link: '/page/resend_account_login'
		}, {
			id: 'request_key',
			text: 'REQUEST KEY',
			link: '/page/request_unlock_key'
		}],
		listeners: {
			mouseover: cancelHiding,
			mouseout: hideMenu
		}
	});
	var companyMenu = new Ext.menu.Menu({
		id: 'company_menu',
		cls: 'scnd_lvl_menu',
		defaults: {
			handler: onItemClick,
			activeClass: 'menu_item_active'
		},
		items: [{
			id: 'news',
			text: 'NEWS',
			link: '/page/news'
		}, {
			id: 'user_quotes',
			text: 'USER QUOTES',
			link: '/page/user_quotes'
		}, {
			id: 'contact_us',
			text: 'CONTACT US',
			link: '/page/contact_us'
		}, {
			id: 'about_us',
			text: 'ABOUT US',
			link: '/page/about_us'
		}, {
			id: 'privacy_policy',
			text: 'PRIVACY POLICY & COPYRIGHT',
			link: '/page/privacy'
		}],
		listeners: {
			mouseover: cancelHiding,
			mouseout: hideMenu
		}
	});
	
	// Top Level Menus
    var tb = new Ext.Toolbar({
		id: 'main_toolbar',
		defaults: {
			height: 29,
			overCls: 'toolbar_item_active'
		},
		items: [
			{
	            text: '<b>HOME</b>',
				width: '80px',
				id: 'homeBtn',
				handler: onItemClick,
				link: '/index.php',
				listeners: {
					mouseover: deactivateButtons
				}				
	        }, 
			{
	            text: '<b>PRODUCTS</b>',
				width: '100px',
				id: 'productsBtn',
				link: '/page/products',
				handler: onItemClick,
				listeners: {
					mouseover: showMenu,
					mouseout: hideMenu
				},
				menu: productsMenu
	        }, 
			{
	            text: '<b>DOWNLOADS</b>',
				width: '110px',
				id: 'downloadsBtn',
				handler: onItemClick,
				link: '/page/dl_trial',
				menu: downloadsMenu,
				listeners: {
					mouseover: showMenu,
					mouseout: hideMenu
				}
	        }, 
			{
	            text: '<b>BUY NOW</b>',
				width: '90px',
				id: 'buyNowBtn',
				handler: onItemClick,
				link: '/page/buy_online',
				listeners: {
					mouseover: deactivateButtons
				}
	        }, 
			{
	            text: '<b>RENT NOW</b>',
				width: '90px',
				id: 'rentNowBtn',
				handler: onItemClick,
				link: '/page/rent_now',
				listeners: {
					mouseover: deactivateButtons
				}
	        }, 
			{
	            text: '<b>SUPPORT</b>',
				width: '90px',
				id: 'supportBtn',
				handler: onItemClick,
				link: '/page/annual_maintenance_service',
				menu: supportMenu,
				listeners: {
					mouseover: showMenu,
					mouseout: hideMenu
				}
	        }, 
			{
	            text: '<b>COMPANY</b>',
				width: '90px',
				id: 'companyBtn',
				handler: onItemClick,
				link: '/page/news',
				menu: companyMenu,
				listeners: {
					mouseover: showMenu,
					mouseout: hideMenu
				}
	        }, 
			{
	            text: '<b>CHECKOUT</b>',
				id: 'checkoutBtn',
				iconCls: 'checkout_button',
				width: '90px',
				handler: onItemClick,
				link: '/page/basket',
				listeners: {
					mouseover: deactivateButtons
				}
	        }
		]
	});
	tb.cls = 'main_menu';
	tb.ctCls = 'main_menu_buttons';
	if (total_price > 0){
		enable_basket_menu();
	} else {
		disable_basket_menu();
	}
	tb.render('main_menu');

});

function showMenu(btn, e, item){
	cancelHiding();
	deactivateButtons(btn);
	var menuPosition = btn.getPosition();
	var btnSize = btn.getSize();
	menuPosition[1] += btnSize.height;
	btn.menu.showAt(menuPosition);
        
}

function deactivateButtons(obj){
	var tb = Ext.getCmp('main_toolbar');
	for (var i = 0; i < tb.items.length; i++){
		var item = tb.get(i);
		if (item != obj){
			item.removeClass('toolbar_item_active');
			if (item.menu) {
				item.menu.hide();
			}
		}
	}
}

function hideItem(item){
	item.hide();
	if (activeButton){
		activeButton.removeClass('toolbar_item_active');
	}
	if (item.parentMenu){
		item.parentMenu.hide();
	}
}

function hideMenu(obj, e, menuItem){
    var cursorPosition, elPosition, elSize;
	if (obj.menu){
		cursorPosition = e.xy;
		elPosition = obj.menu.getPosition();
		elSize = obj.menu.getSize();
		if ( cursorPosition[0] <= elPosition[0] - 10 || cursorPosition[0] >= elPosition[0] + elSize.width +10 
			|| cursorPosition[1] <= elPosition[1] - 10 || cursorPosition[1] >= elPosition[1] + elSize.height + 10 ) {
			hideInterval = window.setTimeout(function(){
				hideItem(obj.menu);
			}, 500);
		} else {
			obj.addClass('toolbar_item_active');
			activeButton = obj;
		}
	} else {
		cursorPosition = e.xy;
		elPosition = obj.getPosition();
		elSize = obj.getSize();
		if ( cursorPosition[0] <= elPosition[0] || cursorPosition[0] >= elPosition[0] + elSize.width 
			|| cursorPosition[1] <= elPosition[1] || cursorPosition[1] >= elPosition[1] + elSize.height ) {
			hideInterval = window.setTimeout(function(){
				hideItem(obj);
			}, 500);
		}
	}
	
}

function cancelHiding(){
	clearTimeout(hideInterval);
}

function onItemClick(item){
	window.location.href = 'http://www.conquestsoftwaresolutions.com' + item.link;
//	window.location.href = item.link;
}
function disable_basket_menu(){
	var checkoutMenu = Ext.getCmp('checkoutBtn');
	if (checkoutMenu) {
		with (checkoutMenu) {
			setIconClass('checkout_button_disabled');
			setText('');
			width = 30;
			setDisabled(true);
		}
	}
}

function enable_basket_menu(){
	var checkoutMenu = Ext.getCmp('checkoutBtn');
	if (checkoutMenu) {
		with (checkoutMenu) {
			setIconClass('checkout_button');
			setText('<b>CHECKOUT</b>');
			setDisabled(false);
		}
	}
}