/*
 * KM: Lgii clientside Utilities
 */

/****************************************************
    Pagalbos puslapio parametrai.
****************************************************/

var HELP_WINDOW_NAME = "portletHelpWindow"; 
// Ateina is maveno konfiguracijos, buildinant aplikacija.
var PORTAL_HELP_URL = 'http://www.geoportal.lt/wps/pagalba-lt/topic/lgii.help/MV_help/Zemelapio_narsykle.html';
var MAPVIEWER_HELP_ROOT = 'MapViewer';

/*function initializeWindowCloseHandler(taskId, mapId){
    if (!taskWindowManager.windows["win_EsriTaskCell_"+taskId].closeHandler){
        taskWindowManager.windows["win_EsriTaskCell_"+taskId].closeHandler = function(e){
            if (document.getElementById("button_"+taskId+"_action_onClose")){
                setTimeout("EsriControls.maps['"+mapId+"'].createCurrentToolItem('"+taskId+"_action_onClose', 'button_"+taskId+"_action_onClose', 'EsriMapServerAction', false, true, null, null, '', '', '', '')",1000);
            }
            return false;
        }
    }                             
    return false;                             
}*/

/**
 * Business logic
 */
function isEnterPressed(e){
    var keyCode = null;
    if (window.event) {
        keyCode = e.keyCode;
    }
    else if (e.which) {
        keyCode = e.which;
    }
    
    if (keyCode == "13"){
        return true;
    }
    
    return false;
}

/**
 * Business logic
 */
function except(e){
    var msg = e.message;
    msg+=e.name;
    msg+=e.fileName;
    msg+=e.lineNumber;
    if(e.stack && e.stack.length>0){
        msg+=e.stack;
    }
    return escape(msg);
}

/**
    Atidaro nurodyta pagalbos puslapi.
    (@author) VB
**/
function showHelp(helpPage) {
    // var helpUrl = PORTAL_HELP_URL + "/" + MAPVIEWER_HELP_ROOT + "/" + helpPage;
    var helpUrl = PORTAL_HELP_URL;
    var helpWindowParams = 'resizable=yes,scrollbars=yes,menubar=no,toolbar=no,status=no,width=1000px,height=800px,screenX=200,screenY=200,top=200,left=200'
    window.open(helpUrl,HELP_WINDOW_NAME, helpWindowParams).focus(); 
    return false;
}

/**
 * 
 * @param taskId
 * @param mapId
 * @param setPan
 * @return
 */
function initializeWindowCloseHandler(taskId, mapId, setPan){
/*//    if (!taskWindowManager.windows["win_EsriTaskCell_"+taskId].closeHandler){
    if (setPan){
        taskWindowManager.windows["win_EsriTaskCell_"+taskId].closeHandler = function(e){           
            if (document.getElementById("button_"+taskId+"_action_onClose")){
                setTimeout("EsriControls.maps['"+mapId+"'].createCurrentToolItem('"+taskId+"_action_onClose', 'button_"+taskId+"_action_onClose', 'EsriMapServerAction', false, true, null, null, '', '', '', '')",1000);
                EsriControls.maps[mapId].setCurrentToolItem(EsriControls.maps[mapId].panTool);
            }
            return false;
        }
    }
    else {
        taskWindowManager.windows["win_EsriTaskCell_"+taskId].closeHandler = function(e){           
            if (document.getElementById("button_"+taskId+"_action_onClose")){
                setTimeout("EsriControls.maps['"+mapId+"'].createCurrentToolItem('"+taskId+"_action_onClose', 'button_"+taskId+"_action_onClose', 'EsriMapServerAction', false, true, null, null, '', '', '', '')",1000);
            }
            return false;
        }    
    }
//    }                             
    return false;*/                             
}

/**
 *
 */
function setElementVisibility(elementId,visible){
    var element = document.getElementById(elementId);
    if (element){
        if (visible){
            //element.style.display = "inline";
            element.style.visibility = "visible";
        } 
        else{
            //element.style.display = "none";
            element.style.visibility = "hidden"; 
        }
    }
}

/**
 *
 */
function toggle_accordDisplay(){
    if ($("#accordions").width() != 0){
        accordDisplay('none');
    }
    else {
        accordDisplay('reset');
    }
    renewSettingsMenu();
}

/**
 *
 */
function toggle_results(){
    if (showResults){
        jitkViewer_displayResults('none');
    }
    else {
        jitkViewer_displayResults('reset');
    }
    renewSettingsMenu();
}

/**
 *
 */
function toggle_overview(){
    var display = document.getElementById('overviewMapContainerPanel').style.display;
    if (display != "none"){
        setOverviewMap("closed");
    }
    else{
        setOverviewMap("open");
    }
    renewSettingsMenu();
}

