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


var eventPopUp = null;

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

function eventDetailsPopUp(eventType, eventId, event) {

    var content = null;
    var title = null;
//    eventPopUp=null;
//
//    jQuery("#eventSubject").empty();
//    jQuery("#eventType").empty();
//    jQuery("#eventFollowUp").empty();
//    jQuery("#eventRoad").empty();
//    jQuery("#eventRoadPlace").empty();
//    jQuery("#eventSummary").empty();
//    jQuery("#schedSubject").empty();
//    jQuery("#schedStart").empty();
//    jQuery("#schedEnd").empty();
//    jQuery("#schedStartRegion").empty();
//    jQuery("#schedEndRegion").empty();
//    jQuery("#schedStartCity").empty();
//    jQuery("#schedEndCity").empty();
//    jQuery("#schedStartLocal").empty();
//    jQuery("#schedEndLocal").empty();
    
    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"]=="null") || event["eventSubject"].length == 0?"n/d":event["eventSubject"]);
        jQuery("#eventType").html((event["eventType"]==undefined) || (event["eventType"]=="null") || event["eventType"].length == 0?"n/d":event["eventType"]);
        jQuery("#eventFollowUp").html((event["eventFollowUp"]==undefined) || (event["eventFollowUp"]=="null") || event["eventFollowUp"].length == 0?"n/d":event["eventFollowUp"]);
        jQuery("#eventRoad").html((event["eventRoad"]==undefined) || (event["eventRoad"]=="null") || event["eventRoad"].length == 0?"n/d":event["eventRoad"]);
        jQuery("#eventRoadPlace").html((event["eventRoadPlace"]==undefined) || (event["eventRoadPlace"]=="null") || event["eventRoadPlace"].length == 0?"n/d":event["eventRoadPlace"]);
        jQuery("#eventSummary").html((event["eventSummary"]==undefined) || (event["eventSummary"]=="null") || event["eventSummary"].length == 0?"n/d":event["eventSummary"]);
        jQuery("#schedSubject").html((event["schedSubject"]==undefined) || (event["schedSubject"]=="null") || event["schedSubject"].length == 0?"n/d":event["schedSubject"]);
        jQuery("#schedStart").html((event["schedStart"]==undefined) || (event["schedStart"]=="null") || event["schedStart"].length == 0?"n/d":event["schedStart"]);
        jQuery("#schedEnd").html((event["schedEnd"]==undefined) || (event["schedEnd"]=="null") || event["schedEnd"].length == 0?"n/d":event["schedEnd"]);
        jQuery("#schedStartRegion").html((event["schedStartRegion"]==undefined) || (event["schedStartRegion"]=="null") || event["schedStartRegion"].length == 0?"n/d":event["schedStartRegion"]);
        jQuery("#schedEndRegion").html((event["schedEndRegion"]==undefined) || (event["schedEndRegion"]=="null") || event["schedEndRegion"].length == 0?"n/d":event["schedEndRegion"]);
        jQuery("#schedStartCity").html((event["schedStartCity"]==undefined) || (event["schedStartCity"]=="null") || event["schedStartCity"].length == 0?"n/d":event["schedStartCity"]);
        jQuery("#schedEndCity").html((event["schedEndCity"]==undefined)|| (event["schedEndCity"]=="null")  || event["schedEndCity"].length == 0?"n/d":event["schedEndCity"]);
        jQuery("#schedStartLocal").html((event["schedStartLocal"]==undefined) || (event["schedStartLocal"]=="null") || event["schedStartLocal"].length == 0?"n/d":event["schedStartLocal"]);
        jQuery("#schedEndLocal").html((event["schedEndLocal"]==undefined) || (event["schedEndLocal"]=="null") || event["schedEndLocal"].length == 0?"n/d":event["schedEndLocal"]);
        jQuery("#schedDirection").html((event["schedDirection"]==undefined) || (event["schedDirection"]=="null") || event["schedDirection"].length == 0?"n/d":event["schedDirection"]);
        jQuery("#schedStartKm").html((event["schedStartKm"]==undefined) || (event["schedStartKm"]=="null") || event["schedStartKm"].length == 0?"n/d":event["schedStartKm"]);

        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')));
        jQuery("#lschedDirection").html((jQuery(event).attr('schedDirection')=="null")?"n/d":unescape(jQuery(event).attr('schedDirection')));
        jQuery("#lschedStartKm").html((jQuery(event).attr('schedStartKm')=="null")?"n/d":unescape(jQuery(event).attr('schedStartKm')));

        content = jQuery('#eventDetailsPopUp').html();
        title = jQuery(event).text();
    }
    
    AUI().use('aui-dialog', 'aui-io', 'event', 'event-custom', function(A) {
	    eventPopUp = new A.Dialog({
									title: "Detalhe : " + title,
							        bodyContent: content,
							        destroyOnClose: true,
							        centered: true,
							        draggable: false,
							        modal: true,
							        resizable: false,
							        width: 500
							    }).render();
	    			
	    eventPopUp.show();       
    });
    
}

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]]);
                }
            }
        }
    }

}

