text:
Q: Should I Keep Business Objects Separate from the UI in WPF? WPF's view model oriented way of doing things makes it very tempting to just use business objects in the UI. Have you seen any issues with this? Why or why wouldn't you do this?

A: The guidance from Microsoft's product teams (e.g., that's what the Blend team is using) is the Model-View-ViewModel architecture, a variant of the popular MVC pattern. A good starting point is http://blogs.msdn.com/johngossman/archive/2005/10/08/478683.aspx. There are also good articles by Dr. WPF on this topic.
Essentially, they advocate to create a ViewModel layer which uses binding-friendly business objects, such as ObservableCollection and the like.
Also, if you might eventually move to Silverlight 2, you might want to keep the business objects out of the UI layer so you can swap out UI technology (until WPF and Silverlight become source-code compatible).

A: I guess I see it in a different light. I try to keep as much out of the UI as possible so I can use whichever UI presentation I need (ie. web, WPF, WinForms). The more business logic in the presentation layer, the more you may have to rewrite later if you migrate towards a different UI.

A: It's not a problem having business objects in the UI, as long as all you're doing is viewing them.  In other words, if you want to change the properties of one, or delete one, or create a new one, you should be sending a message to the controller, presenter, or whatever to do that; and the results should then be updated in the view.
What you shouldn't do is use the ToString method of your objects (or any other methods or properties on your objects) to affect how they'll appear in the view.  You should use DataTemplates to represent the view of your objects.  If you need a more complex representation, you can use an IValueConverter to change the object into its visual representation.

A: Not being a WPF guru, I can't be sure, but the usual reason for separating your M, V and C is so you can test the controller independent of the view, and the other way around.
Nothing stopping you, of course, but it should be a lot more testable (ie, unit tests) if it's separate. The MVP pattern, which is usually the one that MS promotes, is more geared around the presenter (ie, your WPF form) having more control, and thats fine too....

A: Depending on your application architecture or the on the way you are planning to reuse your components and objects, you can choose a certain degree of independence from the user interface (in this case WPF).
Here is a sample of my experience:

I've worked with WPF just a little, on
  a relatively small project, where the
  business layer was already defined,
  and we just needed to create a user
  interface. Of course, the interface
  had defined it's own rules and objects
  that it was working with, and because
  the application was defined just for
  UX we have chosen to create our own
  specific objects, mostly by extending
  DependencyObject (mainly for Data
  Binding purposes).
Some people may argue that it's not ok
  to use dependency objects because they
  not are serializable (actually they
  are - to XAML), they bring a
  dependency to WPF (the
  System.Windows namespace), and some
  other arguments. Also,
  DependencyObjects support other
  options, like attached properties
  and dependency properties. Others
  might like to use for example
  INotifyPropertyChanged if it
  makes sense, and others might say that
  all of these patterns don't belong in
  other layer than UI.
  (If you want to learn more there are
  some good WPF data binding
  articles in the MSDN library,
  including best practices for
  perfomance and for user interface)

It's kind of bad that Microsoft has chosen to add some of the goodies to the System.Windows namespace, instead of, for example, to the System.ComponentModel where in my opinion they might have been more useful (by providing all of these important patterns not only to WPF but to the .NET Framework).
Of course this is just the beginning and many of us know that the thing will be evolving to the right direction in the end. (With the risk of going off-topic: Take silverlight 2.0 framework for example. It was a rushed release, with some of the objects in the WPF model missing and some not in their natural place.)

In the end, everything depends on you, your programming style, your architectural decisions and your knowledge of the technology.
If it seems more natural to do it in a way, than by the book, think why you should and why should you not before taking any decision!

redpajama_set_name: RedPajamaStackExchange


text:
Beržytė ('a little place of birch trees', formerly ) is a village in Kėdainiai district municipality, in Kaunas County, in central Lithuania. According to the 2011 census, the village was uninhabited. It is located  from Pajieslys, on the edge of the Lapkalnys-Paliepiai Forest.

Demography

References

Villages in Kaunas County
Kėdainiai District Municipality

redpajama_set_name: RedPajamaWikipedia


Dermaceutic focuses on the three essential areas of skin rejuvenation: stimulation, protection and repair and was created by dermatologists and surgeons who specialise in facial rejuvenation. Dermaceutic helps to address most skin types' needs including pigmentation, fine lines and acne. The range contains a unique combination of active ingredients at unequalled concentrations for a luminous complexion and firmer, smoother skin.


