var lang_siteaccess = '';
/**
 * @description format_price -> makes a price out of a Number
 * @param mixed value - the number that should be formatted
 * @return string
 */
function format_price(value){
     if (isc.isA.Number(value)) {
         return value.toCurrencyString(" €",",",true,true);
     }else {
         value=parseFloat(value);
         return value.toCurrencyString(" €",",",true,true);
     }
} //format_price

/**
 * @description save and make a redirect to the release function
 */
function button_axrelease() {
    var rpc_params = new Array();
    rpc_params['callback_message'] = false;
    if(lang_siteaccess != '') {
        lang_siteaccess = '/' + lang_siteaccess;
    }
    rpc_params['redirect_url'] = lang_siteaccess+'/ajax/misc/release_order/order_header/?id='+$('#nodeId').attr('nodeId');
    egui.rpc_request_button_save(rpc_params);
}

/**
 * @description button_release -> calls the module release_order
 * @author David Hohl
 * @verison not in use
 */
function button_release(){
    
    var rpc_params = new Array();
    rpc_params['callback_message'] = false;
    egui.rpc_request_button_save(rpc_params);
    
    egui.button_save_Btn.button.showDisabledIcon = false;
    egui.button_save_Btn.button.disable();
    
    egui.button_release_Btn.button.showDisabledIcon = false;
    egui.button_release_Btn.button.disable();
    var btn_img = egui.button_release_Btn.button.icon;
    egui.button_release_Btn.button.setIcon( '/extension/silver.project/design/silver.project/images/button_working.gif' );
    isc.RPCManager.sendRequest({
        params:{
            id: $('#nodeId').attr('nodeId')
            },
        httpMethod: 'GET',
        useSimpleHttp: true,
        evalResult: true,
        actionURL: lang_siteaccess+'/ajax/misc/release_order/order_header/',
        callback: function (rpcResponse, data, rpcRequest) {
                        egui.button_release_Btn.button.setIcon( btn_img );
                        var status = 'UNKNOWN';
                        if ( data.hasOwnProperty( 'result' ) && data.hasOwnProperty( 'description' ) ) {
                            if ( data.result ) {
                                isc.say( data.description );
                            } else {
                                isc.warn( data.description );
                                egui.button_release_Btn.button.enable();
                                egui.button_save_Btn.button.enable();
                            }
                        } else {
                            isc.warn( 'Unknown server response.' );
                            egui.button_release_Btn.button.enable();
                        }
                    }
    });
   egui.button_release_Btn.button.enable();
} //button_release

/**
 * @description button_leave -> closes the actual window/tab
 */
function button_leave(){
    self.close();
} //button_leave

/**
 * @description csv_export -> fetches filter params and opens new window with module misc
 * @todo: hardcoded filter and link
 */
function button_csv_export(){
    var form_fields = '';
    var filter_params = null;

    //checks which view/filter is used
    if (egui.order_header_orderlist_Filter != undefined){
        filter_params = egui.order_header_orderlist_Filter;
    }else if(egui.order_header_neworders_Filter != undefined){
        filter_params = egui.order_header_neworders_Filter;
    }else if(egui.order_header_history_Filter != undefined){
        filter_params = egui.order_header_history_Filter;
    }else{
        return false;
    }
    
    jQuery.each(filter_params.filter.getValues(),function(field, value) {
        if(form_fields) form_fields = form_fields + '&';
        if (typeof value == "object"){
            value=Math.round(value.valueOf()/1000);
        }
        form_fields = form_fields + field + '=' + value;
    });
    
    isc.ask( egui.translations.reallyDo ,function(value){
        if(value) {
            window.open('http://' + location.host + lang_siteaccess+'/ajax/misc/csv_export/order_header/?' + form_fields, 'download','width=450,height=250');
        }
    });
} //csv_export

/**
 * @description xml_export -> fetches filter params and opens new window with module misc
 * @todo: hardcoded filter and link
 */
function button_xml_export(){
    var form_fields = '';
    var filter_params = null;

    //checks which view/filter is used
    if (egui.order_header_orderlist_Filter != undefined){
        filter_params = egui.order_header_orderlist_Filter;
    }else if(egui.order_header_neworders_Filter != undefined){
        filter_params = egui.order_header_neworders_Filter;
    }else if(egui.order_header_history_Filter != undefined){
        filter_params = egui.order_header_history_Filter;
    }else{
        return false;
    }
    
    jQuery.each(filter_params.filter.getValues(),function(field, value) {
        if(form_fields) form_fields = form_fields + '&';
        if (typeof value == "object"){
            value=Math.round(value.valueOf()/1000);
        }
        form_fields = form_fields + field + '=' + value;
    });
    
    isc.ask( egui.translations.reallyDo ,function(value){
        if(value) {
            window.open('http://' + location.host + lang_siteaccess+'/ajax/misc/xml_export/order_header/?' + form_fields, 'download','width=450,height=250');
        }
    });
} //xml_export

/**
 * @description sends an ajax request to save the changed line - then reloads page
 * @param record - the orderline record
 * @param newValue - the new value (unused)
 * @param oldValue - the old value (unused)
 * @param rowNum - the number of the row, that is changed (unused)
 * @param colNum - the number of the col, that is changed (unused)
 * @param grid - (unused)
 */
function save_orderline(record, newValue, oldValue, rowNum, colNum, grid){
    isc.ask( egui.translations.reallyDo ,function(value){
        if(value){
            isc.RPCManager.sendRequest({
                params:record,
                httpMethod: "GET",
                useSimpleHttp: true,
                evalResult: true,
                actionURL:lang_siteaccess+"/ajax/misc/save_orderline/order_lines/",
                callback:
                function (rpcResponse, data, rpcRequest) {
                    location.reload();
                }
            });
        }   
    });
} //save_orderline

/**
 * @description checks if the given param is an array
 * @param mixed value is to be checked, if it is an array
 */
function is_array(value) {
    if (typeof value === 'object' && value && value instanceof Array) {
        return true;
    }
    return false;
} //is_array


function smartclient_after_load() {
    $('body').live('mouseover',function() {
        try {
            if($('body').data('disable_button') == '' && egui.edit_order_header_orderlist.form.getValue('status') == "2") {
                egui.button_save_Btn.button.showDisabledIcon = false;
                egui.button_save_Btn.button.disable();
                egui.button_release_Btn.button.showDisabledIcon = false;
                egui.button_release_Btn.button.disable();
                $('body').data('disable_button','transmitted_order');
            } else if(egui.edit_order_header_orderlist.form.getValue('status') != "2" && egui.edit_order_header_orderlist.form.getValue('status') != undefined) {
                $('body').data('disable_button','open_order');
            }
        } catch(e) {
            
        }
    });
    
    // selector for the language 
    lang_siteaccess = $('li[class=current_siteaccess]').attr('rel');
}

