// JavaScript Document

var urlAdmin			= siteURL + 'admin/';

var urlCompany			= urlAdmin + 'companies/';
var urlCompanyGet		= urlCompany + 'doGet/';
var urlCompanyGetAll	= urlCompany + 'doGetAll/';
var urlCompanyAddNew	= urlCompany + 'doAddNew/';
var urlCompanyUpdate	= urlCompany + 'doUpdate/';
var urlCompanyDelete	= urlCompany + 'doDelete/';

var urlMember			= urlAdmin + 'members/';
var urlMemberGet		= urlMember + 'doGet/';
var urlMemberGetAll		= urlMember + 'doGetAll/';
var urlMemberAddNew		= urlMember + 'doAddNew/';
var urlMemberUpdate		= urlMember + 'doUpdate/';
var urlMemberDelete		= urlMember + 'doDelete/';

var urlCalendar			= urlAdmin + 'calendar/';
var urlCalendarGet		= urlCalendar + 'doGet/';
var urlCalendarGetAll	= urlCalendar + 'doGetAll/';
var urlCalendarAddNew	= urlCalendar + 'doAddNew/';
var urlCalendarUpdate	= urlCalendar + 'doUpdate/';
var urlCalendarDelete	= urlCalendar + 'doDelete/';

var urlNewsItems		= urlAdmin + 'news/';
var urlNewsItemsGet		= urlNewsItems + 'doGet/';
var urlNewsItemsGetAll	= urlNewsItems + 'doGetAll/';
var urlNewsItemsAddNew	= urlNewsItems + 'doAddNew/';
var urlNewsItemsUpdate	= urlNewsItems + 'doUpdate/';
var urlNewsItemsDelete	= urlNewsItems + 'doDelete/';

var urlEduItems		    = urlAdmin + 'education/';
var urlEduItemsGet		= urlEduItems + 'doGet/';
var urlEduItemsGetAll	= urlEduItems + 'doGetAll/';
var urlEduItemsAddNew	= urlEduItems + 'doAddNew/';
var urlEduItemsUpdate	= urlEduItems + 'doUpdate/';
var urlEduItemsDelete	= urlEduItems + 'doDelete/';

var urlUser   			= siteURL + 'members/';
var urlUserLogin   		= urlUser + 'login/';
var urlUserLoginAuth   	= urlUser + 'auth/';
var urlUserLoginVerify 	= urlUser + 'is_logged_in/';
var urlUserLogout   	= urlUser + 'logout/';


var myStates = [
	['AL', 'Alabama', 'The Heart of Dixie'],
	['AK', 'Alaska', 'The Land of the Midnight Sun'],
	['AZ', 'Arizona', 'The Grand Canyon State'],
	['AR', 'Arkansas', 'The Natural State'],
	['CA', 'California', 'The Golden State'],
	['CO', 'Colorado', 'The Mountain State'],
	['CT', 'Connecticut', 'The Constitution State'],
	['DE', 'Delaware', 'The First State'],
	['DC', 'District of Columbia', "The Nation's Capital"],
	['FL', 'Florida', 'The Sunshine State'],
	['GA', 'Georgia', 'The Peach State'],
	['HI', 'Hawaii', 'The Aloha State'],
	['ID', 'Idaho', 'Famous Potatoes'],
	['IL', 'Illinois', 'The Prairie State'],
	['IN', 'Indiana', 'The Hospitality State'],
	['IA', 'Iowa', 'The Corn State'],
	['KS', 'Kansas', 'The Sunflower State'],
	['KY', 'Kentucky', 'The Bluegrass State'],
	['LA', 'Louisiana', 'The Bayou State'],
	['ME', 'Maine', 'The Pine Tree State'],
	['MD', 'Maryland', 'Chesapeake State'],
	['MA', 'Massachusetts', 'The Spirit of America'],
	['MI', 'Michigan', 'Great Lakes State'],
	['MN', 'Minnesota', 'North Star State'],
	['MS', 'Mississippi', 'Magnolia State'],
	['MO', 'Missouri', 'Show Me State'],
	['MT', 'Montana', 'Big Sky Country'],
	['NE', 'Nebraska', 'Beef State'],
	['NV', 'Nevada', 'Silver State'],
	['NH', 'New Hampshire', 'Granite State'],
	['NJ', 'New Jersey', 'Garden State'],
	['NM', 'New Mexico', 'Land of Enchantment'],
	['NY', 'New York', 'Empire State'],
	['NC', 'North Carolina', 'First in Freedom'],
	['ND', 'North Dakota', 'Peace Garden State'],
	['OH', 'Ohio', 'The Heart of it All'],
	['OK', 'Oklahoma', 'Oklahoma is OK'],
	['OR', 'Oregon', 'Pacific Wonderland'],
	['PA', 'Pennsylvania', 'Keystone State'],
	['RI', 'Rhode Island', 'Ocean State'],
	['SC', 'South Carolina', 'Nothing Could be Finer'],
	['SD', 'South Dakota', 'Great Faces, Great Places'],
	['TN', 'Tennessee', 'Volunteer State'],
	['TX', 'Texas', 'Lone Star State'],
	['UT', 'Utah', 'Salt Lake State'],
	['VT', 'Vermont', 'Green Mountain State'],
	['VA', 'Virginia', 'Mother of States'],
	['WA', 'Washington', 'Green Tree State'],
	['WV', 'West Virginia', 'Mountain State'],
	['WI', 'Wisconsin', "America's Dairyland"],
	['WY', 'Wyoming', 'Like No Place on Earth']
];