The mix of fine limestone has a similar shrinkage to the mix made with only 40%. Thus mixes containing fine limestone can reduce the shrinkage and specimens made with only fine limestone could reduce it even more than those made with different mix proportions of fine limestone and sand.
limestone in concrete mix - pakistan crusher,stone crusher …. Gulin machine in iron ore processing plant, limestone in concrete mix.Gulin provide the limestone in concrete mix solution case for you.
The Right Mix. The Most Locations. With the most locations throughout southwest Louisiana, Port Aggregates delivers the right concrete mix and materials to your residential or commercial job site quickly and accurately.
Quikrete 10 lb. Concrete Mix consists of a Quikrete 10 lb. Concrete Mix consists of a uniformly blended properly proportioned mixture of gravel sand and Portland cement. This is a great mix for your next concrete project. Use Quikrete 10 lb. Concrete Mix for constructing footings patios curbs steps sidewalks and for setting posts.
To avoid pop-outs in exterior concrete, one should use 21AA crushed limestone aggregate where it is available. When limestone is unavailable, the soft stone and chert in natural stone aggregate should be limited to less than one percent.
Aug 20, 2015· This won't solve your excess limestone screening problem but readi-mix (pre-mixed and delivered) often isn't any more expensive than DIY and is WAY easier than mixing your own. Yes I was surprised to see each mould needs 60lb of concrete mix.
Crushed Limestone Concrete Aggregate. ... Second, because crushed limestone has a lighter unit weight than gravel, it will require about 12% less crushed limestone than gravel to mix a cubic yard of concrete. Additionally, crushed limestone concrete is easier to saw through than gravel concrete. This is because most gravel is silica.
LimeStone Overlay – Concrete, Wall and Floor Coating. Limestone is a material to be craved by property owners because of its durability and versatility – features which can save them a lot of time and money in the long run.
A: We mix our own secret recipe of blended crushed limestone and other additives to achieve a strong limestone concrete. Q: "Can Lime Crete paving be poured over existing concrete?" A: Yes it can, as long as the existing concrete is in good condition without cracking.
Reinforced with limestone, shale clay and iron. ... Mix Your Own Concrete To make standard concrete, mix 1 part Portland cement, 1.5 parts gravel, 1 part sand with 0.5 parts water. Tip: Use water that is clean and free from acid, alkaline, sulfate and oil. Mixing concrete in a wheelbarrow provides an easy way to move it where you need it.
The National Lime and Stone Company uses the same high-quality limestone in our ready-mix concrete that we use for other applications. We deliver our ready-mix concrete to residential, commercial, and highway projects directly from our batch plants using our own fleet of both front and rear discharge ready-mix trucks.
Jun 09, 2016· Once fully cured, concrete can support immense structural loads. 5. Mortar is a mixture of cement, lime, and sand, and is commonly used to hold together bricks, concrete blocks, and stones.
Key words: Crushed stone, fine aggregate, limestone, mix proportioning, fresh concrete, performance, mechanical properties. 1. Introduction A guaranteed continuous supply of sand to produce the ever-growing amount of concrete needed for economic development poses a problem in many parts of the world due to the shortage of natural river sand.


text:
Jan 16 Desiree Robinson: 16-year-old throat slashed after meeting ex-convict online
Desiree Robinson, 16, was beaten, strangled and had her throat slashed on Dec. 31, 2016 after meeting an ex-convict on Backpage.com. Her body was found in a Markham, Illinois garage.
Desiree Robinson had recently moved into her grandfather's home, hoping that the change of pace and space on Chicago's Far South Side would slow down her lifestyle.
Her mother, Yvonne Robinson-Ambrose, heard from her daughter sporadically, but couldn't keep track of her. "She wouldn't let us know where she was," she told local media.
Desiree, 16, had begun skipping school at Magic Johnson Academy. Her grandfather, Dennis Treadwell, started hearing things, unbelievable things.
"You don't want to believe these things. A granddaughter that's so vibrant and seeming to want to live life, just kind of misled herself... and got into a bad situation," Treadwell told WGN.
That bad situation turned out to be deadly, police said.
Robinson suffered "multiple injuries from an assault" on Dec. 31, 2016 at a suburban Markham, Illinois home, according to police. But it was more than an assault. It was a murder, Cook County law enforcement officials said.
Her friends discovered her body in a pool of blood inside a garage in the 16200 block of South Hamlin Avenue, authorities said.
Police found a bloody knife in the garage of Antonio Rosales, 32, and charged him with murder. He admitted to the slaying and told authorities that he met the teen online from an ad on Backpage.com, according to the Cook County State's Attorney's Office.
Authorities said Rosales negotiated sex with Desiree at his home. She came over with two female friends. The friends told police that they saw Robinson and Desiree have sex in a truck.
Soon, Desiree and her friends left, but Rosales called again, asking for Desiree to come back. He wanted to have sex again, prosecutors said.
This time the two friends stayed outside in a car, while Desiree and Rosales went into the garage. According to police, Rosales told them that a fight began when he didn't pay for sex. The altercation escalated, when he punched and strangled her as she tried to call out for her two friends.
The two friends went to sleep through the night, wondering where was Desiree. About 9 a.m., Rosales emerged and knocked on the girls' window, telling them that Desiree would be "out shortly," according to the ChicagoTribune. Soon he left in his vehicle, police said.
Worried, the two friends entered the garage and found Desiree's lifeless body. They called police.
Rosales is a convict. He served two years in an Indiana prison for assault and battery, WGN reports.
"I'm just numb," the girl's mother told KTLA.
Jan 16 Damonea Hull: 21-year-old mother shot to death outside Las Vegas apartments
Jan 15 July Johnson: Michigan mother gunned down inside car

redpajama_set_name: RedPajamaCommonCrawl


