I had a request for a couple more pictures from the guys in Terneuzen especially Dave Krijgsman who wanted this shot of him, his boys and Halldor.
This guy got his dad to stop painting his house to drive 2 hours to come and shred with Halldor, pretty good of his dad!
This is there indoor spot, thanks for a great day guys.


Tanko Streetlighting, Inc. (DBA "Tanko Lighting") was founded in 2003 with a simple mission – to help reduce the waste stream from street lighting. Originally started as a green manufacturer of refurbished street light fixtures, the company has evolved to a full service, technology-driven business model that incorporates design/build services, product procurement, engineering/technical support, and project management services to provide a tailored, turnkey solution for any outdoor lighting project.
Tanko Streetlighting, Inc. (DBA "Tanko Lighting") is a privately held corporation based in San Francisco, CA with projects throughout the United States. Tanko Lighting is a licensed electrical contractor in the States of California and Arizona, is a Certified Contractor by the Commonwealth of Massachusetts' Division of Capital Management and Maintenance (DCAMM), is a Qualified Vendor with the Connecticut Conference of Municipalities, and is a registered Energy Services Company (ESCO) with the United States Department of Energy. Please click on a section below to learn more about our company.
Tanko Lighting was founded in 2003 with a simple mission – to help reduce the waste stream from the street lighting industry. During our initial years, we operated solely as a green manufacturer of refurbished street light fixtures.
At the time, High Pressure Sodium (HPS) was the dominant technology in the market, and there were tremendous environmental and cost benefits resulting from rebuilding the fixtures. Tanko Lighting would routinely disassemble, clean, repaint and install all new components into each fixture, selling them back good as new to its municipal customer base.
As more energy efficient technologies entered the market, we chose to integrate them into our rebuilt products. Fixtures containing high frequency induction and Light Emitting Diode (LED) components were soon introduced into our product line of both rebuilt and new fixtures.
With the advent of the American Recovery and Reinvestment Act of 2009 (ARRA), municipalities began to consider comprehensive investments in the energy efficiency of their street lighting infrastructure. We provided products and professional services for many of these landmark ARRA-funded projects.
Evolving toward a bright future.
When the American Recovery and Reinvestment Act of 2009 (ARRA) funding started to wane in 2011, Tanko Lighting searched for ways to continue to leverage the success of that model in the absence of the ARRA funding.
We recognized that ARRA funding dramatically shifted the market, in that it provided financing for a comprehensive approach to upgrading street lighting infrastructure – and in effect, created economies of scale for energy efficient technologies. This enabled the price point of LED fixtures in particular to drop dramatically, which meant that municipalities had less of a financial barrier to adopt LED fixtures. Yet, municipalities were still cash-strapped – but also had significant cost savings to reap if they could only convert to energy efficient street lighting.
We began to envision a new model, whereby we would provide turn-key services that would utilize the latest techniques with Geographic Information Systems (GIS) data collection and management, coupled with low-interest financing (repaid from the project energy savings, resulting in no out-of-pocket costs to the municipality) – all orchestrated by our team – which was well-versed in the products and processes involved with successfully executing comprehensive street light conversion projects.
The model soon took flight, such that our turn-key services division has developed into our primary business model. We still provide manufacturing services for custom work, but we remain product agnostic when it comes to our turn-key products and routinely source LED products from major manufacturers (based on our customer's preferences) for these projects.
As a values-based company focused on the triple bottom line (People, Planet, Profit) – as well as a learning organization – we are proud of our evolution as a company and look forward to continuing to expand and develop new opportunities in this market.
Tanko Lighting is led by Founder and President, Jason Tanko. A life-long street light enthusiast, Jason was enamored by street lights at a very young age. As a child, he routinely built model train set cities so that he could design street lights to light them.
Jason's unusual passion for street lighting led to him become an electrical engineer (Bachelor of Science in Electrical Engineering, Seattle University). His early career involved engineering power distribution designs, lighting, building control systems, and electrical control systems for airplane equipment. Additionally, Jason served as a district engineer for a utility company, coordinating outage management, operations and line crews. Jason's transition into energy efficiency included engineering energy efficient low and medium voltage power and lighting systems and managing the implementation of commercial energy efficiency programs.
Jason emerged as an entrepreneur in 2003, when he decided to utilize a business plan he developed while obtaining his Master of Business Administration (Seattle University) and turned his passion into his livelihood. Tanko Lighting was thus born.
Jason continues to lead the company, providing oversight on engineering, product development, business development, and project management.
To learn more about Jason in the early days of Tanko Lighting (note that the company has significantly evolved since this documentary was made), please view this documentary.
Tanko Lighting firmly believes that at the core of any successful project or enterprise are relationships. Whether it is with customers, vendors, suppliers or employees, we promote respect, accountability, trust and good communication with all of the people with whom we connect. We are also committed to social entrepreneurship. Based in an Economic Enterprise Zone, we hire the majority of our workforce from surrounding neighborhoods and provide opportunities that support the economic revitalization of these diverse communities. In addition, we support the manufacturing base in San Francisco and are an active member of SFMade.
As the nation's largest and most successful manufacturer of rebuilt street lights, Tanko Lighting was founded on a core principle of sustainability and reducing the waste stream from the street lighting industry. This has expanded into a deep focus on energy efficient street light conversion projects. In addition to converting municipalities to LED fixtures, and mitigating waste and carbon dioxide emissions through rebuilding fixtures, our commitment to the environment also involves rebuilding parts, sourcing sustainable materials for the production of both our new and rebuilt products, recycling decommissioned parts, and engineering products using the most energy efficient technologies.
Tanko Lighting offers options that solve customers' needs while staying grounded in reality. We understand that cost, quality, and efficiency are essential concerns for customers. The solutions we offer are workable, cost-effective and bring tremendous value. Our turn-key services creatively provide actionable options for comprehensive conversions, utility buyouts, and custom projects.
Tanko Lighting knows street lighting. It's our passion. It's all we do. This specialty has enabled us to develop vast technical skills specific to this market, as well as an unwavering sense of responsibility to improve this market. As a result, we do not see street lighting and outdoor lighting as strictly utilitarian necessities, but rather as highly functional elements that improve public safety, enhance aesthetics, preserve community history, and improve sight. Our interest and experience in this market enable us to provide superior cradle to grave support, including engineering, product manufacturing, technical assistance, project management and administrative support.
Copyright © 2019 Tanko Lighting, Inc.


I placed a .1uF cap across the bread board power rails and another from the VCC pin to the ground rail. I also added a 470uF cap across the power rails.
Why do you have so much wire between the caps and the point you are trying to filter? You need good regulation at the module. Not six inches away. Take a look at stuff like NodeMCU boards. (not my favorite but what comes to mind right now) The regulator and caps are at the ESP module. Not a light year away.
- Tue Mar 06, 2018 11:07 pm #74433 There is a ceramic .1uF cap with one lead in the ESP01 VCC breadboard 'pin strip' and one lead in the ground strip. The ground strip is connected to the other ground strip by a jumper wire where the power supply ground is connected. There is also have a ,1uF cap across the breadboard power strips and a 470uF cap across the power strips.
You're on the right track with the caps, but even more importantly (as @destroyedlolo says) , don't use breadboard for anything medium-to-long term; the connections are just too unreliable. Grab yourself some strip-board a soldering iron and put it together more permanently.
@Rudi gives good advice on the caps ...you have the right idea, but they're in the wrong place. I don't see any caps close to your on-bread-board regulator and the 470uf seems to be across the 5v rail, with only a single ceramic across the 3v3. I usually put a discrete 470uf and a 0.1uf as close as possible to the ESP module and, where I have sensors or LEDs on flying leads at anything more than 15cm/6" from the module, add 0.1uf across the supply leads (not the GPIOs) to those devices, too.
If you have a really noisy environment (which you obviously do) you can also add 0.1uf on the remote ends of those supply leads and reverse-biased, fast Schottky diodes between your data (GPIO) lines,, +ve and ground, too. All of this will reduce the "antenna" effect of your long leads (remember, it's not just the on/off switching current, but also those long wires picking up the RF from your ESP modules, too).
On the software side, if you have delays in your code, it usually helps if you throw in a few calls to yield() (I just wrap delay() into a function which calls yield() before it calls delay()). The same goes for long, compute intensive routines ...throw in a yield() here and there to keep the RF housekeeping happy.
And yes, like others here, I do have mains and battery powered modules which have run for months (batt) and years (mains) without problems. Some of the modules I have with Theo's TASMOTA software are in built-in boxes and are only ever updated using OTA.
perigalacticon wrote: There is a ceramic .1uF cap with one lead in the ESP01 VCC breadboard 'pin strip' and one lead in the ground strip. The ground strip is connected to the other ground strip by a jumper wire where the power supply ground is connected. There is also have a ,1uF cap across the breadboard power strips and a 470uF cap across the power strips.
You still don't get it. There is wire between the caps and the ESP8266. It is not a superconductor. It has impedance.
The Capacitors you are using has wire. Compare your 0.1uF cap to surface mount caps. No wire. That 0.1 cap is ineffective. The electrolytic cap likely has too much inductance to help.
Take a high quality 100uF cap and solder it onto the adapter board you have the ESP module plugged into. It would be better if it were soldered onto the ESP module. The leads should be as short as possible.
Your regulator should be as close to the module as you can arrange it. The caps are great but you need the regulator to also be able to respond to the fluctuations in current in order to keep the voltage steady.
I have about half a dozen ESP modules on breadboards and they work fine. But I have the regulation and filtering caps on the modules. (using ESP-12).


text:
Menstrual poverty causes gender gaps in school
News Desk — February 9, 2022 add comment
By Essa Bah February 7, 2022
Studies revealed that girls missed 10 to 20% school days due to menstrual poverty. Access to menstrual products, safe, hygienic, and managed menstruation without shame or stigma is essential for girls.
In the Gambia, many schoolgirls experience menstrual poverty. The most disadvantaged among them are unable to afford the cost of sanitary pads. Sanitary pad is an absorbent worn by women in their underwear to absorb the flow of blood from the female private part.
School children complain about the cost of sanitary products which is unaffordable to many. A senior school student explained how the rise in cost of sanitary pads affect her schooling. "Sanitary pads are very expensive, and my father gives me money to go to school at Kotu and the money is seventy dalasi so in our area so when I used the money to buy the pads 50 dalasi, I will be left with 20 dalasi, and that will not be enough", she said.
"So, sometimes when I am in my menses, I will not be able to go to school and it affects me because I lose tests, presentations and assessments, sometimes I use clothes to replace that when I don´t have the pad, sometimes the pad I use is not very quality", she added.
In an exclusive interview with Mariama Krubally a nurse, explained the health risks of poor sanitation during menstrual period. She said girls can be exposed to infections and itchy private parts when they use rags. Now one packet of sanitary pads is costing fifty-dalasi (50) and above depending on the quality, she said. Imagine if a girl sees her mensural for six days, she has to buy three to four packets of pads to be able to change them frequently in order to maintain proper hygiene condition during menstruation.
According to the Ministry of Basic and Secondary Education, a study on the impact of supply of sanitary pads on girls' education has revealed that some girls may miss 10-20% of school days during their menstrual period. The study was conducted by the Gender Education Unit, Ministry of Basic and Secondary Education.
The report recommended providing girls with modern sanitary products may help them to be able to attend school during their periods, thereby increasing attendance rates of girls and reducing the gender gap.
A positive self-image will not only provide girls with a more rewarding and effective experience of schooling but will help them to participate in their family and community activities.
Latest posts by News Desk (see all)
GPA interdicts 4 staff - March 8, 2022
Returnees appeal for support as they gong gov't to establish mission in Libya - March 8, 2022
Foni Kansala aspiring MP says MFDC fighters are liberators - March 8, 2022
Gender Gaps Gender gaps in school Menstrual Poverty

redpajama_set_name: RedPajamaCommonCrawl


text:
Stop Second Guessing your Decisions
Christy Gren
Decision Makingindecisivenesssecond guessing
A Smart Way to Get Things Done 'Don't Talk, Just Do It'
Leadership Goals: Finding Your Purpose
Think Differently 2.0: Look At The Overlooked
Leaders make every effort to be decisive. But many times, their well-reasoned decisions are reassessed by bosses and colleagues, or are even ignored. So how to make sure that you stop second guessing your decisions and that your decision stick?
Here are some of the reasons why your decisions don't stick and hinder your decisions making ability by second guessing already made decisions and indecisiveness:
Once the decision is made, someone balks that they weren't a part of the decision and that the discussion should be reopened. Whether they disagree with the decision or maybe not, but they're upset that they were not involved in the discussion. The chances of such events are high in growing organization, where everyone is given equal decision-making rights.
The fix:
You need to make sure that you involve all the members whose opinion and agreement in the decision matters. Whether it is a junior team member or a senior one, if they are the ones to implement the decisions, they should have their say in the decision-making process.
People who weren't sure about their opinion starts to speak up after the decision is already made. Most of these late-breaking contrary opinions come from senior employees. Managers and executives mostly think that they would let the team take the decisions and will kill the ideas only when and if they need to. Their opinions or suggestions are delivered very late when the decision is already made.
Ascertain a new rule at the commencement that "Silence means agreement." If a person does not state his or her opinions in clear words and is silent instead, that would be taken as that person agrees with the decision. No member, however, senior or at the top position should be allowed to remain indecisive once the decision is already made.
The most insidious of all is when people agreed to some decision but later start second guessing and decide to do something contrary. These decisions are sometimes implemented with or without the knowledge of the members who made the decision.
First of all, identify the person who is accountable for execution of the decision and make sure that he agrees with the decision and has a clear idea about the reasons and intent of the decision. Then, set a timeline: a date when the decision will be made, a date till which all the members will be informed about the decision, a date when implementation will be started, and a date at which the execution should be completed. Lastly, maintain periodic checkpoints to make sure that you are heading towards the right way.
Christy Gren is an Industry Specialist Reporter at Industry Leaders Magazine; she enjoys writing about Unicorns, Silicon Valley, Startups, Business Leaders and Innovators. Her articles provide an insight about the Power Players in the field of Technology, Auto, Manufacturing, and F&B.
PREVIOUS ARTICLE « Facebook Live will now Grace the Android Devices in America
NEXT ARTICLE Brand Advertising, the Core Market for Virtual Reality? »


text:
Four local men are known to have died on 2nd July 1916, all serving with the Royal Warwickshire Regiment:
Private John Franklin, of Olton
Drummer Frank Nash, of Shirley
Private William Richard Pittom, of Shirley
Second Lieutenant Cyril George Williamson, former pupil of Solihull School
John Franklin was the youngest of the seven children (six sons and one daughter) born to Oxfordshire-born police officer (later a gardener), Septimus Franklin, and his wife, Hannah. The couple married in 1868 and seem to have set up home in Yardley before moving to Olton sometime between 1877 and 1879. Their youngest two children, Annie and John, were born in Olton in 1879 and 1881 respectively, and both were baptised at St Alphege Church.
John became a bricklayer, and married Catherine Florence Mann at St Alphege Church in 1906. By 1911, the couple were living in Ulverley Green Road and they had had three children in four years of marriage: Dorothy Annie (1906-1998); Constance (born 1907); and Henry Septimus (1910-1971).
It's not known when John enlisted but it looks as if he didn't serve overseas and was at Chiseldon training camp near Swindon when he died, aged 35, on 2nd July 1915. The Register of Soldiers' Effects gives his cause of death as diabetes and he is recorded as serving with 17th Battalion, Royal Warwickshire Regiment. He is buried at Chiseldon Cemetery, and there is a photograph of his gravestone online. He is also commemorated on the war memorial at St Margaret's Church, Olton.
His widow continued to live in the local area and her death, , aged 97, was registered in Solihull in 1979. The couple's eldest daughter, Dorothy Annie, also died in Solihull in 1998, aged 91.
Frank Nash was born in Sparkbrook, Birmingham in 1896, the youngest of the five children (two sons, and three daughters) of Francis and Mildred Nash. By 1911, the family had moved from Balsall Heath to Shirley, where they were living at Ash Tree Cottage, Stratford Road.
Frank was a 14-year-old errand boy in 1911 but had become a printer by the time he enlisted in the Royal Army Medical Corps (RAMC) on 17th October 1914. He gave his age on enlistment as 19 years, 8 days but, in fact, he would only have been just 18, and may actually have been still 17 (his birth was registered October-December 1896). He was discharged from the Army 14 days after enlistment, having been declared medically unfit for service. There are no further medical details on his service record.
We don't know when Frank rejoined the Army, serving with the 2nd/5th Battalion, Royal Warwickshire Regiment. His medal index card doesn't indicate an entitlement to a 1914 or 1914/15 Star, suggesting that he didn't serve overseas before 1916. He is buried at Rue-du-Bacquerot No.1 Military Cemetery, Laventie. His name also appears on Shirley War Memorial.
Also buried at Rue-du-Bacquerot No.1 Military Cemetery, Laventie, just six graves away from Frank Nash, is William Richard Pittom. He too was a Private in the 2nd/5th Battalion Royal Warwickshire Regiment and he is also commemorated on the Shirley War Memorial.
He was born in Southam, Warwickshire on 17th July 1891, one of nine children born to parents Richard and Emma Elizabeth (née Shearsby) who had married at Leamington Priors in 1888. One of William's younger brothers, Thomas Clarke Pittom, joined the Army as a regular soldier, enlisting in the Royal Warwickshire Regiment on 14th January 1914. He first saw overseas service on 8th November 1914 and was wounded and discharged on 10th June 1916, less than a month before his brother was killed. A third brother, Ernest George Pittom (1897-1971) also joined the Army, serving as a Private during the First World War with 9th Battalion Royal Warwickshire Regiment.
William Richard Pittom (who appears to have been known by his middle name as he was recorded on the 1901 census as Richard Pittom) seems to have moved to Shirley sometime between 1911 and 1914, when he married Amenia May Hobbins of High Street, Solihull Lodge. The couple seem to have set up home in Yardley Wood and their son, Albert Abraham Pittom, was born on 7th February 1915.
We don't know when William Richard enlisted in the Army but it seems he didn't serve overseas until 1916. He was Mentioned in Despatches. His widow, Amenia May, married Joseph Beddows in 1917 and his son, Albert Abraham Pittom, died in Birmingham in 1983.
Old Silhillian, Cyril George Williamson was also killed on 2nd July 1916. Born in Wednesbury in 1894, Cyril was the only child of Arthur Williamson (1869-1917) and his wife, Sarah Elizabeth. In 1911, aged 17, he was a boarder at Solilhull School, whilst his parents were living in Selly Park, where they had moved from Wednesbury between 1901 and 1911.
Solihull School during the First World War by John Loynton notes that Cyril was a boarder at Town House. He left school in 1912 after being a prefect, and captain of football. He was also a good cricketer. On Sports Day 1912 he won the Long Jump, High Jump and came second in shot putt and hurdles. He also won prizes for general work and music (1911). He was a Sergeant in the Officers' Training Corps (OTC), attending summer camp at Borden, Aldershot.
A report of his death appeared in a local newspaper:
Information has been received by his parents, Mr and Mrs Arthur Williamson, of "Newlyn", Selly Park Road, of the death in action of their only son, Sec. Lieut. Cyril George Williamson, of the R. War. R. The deceased officer was educated at Solihull Grammar School and Birmingham University, where he gained his B.Sc. in July, 1915. He served in the O. T. C. at Solihull and joined the Warwickshires last August, being gazetted to the 13th Battalion, and subsequently transferred to another battalion of the regiment. Sec. Lieut. Williamson, who was twenty-two years of age when killed by a shell in the great offensive movement, was very popular in the regiment, and much esteemed in Birmingham. His superior officer, describing how he met his death, says "he died, as he would have chosen, fighting bravely," and adds: "Since he has been with the battalion he has always done his duty splendidly, and was a young officer of great promise." (Birmingham Daily Post, 18th July 1916)
Second Lieutenant Cyril Williamson has no known grave and is commemorated on the Thiepval Memorial. He is also commemorated on the war memorial at Solihull School.
If you have any information about any of these men, please let us know.
First World War, Solihull
1916, brothers, Every One Remembered, First World War, Olton, Shirley, Solihull Lodge, Solihull Remembers, Solihull School


text:
package com.eaw1805.www.client.views.military;

import com.google.gwt.event.dom.client.BlurEvent;
import com.google.gwt.event.dom.client.BlurHandler;
import com.google.gwt.event.dom.client.ChangeEvent;
import com.google.gwt.event.dom.client.ChangeHandler;
import com.google.gwt.event.dom.client.FocusEvent;
import com.google.gwt.event.dom.client.FocusHandler;
import com.google.gwt.event.dom.client.KeyUpEvent;
import com.google.gwt.event.dom.client.KeyUpHandler;
import com.google.gwt.event.dom.client.MouseEvent;
import com.google.gwt.user.client.ui.AbsolutePanel;
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.PopupPanel;
import com.eaw1805.data.constants.ArmyConstants;
import com.eaw1805.data.constants.GoodConstants;
import com.eaw1805.data.constants.NationConstants;
import com.eaw1805.data.constants.OrderConstants;
import com.eaw1805.data.constants.StyleConstants;
import com.eaw1805.data.dto.common.SectorDTO;
import com.eaw1805.data.dto.web.ClientOrderDTO;
import com.eaw1805.data.dto.web.OrderCostDTO;
import com.eaw1805.data.dto.web.army.ArmyDTO;
import com.eaw1805.data.dto.web.army.BarrackDTO;
import com.eaw1805.data.dto.web.army.BattalionDTO;
import com.eaw1805.data.dto.web.army.BrigadeDTO;
import com.eaw1805.data.dto.web.army.CorpDTO;
import com.eaw1805.www.client.gui.eventHandlers.DelEventHandlerAbstract;
import com.eaw1805.www.client.gui.scroll.VerticalPanelScrollChild;
import com.eaw1805.www.client.views.infopanels.units.ArmyInfoPanel;
import com.eaw1805.www.client.views.infopanels.units.BrigadeInfoPanel;
import com.eaw1805.www.client.views.infopanels.units.CorpsInfoPanel;
import com.eaw1805.www.client.widgets.DraggablePanel;
import com.eaw1805.www.client.widgets.ErrorPopup;
import com.eaw1805.www.client.widgets.ImageButton;
import com.eaw1805.www.client.widgets.ScrollVerticalBarEAW;
import com.eaw1805.www.client.widgets.SelectableWidget;
import com.eaw1805.www.client.widgets.SelectionListPanel;
import com.eaw1805.www.client.widgets.StyledCheckBox;
import com.eaw1805.www.client.widgets.TextBoxEAW;
import com.eaw1805.www.shared.stores.GameStore;
import com.eaw1805.www.shared.stores.RegionStore;
import com.eaw1805.www.shared.stores.economy.BarrackStore;
import com.eaw1805.www.shared.stores.economy.OrderStore;
import com.eaw1805.www.shared.stores.map.MapStore;
import com.eaw1805.www.shared.stores.units.ArmyStore;
import com.eaw1805.www.shared.stores.util.calculators.CostCalculators;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

public class UpHdCountView extends DraggablePanel
        implements ArmyConstants, GoodConstants, OrderConstants, StyleConstants {
    // save all your troops of the coordinate in this list
    private List<ArmyDTO> sectorArmies = new ArrayList<ArmyDTO>();
    private final List<CorpDTO> armyCorps = new ArrayList<CorpDTO>();
    private final List<BrigadeDTO> corpBrigades = new ArrayList<BrigadeDTO>();

    private final List<ArmyDTO> armiesInNeed = new ArrayList<ArmyDTO>();
    private final Map<Integer, ArmyDTO> armiesInNeedMap = new HashMap<Integer, ArmyDTO>();
    private final List<CorpDTO> corpsInNeed = new ArrayList<CorpDTO>();
    private final Map<Integer, CorpDTO> corpsInNeedMap = new HashMap<Integer, CorpDTO>();
    private final List<BrigadeDTO> brigadesInNeed = new ArrayList<BrigadeDTO>();
    private final Map<Integer, BrigadeDTO> brigadesInNeedMap = new HashMap<Integer, BrigadeDTO>();

    private SectorDTO sectorDTO = new SectorDTO();
    private BrigadeDTO selBrigade = new BrigadeDTO();
    private final ImageButton typelftArmImg;

    private final ImageButton typerghArmImg;

    // Objects to keep our selections
    private ArmyDTO selArmy;
    private CorpDTO selCorp;
    private final ImageButton typelftCorpImg;
    private final ImageButton typerghCorpImg;
    private final AbsolutePanel brigadePanel;
    private final AbsolutePanel corpsPanel;
    private final AbsolutePanel armyPanel;
    private final ImageButton typelftBrigImg;
    private final ImageButton typerghBrigImg;

    //for brigade status panel
    private final AbsolutePanel brigadeCostPanel;
    private final Label lblMoneyValueBrigade;
    private final Label lblIndValueBrigade;
    private final Image hdCntUpBrigadeImg;
    private final Label lblHorsesValueBrigade;
    private final TextBoxEAW upValueBoxBrigade;

    //for corps status panel
    private final AbsolutePanel corpsCostPanel;
    private final Label lblMoneyValueCorps;
    private final Label lblIndValueCorps;
    private final Image hdCntUpCorpsImg;
    private final Label lblHorsesValueCorps;
    private final TextBoxEAW upValueBoxCorps;

    //for armies status panel
    private final AbsolutePanel armyCostPanel;
    private final Label lblMoneyValueArmy;
    private final Label lblIndValueArmy;
    private final Image hdCntUpArmyImg;
    private final Label lblHorsesValueArmy;
    private final TextBoxEAW upValueBoxArmy;
    private final StyledCheckBox onlyUpgradable;
    final ArmyStore arStore = ArmyStore.getInstance();

    private final ImageButton leftImg;
    private final ImageButton rightImg;
    private final VerticalPanelScrollChild trainedBrigadesPanel;
    private final PopupPanel totPeoplePopup;
    private final Label totPeopleLabel;

    public UpHdCountView(final SectorDTO _SectorDTO) {
        // Set selected sector
        setSectorDTO(_SectorDTO);
        // Initialize sector Armies

        setSectorArmies(arStore.getArmiesBySector(getSectorDTO(), false));

        initArmiesInNeed();
        totPeopleLabel = new Label("");
        totPeoplePopup = new PopupPanel(true);
        totPeoplePopup.setWidget(totPeopleLabel);
        totPeoplePopup.getElement().getStyle().setZIndex(1000000);
        this.setStyleName("barracksPanel4");
        this.setSize("610px", "680px");

        this.leftImg = new ImageButton("http://static.eaw1805.com/images/panels/barracks/ButLeftOff.png");
        this.leftImg.setStyleName(CLASS_POINTER);
        final BarrackDTO barrShip = BarrackStore.getInstance().getBarrackByPosition(_SectorDTO);
        (new DelEventHandlerAbstract() {
            @Override
            public void execute(MouseEvent event) {
                int index = BarrackStore.getInstance().getBarracksList().indexOf(barrShip);
                final int firstIndex = index;

                BarrackDTO nextBarrack;
                SectorDTO barrackSector;
                while (true) {
                    if (index > 0) {
                        index--;
                    } else {
                        index = BarrackStore.getInstance().getBarracksList().size() - 1;
                    }

                    //if you came back in the same index again...
                    //then there is no other barrack that has armies.
                    if (index == firstIndex) {
                        return;
                    }

                    nextBarrack = BarrackStore.getInstance().getBarracksList().get(index);
                    barrackSector = RegionStore.getInstance().getRegionSectorsByRegionId(nextBarrack.getRegionId())[nextBarrack.getX()][nextBarrack.getY()];
                    //get armies on this sector...
                    final List<ArmyDTO> armiesOnSector = ArmyStore.getInstance().getArmiesBySector(barrackSector, false);
                    //if this barrack has armies.. break and load the barrack
                    if ((armiesOnSector != null && !armiesOnSector.isEmpty())) {
                        break;
                    }
                }

                MapStore.getInstance().getMapsView().goToPosition(nextBarrack);

                //SectorDTO sector = regionStore.getSelectedSector(mapStore.getActiveRegion());
                final UpHdCountView upHdCountView = new UpHdCountView(barrackSector);
                GameStore.getInstance().getLayoutView().addWidgetToLayoutPanelEAW(upHdCountView);
                GameStore.getInstance().getLayoutView().setWidgetPosition(upHdCountView, UpHdCountView.this.getAbsoluteLeft(), UpHdCountView.this.getAbsoluteTop(), false, true);
                GameStore.getInstance().getLayoutView().removeWidgetFromPanelEAW(UpHdCountView.this);

                leftImg.deselect();
                leftImg.setUrl(leftImg.getUrl().replace("off", "Hover"));
            }
        }).addToElement(leftImg.getElement()).register();
        this.leftImg.setSize(SIZE_35PX, SIZE_35PX);
        add(this.leftImg, 15, 10);

        this.rightImg = new ImageButton("http://static.eaw1805.com/images/panels/barracks/ButRightOff.png");
        this.rightImg.setStyleName(CLASS_POINTER);
        (new DelEventHandlerAbstract() {
            @Override
            public void execute(MouseEvent event) {
                int index = BarrackStore.getInstance().getBarracksList().indexOf(barrShip);
                final int firstIndex = index;

                BarrackDTO nextBarrack;
                SectorDTO barrackSector;
                while (true) {
                    if (index < BarrackStore.getInstance().getBarracksList().size() - 1) {
                        index++;
                    } else {
                        index = 0;
                    }

                    //if you came back in the same index again...
                    //then there is no other barrack that has armies.
                    if (index == firstIndex) {
                        return;
                    }

                    nextBarrack = BarrackStore.getInstance().getBarracksList().get(index);
                    barrackSector = RegionStore.getInstance().getRegionSectorsByRegionId(nextBarrack.getRegionId())[nextBarrack.getX()][nextBarrack.getY()];
                    //get armies on this sector...
                    final List<ArmyDTO> armiesOnSector = ArmyStore.getInstance().getArmiesBySector(barrackSector, false);
                    //if this barrack has armies.. break and load the barrack
                    if ((armiesOnSector != null && !armiesOnSector.isEmpty())) {
                        break;
                    }

                }

                MapStore.getInstance().getMapsView().goToPosition(nextBarrack);

                final UpHdCountView upHdCountView = new UpHdCountView(barrackSector);
                GameStore.getInstance().getLayoutView().addWidgetToLayoutPanelEAW(upHdCountView);
                GameStore.getInstance().getLayoutView().setWidgetPosition(upHdCountView, UpHdCountView.this.getAbsoluteLeft(), UpHdCountView.this.getAbsoluteTop(), false, true);
                GameStore.getInstance().getLayoutView().removeWidgetFromPanelEAW(UpHdCountView.this);

                rightImg.deselect();
                rightImg.setUrl(rightImg.getUrl().replace("off", "Hover"));
            }
        }).addToElement(rightImg.getElement()).register();
        this.rightImg.setSize(SIZE_35PX, SIZE_35PX);
        add(this.rightImg, 515, 10);

        final Label titleLbl = new Label(_SectorDTO.positionToString() + " - Increase Headcount");
        titleLbl.setStyleName("clearFontMedLarge whiteText");
        add(titleLbl, 65, 18);

        final UpHdCountView myself = this;
        final ImageButton imgX = new ImageButton("http://static.eaw1805.com/images/buttons/ButAcceptOff.png");
        imgX.setStyleName(CLASS_POINTER);
        imgX.setTitle("Close panel");
        (new DelEventHandlerAbstract() {
            @Override
            public void execute(final MouseEvent event) {
                GameStore.getInstance().getLayoutView().removeWidgetFromPanelEAW(myself);
                imgX.deselect();
            }
        }).addToElement(imgX.getElement()).register();
        imgX.setSize("36px", "36px");
        this.add(imgX, 560, 10);

        final Label trainedLbl = new Label("Brigades with increased headcount:");
        trainedLbl.setStyleName("clearFont whiteText");
        add(trainedLbl, 50, 400);

        trainedBrigadesPanel = new VerticalPanelScrollChild();
        trainedBrigadesPanel.setSize("100%", "0");
        trainedBrigadesPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);

        final ScrollVerticalBarEAW trainedBrigsScrollPanel = new ScrollVerticalBarEAW(this.trainedBrigadesPanel, 90, false);
        trainedBrigsScrollPanel.setBarAlwaysVisible(true);
        trainedBrigsScrollPanel.setSize(394, 187);
        add(trainedBrigsScrollPanel, 36, 432);

        typelftArmImg = new ImageButton("http://static.eaw1805.com/images/layout/buttons/ButInfoArrowLeftOff.png");
        typelftArmImg.setSize(SIZE_16PX, SIZE_91PX);
        typelftArmImg.setStyleName(CLASS_POINTER, true);
        add(typelftArmImg, 22, 64);

        this.armyPanel = new AbsolutePanel();
        this.armyPanel.setSize(SIZE_366PX, SIZE_90PX);
        this.add(armyPanel, 40, 64);

        this.typerghArmImg = new ImageButton("http://static.eaw1805.com/images/layout/buttons/ButInfoArrowRightOff.png");
        this.typerghArmImg.setSize(SIZE_16PX, SIZE_91PX);
        typerghArmImg.setStyleName(CLASS_POINTER, true);
        this.add(this.typerghArmImg, 405, 64);

        this.typelftCorpImg = new ImageButton("http://static.eaw1805.com/images/layout/buttons/ButInfoArrowLeftOff.png");
        this.typelftCorpImg.setStyleName(CLASS_POINTER, true);
        this.typelftCorpImg.setSize(SIZE_16PX, SIZE_91PX);
        this.add(this.typelftCorpImg, 22, 162);

        this.corpsPanel = new AbsolutePanel();
        this.corpsPanel.setSize(SIZE_366PX, SIZE_90PX);
        this.add(this.corpsPanel, 40, 162);

        this.typerghCorpImg = new ImageButton("http://static.eaw1805.com/images/layout/buttons/ButInfoArrowRightOff.png");
        this.typerghCorpImg.setStyleName(CLASS_POINTER, true);
        this.typerghCorpImg.setSize(SIZE_16PX, SIZE_91PX);
        this.add(this.typerghCorpImg, 405, 162);

        this.typelftBrigImg = new ImageButton("http://static.eaw1805.com/images/layout/buttons/ButInfoArrowLeftOff.png");
        this.typelftBrigImg.setStyleName(CLASS_POINTER, true);
        this.typelftBrigImg.setSize(SIZE_16PX, SIZE_90PX);
        this.add(this.typelftBrigImg, 22, 258);

        this.brigadePanel = new AbsolutePanel();
        this.brigadePanel.setSize(SIZE_366PX, SIZE_90PX);
        this.add(this.brigadePanel, 40, 258);

        this.typerghBrigImg = new ImageButton("http://static.eaw1805.com/images/layout/buttons/ButInfoArrowRightOff.png");
        this.typerghBrigImg.setStyleName(CLASS_POINTER, true);
        this.typerghBrigImg.setSize(SIZE_16PX, SIZE_90PX);
        this.add(this.typerghBrigImg, 405, 258);

        //for armies status panel
        armyCostPanel = new AbsolutePanel();
        lblMoneyValueArmy = new Label(VALUE_ZERO_FLOAT);
        this.lblIndValueArmy = new Label(VALUE_ZERO_FLOAT);
        this.hdCntUpArmyImg = new Image("http://static.eaw1805.com/images/panels/barracks/ButIncreaseHeadcountOff-Gray.png");
        this.lblHorsesValueArmy = new Label(VALUE_ZERO_FLOAT);
        this.upValueBoxArmy = new TextBoxEAW(true);
        setupStatusPanel(armyCostPanel, lblMoneyValueArmy, lblIndValueArmy,
                hdCntUpArmyImg,
                lblHorsesValueArmy, upValueBoxArmy, ARMY);
        this.add(armyCostPanel, 426, 63);

        //for corps status panel
        corpsCostPanel = new AbsolutePanel();
        lblMoneyValueCorps = new Label(VALUE_ZERO_FLOAT);
        this.lblIndValueCorps = new Label(VALUE_ZERO_FLOAT);
        this.hdCntUpCorpsImg = new Image("http://static.eaw1805.com/images/panels/barracks/ButIncreaseHeadcountOff-Gray.png");
        this.lblHorsesValueCorps = new Label(VALUE_ZERO_FLOAT);
        this.upValueBoxCorps = new TextBoxEAW(true);
        setupStatusPanel(corpsCostPanel, lblMoneyValueCorps, lblIndValueCorps,
                hdCntUpCorpsImg,
                lblHorsesValueCorps, upValueBoxCorps, CORPS);
        this.add(corpsCostPanel, 426, 159);

        //for brigade status panel
        brigadeCostPanel = new AbsolutePanel();
        lblMoneyValueBrigade = new Label(VALUE_ZERO_FLOAT);
        this.lblIndValueBrigade = new Label(VALUE_ZERO_FLOAT);
        this.hdCntUpBrigadeImg = new Image("http://static.eaw1805.com/images/panels/barracks/ButIncreaseHeadcountOff-Gray.png");
        this.lblHorsesValueBrigade = new Label(VALUE_ZERO_FLOAT);
        this.upValueBoxBrigade = new TextBoxEAW(true);
        setupStatusPanel(brigadeCostPanel, lblMoneyValueBrigade, lblIndValueBrigade,
                hdCntUpBrigadeImg,
                lblHorsesValueBrigade, upValueBoxBrigade, BRIGADE);
        this.add(brigadeCostPanel, 426, 255);

        onlyUpgradable = new StyledCheckBox("Show only brigades that need increase", false, false);
        (new DelEventHandlerAbstract() {
            @Override
            public void execute(MouseEvent event) {
                if (onlyUpgradable.isChecked()) {
                    getSectorArmies().clear();
                    getSectorArmies().addAll(armiesInNeed);
                } else {
                    getSectorArmies().clear();
                    getSectorArmies().addAll(arStore.getArmiesBySector(getSectorDTO(), false));
                }
                changeArmy(true);
                changeCorp(true, true);
                changeBrigade(true);
                armyCostPanel.setVisible(getSelArmy() != null && getSelArmy().getArmyId() != 0);
                corpsCostPanel.setVisible(getSelCorp() != null && getSelCorp().getCorpId() != 0);
                brigadeCostPanel.setVisible(getSelBrigade() != null && getSelBrigade().getBrigadeId() != 0);
                updateCostValues(0);
            }
        }).addToElement(onlyUpgradable.getCheckBox().getElement()).register();
        onlyUpgradable.setSize("350px", "21px");
        this.add(onlyUpgradable, 40, 360);

        initArmySelectionBar();
        changeArmy(true);
        changeCorp(true, true);
        changeBrigade(true);
        armyCostPanel.setVisible(getSelArmy() != null && getSelArmy().getArmyId() != 0);
        corpsCostPanel.setVisible(getSelCorp() != null && getSelCorp().getCorpId() != 0);
        brigadeCostPanel.setVisible(getSelBrigade() != null && getSelBrigade().getBrigadeId() != 0);

        initUpHeadCountBrigadesList();
        updateCostValues(0);
    }

    private void initArmiesInNeed() {
        ArmyDTO zeroArmy = null;
        CorpDTO zeroCorp = null;
        for (ArmyDTO army : arStore.getArmiesBySector(getSectorDTO(), false)) {
            if (army.getArmyId() == 0) {
                zeroArmy = army;
            }
            boolean addArmy = false;
            for (CorpDTO corp : army.getCorps().values()) {
                if (corp.getCorpId() == 0) {
                    zeroCorp = corp;
                }
                boolean addCorps = false;
                for (BrigadeDTO brigade : corp.getBrigades().values()) {
                    boolean addBrigade = false;
                    if (ArmyStore.getInstance().canBrigadeUpHeadcount(brigade)) {
                        addBrigade = true;
                        addCorps = true;
                        addArmy = true;
                    }
                    if (addBrigade) {
                        brigadesInNeed.add(brigade);
                        brigadesInNeedMap.put(brigade.getBrigadeId(), brigade);
                    }
                }
                if (addCorps) {
                    corpsInNeed.add(corp);
                    corpsInNeedMap.put(corp.getCorpId(), corp);
                }
            }
            if (addArmy) {
                armiesInNeed.add(army);
                armiesInNeedMap.put(army.getArmyId(), army);
            }
        }
        if (armiesInNeed.isEmpty() && zeroArmy != null) {
            armiesInNeed.add(zeroArmy);
            armiesInNeedMap.put(zeroArmy.getArmyId(), zeroArmy);
        }
        if (corpsInNeed.isEmpty() && zeroCorp != null) {
            corpsInNeed.add(zeroCorp);
            corpsInNeedMap.put(zeroCorp.getCorpId(), zeroCorp);
        }

        //at last be sure there is at least one corp
        // and at least one army so you have something to display
        if (armiesInNeed.isEmpty()) {
            final ArmyDTO lstArmy = arStore.getArmiesBySector(getSectorDTO(), false).get(0);
            armiesInNeed.add(lstArmy);
            armiesInNeedMap.put(lstArmy.getArmyId(), lstArmy);
            if (corpsInNeed.isEmpty()) {
                CorpDTO lstCorps = null;
                for (CorpDTO corp : lstArmy.getCorps().values()) {
                    lstCorps = corp;
                    break;
                }
                corpsInNeed.add(lstCorps);
                corpsInNeedMap.put(lstCorps.getCorpId(), lstCorps);
            }
        } else if (corpsInNeed.isEmpty()) {
            CorpDTO lstCorps = null;
            for (CorpDTO corp : armiesInNeed.get(0).getCorps().values()) {
                lstCorps = corp;
                break;
            }
            corpsInNeed.add(lstCorps);
            corpsInNeedMap.put(lstCorps.getCorpId(), lstCorps);
        }
    }

    private void initUpHeadCountBrigadesList() {
        trainedBrigadesPanel.clear();
        //lets do this better by orders....
        //first retrieve the army train orders
        final List<ClientOrderDTO> armyTrainOrders = OrderStore.getInstance().getClientOrders().get(ORDER_INC_HEADCNT_ARMY);
        //then the corps train orders
        final List<ClientOrderDTO> corpsTrainOrders = OrderStore.getInstance().getClientOrders().get(ORDER_INC_HEADCNT_CORPS);
        //and at last the brigade train orders
        final List<ClientOrderDTO> brigadesTrainOrders = OrderStore.getInstance().getClientOrders().get(ORDER_INC_HEADCNT);

        final List<SelectableWidget> trainedUnits = new ArrayList<SelectableWidget>();
        if (armyTrainOrders != null) {
            for (ClientOrderDTO order : armyTrainOrders) {
                trainedUnits.add(new ArmyInfoPanel(ArmyStore.getInstance().getArmyById(order.getIdentifier(0))));
            }
        }
        if (corpsTrainOrders != null) {
            for (ClientOrderDTO order : corpsTrainOrders) {
                trainedUnits.add(new CorpsInfoPanel(ArmyStore.getInstance().getCorpByID(order.getIdentifier(0)), false));
            }
        }
        if (brigadesTrainOrders != null) {
            for (ClientOrderDTO order : brigadesTrainOrders) {
                trainedUnits.add(new BrigadeInfoPanel(ArmyStore.getInstance().getBrigadeById(order.getIdentifier(0)), false));
            }
        }
        final SelectionListPanel selectionList;
        if (trainedUnits.isEmpty()) {
            selectionList = null;
        } else {
            selectionList = new SelectionListPanel(trainedUnits);
            trainedBrigadesPanel.add(selectionList);
        }

        final ImageButton btnCancelSelectedBattalion = new ImageButton("http://static.eaw1805.com/images/panels/buildShips/ButDeleteOrderOff.png");
        (new DelEventHandlerAbstract() {
            @Override
            public void execute(MouseEvent event) {
                SelectableWidget selected = null;
                if (selectionList == null) {
                    new ErrorPopup(ErrorPopup.Level.WARNING, "No brigade unit", false);
                } else {
                    selected = selectionList.getSelectedWidget();
                    if (selected != null) {
                        switch (selected.getIdentifier()) {
                            case ARMY:
                                degradeArmy((ArmyDTO) selected.getValue());
                                break;
                            case CORPS:
                                degradeCorps((CorpDTO) selected.getValue());
                                break;
                            case BRIGADE:
                                degradeBrigade((BrigadeDTO) selected.getValue());
                                break;
                            default:
                                //nothing goes here really
                        }
                    }
                }
                initUpHeadCountBrigadesList();
                if (selected == null) {
                    updateCostValues(0);
                } else {
                    updateCostValues(selected.getIdentifier());
                }
            }
        }).addToElement(btnCancelSelectedBattalion.getElement()).register();

        this.add(btnCancelSelectedBattalion, 76, 630);
        btnCancelSelectedBattalion.setSize("272px", "26px");
        trainedBrigadesPanel.resizeScrollBar();
    }

    private void setupStatusPanel(final AbsolutePanel statusPanel,
                                  final Label lblMoneyValue,
                                  final Label lblIndValue,
                                  final Image hdCntUpImg,
                                  final Label lblHorsesValue,
                                  final TextBoxEAW upValueBox,
                                  final int type) {

        statusPanel.setStyleName("standardPanel");
        statusPanel.setSize("173px", SIZE_90PX);

        final Image moneyImg = new Image("http://static.eaw1805.com/images/goods/good-" + GOOD_MONEY + ".png");
        moneyImg.setSize(SIZE_20PX, SIZE_20PX);
        statusPanel.add(moneyImg, 4, 9);

        lblMoneyValue.setStyleName("clearFontSmall");
        statusPanel.add(lblMoneyValue, 26, 11);
        lblMoneyValue.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
        lblMoneyValue.setSize("57px", "18px");

        final Image indPntsImg = new Image("http://static.eaw1805.com/images/goods/good-" + GOOD_INPT + ".png");
        indPntsImg.setSize(SIZE_20PX, SIZE_20PX);
        statusPanel.add(indPntsImg, 4, 38);

        lblIndValue.setStyleName("clearFontSmall");
        statusPanel.add(lblIndValue, 26, 41);
        lblIndValue.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
        lblIndValue.setSize("57px", "18px");

        final Image horseImg = new Image("http://static.eaw1805.com/images/goods/good-" + GOOD_HORSE + ".png");
        horseImg.setSize(SIZE_20PX, SIZE_20PX);
        statusPanel.add(horseImg, 85, 9);

        lblHorsesValue.setStyleName("clearFontSmall");
        statusPanel.add(lblHorsesValue, 108, 11);
        lblHorsesValue.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
        lblHorsesValue.setSize("57px", "18px");

        (new DelEventHandlerAbstract() {
            @Override
            public void execute(MouseEvent event) {
                upValueBox.setFocus(true);
            }
        }).addToElement(upValueBox.getElement()).register();

        upValueBox.addKeyUpHandler(new KeyUpHandler() {
            public void onKeyUp(final KeyUpEvent event) {
                updateCostValues(type);
            }
        });
        upValueBox.addChangeHandler(new ChangeHandler() {
            public void onChange(final ChangeEvent changeEvent) {
                updateCostValues(type);
            }
        });

        upValueBox.addBlurHandler(new BlurHandler() {
            @Override
            public void onBlur(final BlurEvent blurEvent) {
                totPeopleLabel.setText("");
                totPeoplePopup.hide();
            }
        });

        upValueBox.addFocusHandler(new FocusHandler() {
            @Override
            public void onFocus(final FocusEvent focusEvent) {
                updateCostValues(type);
            }
        });

        hdCntUpImg.setTitle("Increase brigades headcount.");
        (new DelEventHandlerAbstract() {
            @Override
            public void execute(MouseEvent event) {
                try {
                    if (type == BRIGADE && getSelBrigade() != null && getSelBrigade().getStartLoaded()) {
                        new ErrorPopup(ErrorPopup.Level.WARNING, "Brigade just unloaded and cannot be trained or increase headcount", false);
                    } else if (hdCntUpImg.getUrl().endsWith("Gray.png")) {
                        new ErrorPopup(ErrorPopup.Level.WARNING, "Brigade already at maximum headcount", false);
                    } else {
                        switch (type) {
                            case BRIGADE:
                                upgradeBrigade(Integer.parseInt(upValueBox.getText()));
                                break;
                            case CORPS:
                                upgradeCorps(Integer.parseInt(upValueBox.getText()));
                                break;
                            case ARMY:
                                upgradeArmy(Integer.parseInt(upValueBox.getText()));
                                break;
                            default:
                                break;
                        }

                    }

                } catch (Exception ex) {
                    new ErrorPopup(ErrorPopup.Level.WARNING, "You need to select a brigade first", false);
                }
                initUpHeadCountBrigadesList();
                updateCostValues(type);
            }
        }).addToElement(hdCntUpImg.getElement()).register();

        hdCntUpImg.setStyleName(CLASS_POINTER, true);
        statusPanel.add(hdCntUpImg, 2, 64);
        hdCntUpImg.setSize("150px", "");

        statusPanel.add(upValueBox, 102, 35);
        upValueBox.setSize("58px", "25px");
    }

    private void initArmySelectionBar() {
        (new DelEventHandlerAbstract() {
            @Override
            public void execute(MouseEvent event) {
                typelftArmImg.deselect();
                changeArmy(false);
                resetArmyCostValues();
                resetCorpsCostValues();
                resetBrigadeCostValues();
                armyCostPanel.setVisible(getSelArmy() != null && getSelArmy().getArmyId() != 0);
                corpsCostPanel.setVisible(getSelCorp() != null && getSelCorp().getCorpId() != 0);
                brigadeCostPanel.setVisible(getSelBrigade() != null && getSelBrigade().getBrigadeId() != 0);
            }
        }).addToElement(typelftArmImg.getElement()).register();

        (new DelEventHandlerAbstract() {
            @Override
            public void execute(MouseEvent event) {
                typerghArmImg.deselect();
                changeArmy(true);
                resetArmyCostValues();
                resetCorpsCostValues();
                resetBrigadeCostValues();
                armyCostPanel.setVisible(getSelArmy() != null && getSelArmy().getArmyId() != 0);
                corpsCostPanel.setVisible(getSelCorp() != null && getSelCorp().getCorpId() != 0);
                brigadeCostPanel.setVisible(getSelBrigade() != null && getSelBrigade().getBrigadeId() != 0);
            }
        }).addToElement(typerghArmImg.getElement()).register();

        initCorpSelectionBar();
    }

    private void changeArmy(final boolean forward) {
        int index = 0;
        if (getSectorArmies() != null && !getSectorArmies().isEmpty()) {
            if (selArmy != null) {
                for (int i = 0; i < getSectorArmies().size(); i++) {
                    if (getSectorArmies().get(i).getArmyId() == selArmy
                            .getArmyId()) {
                        if (forward) {
                            if (i == (getSectorArmies().size() - 1)) {
                                index = 0;
                                break;
                            } else {
                                index = i + 1;
                                break;
                            }
                        } else {
                            if (i == 0) {
                                index = getSectorArmies().size() - 1;
                                break;
                            } else {
                                index = i - 1;
                                break;
                            }
                        }
                    }
                }

            }
            // Select the proper army
            armyPanel.clear();
            armyPanel.add(new ArmyInfoPanel(getSectorArmies().get(index)));

            setSelArmy(getSectorArmies().get(index));
            getArmyCorps().clear();
            if (onlyUpgradable.isChecked()) {
                for (CorpDTO corp : getSelArmy().getCorps().values()) {
                    if (corpsInNeedMap.containsKey(corp.getCorpId())) {
                        getArmyCorps().add(corp);
                    }
                }
            } else {
                getArmyCorps().addAll(getSelArmy().getCorps().values());
            }
            if (getSectorArmies() != null && getSectorArmies().size() > 1) {
                changeCorp(true, true);
            }
        }
        setArmyImages(getSelArmy());
    }

    private void initCorpSelectionBar() {
        (new DelEventHandlerAbstract() {
            @Override
            public void execute(MouseEvent event) {
                typelftCorpImg.deselect();
                changeCorp(false, false);
                resetCorpsCostValues();
                resetBrigadeCostValues();
                armyCostPanel.setVisible(getSelArmy() != null && getSelArmy().getArmyId() != 0);
                corpsCostPanel.setVisible(getSelCorp() != null && getSelCorp().getCorpId() != 0);
                brigadeCostPanel.setVisible(getSelBrigade() != null && getSelBrigade().getBrigadeId() != 0);
            }
        }).addToElement(typelftCorpImg.getElement()).register();

        (new DelEventHandlerAbstract() {
            @Override
            public void execute(MouseEvent event) {
                typerghCorpImg.deselect();
                changeCorp(true, false);
                resetCorpsCostValues();
                resetBrigadeCostValues();
                armyCostPanel.setVisible(getSelArmy() != null && getSelArmy().getArmyId() != 0);
                corpsCostPanel.setVisible(getSelCorp() != null && getSelCorp().getCorpId() != 0);
                brigadeCostPanel.setVisible(getSelBrigade() != null && getSelBrigade().getBrigadeId() != 0);
            }
        }).addToElement(typerghCorpImg.getElement()).register();

        initBrigadeSelectionBar();
    }

    private void changeCorp(final boolean forward, final boolean armyChanged) {
        int index = 0;
        if (getArmyCorps() != null && !getArmyCorps().isEmpty()) {
            if (selCorp != null) {
                for (int i = 0; i < getArmyCorps().size(); i++) {
                    if (getArmyCorps().get(i).getCorpId() == getSelCorp()
                            .getCorpId()) {
                        if (forward) {
                            if (i == (getArmyCorps().size() - 1)) {
                                index = 0;
                                break;
                            } else {
                                index = i + 1;
                                break;
                            }
                        } else {
                            if (i == 0) {
                                index = getArmyCorps().size() - 1;
                                break;
                            } else {
                                index = i - 1;
                                break;
                            }
                        }
                    }
                }
            }
            // Select the proper army
            this.corpsPanel.clear();
            this.corpsPanel.add(new CorpsInfoPanel(getArmyCorps().get(index), false));
            setSelCorp(getArmyCorps().get(index));
            getCorpBrigades().clear();
            if (onlyUpgradable.isChecked()) {
                for (BrigadeDTO brigade : getSelCorp().getBrigades().values()) {
                    if (brigadesInNeedMap.containsKey(brigade.getBrigadeId())) {
                        getCorpBrigades().add(brigade);
                    }
                }
            } else {
                getCorpBrigades().addAll(getSelCorp().getBrigades().values());
            }
            if (getArmyCorps() != null && (getArmyCorps().size() > 1 || armyChanged)) {
                changeBrigade(true);
            }
        }
        setCorpsImages(getSelCorp());
    }

    private void initBrigadeSelectionBar() {
        (new DelEventHandlerAbstract() {
            @Override
            public void execute(MouseEvent event) {
                typelftBrigImg.deselect();
                changeBrigade(false);
                resetBrigadeCostValues();
                armyCostPanel.setVisible(getSelArmy() != null && getSelArmy().getArmyId() != 0);
                corpsCostPanel.setVisible(getSelCorp() != null && getSelCorp().getCorpId() != 0);
                brigadeCostPanel.setVisible(getSelBrigade() != null && getSelBrigade().getBrigadeId() != 0);
            }
        }).addToElement(typelftBrigImg.getElement()).register();

        (new DelEventHandlerAbstract() {
            @Override
            public void execute(MouseEvent event) {
                typerghBrigImg.deselect();
                changeBrigade(true);
                resetBrigadeCostValues();
                armyCostPanel.setVisible(getSelArmy() != null && getSelArmy().getArmyId() != 0);
                corpsCostPanel.setVisible(getSelCorp() != null && getSelCorp().getCorpId() != 0);
                brigadeCostPanel.setVisible(getSelBrigade() != null && getSelBrigade().getBrigadeId() != 0);
            }
        }).addToElement(typerghBrigImg.getElement()).register();
    }

    private void changeBrigade(final boolean forward) {
        int index = 0;
        if (getCorpBrigades() != null && !getCorpBrigades().isEmpty()) {
            if (selBrigade != null) {
                for (int i = 0; i < getCorpBrigades().size(); i++) {

                    if (getCorpBrigades().get(i).getBrigadeId() == getSelBrigade().getBrigadeId()) {
                        if (forward) {
                            if (i == (getCorpBrigades().size() - 1)) {
                                index = 0;
                                break;
                            } else {
                                index = i + 1;
                                break;
                            }
                        } else {
                            if (i == 0) {
                                index = getCorpBrigades().size() - 1;
                                break;
                            } else {
                                index = i - 1;
                                break;
                            }
                        }
                    }
                }
            }
            // Select the proper army
            brigadePanel.clear();
            setSelBrigade(getCorpBrigades().get(index));
            brigadePanel.add(new BrigadeInfoPanel(getSelBrigade(), false));

        } else {
            brigadePanel.clear();
            final AbsolutePanel noBrigFoundPanel = new AbsolutePanel();
            noBrigFoundPanel.setStyleName("freeCorpListNT");
            this.brigadePanel.add(noBrigFoundPanel, 0, 0);
            noBrigFoundPanel.setSize(SIZE_366PX, SIZE_90PX);

            final Label lblNoBrigadeFond = new Label("No Brigade found in this corps");
            lblNoBrigadeFond.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
            lblNoBrigadeFond.setStyleName("clearFont-large");
            noBrigFoundPanel.add(lblNoBrigadeFond, 3, 15);
            brigadePanel.add(noBrigFoundPanel);

        }
        setBrigadeImages(getSelBrigade());
    }

    private void updateCostValues(final int type) {
        int brigHeads = 0;
        int corpsHeads = 0;
        int armyHeads = 0;
        if (!upValueBoxBrigade.getText().isEmpty()) {
            try {
                brigHeads = Integer.parseInt(upValueBoxBrigade.getText());
            } catch (Exception ignore) {
                //do nothing here
            }
        }
        if (!upValueBoxCorps.getText().isEmpty()) {
            try {
                corpsHeads = Integer.parseInt(upValueBoxCorps.getText());
            } catch (Exception ignore) {
                //do nothing here
            }
        }
        if (!upValueBoxArmy.getText().isEmpty()) {
            try {
                armyHeads = Integer.parseInt(upValueBoxArmy.getText());
            } catch (Exception ignore) {
                //do nothing here
            }
        }

        OrderCostDTO brigadeCost;
        if (getSelBrigade() != null) {
            try {
                brigadeCost = CostCalculators.getIncreaseHeadcountCost(getSelBrigade(), brigHeads);
            } catch (Exception e) {
                brigadeCost = new OrderCostDTO();
            }
        } else {
            brigadeCost = new OrderCostDTO();
        }

        OrderCostDTO corpsCost;
        if (getSelCorp() != null) {
            try {
                corpsCost = CostCalculators.getIncreaseHeadcountCorpsCost(getSelCorp(), corpsHeads);
            } catch (Exception e) {
                corpsCost = new OrderCostDTO();
            }
        } else {
            corpsCost = new OrderCostDTO();
        }

        OrderCostDTO armyCost;
        if (getSelArmy() != null) {
            try {
                armyCost = CostCalculators.getIncreaseHeadcountArmyCost(getSelArmy(), armyHeads);
            } catch (Exception e) {
                armyCost = new OrderCostDTO();
            }
        } else {
            armyCost = new OrderCostDTO();
        }

        lblMoneyValueBrigade.setText(String.valueOf(brigadeCost.getNumericCost(GOOD_MONEY)));
        lblIndValueBrigade.setText(String.valueOf(brigadeCost.getNumericCost(GOOD_INPT)));
        lblHorsesValueBrigade.setText(String.valueOf(brigadeCost.getNumericCost(GOOD_HORSE)));

        lblMoneyValueCorps.setText(String.valueOf(corpsCost.getNumericCost(GOOD_MONEY)));
        lblIndValueCorps.setText(String.valueOf(corpsCost.getNumericCost(GOOD_INPT)));
        lblHorsesValueCorps.setText(String.valueOf(corpsCost.getNumericCost(GOOD_HORSE)));

        lblMoneyValueArmy.setText(String.valueOf(armyCost.getNumericCost(GOOD_MONEY)));
        lblIndValueArmy.setText(String.valueOf(armyCost.getNumericCost(GOOD_INPT)));
        lblHorsesValueArmy.setText(String.valueOf(armyCost.getNumericCost(GOOD_HORSE)));
        switch (type) {
            case BRIGADE:
                totPeopleLabel.setText("Total " + brigadeCost.getNumericCost(GOOD_PEOPLE) + " people");
                totPeoplePopup.showRelativeTo(upValueBoxBrigade);
                break;
            case CORPS:
                totPeopleLabel.setText("Total " + corpsCost.getNumericCost(GOOD_PEOPLE) + " people");
                totPeoplePopup.showRelativeTo(upValueBoxCorps);
                break;
            case ARMY:
                totPeopleLabel.setText("Total " + armyCost.getNumericCost(GOOD_PEOPLE) + " people");
                totPeoplePopup.showRelativeTo(upValueBoxArmy);
                break;
            default:
                totPeopleLabel.setText("");
                totPeoplePopup.hide();
        }
    }

    private void resetBrigadeCostValues() {
        upValueBoxBrigade.setText("0");
        lblMoneyValueBrigade.setText(VALUE_ZERO_FLOAT);
        lblIndValueBrigade.setText(VALUE_ZERO_FLOAT);
        lblHorsesValueBrigade.setText(VALUE_ZERO_FLOAT);
    }

    private void resetCorpsCostValues() {
        upValueBoxCorps.setText("0");
        lblMoneyValueCorps.setText(VALUE_ZERO_FLOAT);
        lblIndValueCorps.setText(VALUE_ZERO_FLOAT);
        lblHorsesValueCorps.setText(VALUE_ZERO_FLOAT);
    }

    private void resetArmyCostValues() {
        upValueBoxArmy.setText("0");
        lblMoneyValueArmy.setText(VALUE_ZERO_FLOAT);
        lblIndValueArmy.setText(VALUE_ZERO_FLOAT);
        lblHorsesValueArmy.setText(VALUE_ZERO_FLOAT);
    }

    private void upgradeArmy(final int value) {
        if (ArmyStore.getInstance().upHeadCountArmy(getSelArmy().getArmyId(), value, getSectorDTO())) {
            for (CorpDTO corp : getSelArmy().getCorps().values()) {
                setSelCorp(corp);
                for (BrigadeDTO brigade : corp.getBrigades().values()) {
                    setSelBrigade(brigade);
                    removeSelectedBrigadeInNeed();
                }
            }
        }
    }

    private void upgradeCorps(final int value) {
        if (ArmyStore.getInstance().upHeadCountCorps(getSelCorp().getCorpId(), value, getSectorDTO())) {
            for (BrigadeDTO brigade : getSelCorp().getBrigades().values()) {
                setSelBrigade(brigade);
                removeSelectedBrigadeInNeed();
            }
        }

    }

    private void upgradeBrigade(final int value) {
        boolean inNeed = false;
        if (!getSelBrigade().IsUpHeadcount()) {
            if (getSelBrigade().getBattalions() != null) {
                for (BattalionDTO battalion : getSelBrigade().getBattalions()) {
                    int headcount = 800;
                    if (battalion.getEmpireArmyType().getNationId() == NationConstants.NATION_MOROCCO
                            || battalion.getEmpireArmyType().getNationId() == NationConstants.NATION_OTTOMAN
                            || battalion.getEmpireArmyType().getNationId() == NationConstants.NATION_EGYPT) {
                        headcount = 1000;
                    }
                    if ((headcount - battalion.getHeadcount()) > 0) {
                        inNeed = true;
                        break;
                    }
                }
            }

            if (inNeed && ArmyStore.getInstance().upHeadCountBrigade(getSelBrigade().getBrigadeId(), value, getSectorDTO())) {
                removeSelectedBrigadeInNeed();
            }

        }

    }

    private void removeSelectedBrigadeInNeed() {
        if (getSelBrigade().IsUpHeadcount()) {
            brigadesInNeedMap.remove(getSelBrigade().getBrigadeId());

            if (onlyUpgradable.isChecked()) {
                final Iterator<BrigadeDTO> brigIter2 = getCorpBrigades().iterator();
                while (brigIter2.hasNext()) {
                    final BrigadeDTO curBrigade = brigIter2.next();
                    if (curBrigade.getBrigadeId() == getSelBrigade().getBrigadeId()) {
                        brigIter2.remove();
                        break;
                    }
                }
                changeBrigade(true);
            }
        }
        setBrigadeImages(getSelBrigade());
        setCorpsImages(getSelCorp());
        setArmyImages(getSelArmy());
    }

    private void putSelectedBrigadeInNeed(final BrigadeDTO brigade) {
        if (ArmyStore.getInstance().canBrigadeUpHeadcount(brigade)) {
            brigadesInNeedMap.put(brigade.getBrigadeId(), brigade);
            if (getSelCorp().getCorpId() == brigade.getCorpId()) {
                //check if it is already in because maybe we didn't remove it
                boolean found = false;
                for (final BrigadeDTO brigade2 : getCorpBrigades()) {
                    if (brigade.getBrigadeId() == brigade2.getBrigadeId()) {
                        found = true;
                        break;
                    }
                }
                if (!found) {
                    getCorpBrigades().add(brigade);
                }
                if (getCorpBrigades().size() == 1) {
                    changeBrigade(true);
                }
            }

            setBrigadeImages(getSelBrigade());
            setCorpsImages(getSelCorp());
            setArmyImages(getSelArmy());
        }
    }

    private void degradeArmy(final ArmyDTO army) {
        ArmyStore.getInstance().cancelUpHeadCountArmy(army.getArmyId());
        for (final CorpDTO corp : army.getCorps().values()) {
            setSelCorp(corp);
            for (final BrigadeDTO brigade : corp.getBrigades().values()) {
                setSelBrigade(brigade);
                putSelectedBrigadeInNeed(brigade);
            }
        }
    }

    private void degradeCorps(final CorpDTO corps) {
        ArmyStore.getInstance().cancelUpHeadCountCorps(corps.getCorpId());
        for (final BrigadeDTO brigade : getSelCorp().getBrigades().values()) {
            setSelBrigade(brigade);
            putSelectedBrigadeInNeed(brigade);
        }
    }

    private void degradeBrigade(final BrigadeDTO brigade) {
        if (brigade.IsUpHeadcount()) {
            ArmyStore.getInstance().cancelUpHeadCountBrigade(brigade.getBrigadeId());
            putSelectedBrigadeInNeed(brigade);
        }
    }

    private void setCorpsImages(final CorpDTO corp) {
        boolean upEnabled = false;
        boolean downEnabled = false;
        for (final BrigadeDTO brigade : corp.getBrigades().values()) {
            if (brigade.IsUpHeadcount() || brigade.getLoaded()) {
                downEnabled = true;
            } else {
                if (brigade.getBattalions() != null && !brigade.getBattalions().isEmpty()) {
                    for (final BattalionDTO battalion : brigade.getBattalions()) {
                        int headCount = 800;
                        if (battalion.getEmpireArmyType().getNationId() == NationConstants.NATION_MOROCCO
                                || battalion.getEmpireArmyType().getNationId() == NationConstants.NATION_OTTOMAN
                                || battalion.getEmpireArmyType().getNationId() == NationConstants.NATION_EGYPT) {
                            headCount = 1000;
                        }
                        if ((headCount - battalion.getHeadcount()) > 0) {
                            upEnabled = true;
                        }
                    }
                }
            }
            if (upEnabled && downEnabled) {
                break;
            }
        }
        if (upEnabled) {
            hdCntUpCorpsImg.setUrl("http://static.eaw1805.com/images/panels/barracks/ButIncreaseHeadcountOff.png");
        } else {
            hdCntUpCorpsImg.setUrl("http://static.eaw1805.com/images/panels/barracks/ButIncreaseHeadcountOff-Gray.png");
        }
    }

    private void setArmyImages(final ArmyDTO army) {
        boolean upEnabled = false;
        boolean downEnabled = false;
        for (final CorpDTO corp : army.getCorps().values()) {
            for (final BrigadeDTO brigade : corp.getBrigades().values()) {
                if (brigade.IsUpHeadcount() || brigade.getLoaded()) {
                    downEnabled = true;
                } else {
                    if (brigade.getBattalions() != null && !brigade.getBattalions().isEmpty()) {
                        for (final BattalionDTO battalion : brigade.getBattalions()) {
                            int headCount = 800;
                            if (battalion.getEmpireArmyType().getNationId() == NationConstants.NATION_MOROCCO
                                    || battalion.getEmpireArmyType().getNationId() == NationConstants.NATION_OTTOMAN
                                    || battalion.getEmpireArmyType().getNationId() == NationConstants.NATION_EGYPT) {
                                headCount = 1000;
                            }
                            if ((headCount - battalion.getHeadcount()) > 0) {
                                upEnabled = true;
                            }
                        }
                    }
                }
                if (upEnabled && downEnabled) {
                    break;
                }
            }
        }

        if (upEnabled) {
            hdCntUpArmyImg.setUrl("http://static.eaw1805.com/images/panels/barracks/ButIncreaseHeadcountOff.png");
        } else {
            hdCntUpArmyImg.setUrl("http://static.eaw1805.com/images/panels/barracks/ButIncreaseHeadcountOff-Gray.png");
        }
    }

    private void setBrigadeImages(final BrigadeDTO brigade) {
        if (ArmyStore.getInstance().canBrigadeUpHeadcount(brigade)) {
            hdCntUpBrigadeImg.setUrl("http://static.eaw1805.com/images/panels/barracks/ButIncreaseHeadcountOff.png");
        } else {
            hdCntUpBrigadeImg.setUrl("http://static.eaw1805.com/images/panels/barracks/ButIncreaseHeadcountOff-Gray.png");
        }
    }

    public final void setSectorDTO(final SectorDTO sectorDTO) {
        this.sectorDTO = sectorDTO;
    }

    public final SectorDTO getSectorDTO() {
        return sectorDTO;
    }

    public final void setSectorArmies(final List<ArmyDTO> sectorArmies) {
        this.sectorArmies = sectorArmies;
    }

    public final List<ArmyDTO> getSectorArmies() {
        return sectorArmies;
    }

    /**
     * @return the selArmy
     */
    public final ArmyDTO getSelArmy() {
        return selArmy;
    }

    /**
     * @return the selCorp
     */
    public final CorpDTO getSelCorp() {
        return selCorp;
    }

    /**
     * @param selArmy the selArmy to set
     */
    public final void setSelArmy(final ArmyDTO selArmy) {
        this.selArmy = selArmy;
    }

    /**
     * @param selCorp the selCorp to set
     */
    public final void setSelCorp(final CorpDTO selCorp) {
        this.selCorp = selCorp;
    }

    public final List<CorpDTO> getArmyCorps() {
        return armyCorps;
    }

    public final List<BrigadeDTO> getCorpBrigades() {
        return corpBrigades;
    }

    public final void setSelBrigade(final BrigadeDTO selBrigade) {
        this.selBrigade = selBrigade;
    }

    public final BrigadeDTO getSelBrigade() {
        return selBrigade;
    }
}

redpajama_set_name: RedPajamaGithub


text:
Charlie McGlynn
Posted:	 March 14, 2012 Categories: web	Author: Charlie	Tags: infographics	Comment: 0
This is a great new site that makes making infographics fun and easy. Visual.ly
"The startup, which has raised $2 million in VC funding to date, unveiled the self-service platform at SXSW today. With just a few clicks, users can choose a theme, select a dataset from a drop-down menu, and create an infographic with little or no effort. For example, plug in a Twitter hashtag or Facebook account, and you can watch Visual.ly spit out various metrics represented visually–basic statistics about growth, location, demographics, engagement, and so on. "If I'm a marketing manager, and want to go present [this data] to my boss, all I have to do is authenticate [with Facebook or Twitter]," Langille says. "I don't have to do anything. I don't have to find a designer. If I don't like a theme, I can just swap it out in one click."
via: fastcodesign.com
YMCA Andover
UR Christmas
Innové – Cathy's Story
Innové Mustafa
Film Projects I Do
email: charlie@charliemcglynn.com phone: 612.940.7531
Find me on these social networks.
copyright © 2021 Charlie McGlynn. powered by WordPress


The Institute for Continuing Legal Education at the Loyola University New Orleans College of Law has announced its fall 2011 schedule with a variety of programs, from informal Saturday morning sessions on campus to estate planning conferences held downtown, and online courses.
Essential Issues Affecting Corporate Attorneys and In-house Counsel, Oct. 21, Hilton St. Charles, 333 St. Charles Ave.
Annual Longshore Conference, March 15-16, 2012, Sheraton Hotel, 500 Canal St.
Advance registration is recommended for most programs and is available at www.loyno.edu/cle. For more information, contact the CLE office at 504-861-5441 or 866-250-8617 or clelaw@loyno.edu.


text:
/**
 * -------------------------------------------------------------------------
 *  Google fonts served locally.
 * -------------------------------------------------------------------------
 */

@font-face {
  font-family: 'Crimson Text';
  font-style: normal;
  font-weight: 400;
  src: local('Crimson Text Regular'),
       local('CrimsonText-Regular'),
       url(fonts/CrimsonText-Regular.woff2) format('woff2'),
       url(fonts/CrimsonText-Regular.ttf) format('truetype');
}

@font-face {
  font-family: 'Crimson Text';
  font-style: italic;
  font-weight: 400;
  src: local('Crimson Text Italic'),
       local('CrimsonText-Italic'),
       url(fonts/CrimsonText-Italic.woff2) format('woff2'),
       url(fonts/CrimsonText-Italic.ttf) format('truetype');
}

@font-face {
  font-family: 'Crimson Text';
  font-style: normal;
  font-weight: 700;
  src: local('Crimson Text Bold'),
       local('CrimsonText-Bold'),
       url(fonts/CrimsonText-Bold.woff2) format('woff2'),
       url(fonts/CrimsonText-Bold.ttf) format('truetype');
}

/*
    The fonts below are packaged with the theme and can be uncommented
    if needed.
 */

/*
@font-face {
  font-family: 'Crimson Text';
  font-style: italic;
  font-weight: 700;
  src: local('Crimson Text Bold Italic'),
       local('CrimsonText-BoldItalic'),
       url(fonts/CrimsonText-BoldItalic.woff2) format('woff2'),
       url(fonts/CrimsonText-BoldItalic.ttf) format('truetype');
}

@font-face {
  font-family: 'Crimson Text';
  font-style: normal;
  font-weight: 600;
  src: local('Crimson Text SemiBold'),
       local('CrimsonText-SemiBold'),
       url(fonts/CrimsonText-SemiBold.woff2) format('woff2'),
       url(fonts/CrimsonText-SemiBold.ttf) format('truetype');
}

@font-face {
  font-family: 'Crimson Text';
  font-style: italic;
  font-weight: 600;
  src: local('Crimson Text SemiBold Italic'),
       local('CrimsonText-SemiBoldItalic'),
       url(fonts/CrimsonText-SemiBoldItalic.woff2) format('woff2'),
       url(fonts/CrimsonText-SemiBoldItalic.ttf) format('truetype');
}
*/


Reading the druidic markings left all around this clearing, he concludes that this must be it. This clearing must be where the druid comes to meet with his fellow circle members.
Elric sits down in the clearing and tries to make himself comfortable on the grass.
Do we know the name of the druid we're looking for? Perhaps if we called his name he might answer us. Or perhaps there's a password in Druidic that you have to speak for him to recognize us as friends or allies.
Perhaps an offering needs to be made? I mean, we did slay two creatures upon our arrival here, perhaps we offended the druid? I dislike this situation. We're in the middle of nowhere with no significant leads, and we're out of time.
I'd prefer that wizard's maze or a long road trip to a monastery over wandering around blindly in the wilderness. If we must endure the full moon, I say we do it and return to Steinroad and take one of our other options.
Luemus cannot make out which day exactly, it is in a language that is a derivative of Druidic. Maybe the circles' local dialect.
Elric speaks calmly as he sits in the grove.
If Luemus's interpretation of those runes is correct, then we have no idea how long we will have to wait for this druid circle. "In the days following…" if awfully vague. It could refer to the full moon, or it could refer to the *new* moon.
Or one of the equinoxes. Or some other obscure holy day.
These druids may only meet once a year, once a decade, or even once a century. If they're elves, or a similarly long-lived race, well … they may meet only once a generation, or when a new member is inducted into their order.
Luemus, do you have any suggestions? Do we have any reason to stay here and wait? The whole point of coming to the druid was to expedite the process of recovery, and clearly, there's been nothing expeditious about this venture whatsoever.


After a very busy year in which David and I travelled extensively both in Canada and the USA giving talks about our relationship with Sai Baba and our understanding of his teachings, I felt a desperate need to have some quiet time for myself, to digest all of my experiences of the past year. 1999 turned out to be a frenetic year for me and, with a stream of guests coming to stay in our home and the program of setting up our little farm in Langley as a facility for breeding and boarding horses continuing at a fast pace, there had been little time for me to stop and smell the roses. To add to all of this, in late September last year, we had a l70' x 70' indoor riding arena erected. For two months we had builders and a stream of trucks coming and going on our property and we were caught in a race against time, to complete the structure before the winter rains came. This beautiful new building will not only be used for riding but it will also make a fantastic venue for our Ramala open days. The next one, by the way, is scheduled for July 9th 2000 and we expect to have over 400 people attending. If that was not enough, David and I had to make several trips to England to settle Diana into Oxford University, to check up on the Ramala Centre in Glastonbury and to publish the Ramala newsletters.
My last talk was in Calgary, Alberta, in late November, to celebrate Sai Baba's birthday. Certain incidents which occurred at this event forced me to question the way in which the Sai Organisation works in the West. Although our hosts were charm itself and the whole program was done with great love and enthusiasm by all those involved, as a Westerner I was very aware that, firstly, there was only a handful of Westerners present at the celebration and, secondly, that the whole program was designed for and produced by the East Indian community. Here in Canada we use the term East Indians to define people of the Indian culture as opposed to the native Indians, the people who were here before the white man came and who are referred to as the First Nations. The devotional singing was virtually all in Sanskrit, so that for anyone not familiar with bhajans the singing would have no meaning whatsoever. Moreover the singing went on for far too long, and when I asked afterwards why this was the case I was told that it was good discipline for the devotees! If people went to the ashram in India they would have to sit for hours, so why shouldn't they do it now. Needless to say I did not feel that this was a good enough reason, especially for the people who were there for the first time.. All the dancing was Indian and was very attractive and well performed but again held little meaning for the Westerners. I felt that here we were in Canada and there was little in the programme that would appeal to Westerners. Is Sai Baba only for the Indians? Of course not. I was even asked why I was not wearing a sari when I gave my talk. I came home with a sense of frustration. How are we going to attract Westerners to the teachings of Sathya Sai Baba if they are always being presented in an Indian format. No wonder so many people are put off after their first visit to a Sai Baba centre, when their introduction makes them feel that they are getting involved in some Hindu cult. What happens, I find, is that they go away, read and enjoy Sai Baba's teachings but refuse to go to any of the Sai Baba centres or join the Sai Organisation. This, I feel, is a great pity as many of them have a lot of talent to offer.
As many of you who have read previous newsletters will know, I have been going through a time when I have been moving away from being attached to the physical form of Sai Baba to having a much stronger relationship with the omnipresent aspect of God. This process started on Sai Baba's 70th birthday in 1995 when Swami started weaning off his form a whole group of his devotees who, prior to that time, had been very close to him. Since then the process for me has been accelerating. Over the past year I have been consciously trying to become more aware of the omnipresent God. I have been seeking a totally inclusive experience - what is known as advaita or non-dualism. Of course duality keeps on rearing its ugly head and I often find myself retreating into the 'them and me' approach to life, but gradually the oneness of all life is becoming a part of my daily living. On our last visit to Sai Baba's ashram at Puttaparthi, which was a very special and deeply moving experience for me, during one of our interviews Sai Baba made a special point of reminding me of this weaning process.
Sai Baba had given me a beautiful peacock brooch in our first interview and so it came as a surprise to me when, in our second interview, he asked me "Who gave you that brooch?". As quick as a flash I replied "God did". Sai Baba then asked me "Where is God?" and, knowing the answer to this question, I very confidently answered "God is everywhere". To this response Sai Baba then said "If God is everywhere, then, he must be in England?" to which I replied "Yes, he is." Sai Baba then said "So if God is in England, what are you doing here?". He is always reminding us that we should be students of his teachings and not of his form. He has also told us not to have masses of photographs of him and statues of ancient Indian gods on our altars. One small picture is enough, he says, or, better still, none at all. Sai Baba also told the president of the Sai Organisation of America that the ceremony of Arati, the lighting of the sacred flame and the devotional chant performed with circular movements of the flame to honour a deity, which is performed at the end of most Sai Baba meetings, should not be done in the West as it is basically an Indian custom. Nevertheless I find that most Sai centres still perform Arati. Al Drucker recently told me that he went to a Sai Baba centre in Germany where there was nothing but a candle and some flowers on the altar and that it was one of the best and most universal spiritual meetings that he had ever attended. Perhaps there is a message here for all the Sai centres in the West.
I know that each of us is at different stages of spiritual development and that what is right for one may not be right for another. To use the analogy of a flower, some of us are buds, some of us have just begun to open our petals and some of us are in full bloom. Nevertheless I feel that the time has come for all of us to go beyond the level of the form, of ritual, of following one particular identity of God. I seek an inclusive not an exclusive form of divinity, a form that does not separate or divide people. I want to be able to introduce my Western friends to Sai Baba's teaching without them having to become token Indians in order to understand and to appreciate who he is and what he represents in the world today. I have great love for the form of Sri Sathya Sai Baba and feel immense gratitude to him for the advice, the help and the loving care he has given to me and to my family over the years, but at the same time I know that his form will pass away. I also appreciate that Sai Baba will not always be available to me as, with an ever growing numbers of devotees, there will be more and more demands on his time from new devotees who need the personal contact with him. I know that Sai Baba wants me to grow beyond the attachment to his form, to be aware of the omnipresent God within me and to be able to tune in to that God every minute of my waking day. Sai Baba has said that we should become part of the CIA which stands for Constant Integrated Awareness (of God). I believe that true meditation is just that; being at one with the Universe at all times.
This pursuit of Constant Integrated Awareness has become my quest for the Holy Grail. While winter has been upon me I have entered a time of spiritual hibernation. I have tried to stop analysing everything and to live as close to Nature as I can and, believe me, with ten horses to look after, five of my own plus five boarders, this process has been a very necessary one. It has also been a source of much joy for me, as I watch the wild deer in the fields by our lake or stand in the snow feeding our four muscovite ducks. One of my morning tasks, as I turn the horses out in the paddocks after a night of rain, is to pick up and return the worms, which have floated onto our tarmac drive in the flow of rain water and got trapped there, to the welcoming earth of our fields. Spring is approaching and the dormant seed inside me is beginning to wake up and is starting to grow again. I am feeling a strong need to experience a closer link with the God within me and with the divinity that is inherent in all life. I feel that I want to invite the Divine to flow through me, to use my body as a funnel. This feeling is now becoming my primary focus. To become sensitive to the Earth and to all the creatures and plants that go to make up her being, is true education.
I have recently been rereading my books about Jiddu Krishnamurti, that wonderful philosopher, who I used to go and listen to in the l970s at Brockwood Park in England. Krishnamurti said "Life is like a vast river, with a great volume of water, without a beginning or an ending. We take out of that fast running current a bucket of water and that confined water becomes our life. This is our conditioning and our everlasting sorrow." It is so difficult to be aware of our own conditioning, of our prejudices, of our petty likes and dislikes, of our attachments to things and people, of how much we live in the past and are caught up in the memory of past relationships. That is why I am making a conscious effort to live in the moment, to go beyond that little bucket of water that I think is me and to be aware of the river from which it came. It is because of this process that I am constantly observing myself both forming and voicing judgements and opinions about everything. I recall that David's guide, Zen Tao, who he channelled for almost twenty years, once said to a very strongly opinionated lady "Madam, your opinion is of value to no-one but yourself, since it simply represents your point of consciousness." I try to remember that comment when I'm sounding off about something or other! The thinker is the thought, the observer is the observed, Krishnamurti used to say, and I am now beginning to understand what he meant. We create the nature of our own world by what we think, say and do.
I have also been working on the various fears that have had a disproportional influence on my life so far: my fear of abandonment, my fear of not having enough money, my fear of losing control over any given situation and the list goes on and on. All these fears form a brick wall between me, the me which thought has created, which is just a collection of memories and experiences, and the I AM consciousness that I really am. I have learned to accept the aspects of my physical self which I cannot change, my genetic inheritance, and to be happy with the physical vehicle which my soul has built for this life. I firmly believe that at birth we are all wired for happiness and it is only when we block the contact with the eternal part of our beings, our atmas, that we become unhappy. As I grow older and become one of the 'wise women of the tribe', I find that I have begun to look at myself differently. I am now allowing myself to be empowered by my own inner wisdom, to follow paths which before I would never have thought possible and to explore fields of creativity of which I have never dreamed. Let me give you a recent example of this.
I had a mounting block of two small steps made to allow me to get on to my horses without straining them, me or the saddle, and as I looked at the wooden frame I thought that it looked awfully plain. So I took it inside my living room and painted a horse on either side of the mounting block and then sprayed clear varnish over it, to protect it. I made such a good job of it that suddenly all my friends wanted one just like mine and before I could turn around I had an order for a dozen hand painted mounting blocks! As some of you may know, I started painting at 50 and now, ten years later, I am not only enjoying this creative side of my being but I have also boosted my self esteem and could even be in danger of making some money! I watched a program on television recently where a woman doctor was explaining that our consciousness, which creates the cells in our body, is firmly locked in the past and therefore keeps recreating the same old patterns. If, however, we can elevate the consciousness then we will automatically improve both our health and the quality of our lives. The divine spirit, our atma, is present in each and every one of us and if we will only attune to it rather than to all our past thought-forms and memories then we will transform our beings. Most of us, knowingly or unknowingly, are blocking our divine spirits.
One of the great transformative tools in my life has been to start thinking positively and to replace old negative patterns and thought-forms, fixed deep in my sub-conscious mind, with new and positive ones. As we think, so we are. We create our own reality and so if we hold strong positive thoughts about something important to us then that is what we will manifest in our physical world. Try it and see how it works. Everyone says how blessed my life is, that I seem to get whatever I need! I believe that there is abundance in the universe and that it is mine for the asking. As long as I dedicate everything that I have to the God within me, as long as I ensure that whatever is entrusted to me is used for the highest good of all concerned, as long as I use these gifts positively and creatively, then, more will flow to me. It is the God in me that attracts these blessings and to whom all thanks must be given. I end this article with the wise words of my mother, who was a truly spiritual being. She was always saying to me "Motive and moderation. As long as your motive is right and you do everything in moderation then you won't go far wrong in life." I now know that she was simply reflecting the teaching of The Buddha, to always walk the middle path. Her advice has helped me to lead a balanced life and has set my soul free to be happy. May it be the same for you.