Ext.onReady(function(){

	Ext.namespace('myApp');
	
	
	Ext.BLANK_IMAGE_URL = extURL + '/resources/images/default/s.gif';	
	
	
	// allows PHP to determine the source of each HTTP request
	Ext.Ajax.defaultHeaders = {
		'Powered-By': 'ExtJS'
	};			

	// check for session timeout on each HTTP request
	Ext.Ajax.on('requestcomplete', function(conn, action){
											
			var ret = Ext.util.JSON.decode(action.responseText);

			myApp.user.verifyLogin(ret);			
			
		}, 
		myApp
	);

	// logout link
	var lnkUserLogout = Ext.get('lnk-user-logout');
	if (lnkUserLogout){
		lnkUserLogout.on('click', function(){
			Ext.Msg.show({
				title: 'Logout', 
				msg: 'Are you sure you want to logout?',
				icon: Ext.Msg.QUESTION,
				buttons: Ext.Msg.YESNO,
				fn: function(btn){
					if (btn == 'yes'){
						var docBody = Ext.get(document.body);
						docBody.mask("Logging out...","x-mask-loading");
						Ext.Ajax.request({
							url: urlUserLogout,
							success: function(form, action) {
								window.location = urlUserLogin;
							},
							failure: function(form, action) {
								docBody.unmask();
								Ext.myMsgBox.showErrorConn(action.result.info);
							}
						});
				
					}
				}
			});
		});
	}
	
	
	/**
	 * Object containing reusable custom message boxes.
	 * @access	public
	 */
	Ext.myMsgBox = {
		
		/**
		 * Display custom error message
		 * @param 	string	msgErr
		 */
		showError: function(msgTitle, msgErr){
			Ext.Msg.show({
				title: msgTitle, 
				msg: msgErr,
				icon: Ext.Msg.ERROR,
				buttons: Ext.Msg.OK
			});					
		},
		
		/**
		 * Warning to fill in all required form fields
		 */
		showWarnReqFields: function(){
			var message = 'Please fill in all required fields noted in red.';
			this.showError('Errors Found', message);
		},
		
		/**
		 * AJAX communication error message
		 * @param 	string	msgErr
		 */
		showErrorConn: function(msgErr){
			var message = 'Error occurred with your request.  Please try again.';
			if (msgErr){
				message = message + '<br><br>' + msgErr;
			}
			this.showError('Request Error', message);
		},
		
		/**
		 * Record update confirmation
		 * @param 	string	result_msg
		 */
		showConfUpdate: function(result_msg){
			Ext.Msg.show({
				title: 'Confirmation', 
				msg: result_msg,
				icon: Ext.Msg.INFO,
				buttons: Ext.Msg.OK
			});
		}
	}	

});