The City of Roanoke Transportation Division installed a three-month pilot traffic circle at the intersection of Persinger Road and Bluefield Boulevard. Persinger Road is a neighborhood collector road that connects two major roads in the City of Roanoke: Colonial Avenue and Brambleton Avenue. Persinger Road is also the backbone for the Bluefield Boulevard community where many residents enjoy walking.
The traffic circle was effective in slowing down traffic along Persinger Road. Two traffic studies conducted during the course of the pilot project showed that average speeds and 85th percentile speed dropped by 10 MPH along Persinger Road in the vicinity of the traffic circle.
The consensus from residents throughout the pilot project was that, despite being an effective traffic calming measure, the temporary traffic circle's configuration did not make travel in this neighborhood more comfortable. The Transportation Division, in conjunction with the Citizen Engagement Office, will continue to look for other opportunities to use this tactical urbanism design approach as a way to help neighbors who raise concerns about traffic conditions.
The curb extensions will remain in place.
Continue to monitor this intersection, and determine a more permanent curb extension solution if possible.
Reach out to the residents in the spring of 2019, and determine if there is interest in pursuing a community project at this intersection.
Designed as a "Traffic Calming Pilot Project", this traffic circle is the first of its kind in the City of Roanoke. The project was proposed in response to residents' concerns about increasing traffic volumes and speeds along Persinger Road. Recent traffic studies show average daily volumes on Persinger are 2,400 vehicles a day, and the 85th percentile speed is as high as 40 MPH, 15 MPH over the speed limit. Residents along Persinger Road expressed concerns about traffic moving too fast, making it unsafe for walkers.
Local neighbors originally requested stop signs at Persinger Road, but a four-way stop warrant analysis conducted by the City ruled out this option. The Transportation Division identified a neighborhood traffic circle as one option for reducing travel speeds along Persinger Road. For projects of this nature, city staff usually engage with the local neighborhood association to discuss the project. Since this neighborhood does not have a community association, City staff identified a pilot project as an effective way to evaluate the concept and gather public input.
City Traffic Engineers designed the traffic circle. The configuration of the intersection presented some challenges, and curb expansions were necessary to make the traffic circle more effective as a traffic calming measure. The final design considered a personal vehicle to effectively maneuver the traffic circle at a 20 MPH speed. The traffic circle was installed on August 25, 2018. The circle was constructed with circular flexible delineators attached to the pavement. Traffic barricades were used to temporarily hold the traffic circle signs. New signs were installed along Persinger Road indicating "New Traffic Pattern Ahead" and "Yield at Circle" signs at the intersection.
Once the final design and recommendation to install the traffic circle was approved by the Director of Public Works and the City Manager's Office, the City Transportation staff reached out to residents of the neighborhood via mail (92 letters distributed), to announce the upcoming project.
A sign at the intersection corner with information about the project and the Transportation Division contact information was placed at the site for a few weeks, inviting people to call or email with questions.
Twenty five (25) local neighborhood residents contacted the Transportation Division during the pilot project.
Forty-one local residents attended the project meeting on November 14. Overwhelmingly, the public meeting audience was against the traffic circle measure for traffic calming in the neighborhood, and the temporary installation was removed following the meeting.
The city received 32 responses to the online survey from local residents. Of those, 11 responses were positive while 21 responses raised concerns about the traffic circle.


There are more than two hundred tutors teaching Open University creative writing courses across the UK and Europe. These tutors are practising writers and this is a news blog which aims to let people know about some of their writing activities – their publications, readings, performances and academic presentations. We hope you will find the blog illuminating and useful.
Some of the postings will contain further attachments and links to other websites – the views expressed in these documents and pages do not necessarily represent the views of The Open University and the OU takes no responsibility for such material.
Haven't posted here before, because my main publishing output (grand word for the trickle I produce) is for children. However, in recent years I have had a fair bit of success having had poems in Key Stage 2 publications in China, Germany and the UK – and Ireland soon. I've also been published in a few anthologies, which you can read about in an interview with me at 'Poetry Zone' http://poetryzone.woodshed.co.uk/johnson1.htm.
According to the ALCS, my poems have been used in many countries, including Finland, Canada and New Zealand – I'm global!
I've won a couple of competitions, including the one I mention on this YOU TUBE broadcast http://www.youtube.com/watch?v=KBAwx-K8pLY.
I should also mention, here, that Corsham Poetry Society is playing host to the wonderful Rosemary Dun (OU CW tutor) on 12.2.13 7.30 at the Pound Arts Centre, Corsham – all welcome (only £2.00). Readings from the floor, too.
I also got published in The Times a couple of years ago. Poem follows. Enjoy!
He pulled off his pyjamas.
got shoved hard, in the back.
You may be interested in my sequence of three related short-story collections — Reasoning, For His Warriors, and Prayer at the End — newly republished (Cockatrice, 2015) and reviewed in New Welsh Review here: http://www.newwelshreview.com/article.php?id=1093. I have taught A215 and A363 in Region 08 since 2006 and 2009 respectively.


text:
23 Sep 2003 / 28 Sep 2003
Monika Bravo
Sep 28, 2003 At SITE Santa Fe
Monika Bravo: Playing with Time is organized by SITE Santa Fe. Monika Bravo was an artist-in-residence at The Santa Fe Art Institute as part of that organization's Emergency Relief Residency for artists from Lower Manhattan. Previously, she was part of the WORLD VIEWS Lower Manhattan Cultural Council (LMCC) Studio Residency Program at the World Trade Center. For three and a half months, she shared space on the North Tower's 92nd floor with 14 other artists. On September 10, 2001, Bravo filmed what she describes as "an unusual thunderstorm" from the windows of her studio. She left that evening with seven hours of time-lapse footage and three inkjet prints. On September 11, 2001, fellow artist-in-residence Michael Richards lost his life in the terrorist attack on the World Trade Center, and the remaining artists lost nearly all their work and equipment.
SITE Santa Fe is pleased to present an exhibition of Monika Bravo's work titled Playing With Time, which includes five separate works. The exhibition will feature Bravo's video projection, September 10 2001, Uno Nunca Muere la Vispera (One Never Dies the Day Before), a five-minute document dedicated to artist Michael Richards' memory. Also included in the exhibition will be Liquify and A_Maze, two interactive DVD installations that will be customized for SITE Santa Fe, and Playing With Time and movingframe/stillframe, two additional video projections. Monika Bravo manipulates images, materials, and technology in order to create illusions of recognizable landscapes and/or environments that examine the notion of space-time as a measure of reality. The viewer is induced to connect by exploring, interacting, and at times focusing on an object, place or scene in a manner that is both meditative and investigative. Bravo's is an art of seduction, illusion and introspection where subject and representation exchange and engage in conditions that allow the mind to travel from one reality to the next without the limit of boundaries. Her work seeks to actively engage the viewer as an integral participant in multi-textural art projects that resist the traditionally static state of art housed in museums.
Monika Bravo was born in Bogotá, Colombia in 1964 and lives and works in Brooklyn, New York. She studied fashion design in Rome and Paris and photography in London and New York. Bravo's films and video installations have been shown in the U.S. at the New Museum of Contemporary Art, the Museum of Modern Art, Ocularis, Museo del Barrio, Lehman Gallery at Lehman College, Tyler Gallery at Temple University, and DeChiara/Stewart Gallery in New York. She has also exhibited internationally at Ciocca Arte Contemporanea in Milan, Sala RG in Caracas, Museo de las Americas in Puerto Rico, and AboutStudio/AboutCafe in Bangkok.
SITE Santa Fe's Projection Room is supported by Sharp Electronics Corporation.
2003-09-28 0:00:00 2003-09-23 12:00:00 America/Denver Monika Bravo Another amazing event at SITE Santa Fe SITE Santa Fe SITE Santa Fe info@sitesantafe.org


