/**
 * @Dependencies:
 *  - mapconfiguration.js
 */


var eventPopUp = null;

function preCompEventDetailsPopUp(event){
    eventDetailsPopUp(null, null, event);
}

function eventDetailsPopUp(eventType, eventId, event) {

    var content = null;
    var title = null;

    if(eventType != null && eventId != null){
        var events = occurrences[eventType];
        event = null;
        for(var i = 0; i<events.length; ++i){
            if(events[i].id == eventId){
                event = events[i];
                break;
            }
        }
        if(event == null){
            return;
        }
        //fill the required fields
        jQuery("#eventSubject").html((event["eventSubject"]==undefined) || event["eventSubject"].length == 0?"n/d":event["eventSubject"]);
        jQuery("#eventType").html((event["eventType"]==undefined) || event["eventType"].length == 0?"n/d":event["eventType"]);
        jQuery("#eventFollowUp").html((event["eventFollowUp"]==undefined) || event["eventFollowUp"].length == 0?"n/d":event["eventFollowUp"]);
        jQuery("#eventRoad").html((event["eventRoad"]==undefined) || event["eventRoad"].length == 0?"n/d":event["eventRoad"]);
        jQuery("#eventRoadPlace").html((event["eventRoadPlace"]==undefined) || event["eventRoadPlace"].length == 0?"n/d":event["eventRoadPlace"]);
        jQuery("#eventSummary").html((event["eventSummary"]==undefined) || event["eventSummary"].length == 0?"n/d":event["eventSummary"]);
        jQuery("#schedSubject").html((event["schedSubject"]==undefined) || event["schedSubject"].length == 0?"n/d":event["schedSubject"]);
        jQuery("#schedStart").html((event["schedStart"]==undefined) || event["schedStart"].length == 0?"n/d":event["schedStart"]);
        jQuery("#schedEnd").html((event["schedEnd"]==undefined) || event["schedEnd"].length == 0?"n/d":event["schedEnd"]);
        jQuery("#schedStartRegion").html((event["schedStartRegion"]==undefined) || event["schedStartRegion"].length == 0?"n/d":event["schedStartRegion"]);
        jQuery("#schedEndRegion").html((event["schedEndRegion"]==undefined) || event["schedEndRegion"].length == 0?"n/d":event["schedEndRegion"]);
        jQuery("#schedStartCity").html((event["schedStartCity"]==undefined) || event["schedStartCity"].length == 0?"n/d":event["schedStartCity"]);
        jQuery("#schedEndCity").html((event["schedEndCity"]==undefined) || event["schedEndCity"].length == 0?"n/d":event["schedEndCity"]);
        jQuery("#schedStartLocal").html((event["schedStartLocal"]==undefined) || event["schedStartLocal"].length == 0?"n/d":event["schedStartLocal"]);
        jQuery("#schedEndLocal").html((event["schedEndLocal"]==undefined) || event["schedEndLocal"].length == 0?"n/d":event["schedEndLocal"]);

        content = jQuery('#mapEventDetailsPopUp').html();
        title = event["title"];

    }else{
        if(event == null){
            return;
        }

        //fill the required fields
        jQuery("#leventSubject").html((jQuery(event).attr('eventSubject')=="null")?"n/d":unescape(jQuery(event).attr('eventSubject')));
        jQuery("#leventType").html((jQuery(event).attr('eventType')=="null")?"n/d":unescape(jQuery(event).attr('eventType')));
        jQuery("#leventFollowUp").html((jQuery(event).attr('eventFollowUp')=="null")?"n/d":unescape(jQuery(event).attr('eventFollowUp')));
        jQuery("#leventRoad").html((jQuery(event).attr('eventRoad')=="null")?"n/d":unescape(jQuery(event).attr('eventRoad')));
        jQuery("#leventRoadPlace").html((jQuery(event).attr('eventRoadPlace')=="null")?"n/d":unescape(jQuery(event).attr('eventRoadPlace')));
        jQuery("#leventSummary").html((jQuery(event).attr('eventSummary')=="null")?"n/d":unescape(jQuery(event).attr('eventSummary')));
        jQuery("#lschedSubject").html((jQuery(event).attr('schedSubject')=="null")?"n/d":unescape(jQuery(event).attr('schedSubject')));
        jQuery("#lschedStart").html((jQuery(event).attr('schedStart')=="null")?"n/d":unescape(jQuery(event).attr('schedStart')));
        jQuery("#lschedEnd").html((jQuery(event).attr('schedEnd')=="null")?"n/d":unescape(jQuery(event).attr('schedEnd')));
        jQuery("#lschedStartRegion").html((jQuery(event).attr('schedStartRegion')=="null")?"n/d":unescape(jQuery(event).attr('schedStartRegion')));
        jQuery("#lschedEndRegion").html((jQuery(event).attr('schedEndRegion')=="null")?"n/d":unescape(jQuery(event).attr('schedEndRegion')));
        jQuery("#lschedStartCity").html((jQuery(event).attr('schedStartCity')=="null")?"n/d":unescape(jQuery(event).attr('schedStartCity')));
        jQuery("#lschedEndCity").html((jQuery(event).attr('schedEndCity')=="null")?"n/d":unescape(jQuery(event).attr('schedEndCity')));
        jQuery("#lschedStartLocal").html((jQuery(event).attr('schedStartLocal')=="null")?"n/d":unescape(jQuery(event).attr('schedStartLocal')));
        jQuery("#lschedEndLocal").html((jQuery(event).attr('schedEndLocal')=="null")?"n/d":unescape(jQuery(event).attr('schedEndLocal')));

        content = jQuery('#eventDetailsPopUp').html();
        title = jQuery(event).text();
    }
    eventPopUp = Liferay.Popup({
            title: "Detalhe : " + title,
            message: content,
            modal: true,
            resizable: false,
            width: 500
        });

}