function eventPopup(dataId){
	var data;
	for(layer in ocorrencesLayers){
		for(ocorrence in ocorrencesLayers[layer].GetData()){
			if(ocorrencesLayers[layer].GetData()[ocorrence].EventId==dataId){
				data=ocorrencesLayers[layer].GetData()[ocorrence];
				break;
			}
		}
	}
	jQuery("#eventType").empty();
	jQuery("#eventRoad").empty();
	jQuery("#schedDirection").empty();
	jQuery("#schedStartKm").empty();
    jQuery("#schedStart").empty();
    jQuery("#schedEnd").empty();
    jQuery("#schedStartRegion").empty();
	jQuery("#schedStartCity").empty();
	jQuery("#eventSummary").empty();
		
	jQuery("#eventType").html(data.Tipo);
	jQuery("#eventRoad").html(data.Estrada);
	jQuery("#schedDirection").html(data.Direccao);
	jQuery("#schedStartKm").html(data.Km);
    jQuery("#schedStart").html(data.DataInicio);
    jQuery("#schedEnd").html(data.DataFim);
    jQuery("#schedStartRegion").html(data.Distrito);
	jQuery("#schedStartCity").html(data.Concelho);
	jQuery("#eventSummary").html(data.Resumo);
	
    content = jQuery('#mapEventDetailsPopUp').html(); 
    title = data.Title;
     
	AUI().use('aui-dialog', 'aui-io', 'event', 'event-custom', function(A) {
		    eventPopUp = new A.Dialog({
										title: "Detalhe : " + title,
								        bodyContent: content,
								        destroyOnClose: true,
								        centered: true,
								        draggable: false,
								        modal: true,
								        resizable: false,
								        width: 500
								    }).render();
		    			
		    eventPopUp.show();       
	    });
}

function eventPopupInArray(dataId,ocorrences){
	var data;
	for(ocorrence in ocorrences){
		if(ocorrences[ocorrence].EventId==dataId){
			data=ocorrences[ocorrence];
			break;
		}
	}
	jQuery("#eventType").empty();
	jQuery("#eventRoad").empty();
	jQuery("#schedDirection").empty();
	jQuery("#schedStartKm").empty();
    jQuery("#schedStart").empty();
    jQuery("#schedEnd").empty();
    jQuery("#schedStartRegion").empty();
	jQuery("#schedStartCity").empty();
	jQuery("#eventSummary").empty();
		
	jQuery("#eventType").html(data.Tipo);
	jQuery("#eventRoad").html(data.Estrada);
	jQuery("#schedDirection").html(data.Direccao);
	jQuery("#schedStartKm").html(data.Km);
    jQuery("#schedStart").html(data.DataInicio);
    jQuery("#schedEnd").html(data.DataFim);
    jQuery("#schedStartRegion").html(data.Distrito);
	jQuery("#schedStartCity").html(data.Concelho);
	jQuery("#eventSummary").html(data.Resumo);
	
    content = jQuery('#mapEventDetailsPopUp').html(); 
    title = data.Title;
     
	AUI().use('aui-dialog', 'aui-io', 'event', 'event-custom', function(A) {
		    eventPopUp = new A.Dialog({
										title: "Detalhe : " + title,
								        bodyContent: content,
								        destroyOnClose: true,
								        centered: true,
								        draggable: false,
								        modal: true,
								        resizable: false,
								        width: 500
								    }).render();
		    			
		    eventPopUp.show();       
	    });
}