text:
var date_format = 'mm/dd/yyyy';

var busy_at_create = [];
var busy_at_edit = [];

/**
 * This function is necessary to handle calendar's days
 *
 * @param day
 * @param Array
 */
function calendarBeforeShowDayCreate(day) {
    return calendarBeforeShowDay(day, busy_at_create, $(this));
}

/**
 * This function is necessary to handle calendar's days
 *
 * @param day
 * @param Array
 */
function calendarBeforeShowDayEdit(day) {
    return calendarBeforeShowDay(day, busy_at_edit, $(this));
}

/**
 * This function is necessary to handle calendar's days
 *
 * @param day
 * @param busy_at
 * @param Array
 */
function calendarBeforeShowDay(day, busy_at, input)
{
    var result = true;
    var title = '';
    var day_class = 'contract-day';

    // Fix for day.getTime() after close calendar
    if (day instanceof Date) {
        var timestamp = (day.getTime() - day.getTimezoneOffset()*60000)/1000;
        var role = $(input).data('role');

        if (busy_at[timestamp] !== undefined) {
            var busyness = busy_at[timestamp];

            switch (role) {
                case 'arrival':
                    if (role == 'arrival' && busyness.arrival == false && busyness.departure == true) {
                        day_class = day_class + ' departure';
                        result = true;
                    } else if (role == 'arrival' && busyness.arrival == true && busyness.departure == false) {
                        day_class = day_class + ' arrival';
                        result = false;
                    } else {
                        result = false;
                    }

                    break;

                case 'departure':
                    if (role == 'departure' && busyness.arrival == true && busyness.departure == false) {
                        day_class = day_class + ' arrival';
                        result = true;
                    } else if (role == 'departure' && busyness.arrival == false && busyness.departure == true) {
                        day_class = day_class + ' departure';
                        result = false;
                    } else {
                        result = false;
                    }

                    break;
            }

            if (busyness.arrival == true && busyness.departure == true) {
                day_class = day_class + ' arrival departure';
                result = false;
            }
        }

        day_class = day_class + ' ' + (result === true ? 'available' : 'disabled');
        return [result, day_class, title];
    }

    return null;
}

var date_arrival_timestamp_global = null;
var date_departure_timestamp_global = null;

/**
 * This function handles days after close in calendar
 * @param day
 */
function calendarAfterCloseDayCreate(day) {
    calendarAfterCloseDay(day, '.contract-datepicker-input');
}

/**
 * This function handles days after close in calendar
 * @param day
 */
function calendarAfterCloseDayEdit(day) {
    calendarAfterCloseDay(day, '.contract-datepicker-input-edit');
}

/**
 * This function handles days after close in calendar
 * @param day
 */
function calendarAfterCloseDay(day, selector)
{
    var date_arrival = $(selector + '[data-role="arrival"]').val() !== '' ? new Date($(selector + '[data-role="arrival"]').val()) : null;
    var date_arrival_timestamp = date_arrival !== null ? (date_arrival.getTime() - date_arrival.getTimezoneOffset()*60000)/1000 : null;

    var date_departure = $(selector + '[data-role="departure"]').val() !== '' ? new Date($(selector + '[data-role="departure"]').val()) : null;
    var date_departure_timestamp = date_departure !== null ? (date_departure.getTime() - date_departure.getTimezoneOffset()*60000)/1000 : null;

    if ((date_arrival_timestamp !== null && date_departure_timestamp !== null) && date_departure_timestamp < date_arrival_timestamp) {
        $(selector + '[data-role="arrival"]').val(date_departure.format(date_format));
        $(selector + '[data-role="departure"]').val(date_arrival.format(date_format));

        date_arrival =  new Date($(selector + '[data-role="arrival"]').val());
        date_arrival_timestamp = (date_arrival.getTime() - date_arrival.getTimezoneOffset()*60000)/1000;

        date_departure =  new Date($(selector + '[data-role="departure"]').val());
        date_departure_timestamp = (date_departure.getTime() - date_departure.getTimezoneOffset()*60000)/1000;

        var min_timestamp = date_arrival_timestamp + 2*60*60*24;
        if (date_departure_timestamp < min_timestamp) {
            date_departure = new Date();
            date_departure.setTime(min_timestamp*1000);

            date_departure_timestamp = (date_departure.getTime() - date_departure.getTimezoneOffset()*60000)/1000;
            $(selector + '[data-role="departure"]').val(date_departure.format(date_format));
        }
    }

    if (date_arrival_timestamp !== null && date_departure_timestamp === null) {
        date_departure = new Date();

        date_departure.setTime((date_arrival_timestamp + 2*60*60*24)*1000);
        date_departure_timestamp = (date_departure.getTime() - date_departure.getTimezoneOffset()*60000)/1000;

        $(selector + '[data-role="departure"]').val(date_departure.format(date_format));
    }

    if (date_arrival_timestamp === null && date_departure_timestamp !== null) {
        date_arrival = new Date();

        date_arrival.setTime((date_departure_timestamp - 2*60*60*24)*1000);
        date_arrival_timestamp = (date_arrival.getTime() - date_arrival.getTimezoneOffset()*60000)/1000;

        $(selector + '[data-role="arrival"]').val(date_arrival.format(date_format));
    }

    $('.contract-date-arrival-timestamp').val(date_arrival_timestamp);
    $('.contract-date-departure-timestamp').val(date_departure_timestamp);

    date_arrival_timestamp_global = date_arrival_timestamp;
    date_departure_timestamp_global = date_departure_timestamp;
}

var blocking_create_form_id = null;
var blocking_edit_form_id = null;

var contract_info_url = null;