/**
 *
 */
function renewSettingsMenu(){
    var t_ac = false;
    var t_ov = false;
    var t_re = false;
    
    if ($("#accordions").width() != 0){
        t_ac = true;
    }
    
    var display = document.getElementById('overviewMapContainerPanel').style.display;
    if (display != "none"){
        t_ov = true;
    }
    
    if (showResults){
        t_re = true;
    }
    
    setElementVisibility("menu_accord_check", t_ac);
    setElementVisibility("menu_overview_check", t_ov);
    setElementVisibility("menu_results_check", t_re);
    
    //alert("R: "+t_ac+" "+t_ov+" "+t_re);
}


//TODO: perkelti i atskira js faila, kad nedaryti jovalo
//Paslaugos atidarymas mapvieweryje. Asinchroniskas requestas. Paslaugos pridejimas bus atliekamas serveryje.
function openService( serviceType, serviceName, serviceProductId, serviceUrl, language, ticket ) {
 sendOpenServiceRequest( true, serviceType, serviceName, serviceProductId, serviceUrl, language, ticket )
}

function sendOpenServiceRequest( ajaxRequest, serviceType, serviceName, serviceProductId, serviceUrl, language, ticket ) {
	// temporary form
	var tempFormId = "tempFormId"; 
	var formElement = document.createElement("form");
 formElement.setAttribute("id", tempFormId);
 formElement.setAttribute("method", "POST");
 formElement.setAttribute("action", "openService");
// var formElement = document.getElementById(formId);
 // action element
 var actionInput = document.createElement('input');
 actionInput.setAttribute("type", "hidden");
 actionInput.setAttribute("name", PARAM_NAME_PORTAL_ACTION);
 actionInput.setAttribute("value", "openService");
 formElement.appendChild(actionInput);            
 // language element
 var languageInput = document.createElement("input");
 languageInput.setAttribute("type", "hidden");
 languageInput.setAttribute("name", PARAM_NAME_LANGUAGE);
 languageInput.setAttribute("value", language);
 formElement.appendChild(languageInput);        
 // ticket element
 var ticketInput = document.createElement("input");
 ticketInput.setAttribute("type", "hidden");
 ticketInput.setAttribute("name", PARAM_NAME_TICKET);
 ticketInput.setAttribute("value", ticket);
 formElement.appendChild(ticketInput);    
 // serviceName element
 var serviceNameInput = document.createElement("input");
 serviceNameInput.setAttribute("type", "hidden");
 serviceNameInput.setAttribute("name", PARAM_NAME_SERVICE_NAME);
 serviceNameInput.setAttribute("value", serviceName);
 formElement.appendChild(serviceNameInput);
 // serviceType element
 var serviceTypeInput = document.createElement("input");
 serviceTypeInput.setAttribute("type", "hidden");
 serviceTypeInput.setAttribute("name", PARAM_NAME_SERVICE_TYPE);
 serviceTypeInput.setAttribute("value", serviceType);
 formElement.appendChild(serviceTypeInput);
 // serviceUrl element
 var serviceUrlInput = document.createElement("input");
 serviceUrlInput.setAttribute("type", "hidden");
 serviceUrlInput.setAttribute("name", PARAM_NAME_SERVICE_URL);
 serviceUrlInput.setAttribute("value", serviceUrl);
 formElement.appendChild(serviceUrlInput);
 // serviceProductId element
 var serviceProductIdInput = document.createElement("input");
 serviceProductIdInput.setAttribute("type", "hidden");
 serviceProductIdInput.setAttribute("name", PARAM_NAME_SERVICE_PRODUCT_ID);
 serviceProductIdInput.setAttribute("value", serviceProductId); 
 formElement.appendChild(serviceProductIdInput);
 
 var bodyElement = document.getElementsByTagName("body")[0]
 bodyElement.appendChild(formElement);
 if ( ajaxRequest==true) {
     EsriControls.maps[mapId].showLoading();    
     var params = EsriUtils.buildRequestParams(tempFormId) + "&" + EsriUtils.buildRequestParams(formId) + "&formId=" + formId;
     params += "&mapViewerAjax=mapViewerAjax";    
 //    var xh = setTimeout("EsriUtils.sendAjaxRequest('" + EsriUtils.getServerUrl(formId) + "','" + params +"', false, function() { EsriControls.processPostBack(" + xh + ");removeTemporaryForm('" + tempFormId + "'); })", 0); 
     var xh = EsriUtils.sendAjaxRequest(EsriUtils.getServerUrl(formId), params, false, function() { EsriControls.processPostBack(xh); removeTemporaryForm(tempFormId);  });
 } else {
     document.forms[tempFormId].submit();
 }
}