function unescapeOccurrencesInformation(){

    //get all occurrence types to unescape
    var layers = encodeEventsList.split(",");
    for(var index in layers){
        var events = occurrences[layers[index]];
        for(var evtIdx in events){
            //unescape generic fields
            var stuffToEscape = encodeEventsGeneric.split(",");
            for(var i in stuffToEscape){
                events[evtIdx][stuffToEscape[i]] = unescape(events[evtIdx][stuffToEscape[i]]);
            }
            if(layers[index] == "RoadWorks" && encodeEventsRoadWorks != ""){
                stuffToEscape = encodeEventsRoadWorks.split(",");
                for(var innerIdx in stuffToEscape){
                    events[evtIdx][stuffToEscape[innerIdx]] = unescape(events[evtIdx][stuffToEscape[innerIdx]]);
                }
            }
            if(layers[index] == "Accident" && encodeEventsRoadWorks != ""){
                stuffToEscape = encodeEventsAccident.split(",");
                for(var innerIdx in stuffToEscape){
                    events[evtIdx][stuffToEscape[innerIdx]] = unescape(events[evtIdx][stuffToEscape[innerIdx]]);
                }
            }
            if(layers[index] == "RoadBlock" && encodeEventsRoadWorks != ""){
                stuffToEscape = encodeEventsRoadBlock.split(",");
                for(var innerIdx in stuffToEscape){
                    events[evtIdx][stuffToEscape[innerIdx]] = unescape(events[evtIdx][stuffToEscape[innerIdx]]);
                }
            }
            if(layers[index] == "TrafficConditioningEvent" && encodeEventsRoadWorks != ""){
                stuffToEscape = encodeEventsTrafficConditioningEvent.split(",");
                for(var innerIdx in stuffToEscape){
                    events[evtIdx][stuffToEscape[innerIdx]] = unescape(events[evtIdx][stuffToEscape[innerIdx]]);
                }
            }
        }
    }

}