var blocking_create_url = null;
var blocking_edit_url = null;
var blocking_cancel_url = null;

/**
 * This function is necessary to init property calendar
 */
function propertyCalendarInit(event)
{
    var date_arrival = null;
    var date_departure = null;

    $('#blocking-create-block').change(
        function(event)
        {
            event.preventDefault();

            if ($(this).prop('checked') == true) {
                $('#' + blocking_create_form_id + ' input:not([type="checkbox"]):not([type="hidden"]):not(.contract-datepicker-input)').prop('disabled', true);
                $('#' + blocking_create_form_id + ' select').prop('disabled', true);
            } else {
                $('#' + blocking_create_form_id + ' input:not([type="checkbox"]):not([type="hidden"]):not(.contract-datepicker-input)').prop('disabled', false);
                $('#' + blocking_create_form_id + ' select').prop('disabled', false);
            }
        }
    );

    $('#blocking-edit-block').change(
        function(event)
        {
            event.preventDefault();

            if ($(this).prop('checked') == true) {
                $('#' + blocking_edit_form_id + ' input:not([type="checkbox"]):not([type="hidden"]):not(.contract-datepicker-input)').prop('disabled', true);
                $('#' + blocking_edit_form_id + ' select').prop('disabled', true);
            } else {
                $('#' + blocking_edit_form_id + ' input:not([type="checkbox"]):not([type="hidden"]):not(.contract-datepicker-input)').prop('disabled', false);
                $('#' + blocking_edit_form_id + ' select').prop('disabled', false);
            }
        }
    );

    /**
     * This function is necessary to get base class of busy day
     *
     * @param object class_list
     * @returns {*}
     */
    function getBaseClass(class_list) {
        var base_class = 'busy';

        if ($.inArray('blocked', class_list) != -1) {
            base_class = 'blocked';
        } else if ($.inArray('pending', class_list) != -1) {
            base_class = 'pending';
        } else if ($.inArray('locked', class_list) != -1) {
            base_class = 'locked';
        } else if ($.inArray('ical', class_list) != -1) {
            base_class = 'ical';
        }

        return base_class;
    };

    /**
     * This function is necessary to get base class of busy day that was before
     *
     * @param object class_list
     * @return {*}
     */
    function getBaseClassBeforeBlocking(class_list)
    {
        var base_class = null;

        if ($.inArray('busy-blocked', class_list) != -1) {
            base_class = 'busy';
        } else if ($.inArray('blocked-blocked', class_list) != -1) {
            base_class = 'blocked';
        } else if ($.inArray('pending-blocked', class_list) != -1) {
            base_class = 'pending';
        } else if ($.inArray('locked-blocked', class_list) != -1) {
            base_class = 'locked';
        } else if ($.inArray('ical-blocked', class_list) != -1) {
            base_class = 'ical';
        }

        return base_class;
    }

    /**
     * This function is necessary to get base class of busy day that was after
     *
     * @param object class_list
     * @return {*}
     */
    function getBaseClassAfterBlocking(class_list)
    {
        var base_class = null;

        if ($.inArray('blocked-busy', class_list) != -1) {
            base_class = 'busy';
        } else if ($.inArray('blocked-blocked', class_list) != -1) {
            base_class = 'blocked';
        } else if ($.inArray('blocked-pending', class_list) != -1) {
            base_class = 'pending';
        } else if ($.inArray('blocked-locked', class_list) != -1) {
            base_class = 'locked';
        } else if ($.inArray('blocked-ical', class_list) != -1) {
            base_class = 'ical';
        }

        return base_class;
    }

    /**
     * This function is necessary to show popup for creation new blocking
     * @param selected
     */
    function showCreationPopup(selected)
    {
        selected.addClass('selected');

        var date = new Date(date_arrival*1000);
        var arrival_date = date.format(date_format);

        $('.contract-datepicker-input[data-role="arrival"]').val(arrival_date);

        var date = new Date(date_departure*1000);
        var departure_date = date.format(date_format);

        $('.contract-datepicker-input[data-role="departure"]').val(departure_date);

        $('.contract-date-arrival-timestamp').val(date_arrival);
        $('.contract-date-departure-timestamp').val(date_departure);

        date_arrival_timestamp_global = date_arrival;
        date_departure_timestamp_global = date_departure;

        $('#blocking-create-modal').modal('show');
    };

    /**
     * This function is necessary to show contract information popup
     */
    function showInformationPopup(data)
    {
        $('#contract-info-controls-container').children().remove();

        $('#contract-arrival-info').html(data.date_arrival);
        $('#contract-departure-info').html(data.date_departure);
        $('#contract-type-info').html(data.contract_type_translate);

        if (data.guest.length < 1) {
            $('#contract-guest-info').html(translate.CORE_NA);
        } else {
            $('#contract-guest-info').html(data.guest.first_name + ' ' + data.guest.last_name);
        }

        date_arrival = date_arrival_timestamp_global = data.date_arrival_timestamp;
        date_departure = date_departure_timestamp_global = data.date_departure_timestamp;

        busy_at_edit = busy_at_create;
        switch (data.contract_type) {
            case 'busy':
            case 'pending':
                var button_view = $('<a>', {
                    href: data.url.view,
                    html: translate.BUTTON_CONTRACT_VIEW_DETAILS
                });

                var button_edit = $('<a>', {
                    href: data.url.edit,
                    html: translate.BUTTON_CONTRACT_EDIT
                });

                $('#contract-info-controls-container').append(button_view);
                $('#contract-info-controls-container').append(button_edit);

                break;

            case 'blocked':
                busy_at_edit = data.property.busy_at;

                if (data.guest.length < 1) {
                    $('#blocking-edit-block').prop('checked', true);

                    $('#' + blocking_edit_form_id + ' input:not([type="checkbox"]):not([type="hidden"]):not(.contract-datepicker-input)').prop('disabled', true);
                    $('#' + blocking_edit_form_id + ' select').prop('disabled', true);
                } else {
                    $('#' + blocking_edit_form_id + ' input:not([type="checkbox"]):not([type="hidden"]):not(.contract-datepicker-input)').prop('disabled', false);
                    $('#' + blocking_edit_form_id + ' select').prop('disabled', false);

                    $('#blocking-edit-block').prop('checked', false);

                    $('#blocking-edit-first-name').val(data.guest.first_name);
                    $('#blocking-edit-last-name').val(data.guest.last_name);
                    $('#blocking-edit-email').val(data.guest.email);
                    $('#blocking-edit-mobile').val(data.guest.mobile);
                }

                $('#blocking-edit-date-arrival').val(data.date_arrival);
                $('.contract-date-arrival-timestamp').val(data.date_arrival_timestamp);
                $('#blocking-edit-date-departure').val(data.date_departure);
                $('.contract-date-departure-timestamp').val(data.date_departure_timestamp);

                $('.blocking-edit-guest-select').each(
                    function()
                    {
                        $(this).children().remove();

                        var role = $(this).data('role');
                        var selected = data[role];

                        for (var i = 0; i <= data.property.max_people; i++) {
                            var option = $('<option>', {
                                value: i,
                                html: i
                            });

                            if (selected == i) {
                                option.prop('selected', true);
                            }

                            $(this).append(option);
                        }
                    }
                );

                $('#blocking-edit-hash').val(data.contract_hash);
                $('#blocking-edit-security-deposit').val(data.security_deposit);
                $('#blocking-edit-outstanding-amount').val(data.outstanding_amount);

                var button_view = $('<a>', {
                    html: translate.BUTTON_CONTRACT_VIEW_DETAILS
                });

                button_view.click(
                    function (event)
                    {
                        event.preventDefault();

                        $('.custom-form-error').children().remove();

                        handler_url = blocking_edit_url;
                        collecting_form_id = blocking_edit_form_id;

                        $('#contract-info-modal').modal('hide');
                        $('#blocking-edit-modal').modal('show');
                    }
                );

                var button_cancel = $('<a>', {
                    html: translate.BUTTON_CONTRACT_CANCEL
                });

                button_cancel.click(
                    function (event)
                    {
                        event.preventDefault();

                        $('.custom-form-error').children().remove();

                        $.post(
                            blocking_cancel_url,
                            {blocking_hash: data.contract_hash},
                            function (response)
                            {
                                if (response.success == true) {
                                    resetSelectedBlockingData();
                                    $('#contract-info-modal').modal('hide');
                                } else {
                                    system_alert(response.message)
                                }
                            },
                            'json'
                        );
                    }
                );

                $('#contract-info-controls-container').append(button_view);
                $('#contract-info-controls-container').append(button_cancel);

                break;
        }

        $('#contract-info-modal').modal('show');
    };

    var handler_url = blocking_create_url;
    var collecting_form_id = blocking_create_form_id;

    /**
     * This function is necessary to reset blocking data before necessary actions
     */
    function resetSelectedBlockingData()
    {
        var first_day = $('.calendar-day.selected').first();
        var first_day_base_class = getBaseClassBeforeBlocking(first_day.attr('class').split(' '));

        if (first_day.hasClass('departure')) {
            first_day.removeClass('blocked')
                .removeClass('arrival')
                .removeClass(first_day_base_class + '-blocked')
                .addClass(first_day_base_class)
                .attr('data-contract', first_day.data('contractBefore'))
                .data('contract', first_day.data('contractBefore'));
        } else {
            first_day.removeClass('blocked')
                .removeClass('arrival')
                .removeClass('busy')
                .attr('data-contract', '')
                .attr('data-contract-before', '')
                .data('contractBefore', '')
                .data('contract', '');
        }

        var last_day = $('.calendar-day.selected').last();
        var last_day_base_class = getBaseClassAfterBlocking(last_day.attr('class').split(' '));

        if (last_day.hasClass('arrival')) {
            last_day.removeClass('blocked')
                .removeClass('departure')
                .removeClass('blocked-' + last_day_base_class)
                .addClass(last_day_base_class)
                .attr('data-contract-before', last_day.data('contract'))
                .data('contractBefore', last_day.data('contract'));
        } else {
            last_day.removeClass('blocked')
                .removeClass('departure')
                .removeClass('busy')
                .attr('data-contract', '')
                .attr('data-contract-before', '')
                .data('contractBefore', '')
                .data('contract', '');
        }

        $('.calendar-day.selected:not(.arrival):not(.departure)').removeClass('blocked')
            .removeClass('departure')
            .removeClass('arrival')
            .removeClass('busy')
            .attr('data-contract', '')
            .attr('data-contract-before', '')
            .data('contractBefore', '')
            .data('contract', '');
    }

    $('.blocking-confirm').click(
        function(event)
        {
            event.preventDefault();

            $('.custom-form-error').children().remove();

            $.post(
                handler_url,
                $('#' + collecting_form_id).serialize(),
                function(response)
                {
                    var creation = handler_url == blocking_create_url;

                    if (response.success == true) {
                        if (!creation) {
                            resetSelectedBlockingData();
                        }

                        if (date_arrival != date_arrival_timestamp_global || date_departure != date_departure_timestamp_global) {
                            // was changed from popup

                            date_arrival = date_arrival_timestamp_global;
                            date_departure = date_departure_timestamp_global;

                            var list = $('.calendar-day').filter(
                                function() {
                                    var timestamp_value = $(this).data('timestamp');
                                    var result = false;

                                    if (timestamp_value >= date_arrival && timestamp_value <= date_departure) {
                                        result = true;
                                    }

                                    return result;
                                }
                            );

                            $('.calendar-day').removeClass('selected');
                            list.addClass('selected');
                        }

                        var day_departure = $('.calendar-day.selected[data-timestamp="' + date_departure + '"]');

                        var day_arrival = $('.calendar-day.selected[data-timestamp="' + date_arrival + '"]');
                        if (day_arrival.hasClass('busy')) {
                            var class_list = day_arrival.attr('class').split(' ');
                            var base_class = getBaseClass(class_list);

                            if (base_class != 'busy' && base_class != 'blocked') {
                                day_arrival.removeClass(base_class);
                            }

                            day_arrival.addClass(base_class + '-blocked');
                        }
                        day_arrival.addClass('arrival').addClass('blocked');
                        day_arrival.attr('data-contract', response.data.contract_id);
                        day_arrival.data('contract', response.data.contract_id);

                        day_departure.addClass('departure');
                        if (day_departure.hasClass('busy')) {
                            var class_list = day_departure.attr('class').split(' ');
                            var base_class = getBaseClass(class_list);

                            day_departure.addClass('blocked-' + base_class);
                        } else {
                            day_departure.addClass('blocked');
                        }

                        $('.calendar-day.selected:not(.arrival.departure)').attr('data-contract', response.data.contract_id);
                        $('.calendar-day.selected:not(.arrival.departure)').data('contract', response.data.contract_id);

                        $('.calendar-day.selected:not(.arrival)').attr('data-contract-before', response.data.contract_id);
                        $('.calendar-day.selected:not(.arrival)').data('contractBefore', response.data.contract_id);

                        $('.calendar-day.selected:not(.arrival.departure)').addClass('blocked');

                        date_arrival = date_arrival_timestamp_global = null;
                        date_departure = date_departure_timestamp_global = null;

                        $('.calendar-day.selected').addClass('busy');

                        $('.calendar-day').removeClass('selected');

                        if (creation) {
                            $('#blocking-create-modal').modal('hide');
                        } else {
                            $('#blocking-edit-modal').modal('hide');
                        }
                    } else {
                        if (response.data != null) {
                            // Validation error

                            $.each(
                                response.data,
                                function(key, value)
                                {
                                    var input_container = $('#' + collecting_form_id + ' [name="' + key + '"]');
                                    var error_container = input_container.next();
                                    error_container.children().remove();

                                    $.each(
                                        value,
                                        function(error_type, error_message)
                                        {
                                            var error = $('<li>');
                                            error.html(error_message);
                                            error_container.append(error);
                                        }
                                    );
                                }
                            );
                        } else {
                            date_arrival = null;
                            date_departure = null;

                            $('.calendar-day').removeClass('selected');

                            $('#blocking-create-modal').modal('hide');
                            system_alert(response.message);
                        }
                    }
                },
                'json'
            );
        }
    );

    $('.calendar-day').click(
        function(event)
        {
            if ($(this).hasClass('busy')) {
                if (($(this).hasClass('departure') && !$(this).hasClass('arrival')) || (!$(this).hasClass('departure') && $(this).hasClass('arrival'))) {
                    var timestamp = $(this).data('timestamp');
                    if (date_arrival !== null && date_departure !== null) {
                        $('.calendar-day.selected').removeClass('selected');
                        date_arrival = date_departure = null;
                    }

                    $(this).addClass('selected');

                    var need_popup = false;
                    if (date_arrival === null) {
                        date_arrival = timestamp;
                    } else if (date_departure === null) {
                        date_departure = timestamp;

                        if (date_departure < date_arrival) {
                            date_departure = date_arrival;
                            date_arrival = timestamp;
                        }

                        need_popup = true;
                    }

                    if (need_popup === true) {
                        var list = $('.calendar-day').filter(
                            function() {
                                var timestamp_value = $(this).data('timestamp');
                                var result = false;

                                if (timestamp_value >= date_arrival && timestamp_value <= date_departure) {
                                    result = true;
                                }

                                return result;
                            }
                        );

                        if (list.not('.departure').not('.arrival').hasClass('busy')) {
                            date_arrival = null;
                            date_departure = null;

                            $('.calendar-day').removeClass('selected');
                        } else {
                            handler_url = blocking_create_url;
                            collecting_form_id = blocking_create_form_id;
                            showCreationPopup(list);
                        }
                    }
                } else {
                    $('.calendar-day').removeClass('selected');

                    var contract_type = getBaseClass($(this).attr('class').split(' '));
                    var contract_hash = $(this).data('contract');

                    $('.calendar-day[data-contract="' + contract_hash + '"]').addClass('selected');
                    $('.calendar-day[data-contract-before="' + contract_hash + '"]').addClass('selected');

                    var data = {
                        contract_type: contract_type,
                        contract_hash: contract_hash
                    };

                    $.post(
                        contract_info_url,
                        data,
                        function (response) {
                            if (response.success == true) {
                                showInformationPopup(response.data);
                            } else {
                                system_alert(response.message);
                            }
                        },
                        'json'
                    );
                }
            } else {
                var timestamp = $(this).data('timestamp');
                if (date_arrival !== null && date_departure !== null) {
                    $('.calendar-day.selected').removeClass('selected');
                    date_arrival = date_departure = null;
                }

                $('.busy').removeClass('selected');
                $(this).addClass('selected');

                if (date_arrival === null) {
                    date_arrival = timestamp;
                } else if (date_departure === null) {
                    date_departure = timestamp;

                    if (date_departure < date_arrival) {
                        date_departure = date_arrival;
                        date_arrival = timestamp;
                    }

                    var list = $('.calendar-day').filter(
                        function() {
                            var timestamp_value = $(this).data('timestamp');
                            var result = false;

                            if (timestamp_value >= date_arrival && timestamp_value <= date_departure) {
                                result = true;
                            }

                            return result;
                        }
                    );

                    if (list.not('.departure').not('.arrival').hasClass('busy')) {
                        date_arrival = null;
                        date_departure = null;

                        $('.calendar-day').removeClass('selected');
                    } else {
                        handler_url = blocking_create_url;
                        collecting_form_id = blocking_create_form_id;

                        showCreationPopup(list);
                    }
                }
            }
        }
    );
}

