# File lib/fusioncharts/exporter/save_helper.rb, line 14
  def self.check_server_save_status(folder_to_save,filename,overwrite,intelligent_file_naming)
    validation_result=true
    validation_error = Fusioncharts::Exporter::FcError.new
    # check whether directory exists
    #raise error and halt execution if directory does not exists
    count=0
    if(!FileTest.exists?(folder_to_save))
      validation_error.set_error_code("508")
      return validation_error
    end
    # check if directory is writable or not
    is_dir_writable = File.writable?( folder_to_save ) 
      if(!is_dir_writable)
        validation_error.set_error_code("403")
        return validation_error
      end
    #build filepath
    complete_file_path = folder_to_save + '/' + filename 
    
    # check whether file exists
    if ( FileTest.exists?(complete_file_path )) 
      validation_error.add_warning("509")
      validation_result=false
      #if overwrite is on return with ready flag 
      if ( overwrite ) 
          # add notice while trying to overwrite
          validation_error.add_warning("510")
          validation_result=false
          # see whether the existing file is writable
          # if not halt raising error message
          if(!File.writable?( complete_file_path ) ) 
            validation_error.set_error_code("511")
            return validation_error
          end
      else 
        # File already exists, file overwrite is false , check IntelligentFileNaming
        if(!intelligent_file_naming)
          validation_error.set_error_code("512")
          return validation_error
        end
      end
    end 
      # return with ready flag / error code, if there are warnings/error return error object
      return validation_result ? validation_result  : validation_error
    end