redpajama_set_name: RedPajamaGithub


Hosted by chef, cookbook author and restaurateur Diane Kochilas, the 13-part culinary series MY GREEK TABLE WITH DIANE KOCHILAS celebrates Greek history and culture through food. In the series, Diane travels throughout Greece and its surrounding islands where she showcases many of the foods that Greece is known for (olive oil, feta, honey, yogurt and more), while giving a snapshot of the country's traditions. Then Diane heads back to her kitchen to whip up simple home-cooked meals using the ingredients she highlights in each episode, offering tips on how to cook and pair them in a traditional Greek meal.


text:
The White House responds: cell phone unlocking should be legalized
Christian Zibreg on March 4, 2013
With the United States Federal Communications Commission Chairman Julius Genachowski promising last Thursday to look into cell phone unlocking, the federal government is now expressing concern about the recent criminalization of the controversial topic, with the White House finally making known its official stance on cell phone unlocking.
R. David Edelman, a Senior Advisor for Internet, Innovation, and Privacy for the White House, Monday published the official response stating the government stands in support of those wishing to unlock their cellphones once they have fulfilled the terms of the contract. Unlocking your iPhone, as you know, basically frees your handset from the clutches of your carrier so you can take it to any wireless company's network…
Earlier this year, the expiration of an exemption in a digital copyright has prompted outrage from cell phone owners. The exemption by the Library of Congress was in place for the past six years and it effectively stopped enforcement of the ban on circumvention of technological protection measures controlling access to copyrighted software on cell phones.
This means that as of January 26, unlocking your handset is illegal.
A White House petition calling for (again) allowing cell phone unlocking drew more than 100,000 signatures, requiring an official response.
Monday, White House in its official petition response acknowledges that "consumers should be able to unlock their cell phones without risking criminal or other penalties," while noting the same rights should extend to other mobile devices such as tablets:
The White House agrees with the 114,000+ of you who believe that consumers should be able to unlock their cell phones without risking criminal or other penalties. In fact, we believe the same principle should also apply to tablets, which are increasingly similar to smart phones.
The administration is adamant that "neither criminal law nor technological locks should prevent consumers from switching carriers when they are no longer bound by a service agreement or other obligation" and is urging US telcos to re-think their policies.
The government is also calling on the FCC and the National Telecommunications and Information Administration to weigh in on the issue.
The Library of Congress in a separate response today also agrees that the cell phone unlocking problem would benefit from review and resolution in that context.
As designed by Congress, the rulemaking serves a very important function, but it was not intended to be a substitute for deliberations of broader public policy.
However, as the U.S. Copyright Office has recognized many times, the 1201 rulemaking can often serve as a barometer for broader policy concerns and broader policy action.
The most recent rulemaking has served this purpose.
FCC Chairman Julius Genachowski also released a statement today:
The Copyright Office of the Library of Congress recently reversed its longstanding position and stated it is a violation of the Digital Millennium Copyright Act for consumers to unlock new mobile phones, even those outside of contract periods, without their wireless providers' permission, and that consumers are subject to criminal penalties if they do.
From a communications policy perspective, this raises serious competition and innovation concerns, and for wireless consumers, it doesn't pass the common sense test.
The FCC is examining this issue, looking into whether the agency, wireless providers, or others should take action to preserve consumers' ability to unlock their mobile phones.
He is also encouraging Congress to take a close look and "consider a legislative solution."
A lawyer for CTIA, which is the wireless trade group representing wireless carriers, unsurprisingly argues that "unlocked phones are freely available in the marketplace".
His statement, obtained by AllThingsD, reads:
Customers have numerous options when purchasing mobile devices. They may choose to purchase devices at full price with no lock, or at a substantially discounted price – typically hundreds of dollars less than the full price – by signing a contract with a carrier.
When the contract terms are satisfied, or for a reason that is included in the carrier's unlocking policy – such as a trip outside the U.S. – carriers will unlock a phone at their customer's request.
So these wireless companies basically think they should be allowed to get away with their practice of locking devices to their network.
On one hand, one could feel sympathetic to carriers as they often subsidize expensive devices in return for a contractual commitment from users, so they could recoup huge upfront payments to phone vendors over the course of their users' wireless service contracts.
On the other hand, paying the full price for an off-contract device and still not being allowed to take it to another network seems plain wrong, no matter how you look at it.
In my view, unlock bans are illegal and these greedy telcos should be put in their place.
What's your position on this issue?
Further reading: how to unlock the iPhone
Legislation to legalize cell phone unlocking looms
Turkish police wants Apple to unlock Russian ambassador killer's iPhone 4s
Regional carriers voice support for cell phone unlocking


Canape Lit 2 Place Convertible Canape Deux Places Convertibles Canapac Deux Places Fly Best Of Articles With Canape Lit 2 Places Convertible Ikea Tag Canape Petit Canape 2 Places Uploaded by on Wednesday, April 4th, 2018 in category ikea meuble lit.
See also Canape Lit 2 Place Convertible Canapac Convertible Alinea Inspirational Canap 3 Places Canape Angle Luxury Dimension Best Lit from ikea meuble lit Topic.
Here we have another image Canape Lit 2 Place Convertible Canape Lit 2 Place Convertible Canape Convertible 120 Cm Canape Lit 2 Places Ikea Canape Lit 2 Places Convertible Canape Lit Canape Lit 2 Places Convertible featured under Canape Lit 2 Place Convertible Canape Deux Places Convertibles Canapac Deux Places Fly Best Of Articles With Canape Lit 2 Places Convertible Ikea Tag Canape Petit Canape 2 Places. We hope you enjoyed it and if you want to download the pictures in high quality, simply right click the image and choose "Save As". Thanks for reading Canape Lit 2 Place Convertible Canape Deux Places Convertibles Canapac Deux Places Fly Best Of Articles With Canape Lit 2 Places Convertible Ikea Tag Canape Petit Canape 2 Places.